doc: Update doc about realpath.
[gnulib.git] / ChangeLog
blob6b6d360fbd12712c129697ea0475ec0896672495
1 2021-01-15  Bruno Haible  <bruno@clisp.org>
3         doc: Update doc about realpath.
4         * doc/posix-functions/realpath.texi: Update info about macOS.
6 2021-01-13  Paul Eggert  <eggert@cs.ucla.edu>
8         verify: simplify static_assert configuration
9         * lib/verify.h (_GL_HAVE__STATIC_ASSERT, _GL_HAVE__STATIC_ASSERT1):
10         Do not define for C++.  This should be good enough nowadays,
11         since recent-enough C++ compilers have static_assert.
12         (_GL_HAVE_STATIC_ASSERT_CXX11, _GL_HAVE_STATIC_ASSERT_CXX17):
13         Remove.  All uses replaced by simply checking __cpp_static_assert.
15 2021-01-13  Simon Josefsson  <simon@josefsson.org>
17         lib-msvc-compat: Update libtool usage recommendation.
18         * doc/ld-output-def.texi (Visual Studio Compatibility): Install
19         .def files into libdir, not bindir.  Have libfoo-*.def file depend
20         on libfoo.la to fix parallell builds.
22 2021-01-12  Bruno Haible  <bruno@clisp.org>
24         verify: Use C++11 static_assert when available.
25         Reported by Alexandre Duret-Lutz <adl@lrde.epita.fr> in
26         <https://lists.gnu.org/archive/html/bug-gnulib/2021-01/msg00177.html>.
27         * lib/verify.h (_GL_HAVE_STATIC_ASSERT_CXX11): New macro.
28         (_GL_HAVE_STATIC_ASSERT_CXX17): Renamed from _GL_HAVE_STATIC_ASSERT1.
29         (_GL_VERIFY): Use static_assert when available with C++11 syntax.
31 2021-01-11  Paul Eggert  <eggert@cs.ucla.edu>
33         tempname: consume less entropy
34         Derived from a glibc patch proposed by Adhemerval Zanella in:
35         https://sourceware.org/pipermail/libc-alpha/2021-January/121302.html
36         * lib/tempname.c: Include stdbool.h.
37         (random_bits): New arg use_getrandom.
38         (try_tempname_len): Skip getrandom on the first try,
39         unless __GT_NOCREATE.
40         * modules/tempname (Depends-on): Add stdbool.
42 2021-01-10  Bruno Haible  <bruno@clisp.org>
44         lchmod-tests: Fix link error.
45         * modules/lchmod-tests (Makefile.am): Don't assume that LIBINTL is set.
47 2021-01-10  Simon Josefsson  <simon@josefsson.org>
49         Correct preceeding change.
50         * top/gitsub.sh: Update link.
52 2021-01-09  Bruno Haible  <bruno@clisp.org>
54         immutable: Add tests.
55         * tests/test-immutable.sh: New file.
56         * tests/test-immutable.c: New file.
57         * modules/immutable-tests: New file.
59         immutable: New module.
60         * lib/immutable.h: New file.
61         * lib/immutable.c: New file.
62         * m4/immutable.m4: New file.
63         * m4/mprotect.m4: New file, based on libffcall/m4/codeexec.m4.
64         * modules/immutable: New file.
66 2021-01-10  Simon Josefsson  <simon@josefsson.org>
68         Use https:// instead of git://.
69         * build-aux/bootstrap (default_gnulib_url): Ditto.
70         * config/srclistvars.sh: Ditto.
71         * doc/gnulib-readme.texi (Git Checkout): Ditto.
72         * doc/gnulib-tool.texi (VCS Issues): Ditto.
73         * top/gitsub.sh: Update link.
75 2021-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77         snippet/_Noreturn: port to pedantic clang
78         Problem reported by Joe Nelson in:
79         https://lists.gnu.org/r/bug-gnulib/2021-01/msg00152.html
80         * doc/noreturn.texi: Improve.
81         * lib/_Noreturn.h (_Noreturn):
82         * m4/gnulib-common.m4 (gl_COMMON_BODY):
83         Do not assume _Noreturn works as-is when __STRICT_ANSI__ is
84         defined, unless __STDC_VERSION__ indicates C11 or later.
85         * lib/_Noreturn.h (_Noreturn): Fall back on __attribute__
86         ((__noreturn__)) if Clang; this merges the
87         2020-08-10T23:53:13Zbruno@clisp.org patch to m4/gnulib-common.m4.
89 2021-01-09  Darshit Shah  <darnir@gnu.org>
91         Allow setting CVS username for gnu-web-doc-update.
92         * build-aux/gnu-web-doc-update: Introduce new option --user to set the
93         name of the user on Savannah, when it doesn't match $USER.
95 2021-01-09  Bruno Haible  <bruno@clisp.org>
97         exp* tests: Work around clang 6.0.1 optimization bugs on x86.
98         * tests/test-exp-ieee.h (test_function): Mark some variable as
99         'volatile'.
100         * tests/test-exp2-ieee.h (test_function): Likewise.
102 2021-01-09  Bruno Haible  <bruno@clisp.org>
104         fchmodat: Work around trailing slash bug in fchmodat() on AIX 7.2.
105         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): In the test whether fchmodat works,
106         also test for the trailing slashes behaviour. Define
107         HAVE_NEARLY_WORKING_FCHMODAT if this is the only missing feature.
108         * lib/fchmodat.c (fchmodat): If HAVE_NEARLY_WORKING_FCHMODAT, handle
109         trailing slashes here.
110         * modules/fchmodat (Depends-on): Sort by condition, not alphabetically.
111         * doc/posix-functions/fchmodat.texi: Document the AIX bug.
113 2021-01-09  Bruno Haible  <bruno@clisp.org>
115         fchmod-tests, fchmodat tests, lchmod tests: Add more tests.
116         * tests/test-fchmod.c: Include <fcntl.h>.
117         (BASE): New macro.
118         (main): Add more tests.
119         * tests/test-fchmodat.c (main): Add more tests.
120         * tests/test-lchmod.c (main): Likewise.
122 2021-01-09  Bruno Haible  <bruno@clisp.org>
124         utimensat: Fix typo in last commit.
125         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Fix typo in macro explanation.
127 2021-01-09  Bruno Haible  <bruno@clisp.org>
129         truncate: Document last workaround.
130         * doc/posix-functions/truncate.texi: Document the AIX bug.
132 2021-01-08  Paul Eggert  <eggert@cs.ucla.edu>
134         dynarray: work even if ‘free’ is replaced
135         Problem reported by Darshit Shah in:
136         https://lists.gnu.org/r/bug-gnulib/2021-01/msg00140.html
137         * lib/malloc/dynarray-skeleton.c (DYNARRAY_FREE): New macro.
138         Use it everywhere instead of DYNARRAY_NAME (free).
140         tempname: don’t block for minutes
141         Derived from a patch proposed by Adhemerval Zanella in:
142         https://sourceware.org/pipermail/libc-alpha/2021-January/121302.html
143         * lib/tempname.c (random_bits): Use GRND_NONBLOCK.
145         tempname: sync with proposed glibc patch
146         This is from Adhemerval Zanella in:
147         https://sourceware.org/pipermail/libc-alpha/2021-January/121301.html
148         * lib/tempname.c (__lxstat64): Remove.
149         (__lstat64, __stat64): New replacement macros.  All uses changed.
151         regex: stop using alloca
152         * lib/regex_internal.h: Do not include <alloca.h> or define
153         __libc_use_alloca or alloca.  Patch written by Adhemerval Zanella:
154         https://sourceware.org/pipermail/libc-alpha/2021-January/121374.html
155         * modules/regex (Depends-on): Remove alloca-opt.
157         regexec: remove alloca usage in build_trtable
158         Prompted by this different change proposed by Adhemerval Zanella:
159         https://sourceware.org/pipermail/libc-alpha/2021-January/121373.html
160         * lib/regexec.c (build_trtable): Prevent inlining,
161         so that it doesn’t bloat the caller’s stack.
162         Use auto variables instead of alloca/malloc.
163         After these changes, build_trtable’s total stack allocation is
164         only 20 KiB on a 64-bit machine, and this is less than glibc’s 64
165         KiB cutoff so there’s little point to using alloca to shrink it.
166         Although Gnulib traditionally has used a 4 KiB cutoff, going to 20
167         KiB here should not be a significant problem in practice;
168         Gnulib-using packages concerned about overflow of tiny stacks can
169         compile with something like gcc -fstack-clash-protection.
171         scratch_buffer: add scratch_buffer_dupfree macro
172         * lib/scratch_buffer.h (__libc_scratch_buffer_dupfree):
173         New macro, needed to support recent changes in this module.
175         regex: remove alloca usage on regex set_regs
176         Derived from this patch by Adhemerval Zanella:
177         https://sourceware.org/pipermail/libc-alpha/2021-January/121372.html
178         * lib/regex_internal.h: Include dynarray.h, for Gnulib.
179         * lib/regexec.c (DYNARRAY_STRUCT, DYNARRAY_ELEMENT)
180         (DYNARRAY_PREFIX): New macros.
181         Include malloc/dynarray-skeleton.c.
182         (set_regs): Use dynarray rather than alloca.
183         * modules/regex (Depends-on): Add dynarray.
185         dynarray: new module
186         * config/srclist.txt: Mention the new files.
187         * lib/cdefs.h (__attribute_maybe_unused__): New macro,
188         like Gnulib’s _GL_ATTRIBUTE_MAYBE_UNUSED but with glibc
189         naming conventions.
190         * lib/libc-config.h: Use it instead of __glibc_likely.
191         * lib/dynarray.h, modules/dynarray: New files.
192         * lib/malloc/dynarray-skeleton.c, lib/malloc/dynarray.h:
193         * lib/malloc/dynarray_at_failure.c:
194         * lib/malloc/dynarray_emplace_enlarge.c:
195         * lib/malloc/dynarray_finalize.c, lib/malloc/dynarray_resize.c:
196         * lib/malloc/dynarray_resize_clear.c, modules/dynarray:
197         New files, from glibc with the following changes needed for
198         portability to compilers that are not recent-enough GCC.
199         * lib/malloc/dynarray_at_failure.c: Include stdlib.h, for abort.
200         (__libc_dynarray_at_failure) [!_LIBC]: Simply abort.
201         * lib/malloc/dynarray_emplace_enlarge.c:
202         * lib/malloc/dynarray_resize.c:
203         Include intprops.h, and use INT_MULTIPLY_WRAPV instead
204         of __builtin_mul_overflow.
205         * lib/malloc/dynarray.h (__libc_dynarray_at_failure):
206         Use _Noreturn instead of __attribute__ ((noreturn)).
207         * lib/malloc/dynarray_resize_clear.c: Do not include stdlib.h;
208         it’s not needed.
209         (__libc_dynarray_resize_clear): Do not do arithmetic on void *.
210         * lib/malloc/dynarray-skeleton.c (struct DYNARRAY_STRUCT):
211         Do not use anonymous unions, as they are not in C99. All uses changed.
212         Use __nonnull (X) instead of __attribute__ ((nonnull X)),
213         and __attribute_maybe_unused__ instead of __attribute__ ((unused)).
215 2021-01-06  Simon Josefsson  <simon@josefsson.org>
217         bootstrap: Fix parsing of package name.
218         * build-aux/bootstrap (package): Attempt to use autoconf --trace
219         to parse AC_INIT before falling back to sed expression.
221 2021-01-07  Bruno Haible  <bruno@clisp.org>
223         localename: Fix link error with duplocale on AIX 7.2 (regr. 2019-12-18).
224         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize
225         LOCALENAME_ENHANCE_LOCALE_FUNCS.
226         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE):
227         Set gt_working_uselocale.
228         (gt_INTL_THREAD_LOCALE_NAME): Set gt_fake_locales, gt_good_uselocale,
229         gt_localename_enhances_locale_funcs, LOCALENAME_ENHANCE_LOCALE_FUNCS.
230         Define HAVE_GOOD_USELOCALE, LOCALENAME_ENHANCE_LOCALE_FUNCS.
231         * m4/localename.m4 (gl_LOCALENAME): Test
232         gt_localename_enhances_locale_funcs instead of gt_nameless_locales.
233         * modules/locale (Makefile.am): Substitute
234         LOCALENAME_ENHANCE_LOCALE_FUNCS.
235         * lib/locale.in.h (newlocale, duplocale, freelocale): Don't override if
236         module 'localename' is in use but LOCALENAME_ENHANCE_LOCALE_FUNCS is 0.
237         * lib/localename.c (HAVE_GOOD_USELOCALE): Don't define here.
238         (get_locale_t_name, newlocale, duplocale, freelocale): Define if
239         LOCALENAME_ENHANCE_LOCALE_FUNCS.
241 2021-01-06  Bruno Haible  <bruno@clisp.org>
243         logb: Fix test failure on glibc/powerpc.
244         * doc/posix-functions/logb.texi: Update platform info.
245         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Test against bug with negative
246         subnormal numbers.
248 2021-01-06  Paul Eggert  <eggert@cs.ucla.edu>
250         libc-config: simplify clang __has_* macros
251         cdefs.h sometimes used names like __glibc_clang_has_attribute and
252         sometimes __glibc_has_attribute.  There is no need in glibc or
253         Gnulib to distinguish clang from other compilers here, so be
254         consistent and use the simpler names.
255         * lib/cdefs.h (__glibc_has_builtin, __glibc_has_extension):
256         Rename from __glibc_clang_has_builtin, __glibc_clang_has_extension.
257         All uses changed.
258         (__glibc_clang_has_attribute): Remove. All uses replaced
259         by __glibc_has_attribute.
260         * lib/libc-config.h [!__glibc_likely]: Undef them here too.
261         This fixes a problem where __glibc_has_attribute was not undeffed.
263 2021-01-06  Bruno Haible  <bruno@clisp.org>
265         flock: Update documentation.
266         * doc/glibc-functions/flock.texi: Document what to expect on AIX and
267         Solaris.
269 2021-01-06  Bruno Haible  <bruno@clisp.org>
271         ilogbl: Fix compilation error with xlclang on AIX 7.2.
272         * lib/math.in.h (ilogbl): Undefine macro before declaration.
274 2021-01-06  Bruno Haible  <bruno@clisp.org>
276         ilogbl: Fix test failures on AIX 7.1 in 64-bit mode.
277         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Test also some denormalized
278         argument.
279         * doc/posix-functions/ilogbl.texi: Mention the AIX bug.
281 2021-01-06  Bruno Haible  <bruno@clisp.org>
283         ilogb: Fix test failures on AIX 7.1 in 64-bit mode.
284         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Test also some denormalized
285         argument.
286         * doc/posix-functions/ilogb.texi: Mention the AIX bug.
288 2021-01-05  Bruno Haible  <bruno@clisp.org>
290         fclose: Fix test failure on AIX 7.2.
291         * m4/fclose.m4 (gl_FUNC_FCLOSE_STDIN): New macro.
292         (gl_FUNC_FCLOSE): Invoke it. Set REPLACE_FCLOSE accordingly.
293         * doc/posix-functions/fclose.texi: Update platform information.
294         * doc/posix-functions/fflush.texi: Likewise.
296 2021-01-05  Bruno Haible  <bruno@clisp.org>
298         pipe-filter-gi: Fix test failure on AIX 7.2.
299         * lib/pipe-filter-aux.h (SSIZE_MAX) [AIX]: Set to 4096.
301 2021-01-05  Bruno Haible  <bruno@clisp.org>
303         utimens, utimensat, fdutimensat: Avoid test failures on AIX 7.2.
304         * lib/utimecmp.c (utimecmpat): On AIX, declare equality when the two
305         times differ by less than 0.01 seconds.
306         * tests/test-futimens.h (test_futimens): Pass UTIMECMP_TRUNCATE_SOURCE
307         flag.
309 2021-01-05  Bruno Haible  <bruno@clisp.org>
311         utimensat: Work around trailing slash bug in utimensat() on AIX 7.2.
312         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Require AC_CANONICAL_HOST. Add a
313         test for trailing slash handling. Improve cross-compilation guesses.
314         Conditionally define HAVE_NEARLY_WORKING_UTIMENSAT.
315         * lib/utimensat.c (rpl_utimensat): Add alternative implementation when
316         HAVE_NEARLY_WORKING_UTIMENSAT is defined.
317         * lib/utimens.c: Use the overridden utimensat when
318         HAVE_NEARLY_WORKING_UTIMENSAT is defined.
319         * doc/posix-functions/utimensat.texi: Mention the AIX bug.
321 2021-01-05  Bruno Haible  <bruno@clisp.org>
323         ptsname_r, ptsname: Avoid test failures on AIX 7.2.
324         * tests/test-ptsname_r.c (main): On AIX, set a 20-seconds timer.
325         * tests/test-ptsname.c (main): Likewise. On AIX, open a pty through
326         /dev/ptc and don't test the BSD ptys.
328 2021-01-05  Paul Eggert  <eggert@cs.ucla.edu>
330         libc-config: merge from glibc
331         Use a better way of keeping glibc <sys/cdefs.h> and gnulib
332         lib/cdefs.h mostly in sync, by using lib/cdefs.h only on platforms
333         where <sys/cdefs.h> does not work well enough for Gnulib.
334         * lib/cdefs.h: Go back to using _SYS_CDEFS_H rather than
335         _GL_DEFS_H as an include guard.
336         (__THROW, __THROWNL, __NTH, __NTHNL):
337         Define to noexcept for C++11 and later.
338         (__glibc_objsize, __glibc_objsize0): New, for _FORTIFY_SOURCE=3.
339         (__warndecl): Remove.
340         (__attribute_copy__): New macro, for GCC 9 support.
341         (__LDBL_REDIR, __LDBL_REDIR_DECL, __LDBL_REDIR1)
342         (__LDBL_REDIR1_DECL, __LDBL_REDIR1_NTH, __REDIRECT_NTH_LDBL)
343         (__REDIRECT_LDBL, __LDBL_REDIR_NTH):
344         Redirections for IEEE long double on powerpc64le.
345         (__LDBL_REDIR2_DECL): New macro.
346         (__attr_access): New macro, for GCC 10 bounds checking.
347         (__attribute_returns_twice__): New macro, for setjmp etc.
348         * lib/libc-config.h: Include <cdefs.h> only if __glibc_likely is
349         undefined.  The following changes apply only if __glibc_likely
350         is not defined.
351         (__LDBL_REDIR2_DECL, __attr_access, __attribute_returns_twice__)
352         (__glibc_clang_has_attribute, __glibc_clang_has_extension)
353         (__glibc_objsize, __glibc_objsize0):
354         Undef these new (or newer) <cdefs.h> macros.
355         (__P, __PMT, __always_inline): Do not undef, since cdefs.h does that.
356         (__glibc_likely): Do not undef, since this is inside
357         ifndef __glibc_likely.
358         (__warndecl): Do not undef; no longer defined.
360 2021-01-05  Jim Meyering  <meyering@fb.com>
362         maintainer-makefile: correct preceding change
363         * top/maint.mk (syntax-check-rules): Use LC_ALL=C, not LANG=C.
365 2021-01-05  Paul Eggert  <eggert@cs.ucla.edu>
367         maint: note syncs to glibc
368         * config/srclist.txt: filename.h, idx.h, scratch_buffer.h and
369         scratch_buffer_dupfree.c are now identical to glibc.  Add
370         commentary about some other syncs we’d like.
371         * modules/filename, modules/idx (Maintainer): Add glibc.
373 2021-01-05  Bruno Haible  <bruno@clisp.org>
375         truncate: Work around trailing slash bug in truncate() on AIX 7.2.
376         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Add a test whether truncate
377         rejects trailing slashes. Set REPLACE_TRUNCATE and define
378         TRUNCATE_TRAILING_SLASH_BUG if not.
379         * lib/truncate.c (orig_truncate): New function.
380         (truncate): Add alternative implementation when
381         TRUNCATE_TRAILING_SLASH_BUG is defined.
382         * modules/truncate (Depends-on): Add sys_stat, stat.
384 2021-01-05  Bruno Haible  <bruno@clisp.org>
386         mkfifoat: Fix cross-compilation guess (regression from 2021-01-04).
387         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Fix copy-and-paste mistake.
389 2021-01-05  Bruno Haible  <bruno@clisp.org>
391         ffsll: Override completely broken implementation on AIX in 32-bit mode.
392         * m4/ffsll.m4 (gl_FUNC_FFSLL): Test whether ffsll minimally works. If
393         not, set REPLACE_FFSLL.
394         * lib/string.in.h (ffsll): Consider REPLACE_FFSLL.
395         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
396         REPLACE_FFSLL.
397         * modules/string (Makefile.am): Substitute REPLACE_FFSLL.
398         * modules/ffsll (Depends-on, configure.ac): Consider REPLACE_FFSLL.
399         * doc/glibc-functions/ffsll.texi: Mention the AIX 7.2 bug.
401 2021-01-04  Bruno Haible  <bruno@clisp.org>
403         symlinkat: Fix trailing slash handling.
404         * lib/symlinkat.c (rpl_symlinkat): Don't follow symlinks during the
405         trailing slash handling.
406         * modules/symlinkat (Depends-on): Update conditions.
408 2021-01-04  Bruno Haible  <bruno@clisp.org>
410         mkfifoat: Update module description.
411         * modules/mkfifoat (Depends-on): Update conditions after last commits.
413 2021-01-04  Bruno Haible  <bruno@clisp.org>
415         link: Improve trailing slash handling on native Windows.
416         * lib/link.c (link): If stat() fails, provide a better errno.
418 2021-01-04  Bruno Haible  <bruno@clisp.org>
420         mkfifoat: Work around trailing slash bug in mknodat() on AIX 7.2.
421         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Set also REPLACE_MKNODAT.
422         * lib/sys_stat.in.h (mknodat): Consider REPLACE_MKNODAT.
423         * lib/mknodat.c: Add an overriding implementation of mknodat().
424         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize REPLACE_MKNODAT.
425         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKNODAT.
426         * modules/mkfifoat (Depends-on, configure.ac): Consider REPLACE_MKNODAT.
427         * doc/posix-functions/mknodat.texi: Mention the AIX bug.
429         mkfifoat: Work around trailing slash bug in mkfifoat() on AIX 7.2.
430         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Add a test whether mkfifoat rejects
431         trailing slashes. Set REPLACE_MKFIFOAT if not.
432         * lib/sys_stat.in.h (mkfifoat): Consider REPLACE_MKFIFOAT.
433         * lib/mkfifoat.c: Add an overriding implementation of mkfifoat().
434         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
435         REPLACE_MKFIFOAT.
436         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKFIFOAT.
437         * modules/mkfifoat (Depends-on): Add fstatat.
438         (configure.ac): Consider REPLACE_MKFIFOAT.
439         * doc/posix-functions/mkfifoat.texi: Mention the AIX bug.
441 2021-01-04  Bruno Haible  <bruno@clisp.org>
443         libc-config: Avoid overriding the headers from an installed newer glibc.
444         Reported by Paul E Murphy <murphyp@linux.ibm.com> in
445         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00106.html>.
446         * lib/cdefs.h: Use a different include guard than glibc's <sys/cdefs.h>.
447         * lib/libc-config.h: Update accordingly.
449 2021-01-04  Simon Josefsson  <simon@josefsson.org>
451         maintainer-makefile: Invoke syntax-checks regardless of locale.
452         * top/maint.mk (syntax-check-rules): Invoke sed with LANG=C
453         environment because [a-z] may not include 'w' in all locales.
455 2021-01-04  Bruno Haible  <bruno@clisp.org>
457         nstrftime, time_rz: Avoid using an obsolete Autoconf macro.
458         Reported by Mike Gran <spk121@yahoo.com> in
459         <https://lists.gnu.org/archive/html/bug-gnulib/2021-01/msg00067.html>.
460         * lib/time-internal.h: Test HAVE_STRUCT_TM_TM_ZONE, not HAVE_TM_ZONE.
461         * lib/time_rz.c: Likewise.
462         * lib/nstrftime.c: Set and test HAVE_STRUCT_TM_TM_ZONE, not
463         HAVE_TM_ZONE.
464         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Update comments.
466 2021-01-04  Bruno Haible  <bruno@clisp.org>
468         expm1f-ieee: Work around AIX 7.2 bug.
469         * m4/expm1f.m4 (gl_FUNC_EXPM1F): Initialize gl_expm1f_required. If
470         module 'expm1f-ieee' is in use, check whether expm1f works according to
471         IEEE.
472         * m4/expm1f-ieee.m4: New file.
473         * modules/expm1f-ieee (Files): Add it.
474         (Depends-on): Update conditions.
475         (configure.ac): Invoke gl_FUNC_EXPM1F_IEEE.
476         * doc/posix-functions/expm1f.texi: Mention the AIX bug.
478 2021-01-04  Bruno Haible  <bruno@clisp.org>
480         ffsl, ffsll: Work around AIX 7.2 problem.
481         * lib/string.in.h: On AIX, include <strings.h> for the declarations of
482         ffsl and ffsll.
483         * doc/glibc-functions/ffsl.texi: Document the AIX 7.2 problem.
484         * doc/glibc-functions/ffsll.texi: Likewise.
486 2021-01-04  Bruno Haible  <bruno@clisp.org>
488         ssfmalloc: Fix includes.
489         * lib/ssfmalloc.h: Include <strings.h>, for ffs().
490         * tests/test-ssfmalloc.c: Include <string.h>, for memset().
492 2021-01-03  Bruno Haible  <bruno@clisp.org>
494         quotearg tests: Avoid test failures on Solaris 11.3.
495         * tests/test-quotearg.sh: Copy the fr/ directory using 'cp -R', not
496         'cp -a'.
498 2021-01-03  Bruno Haible  <bruno@clisp.org>
500         tests: Fix link errors on Solaris, when libunistring-optional is in use.
501         * modules/wcwidth (Link): New section.
502         * modules/wcswidth (Link): New section.
503         * modules/mbchar (Link): New section.
504         * modules/mbfile (Link): Link against libunistring.
505         * modules/mbiter (Link): Likewise.
506         * modules/mbuiter (Link): Likewise.
507         * modules/mbmemcasecmp (Link): Likewise.
508         * modules/mbscasecmp (Link): Likewise.
509         * modules/mbscasestr (Link): Likewise.
510         * modules/mbschr (Link): Likewise.
511         * modules/mbscspn (Link): Likewise.
512         * modules/mbslen (Link): Likewise.
513         * modules/mbsncasecmp (Link): Likewise.
514         * modules/mbsnlen (Link): Likewise.
515         * modules/mbspbrk (Link): Likewise.
516         * modules/mbspcasecmp (Link): Likewise.
517         * modules/mbsrchr (Link): Likewise.
518         * modules/mbssep (Link): Likewise.
519         * modules/mbsspn (Link): Likewise.
520         * modules/mbsstr (Link): Likewise.
521         * modules/mbstok_r (Link): Likewise.
522         * modules/mbswidth (Link): Likewise.
523         * modules/exclude (Link): Likewise.
524         * modules/propername (Link): Likewise.
525         * modules/regex-quote (Link): Likewise.
526         * modules/trim (Link): Likewise.
527         * modules/mbmemcasecmp-tests (Makefile.am): Link the test program
528         against libunistring.
529         * modules/mbscasecmp-tests (Makefile.am): Likewise.
530         * modules/mbscasestr-tests (Makefile.am): Likewise.
531         * modules/mbschr-tests (Makefile.am): Likewise.
532         * modules/mbscspn-tests (Makefile.am): Likewise.
533         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
534         * modules/mbspbrk-tests (Makefile.am): Likewise.
535         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
536         * modules/mbsrchr-tests (Makefile.am): Likewise.
537         * modules/mbsspn-tests (Makefile.am): Likewise.
538         * modules/mbsstr-tests (Makefile.am): Likewise.
539         * modules/exclude-tests (Makefile.am): Likewise.
540         * modules/regex-quote-tests (Makefile.am): Likewise.
542 2021-01-03  Bruno Haible  <bruno@clisp.org>
544         c32ispunct tests: Avoid test failures on FreeBSD.
545         * tests/test-c32ispunct.c (main): On FreeBSD, disable tests that fail on
546         FreeBSD 12.1.1.
548 2021-01-04  Simon Josefsson  <simon@josefsson.org>
550         doc: Repeat warning that --with-tests cannot be used twice.
551         * doc/gnulib-tool.texi (Multiple instances): Remind reader of
552         --with-tests limitation.
554 2021-01-03  Bruno Haible  <bruno@clisp.org>
556         iconv, iconv_open: Improve documentation.
557         Reported by Noah Misch <noah@leadboat.com> in
558         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00172.html>.
559         * doc/posix-functions/iconv_open.texi: Add new paragraph "Portability
560         problems handled by Gnulib".
561         * doc/posix-functions/iconv.texi: Likewise. Update info about AIX.
562         * m4/iconv.m4 (AM_ICONV_LINK): Improve comments.
564 2021-01-03  Bruno Haible  <bruno@clisp.org>
566         iconv-h: Fix module description.
567         * modules/iconv-h (Include): Check HAVE_ICONV_H.
569 2021-01-03  Noah Misch  <noah@leadboat.com>
571         iconv_open: Fix module description.
572         * modules/iconv_open (Include): Check HAVE_ICONV, like modules/iconv.
574 2021-01-03  Bruno Haible  <bruno@clisp.org>
576         stddef: Override wrong max_align_t on AIX 7 with xlc in 64-bit mode.
577         * m4/stddef_h.m4 (gl_STDDEF_H): Make check for good max_align_t
578         stricter: Add tests for offsetof-based alignof.
579         * lib/stddef.in.h (max_align_t): Override on AIX in 64-bit mode.
580         * doc/posix-headers/stddef.texi: Document the AIX max_align_t bug.
582 2021-01-03  Bruno Haible  <bruno@clisp.org>
584         free-posix: Work around GCC mis-optimization bug.
585         Code by Bernhard Voelker <mail@bernhard-voelker.de>.
586         * lib/free.c (rpl_free): Add alternative complicated code for GCC.
588 2021-01-02  Bruno Haible  <bruno@clisp.org>
590         valgrind-tests: Disable valgrind if it would cause all tests to fail.
591         Suggested by Simon Josefsson <simon@josefsson.org> in
592         <https://lists.gnu.org/archive/html/help-gsasl/2021-01/msg00004.html>.
593         * m4/valgrind-tests.m4 (gl_VALGRIND_TESTS): Test $VALGRIND on an
594         executable produced by the current compiler. Set VALGRIND to empty if it
595         does not work. Don't set VALGRIND to empty if it merely does not accept
596         the --error-exitcode=1 --leak-check=full options.
598 2021-01-02  Bruno Haible  <bruno@clisp.org>
600         valgrind-tests: Really enable the valgrind options test.
601         * m4/valgrind-tests.m4 (gl_VALGRIND_TESTS): Don't assume that the
602         valgrind options --error-exitcode=1 --leak-check=full always work.
604 2021-01-02  Bruno Haible  <bruno@clisp.org>
606         utimensat: Fix test failures on macOS 10.13.
607         * lib/utimensat.c: Include <string.h>, <sys/stat.h>.
608         (rpl_utimensat): Check against invalid tv_nsec values. Before calling
609         utimensat, recognize a filename ending in a slash that does not point
610         to a directory.
612 2021-01-02  Bruno Haible  <bruno@clisp.org>
614         utimens: Fix test failure on macOS 10.13.
615         * lib/utimens.c: Include <string.h>.
617         utimens: Fix test failure on macOS 10.13.
618         * lib/utimens.c (fdutimens): Before calling utimensat, recognize a
619         filename ending in a slash that does not point to a directory.
621 2021-01-02  Bruno Haible  <bruno@clisp.org>
623         utimens: Avoid test failures on macOS 10.13.
624         Reported by Martin Storsjö <martin@martin.st> in
625         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
626         * tests/test-utimens-common.h (check_ctime): Define to -1 on macOS.
627         * tests/test-utimens.h (test_utimens): Don't expect a ctime change when
628         only the atime is requested to change.
629         * tests/test-futimens.h (test_futimens): Likewise.
630         * tests/test-lutimens.h (test_lutimens): Likewise.
632 2021-01-02  Bruno Haible  <bruno@clisp.org>
634         renameatu: Fix test failures on macOS.
635         Reported by Martin Storsjö <martin@martin.st> in
636         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
637         * lib/renameatu.c (renameatu): Don't call renameatx_np right away.
638         Instead, treat it as a variant of renameat, with all possible bugs that
639         renameat might have.
641 2021-01-02  Bruno Haible  <bruno@clisp.org>
643         getgroups test: Avoid warning with glibc >= 2.32 and gcc >= 10.
644         Reported by Bernhard Voelker <mail@bernhard-voelker.de> in
645         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00090.html>.
646         * tests/test-getgroups.c: Silence gcc warnings of type
647         -Wstringop-overflow.
649 2021-01-02  Bruno Haible  <bruno@clisp.org>
651         timespec_get: Add tests.
652         * tests/test-timespec_get.c: New file.
653         * modules/timespec_get-tests: New file.
655         timespec_get: New module.
656         * lib/time.in.h (timespec_get): New declaration.
657         * lib/timespec_get.c: New file.
658         * m4/timespec_get.m4: New file.
659         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
660         GNULIB_TIMESPEC_GET, HAVE_TIMESPEC_GET.
661         * modules/time (Makefile.am): Substitute GNULIB_TIMESPEC_GET,
662         HAVE_TIMESPEC_GET.
663         * modules/timespec_get: New file.
664         * tests/test-time-c++.cc (timespec_get): Check signature.
665         * doc/glibc-functions/timespec_get.texi: Mention the new module.
667 2021-01-01  Bruno Haible  <bruno@clisp.org>
669         time: Define TIME_UTC.
670         * lib/time.in.h (TIME_UTC, GNULIB_defined_TIME_UTC): New macros.
671         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Set TIME_H_DEFINES_TIME_UTC.
672         * modules/time (Makefile.am): Substitute TIME_H_DEFINES_TIME_UTC.
673         * tests/test-time.c: Check that TIME_UTC is defined and a positive
674         integer.
675         * doc/posix-headers/time.texi: Mention TIME_UTC.
677 2021-01-01  Bruno Haible  <bruno@clisp.org>
679         stddef: Try harder to get max_align_t defined on OpenBSD, part 2.
680         * modules/stddef (Depends-on): Add extensions.
682 2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>
684         canonicalize: remove NARROW_ADDRESSES optimization
685         * lib/canonicalize-lgpl.c, lib/canonicalize.c (NARROW_ADDRESSES):
686         Remove, and remove all uses, as the optimization is arguably not
687         worth the extra complexity.  Suggested by Adhemerval Zanella in:
688         https://sourceware.org/pipermail/libc-alpha/2020-December/121203.html
690 2021-01-01  Bruno Haible  <bruno@clisp.org>
692         stddef: Try harder to get max_align_t defined on OpenBSD.
693         * m4/stddef_h.m4 (gl_STDDEF_H): Require gl_USE_SYSTEM_EXTENSIONS.
695 2021-01-01  Bruno Haible  <bruno@clisp.org>
697         aligned_alloc: Fix test failure on OpenBSD 6.8.
698         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): On OpenBSD, define
699         _ISOC11_SOURCE.
700         * m4/aligned_alloc.m4 (gl_FUNC_ALIGNED_ALLOC): Require it. Update
701         comment.
703 2021-01-01  Bruno Haible  <bruno@clisp.org>
705         posixtm tests: Disable part of the test on plaforms where it fails.
706         * tests/test-posixtm.c (T): Disable two tests on macOS as well.
708 2021-01-01  Bruno Haible  <bruno@clisp.org>
710         c32isgraph/c32isprint/c32ispunct tests: Avoid test failures on OmniOS.
711         * tests/test-c32isgraph.c (main): On Solaris, disable tests that fail on
712         Solaris 11 OmniOS.
713         * tests/test-c32isprint.c (main): Likewise.
714         * tests/test-c32ispunct.c (main): Likewise.
716 2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>
718         libc-config: port to Sun C 5.9
719         * lib/libc-config.h (libc_hidden_proto): Omit ", ..." in macro
720         definition.  It’s not needed for Gnulib and elicits a diagnostic
721         from Sun C 5.9 Patch 124867-12 2009/11/22.
723 2021-01-01  Bruno Haible  <bruno@clisp.org>
725         quotearg tests: Avoid test failures on Solaris 11.
726         * modules/quotearg-tests (Makefile.am): Set host_os in
727         TESTS_ENVIRONMENT.
728         * tests/test-quotearg.sh: On Solaris 11 systems, make a copy of the fr/
729         directory that contains the .mo file.
731 2021-01-01  Bruno Haible  <bruno@clisp.org>
733         maint: Update copyright notices in --version output.
734         List the most recent year in which changes were made, per
735         <https://www.gnu.org/prep/standards/html_node/_002d_002dversion.html>.
736         * build-aux/declared.sh (func_version): Say 2019.
737         * build-aux/libtool-next-version (func_version): Likewise.
738         * build-aux/run-test (func_version): Likewise.
739         * check-module (COPYRIGHT_NOTICE): Say 2012.
740         * lib/git-merge-changelog.c (main): Say 2020.
742 2020-12-31  Paul Eggert  <eggert@cs.ucla.edu>
744         filename: change filename.h comment to LGPLv2.1+
745         * lib/filename.h: Change license notice to match what should be in
746         glibc, and what modules/filename specifies.  This is to simplify
747         syncing with glibc.
749         doc: mention year-0 bugs in Solaris etc.
750         * doc/posix-functions/gmtime.texi, doc/posix-functions/gmtime_r.texi:
751         * doc/posix-functions/localtime.texi:
752         * doc/posix-functions/localtime_r.texi:
753         * doc/posix-functions/mktime.texi:
754         Mention year-0 bugs in localtime etc.
756 2020-12-31  Bruno Haible  <bruno@clisp.org>
758         ptsname_r: Fix test failure on Solaris.
759         * lib/ptsname_r.c (__ptsname_r) [__sun]: Don't test the major number of
760         the device.
762 2020-12-31  Bruno Haible  <bruno@clisp.org>
764         posixtm tests: Disable part of the test on plaforms where it fails.
765         * tests/test-posixtm.c (T): Disable two tests on Solaris.
767 2020-12-31  Bruno Haible  <bruno@clisp.org>
769         poll tests: Avoid test failure on AIX.
770         * tests/test-poll.c (test_pipe): Disable the "expecting POLLHUP after
771         shutdown" test on AIX.
772         * doc/posix-functions/poll.texi: Mention the AIX bug.
774 2020-12-31  Bruno Haible  <bruno@clisp.org>
776         poll tests: Avoid test failure on BSD and Solaris systems.
777         * tests/test-poll.c (test_accept_first, test_socket_pair): Disable the
778         "expecting POLLHUP after shutdown" test on all platforms except Linux.
780 2020-12-31  Paul Eggert  <eggert@cs.ucla.edu>
782         fnmatch: merge from glibc + proposal
783         This merges the change proposed by Adhemerval Zanella in:
784         https://sourceware.org/pipermail/libc-alpha/2020-December/121212.html
785         which fixes a Gnulib bug that led to a failed assert.
786         * lib/fnmatch_loop.c (EXT): Use signed level, not unsigned, and
787         check that it stays nonnegative.  Use __flexarr instead of
788         FLEXIBLE_ARRAY_MEMBER, to port better to glibc.
789         * tests/test-fnmatch.c (main): New test cases, taken from glibc.
791         glob: merge proposed glibc changes
792         This merges the change proposed by Adhemerval Zanella in:
793         https://sourceware.org/pipermail/libc-alpha/2020-December/121211.html
794         * lib/glob.c (__lstat64, __stat64) [_LIBC]: Remove.
796 2020-12-31  Bruno Haible  <bruno@clisp.org>
798         memalign: Work around Solaris bug.
799         * lib/memalign.c: New file.
800         * m4/memalign.m4: New file.
801         * modules/memalign (Files): Add them.
802         (Depends-on): Add malloc-h.
803         (configure.ac): Invoke gl_FUNC_MEMALIGN. Conditionally compile
804         memalign.c. Set module indicator.
805         (Include): Include <malloc.h> unconditionally.
806         * doc/glibc-functions/memalign.texi: Mention the Solaris issues.
808         malloc-h: Add tests.
809         * tests/test-malloc-h.c: New file.
810         * modules/malloc-h-tests: New file.
811         * tests/test-malloc-h-c++.cc: New file.
812         * modules/malloc-h-c++-tests: New file.
814         malloc-h: New module.
815         * lib/malloc.in.h: New file.
816         * m4/malloc_h.m4: New file.
817         * modules/malloc-h: New file.
818         * doc/glibc-headers/malloc.texi: New file.
819         * doc/gnulib.texi (Glibc Header File Substitutes): Include it.
821 2020-12-31  Bruno Haible  <bruno@clisp.org>
823         unistd: Fix portability warnings.
824         * lib/unistd.in.h (fchownat, unlinkat): Fix module name in warning.
826 2020-12-31  Bruno Haible  <bruno@clisp.org>
828         utime: Fix compilation error on macOS and Solaris 9 (regr. 2020-12-24).
829         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
830         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00295.html>.
831         * lib/utime.c: Include <errno.h>.
833 2020-12-30  Karl Berry  <karl@freefriends.org>
835         config: srclistvars doc.
836         * config/srclistvars.sh: doc a couple of unusual source repo urls.
838 2020-12-30  Bruno Haible  <bruno@clisp.org>
840         getlogin tests, getlogin_r tests: Avoid failure on Solaris OpenIndiana.
841         * tests/test-getlogin.c (main): Don't fail if getlogin() returns NULL
842         with no errno.
843         * tests/test-getlogin_r.c (main): Don't fail if getlogin_r() returns
844         EINVAL.
846 2020-12-29  Jim Meyering  <meyering@fb.com>
848         regex-tests: tweak to avoid a clang-10 warning
849         * tests/test-regex.c: Compare with explicit zero, rather than
850         as boolean to avoid this from clang-10:
851         test-regex.c:315:9: error: converting the result of '<<' to a \
852           boolean always evaluates to true \
853           [-Werror,-Wtautological-constant-compare]
854         if (! REG_STARTEND)
856         hash: add casts-to-float to avoid clang-10 warnings
857         * lib/hash.c (compute_bucket_size): Cast SIZE_MAX to float
858         to avoid this warning from clang-10 (for use in grep):
859           hash.c:501:11: error: implicit conversion from 'unsigned long' \
860             to 'float' changes value from 18446744073709551615 to \
861             18446744073709551616 [-Werror,-Wimplicit-int-float-conversion]
862           if (SIZE_MAX <= new_candidate)
863         (hash_insert_if_absent): Likewise.
865 2020-12-29  Paul Eggert  <eggert@cs.ucla.edu>
867         canonicalize: fix size overflow treatment
868         This also has some minor cleanups.
869         * lib/canonicalize-lgpl.c, lib/canonicalize.c: No need to include
870         stddef.h, since the code no longer refers directly to ptrdiff_t.
871         * lib/canonicalize-lgpl.c (realpath_stk):
872         * lib/canonicalize.c (canonicalize_filename_mode_stk):
873         Treat size overflow like other out-of-memory.
874         * lib/canonicalize.c: No need to include stdlib.h, since
875         the code no longer refers to stdlib.h functions (other
876         than those that canonicalize.h must declare).
877         * lib/canonicalize.c (canonicalize_filename_mode_stk):
878         Do not bother terminating the string result on error.
880 2020-12-29  Bruno Haible  <bruno@clisp.org>
882         list-c++, [o]map-c++, [o]set-c++: Fix conflict with 'free-posix' module.
883         * lib/gl_list.hh: Include <stdlib.h>.
884         * lib/gl_map.hh: Likewise.
885         * lib/gl_omap.hh: Likewise.
886         * lib/gl_set.hh: Likewise.
887         * lib/gl_oset.hh: Likewise.
889 2020-12-29  Paul Eggert  <eggert@cs.ucla.edu>
891         canonicalize: fix ptrdiff_t overflow bug
892         Problem reported by Adhemerval Zanella in:
893         https://sourceware.org/pipermail/libc-alpha/2020-December/121182.html
894         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
895         Include intprops.h.
896         (NARROW_ADDRESSES): New constant.
897         * lib/canonicalize-lgpl.c (realpath_stk):m
898         * lib/canonicalize.c (canonicalize_filename_mode_stk):
899         Work even if strlen (END) does not fit in idx_t, or if adding
900         N to it overflows.
901         * modules/canonicalize, modules/canonicalize-lgpl (Depends-on):
902         Add intprops.
904 2020-12-28  Bruno Haible  <bruno@clisp.org>
906         havelib: Fix for Solaris 11 OpenIndiana and Solaris 11 OmniOS.
907         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): In
908         acl_is_expected_elfclass, use 'expr', not 'test'.
910 2020-12-28  Bruno Haible  <bruno@clisp.org>
912         ptsname_r: Fix a compiler warning on Solaris.
913         * lib/ptsname_r.c (__ptsname_r): Reduce the scope of variable 'err'.
915 2020-12-28  Bruno Haible  <bruno@clisp.org>
917         gnulib-tool: Fix logic whether to add a dummy.c.
918         * gnulib-tool (func_remove_if_blocks): New function.
919         (func_modules_add_dummy): Use it to eliminate all conditional statements
920         from the automake snippet.
922 2020-12-28  Paul Eggert  <eggert@cs.ucla.edu>
924         faccessat: revert recent EOVERFLOW change
925         I misunderstood the glibc source code.  Deduced from
926         Adhemerval Zanella’s proposed glibc patch in:
927         https://sourceware.org/pipermail/libc-alpha/2020-December/121131.html
928         * doc/posix-functions/faccessat.texi: It is not a problem.
929         * lib/canonicalize-lgpl.c, lib/canonicalize.c, lib/faccessat.c:
930         (FACCESSAT_NEVER_OVERFLOWS): Remove. All uses removed.
931         * lib/faccessat.c: Revert to simpler version now that
932         LSTAT_FOLLOWS_SLASHED_SYMLINK must be false.
933         * m4/faccessat.m4 (gl_FUNC_FACCESSAT_EOVERFLOW):
934         Remove.  All uses removed.
935         * modules/canonicalize, modules/canonicalize-lgpl (Files):
936         Remove m4/faccessat.m4.
938         canonicalize-lgpl: accommodate picky cpp
939         * lib/canonicalize-lgpl.c: Use "defined FUNC_REALPATH_WORKS" in
940         case preprocessor is picky.  Reported by Adhemerval Zanella in:
941         https://sourceware.org/pipermail/libc-alpha/2020-December/121130.html
943         canonicalize: simplify via scratch_buffer_dupfree
944         * config/srclist.txt: Adjust accordingly.
945         * lib/canonicalize-lgpl.c (realpath_stk):
946         * lib/canonicalize.c (canonicalize_filename_mode_stk):
947         Simplify by using scratch_buffer_dupfree.
948         * lib/malloc/scratch_buffer.h (scratch_buffer_dupfree): New function.
949         * lib/malloc/scratch_buffer_dupfree.c: New file.
950         * modules/scratch_buffer (Files, Depends-on):
951         Add malloc/scratch_buffer_dupfree.c.
953 2020-12-27  Paul Eggert  <eggert@cs.ucla.edu>
955         regex: remove glibc21.m4
956         It doesn’t seem to be needed any more; at least, I couldn’t
957         reproduce the circa-2013 problem.  Perhaps the recent
958         --conditional-dependencies fixes have removed the need for it.
959         * m4/glibc21.m4: Remove.  All uses removed.
961 2020-12-26  Bruno Haible  <bruno@clisp.org>
963         gnulib-tool: Make --conditional-dependencies work with --with-tests.
964         Reported by Paul Eggert in
965         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00236.html>.
966         * gnulib-tool (func_emit_tests_Makefile_am): Handle conditional
967         dependencies like func_emit_lib_Makefile_am.
969 2020-12-26  Bruno Haible  <bruno@clisp.org>
971         execvpe: Make dependency to stdbool explicit.
972         * lib/execvpe.c: Include <stdbool.h>.
973         * modules/execvpe (Depends-on): Add stdbool.
975         execlp: Add tests.
976         * tests/test-execlp-main.c: New file.
977         * tests/test-execlp.sh: New file.
978         * modules/execlp-tests: New file.
980         execlp: New module.
981         * lib/execlp.c: New file.
982         * m4/execlp.m4: New file.
983         * modules/execlp: New file.
984         * doc/posix-functions/execlp.texi: Mention more Windows problems and the
985         new module.
987         execle: Add tests.
988         * tests/test-execle-main.c: New file.
989         * tests/test-execle.sh: New file.
990         * modules/execle-tests: New file.
992         execle: New module.
993         * lib/execle.c: New file.
994         * m4/execle.m4: New file.
995         * modules/execle: New file.
996         * doc/posix-functions/execle.texi: Mention more Windows problems and the
997         new module.
999         execl: Add tests.
1000         * tests/test-execl-main.c: New file.
1001         * tests/test-execl.sh: New file.
1002         * modules/execl-tests: New file.
1004         execl: New module.
1005         * lib/execl.c: New file.
1006         * m4/execl.m4: New file.
1007         * modules/execl: New file.
1008         * doc/posix-functions/execl.texi: Mention more Windows problems and the
1009         new module.
1011         execv: Add tests.
1012         * tests/test-execv-main.c: New file.
1013         * tests/test-execv.sh: New file.
1014         * modules/execv-tests: New file.
1016         execv: New module.
1017         * lib/execv.c: New file.
1018         * m4/execv.m4: New file.
1019         * modules/execv: New file.
1020         * doc/posix-functions/execv.texi: Mention more Windows problems and the
1021         new module.
1023         execvp: Add tests.
1024         * tests/test-execvp-main.c: New file.
1025         * tests/test-execvp.sh: New file.
1026         * modules/execvp-tests: New file.
1028         execvp: New module.
1029         * lib/execvp.c: New file.
1030         * m4/execvp.m4: New file.
1031         * modules/execvp: New file.
1032         * doc/posix-functions/execvp.texi: Mention more Windows problems and the
1033         new module.
1035         execvpe: Add tests.
1036         * tests/test-execvpe-main.c: New file.
1037         * tests/test-execvpe.sh: New file.
1038         * modules/execvpe-tests: New file.
1040         execvpe: New module.
1041         * lib/execvpe.c: New file.
1042         * m4/execvpe.m4: New file.
1043         * modules/execvpe: New file.
1044         * doc/glibc-functions/execvpe.texi: Mention the Windows problems and the
1045         new module.
1047         execve: Add tests.
1048         * tests/test-exec-child.c: New file.
1049         * tests/test-execve-main.c: New file.
1050         * tests/test-execve.sh: New file.
1051         * modules/execve-tests: New file.
1053         execve: New module.
1054         * lib/execve.c: New file.
1055         * m4/execve.m4: New file.
1056         * modules/execve: New file.
1057         * doc/posix-functions/execve.texi: Mention more Windows problems and the
1058         new module.
1060         execve, execvpe, execvp, execv, execl, execle, execlp: Prepare modules.
1061         * lib/unistd.in.h (execl, execle, execlp, execv, execve, execvp,
1062         execvpe): Add declarations for the new modules.
1063         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether execl, execle, execlp,
1064         execv, execve, execvp, execvpe are declared.
1065         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EXEC*, HAVE_EXECVPE,
1066         REPLACE_EXEC*.
1067         * modules/unistd (Makefile.am): Substitute GNULIB_EXEC*, HAVE_EXECVPE,
1068         REPLACE_EXEC*.
1069         * tests/test-unistd-c++.cc: Check the signature of execl, execle,
1070         execlp, execv, execve, execvp, execvpe.
1072 2020-12-26  Bruno Haible  <bruno@clisp.org>
1074         stack: Fix typo in comments.
1075         * lib/stack.h: Fix typo in comments.
1077 2020-12-26  Bruno Haible  <bruno@clisp.org>
1079         bitset: Fix conflict with 'free-posix' module.
1080         * lib/bitset/base.h: Include <stdlib.h>.
1082 2020-12-25  Paul Eggert  <eggert@cs.ucla.edu>
1084         idx: change idx.h comment to LGPLv2.1+
1085         * lib/idx.h: Change license notice to match what should be in glibc.
1086         gnulib-tool will change it as appropriate anyway, so this is just
1087         to simplify syncing with glibc.
1089 2020-12-25  Thien-Thi Nguyen  <ttn@gnu.org>
1091         MODULES.html.sh: Update after 2020-12-19 change.
1092         * MODULES.html.sh (func_all_modules): Do s/free/free-posix/.
1094 2020-12-25  Bruno Haible  <bruno@clisp.org>
1096         Make it possible to turn off the mkdir override on Windows.
1097         * lib/sys_stat.in.h (mkdir): Conditionalize through GNULIB_MKDIR and
1098         GNULIB_MDA_MKDIR. Also support GNULIB_POSIXCHECK.
1099         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_MKDIR,
1100         GNULIB_MDA_MKDIR.
1101         * modules/sys_stat (Makefile.am): Substitute GNULIB_MKDIR,
1102         GNULIB_MDA_MKDIR.
1103         * modules/mkdir (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
1104         * doc/posix-functions/mkdir.texi: Mention also the 'sys_stat' module.
1106         Make it possible to turn off each of the Windows oldnames workarounds.
1107         * lib/fcntl.in.h (creat, open):  Conditionalize each of the Windows
1108         oldnames workarounds through a GNULIB_MDA_<func> symbol.
1109         * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
1110         * lib/search.in.h (lfind, lsearch): Likewise.
1111         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
1112         Likewise.
1113         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
1114         * lib/string.in.h (memccpy, strdup): Likewise.
1115         * lib/sys_stat.in.h (chmod, umask): Likewise.
1116         * lib/time.in.h (tzset): Likewise.
1117         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
1118         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
1119         read, rmdir, swab, unlink, write): Likewise.
1120         * lib/utime.in.h (utime): Likewise.
1121         * lib/wchar.in.h (wcsdup): Likewise.
1122         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize these
1123         GNULIB_MDA_<func> symbols.
1124         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Likewise.
1125         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Likewise.
1126         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
1127         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
1128         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
1129         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
1130         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Likewise.
1131         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
1132         * m4/utime_h.m4 (gl_UTIME_H_DEFAULTS): Likewise.
1133         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Likewise.
1134         * modules/fcntl-h (Makefile.am): Substitute these GNULIB_MDA_<func>
1135         symbols.
1136         * modules/math (Makefile.am): Likewise.
1137         * modules/search (Makefile.am): Likewise.
1138         * modules/stdio (Makefile.am): Likewise.
1139         * modules/stdlib (Makefile.am): Likewise.
1140         * modules/string (Makefile.am): Likewise.
1141         * modules/sys_stat (Makefile.am): Likewise.
1142         * modules/time (Makefile.am): Likewise.
1143         * modules/unistd (Makefile.am): Likewise.
1144         * modules/utime-h (Makefile.am): Likewise.
1145         * modules/wchar (Makefile.am): Likewise.
1147 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
1149         canonicalize, canonicalize-lgpl: remove lint
1150         Pacify GCC.  Some of these problems were reported by Bruno Haible in:
1151         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00217.html
1152         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
1153         Sort shared include directives, for consistency.
1154         (IF_LINT): New macro.
1155         (suffix_requires_dir_check): Mark with _GL_ATTRIBUTE_PURE.
1156         * lib/canonicalize-lgpl.c (GCC_LINT, _GL_ATTRIBUTE_PURE) [_LIBC]:
1157         New macros.
1158         (realpath_stk): Suppress bogus -Wmaybe-uninitialized warning.
1159         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1160         Omit unused local.  Suppress bogus -Wmaybe-uninitialized warning.
1162 2020-12-24  Bruno Haible  <bruno@clisp.org>
1164         spawn-pipe: Use posix_spawn by default on native Windows.
1165         * lib/spawn-pipe.c (SPAWN_PIPE_IMPL_AVOID_POSIX_SPAWN): New macro.
1166         (create_pipe): Use it to decide among the two possible implementations.
1167         * modules/spawn-pipe (Depends-on): Add posix_spawnattr_setpgroup.
1169 2020-12-24  Bruno Haible  <bruno@clisp.org>
1171         unistd-safer: Implement pipe_safer on native Windows.
1172         * lib/pipe-safer.c (pipe_safer): Don't test HAVE_PIPE.
1173         * modules/unistd-safer (Depends-on): Add pipe-posix.
1175 2020-12-24  Bruno Haible  <bruno@clisp.org>
1177         execute: Use posix_spawn by default on native Windows.
1178         * lib/execute.c (EXECUTE_IMPL_AVOID_POSIX_SPAWN): New macro.
1179         (execute): Use it to decide among the two possible implementations.
1181 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
1183         canonicalize-lgpl: merge proposed libc changes
1184         This merges the changes proposed for glibc in:
1185         https://sourceware.org/pipermail/libc-alpha/2020-December/121085.html
1186         https://sourceware.org/pipermail/libc-alpha/2020-December/121086.html
1187         * lib/canonicalize-lgpl.c: Include idx.h and filename.h
1188         unconditionally.
1189         (idx_t, IDX_MAX, FILE_SYSTEM_PREFIX_LEN, IS_ABSOLUTE_FILE_NAME)
1190         (ISSLASH) [_LIBC]: Remove.
1192 2020-12-24  Bruno Haible  <bruno@clisp.org>
1194         posix_spawn-internal: Implement for native Windows.
1195         * lib/spawni.c (grow_inheritable_handles, shrink_inheritable_handles,
1196         close_inheritable_handles, memiszero, sigisempty, open_handle, do_open,
1197         do_dup2, do_close): New functions.
1198         (__spawni): Implement on native Windows.
1199         * modules/posix_spawn-internal (Depends-on): Add filename,
1200         concat-filename, findprog-in, malloca, windows-spawn.
1201         * doc/posix-functions/posix_spawn.texi: Update.
1202         * doc/posix-functions/posix_spawnp.texi: Likewise.
1204 2020-12-24  Bruno Haible  <bruno@clisp.org>
1206         windows-spawn: Export another auxiliary function.
1207         * lib/windows-spawn.h (convert_CreateProcess_error): New declaration.
1208         * lib/windows-spawn.c (convert_CreateProcess_error): New function,
1209         extracted from spawnpvech.
1210         (spawnpvech): Use it.
1212 2020-12-24  Bruno Haible  <bruno@clisp.org>
1214         windows-spawn: Export some more auxiliary functions.
1215         * lib/windows-spawn.h: Include <stdbool.h>.
1216         (struct inheritable_handles): New type.
1217         (init_inheritable_handles, compose_handles_block,
1218         free_inheritable_handles): New declarations.
1219         * lib/windows-spawn.c (init_inheritable_handles, compose_handles_block):
1220         New functions, based on spawnvech.
1221         (free_inheritable_handles): New function.
1222         (spawnpvech): Use them.
1224 2020-12-24  Bruno Haible  <bruno@clisp.org>
1226         windows-spawn: Export another auxiliary function.
1227         * lib/windows-spawn.h (compose_envblock): New declaration.
1228         * lib/windows-spawn.c (compose_envblock): New function, extracted from
1229         spawnpvech.
1230         (spawnpvech): Use it.
1232 2020-12-24  Bruno Haible  <bruno@clisp.org>
1234         windows-spawn: Export an auxiliary function.
1235         * lib/windows-spawn.h (compose_command): New declaration.
1236         * lib/windows-spawn.c (compose_command): New function, extracted from
1237         spawnpvech.
1238         (spawnpvech): Use it.
1240 2020-12-24  Bruno Haible  <bruno@clisp.org>
1242         posix_spawn* tests: Add support for native Windows.
1243         * tests/test-posix_spawn-open1.c (DATA_FILENAME): Treat native Windows
1244         like Cygwin.
1245         * tests/test-posix_spawn-dup2-stdin.c (main): Don't assume the signals
1246         SIGHUP and SIGPIPE. On native Windows, don't call
1247         posix_spawnattr_setsigmask.
1248         * tests/test-posix_spawn-dup2-stdout.c (main): Likewise.
1249         * tests/test-posix_spawn-fchdir.c (main): Likewise.
1250         * tests/test-posix_spawn-chdir.c (test): Likewise. Accept the child
1251         output from Cygwin's 'pwd' program.
1252         * tests/test-posix_spawn-script.c (main): On native Windows, skip the
1253         executable-shell-script part of the test.
1254         * tests/test-posix_spawnp-script.c (main): Likewise.
1255         * modules/posix_spawn-tests (Depends-on): Add freopen, waitpid.
1256         (configure.ac): Don't define the POSIX_SPAWN_PORTED conditional.
1257         (Makefile.am): Don't test the POSIX_SPAWN_PORTED conditional.
1258         * modules/posix_spawnp-tests (Depends-on): Add  waitpid.
1259         (configure.ac): Don't define the POSIX_SPAWN_PORTED conditional.
1260         (Makefile.am): Don't test the POSIX_SPAWN_PORTED conditional.
1261         * modules/posix_spawn_file_actions_addchdir-tests (Makefile.am): Don't
1262         test the POSIX_SPAWN_PORTED conditional.
1263         * modules/posix_spawn_file_actions_addfchdir-tests (configure.ac):
1264         Define the POSIX_SPAWN_PORTED conditional here.
1266 2020-12-24  Bruno Haible  <bruno@clisp.org>
1268         sh-filename: Add support for native Windows.
1269         * m4/sh-filename.m4 (gl_SH_FILENAME): Treat native Windows like Cygwin.
1271 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
1273         careadlinkat: improve warning line number
1274         This propagates an idea first used in canonicalize-lgpl.
1275         * lib/careadlinkat.c (GCC_BOGUS_WRETURN_LOCAL_ADDR):
1276         New macro.
1277         (careadlinkat): Use it.
1279         linkat: use eloop-threshold
1280         * lib/linkat.c: Include eloop-threshold.h.
1281         Do not include sys/param.h.
1282         (MAXSYMLINKS): Remove.
1283         (link_follow, linkat_follow): Use __eloop_threshold instead
1284         of MAXSYMLINKS.
1285         * m4/linkat.m4 (gl_FUNC_LINKAT): Omit sys/param.h check.
1286         * modules/linkat (Depends-on): Add eloop-threshold.  Sort.
1288         canonicalize-lgpl: use eloop-threshold
1289         * lib/canonicalize-lgpl.c [!_LIBC]: Include eloop-threshold.h.
1290         (MAXSYMLINKS, __eloop_threshold): Remove.
1291         * modules/canonicalize-lgpl (Depends-on): Add eloop-threshold.
1293         eloop-threshold: new module
1294         * config/srclist.txt: Add a comment about it.
1295         * lib/eloop-threshold.h, modules/eloop-threshold: New files.
1297         canonicalize: prefer faccessat to stat
1298         A proper faccessat doesn't have the EOVERFLOW problem, and can be
1299         more efficient as it needn't gather data from the filesystem to
1300         fill in struct stat.  So use stat only if faccessat is absent,
1301         or when checking for symlink loops in canonicalize.c.
1302         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
1303         Include fcntl.h, for AT_EACCESS.
1304         (FACCESSAT_NEVER_EOVERFLOWS): Default to false.
1305         (file_accessible): New function, based on faccessat but with
1306         a fallback to stat and with an EOVERFLOW workaround.
1307         (dir_check): Use it.
1308         (dir_suffix): New static constant.
1309         * lib/canonicalize-lgpl.c (FACCESSAT_NEVER_EOVERFLOWS) [_LIBC]:
1310         Use __ASSUME_FACCESSAT2 to set FACCESSAT_NEVER_EOVERFLOWS
1311         (__faccessat) [!_LIBC]: Define.
1312         (realpath_stk): Use dir_suffix now.
1313         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1314         If logical, don't check each component's existence; just check
1315         at the end, as that's enough.
1316         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
1317         (gl_CANONICALIZE_LGPL_SEPARATE):
1318         Require gl_FUNC_FACCESSAT_EOVERFLOW,
1319         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and check for faccessat.
1320         (gl_CANONICALIZE_LGPL_SEPARATE): Do not check for readlink,
1321         as the code does not use HAVE_READLINK.
1322         * modules/canonicalize, modules/canonicalize-lgpl (Files):
1323         Add m4/faccessat.m4, m4/lstat.m4.
1324         (Depends-on): Add fcntl-lh.
1326         faccessat: work around F_OK EOVERFLOW bug
1327         * doc/posix-functions/faccessat.texi: Mention the problem.
1328         * lib/faccessat.c (FACCESSAT_NEVER_EOVERFLOWS): Default to 0.
1329         (rpl_faccessat): If !FACCESSAT_NEVER_EOVERFLOWS, check
1330         for F_OK and EOVERFLOW, which means we can return 0.
1331         * m4/faccessat.m4 (gl_FUNC_FACCESSAT_EOVERFLOW): New macro.
1332         (gl_FUNC_FACCESSAT): Use it.
1334         stat failing with EOVERFLOW implies existence
1335         * lib/euidaccess.c (euidaccess):
1336         * lib/file-has-acl.c (file_has_acl):
1337         * lib/link.c (link, rpl_link):
1338         * lib/mkdir.c (rpl_mkdir):
1339         * lib/mkfifo.c (rpl_mkfifo):
1340         * lib/mknod.c (rpl_mknod):
1341         * lib/ptsname_r.c (__ptsname_r):
1342         * lib/symlink.c (rpl_symlink):
1343         * lib/symlinkat.c (rpl_symlinkat):
1344         * lib/unlink.c (rpl_unlink):
1345         * lib/unlinkat.c (rpl_unlinkat):
1346         * lib/utime.c (utime):
1347         If stat fails with EOVERFLOW the file exists, so treat it that way
1348         in file-existence tests that do not need struct stat values.
1350         canonicalize-lgpl: remove freea macro
1351         * lib/canonicalize-lgpl.c (freea) [_LIBC]: Remove; not needed.
1353         canonicalize, canonicalize-lgpl: fix symlink bug
1354         Problem reported by Adhemerval Zanella in:
1355         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00155.html
1356         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
1357         (suffix_requires_dir_check, dir_check): New functions.
1358         (GCC_BOGUS_WRETURN_LOCAL_ADDR): New macro, to put the diagnostic
1359         closer to the related GCC diagnostics.
1360         * lib/canonicalize-lgpl.c (realpath_stk):
1361         * lib/canonicalize.c (canonicalize_file_mode_stk):
1362         Use them to fix a bug with .../symlink-to-regular-file/ etc.
1363         * lib/canonicalize-lgpl.c (__stat) [!_LIBC]: New macro.
1364         (realpath_stk): New function,
1365         with the contents of the old __realpath and a new scratch buffer arg.
1366         This is needed to pacify GCC 10.1, as canonicalize.c is already doing.
1367         (__realpath): Use it.
1368         * tests/test-canonicalize-lgpl.c, tests/test-canonicalize.c:
1369         Add test cases for the bugs.
1371 2020-12-24  Bruno Haible  <bruno@clisp.org>
1373         execute: Treat signalled processes like wait-process does.
1374         * lib/execute.c: Include <sys/types.h>, <sys/wait.h>.
1375         (execute): Recognize the case where the exit code indicates a signalled
1376         child process.
1377         * tests/test-execute-main.c (main): Update expected test result.
1378         * modules/execute (Depends-on): Add sys_wait.
1380 2020-12-24  Bruno Haible  <bruno@clisp.org>
1382         windows-spawn: Improve errno upon failure on native Windows.
1383         * lib/windows-spawn.c (spawnpvech): Map the CreateProcess errors
1384         ERROR_BAD_FORMAT and ERROR_BAD_EXE_FORMAT to ENOEXEC.
1385         * tests/executable-script.sh: New file.
1386         * tests/test-posix_spawn-script.c (main): Also try executing
1387         executable-script.sh.
1388         * tests/test-posix_spawnp-script.c (main): Likewise.
1389         * tests/test-execute-script.c (main): Likewise.
1390         * tests/test-spawn-pipe-script.c (main): Likewise.
1391         * modules/posix_spawn-tests (Files): Add tests/executable-script.sh.
1392         * modules/posix_spawnp-tests (Files): Likewise.
1393         * modules/execute-tests (Files): Likewise.
1394         * modules/spawn-pipe-tests (Files): Likewise.
1396 2020-12-24  Bruno Haible  <bruno@clisp.org>
1398         findprog-in: Improve errno upon failure on native Windows.
1399         * lib/findprog-in.c (find_in_given_path): If the file basename has no
1400         dot and the search with a suffix returned no result, do also a search
1401         without a suffix, and set errno = ENOEXEC if we find a file in this way.
1402         * tests/test-spawn-pipe-script.c (main): Update expected errno.
1404 2020-12-23  Bruno Haible  <bruno@clisp.org>
1406         posix_spawn, posix_spawnp: Fix execution of scripts.
1407         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_SECURE): New macro.
1408         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if posix_spawn
1409         or posix_spawnp allows unsecure execution of scripts.
1410         * doc/posix-functions/posix_spawn.texi: Document the script execution
1411         problem.
1412         * doc/posix-functions/posix_spawnp.texi: Likewise.
1414 2020-12-23  Bruno Haible  <bruno@clisp.org>
1416         Add unit tests regarding execution of scripts.
1417         * tests/executable-script: New file.
1418         * tests/executable-shell-script: New file.
1419         * tests/test-posix_spawn-script.c: New file.
1420         * tests/test-posix_spawnp-script.c: New file.
1421         * tests/test-execute-script.c: New file.
1422         * tests/test-spawn-pipe-script.c: New file.
1423         * modules/posix_spawn-tests (Files): Add
1424         tests/test-posix_spawn-script.c, tests/executable-script,
1425         tests/executable-shell-script.
1426         (Makefile.am): Compile and run test-posix_spawn-script.
1427         * modules/posix_spawnp-tests (Files): Add
1428         tests/test-posix_spawnp-script.c, tests/executable-script,
1429         tests/executable-shell-script.
1430         (Makefile.am): Compile and run test-posix_spawnp-script.
1431         * modules/execute-tests (Files): Add tests/test-execute-script.c,
1432         tests/executable-script, tests/executable-shell-script.
1433         (Makefile.am): Compile and run test-execute-script.
1434         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-script.c,
1435         tests/executable-script, tests/executable-shell-script.
1436         (Makefile.am): Compile and run test-spawn-pipe-script.
1438 2020-12-23  Bruno Haible  <bruno@clisp.org>
1440         Don't execute scripts without '#!' marker through /bin/sh.
1441         This reflects the change done in glibc through
1442         <https://sourceware.org/bugzilla/show_bug.cgi?id=13134> and
1443         <https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=d96de9634a334af16c0ac711074c15ac1762b23c>.
1444         * lib/spawni.c (internal_function): Remove macro.
1445         (script_execute): Remove function.
1446         (__spawni): Don't invoke script_execute.
1447         * lib/execute.c (execute): Disable the ENOEXEC handling.
1448         * lib/spawn-pipe.c (create_pipe): Likewise.
1449         * NEWS: Mention the change.
1451 2020-12-23  Bruno Haible  <bruno@clisp.org>
1453         posix_spawn[p]: Fix compilation error on Windows (regr. 2020-12-14).
1454         Reported by Adrian Ebeling <devl@adrian-ebeling.de> in
1455         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00189.html>.
1456         * lib/spawni.c (__spawni): Update function parameters.
1458 2020-12-23  Bruno Haible  <bruno@clisp.org>
1460         posix_spawn tests: Add two more tests.
1461         * tests/test-posix_spawn-inherit0.c: New file, based on
1462         tests/test-posix_spawn-open2.c.
1463         * tests/test-posix_spawn-inherit1.c: New file, based on
1464         tests/test-posix_spawn-open2.c.
1465         * modules/posix_spawn-tests (Files): Add them.
1466         (Depends-on): Add fflush.
1467         (Makefile.am): Compile and run test-posix_spawn-inherit0 and
1468         test-posix_spawn-inherit1.
1470 2020-12-23  Bruno Haible  <bruno@clisp.org>
1472         posix_spawn tests: Add another test.
1473         * tests/test-posix_spawn-open2.c: New file, based on
1474         tests/test-posix_spawn-open1.c.
1475         * modules/posix_spawn-tests (Files): Add it.
1476         (Makefile.am): Compile and run test-posix_spawn-open1.
1478 2020-12-20  Bruno Haible  <bruno@clisp.org>
1480         Remove support for broken <wchar.h> in AIX 3.
1481         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify test programs.
1483 2020-12-20  Bruno Haible  <bruno@clisp.org>
1485         Remove support for broken <wchar.h> in BSD/OS and OSF/1.
1486         * lib/wchar.in.h: Don't include <stdio.h>, <time.h>.
1487         * lib/mbchar.h: Likewise.
1488         * lib/mbiter.h: Likewise.
1489         * lib/mbuiter.h: Likewise.
1490         * m4/stdint.m4 (gl_STDINT_INCLUDES): Likewise.
1491         * lib/mbfile.h: Don't include <time.h>.
1492         * lib/mbswidth.h: Update comment.
1493         * lib/stdint.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> before
1494         <wchar.h>.
1495         * lib/wctype.in.h: Likewise.
1496         * m4/btowc.m4 (gl_FUNC_BTOWC): Simplify test programs.
1497         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Likewise.
1498         * m4/iswdigit.m4 (gl_FUNC_ISWDIGIT): Likewise.
1499         * m4/iswxdigit.m4 (gl_FUNC_ISWXDIGIT): Likewise.
1500         * m4/mbrlen.m4 (gl_FUNC_MBRLEN, gl_MBRLEN_INCOMPLETE_STATE,
1501         gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL): Likewise.
1502         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Likewise.
1503         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_MBRTOWC_INCOMPLETE_STATE,
1504         gl_MBRTOWC_SANITYCHECK, gl_MBRTOWC_NULL_ARG1, gl_MBRTOWC_NULL_ARG2,
1505         gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL, gl_MBRTOWC_STORES_INCOMPLETE,
1506         AC_FUNC_MBRTOWC): Likewise.
1507         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Likewise.
1508         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE):
1509         Likewise.
1510         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS, gl_MBSRTOWCS_WORKS): Likewise.
1511         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
1512         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
1513         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Likewise.
1514         * m4/wchar_h.m4 (gl_WCHAR_H, gl_WCHAR_H_INLINE_OK): Likewise.
1515         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
1516         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Likewise.
1517         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE):
1518         Likewise.
1519         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS, gl_WCSRTOMBS_TERMINATION,
1520         gl_WCSRTOMBS_NULL): Likewise.
1521         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
1522         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
1523         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
1524         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
1525         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
1526         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Likewise.
1527         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
1528         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
1529         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
1530         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.
1532 2020-12-20  Bruno Haible  <bruno@clisp.org>
1534         isnanf: Fix autoconf test.
1535         * m4/isnanf.m4 (gl_ISNANF_WORKS): Fix one of the NaN tests.
1537 2020-12-20  Bruno Haible  <bruno@clisp.org>
1539         Remove some of the support for obsolete IRIX 4 and 5.
1540         * m4/mountlist.m4 (AC_FUNC_GETMNTENT): Don't test for getmntent in
1541         libsun.
1542         * tests/init.sh (setup_): Don't talk about IRIX 5.
1544 2020-12-20  Bruno Haible  <bruno@clisp.org>
1546         filemode: Remove Cray support.
1547         * lib/filemode.c (IS_MIGRATED_FILE): Remove macro.
1548         (filemodestring): Don't produce an 'M' type.
1549         * m4/filemode.m4 (gl_FILEMODE): Don't invoke AC_STRUCT_ST_DM_MODE.
1550         * m4/st_dm_mode.m4: Remove file.
1551         * modules/filemode (Files): Remove it.
1553 2020-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1555         free-posix: assume glibc 2.33 fixes this.
1556         * m4/free.m4 (gl_FUNC_FREE): Assume glibc 2.33+ is fixed.
1557         Use compile-time test rather than guessing for cross-builds.
1559 2020-12-20  Bruno Haible  <bruno@clisp.org>
1561         backupfile: Fix compilation error on native Windows (regr. 2018-10-23).
1562         Reported by Adrian Ebeling <adrianebeling@gmx.de> in
1563         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00156.html>.
1564         * lib/backupfile.c (fpathconf): Define fallback, like for pathconf.
1566 2020-12-20  Bruno Haible  <bruno@clisp.org>
1568         float: Fix compilation error when gnulib's float.h exists twice.
1569         Reported by Santiago Vila <sanvila@unex.es>.
1570         * lib/float.in.h (GNULIB_defined_long_double_union): New macro.
1572 2020-12-19  Bruno Haible  <bruno@clisp.org>
1574         free-posix: Assume future POSIX compliance only on OpenBSD and Solaris.
1575         * m4/free.m4 (gl_FUNC_FREE): Guess yes only on OpenBSD and Solaris.
1576         Don't trust _POSIX_VERSION for this test.
1578 2020-12-19  Paul Eggert  <eggert@cs.ucla.edu>
1580         free-posix: port to GNU/Linux
1581         * m4/free.m4 (gl_FUNC_FREE): Don’t assume GNU hosts are free of
1582         the bug, as it occurs on Ubuntu 20.10 x86-64 and, I assume, on
1583         other GNU/Linux hosts.
1585 2020-12-19  Bruno Haible  <bruno@clisp.org>
1587         free-posix: Add tests.
1588         * tests/test-free.c: New file.
1589         * tests/macros.h (ASSERT_NO_STDIO,
1590         WRITE_MACROEXPANDED_INTEGER_TO_STDERR, WRITE_INTEGER_TO_STDERR,
1591         WRITE_TO_STDERR): New macros.
1592         * modules/free-posix-tests: New file.
1594 2020-12-18  Bruno Haible  <bruno@clisp.org>
1596         free-posix: Add C++ declaration test.
1597         * tests/test-stdlib-c++.cc (free): New declaration.
1599 2020-12-18  Bruno Haible  <bruno@clisp.org>
1601         free-posix: New module, renamed from 'free'.
1602         * modules/free-posix: Renamed from modules/free.
1603         (configure.ac): Update gl_STDLIB_MODULE_INDICATOR invocation.
1604         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE_POSIX,
1605         not GNULIB_FREE.
1606         * modules/stdlib (Makefile.am): Substitute GNULIB_FREE_POSIX, not
1607         GNULIB_FREE.
1608         * lib/stdlib.in.h (free): Test GNULIB_FREE_POSIX, not GNULIB_FREE.
1609         * doc/posix-functions/free.texi: Mention the module 'free-posix' and
1610         what it does.
1611         * NEWS: Mention that module 'free' no longer exists.
1612         * modules/canonicalize (Depends-on): Add free-posix. Remove free.
1613         * modules/canonicalize-lgpl (Depends-on): Likewise.
1615 2020-12-18  Bruno Haible  <bruno@clisp.org>
1617         free: Remove support for obsolete platforms.
1618         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works. Don't define
1619         CANNOT_FREE_NULL.
1620         * lib/free.c (rpl_free): Don't test CANNOT_FREE_NULL.
1621         * modules/free (Description): Update.
1622         * doc/posix-functions/free.texi: Don't mention SunOS 4 any more.
1624 2020-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1626         intprops: port to ICC 2021.1 Beta 20201112
1627         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P):
1628         Port to ICC 2021.1, which has a non-working __builtin_mul_overflow_p.
1629         Add a clause for other compilers that claim to support
1630         __builtin_mul_overflow_p, since we might as well find out about
1631         slackers other than Clang and ICC.
1632         (INT_MULTIPLY_WRAPV): ICC 2021 has GCC bug 91450, so treat it
1633         like older GCCs even when it claims to be a newer one.
1635 2020-12-18  Bruno Haible  <bruno@clisp.org>
1637         intprops: Avoid potentially buggy __builtin_add_overflow in GCC 5, 6.
1638         Reported by Stefan Liebler <stli@linux.ibm.com> in
1639         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00152.html>.
1640         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Don't define for
1641         GCC 5.x and 6.x.
1642         * lib/glob.c (size_add_wrapv): Don't use __builtin_add_overflow for
1643         GCC 5.x and 6.x.
1645 2020-12-17  Bruno Haible  <bruno@clisp.org>
1647         free: Fix warning.
1648         Reported by Pádraig Brady <P@draigBrady.com> in
1649         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00148.html>.
1650         * lib/stdlib.in.h (free): New declaration.
1651         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether 'free' is declared.
1652         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE, REPLACE_FREE.
1653         * modules/stdlib (Makefile.am): Substitute GNULIB_FREE, REPLACE_FREE.
1654         * m4/free.m4 (gl_FUNC_FREE): Set REPLACE_FREE, instead of defining
1655         'free' as a macro here.
1656         * modules/free (Depends-on): Add stdlib.
1657         (configure.ac): Test REPLACE_FREE. Invoke gl_STDLIB_MODULE_INDICATOR.
1659 2020-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1661         canonicalize-lgpl: fix AIX test failures
1662         This merges the recent canonicalize.c fix into canonicalize-lgpl.c.
1663         Problem reported by Bruno Haible in:
1664         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00138.html
1665         * lib/canonicalize-lgpl.c: Include sys/stat.h.
1666         (__realpath): When testing a file name ending in '/', use stat
1667         rather than readlink, so that it does the right thing on AIX.
1668         * modules/canonicalize-lgpl (Depends-on): Add stat, sys_stat.
1670         canonicalize: omit second readlink when not needed
1671         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1672         Omit second readlink when (can_exist != CAN_MISSING
1673         && startlen != 0 && !logical).  Simplify.
1675         canonicalize: remove arbitrary 8192-byte limit
1676         Remove canonicalize.c’s arbitrary 8192-byte limit on platforms
1677         like GNU Hurd that do not define the PATH_MAX macro, and similarly
1678         for canonicalize-lgpl.c’s arbitrary 1024-byte limit.  Do this by
1679         using scratch buffers.  Lessen the number of differences between
1680         the two source files, to simplify this and future maintenance.
1681         * lib/canonicalize-lgpl.c (__realpath):
1682         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1683         Use scratch buffers instead of malloc and malloca.  This avoids
1684         the need for alloca, and avoids the need for malloc in most cases.
1685         * lib/canonicalize-lgpl.c, lib/canonicalize.c: Make these files
1686         easier to compare, e.g., by sorting include files and by switching
1687         to the GNU convention of calling file names "file names", not
1688         "path names".  Include stdbool.h, scratch_buffer.h.
1689         * lib/canonicalize-lgpl.c (IDX_MAX) [_LIBC]: New macro.
1690         (malloca) [_LIBC]: Remove.
1691         [!_LIBC]: Do not include malloca.h.
1692         (get_path_max): New function, so that pathconf is called only in
1693         the rare and dubious case when when RESOLVED is not null and
1694         PATH_MAX is not defined.  Invoke pathconf on "/" not the input
1695         file name, as we care about the longest file name starting from
1696         "/" (not from the input file name), and POSIX does not specify
1697         what pathconf does on a non-directory file anyway.  If PATH_MAX is
1698         not defined, do not worry about overriding a path_max of 0, and do
1699         not let path_max exceed IDX_MAX.
1700         (__realpath): Remove an assumption that file name components
1701         cannot exceed 1024 bytes when PATH_MAX is not defined (wrong for
1702         the Hurd, presumably).
1703         When allocating the result, allocate it to just the right size;
1704         this costs nothing when the result is smaller than 1023 bytes,
1705         and for larger results it's probably worth the CPU to call realloc,
1706         as canonicalize.c already does.
1707         * lib/canonicalize.c: Include attribute.h.
1708         Do not include pathmax.h or xgetcwd.h.
1709         (PATH_MAX): Do not define, so file names longer than 8192 bytes
1710         work on platforms with no fixed limit.
1711         (canonicalize_filename_mode_stk): New function, with
1712         the content of the old canonicalize_filename_mode.
1713         Use getcwd instead of xgetcwd, and readlink instead of areadlink,
1714         since the scratch buffers now do memory management for us.
1715         Use rawmemchr instead of adding strlen.
1716         Use mempcpy instead of mempcpy + size.
1717         Assume free preserves errno.
1718         (canonicalize_filename_mode): Use it.
1719         * modules/canonicalize (Depends-on): Remove areadlink, pathmax,
1720         xgetcwd.  Add attribute, free, getcwd, mempcpy, rawmemchr,
1721         scratch_buffer, stdbool, xalloc-die.
1722         * modules/canonicalize-lgpl (Depends-on): Remove alloca-opt,
1723         malloca, realloc-posix.  Add scratch_buffer, stdbool.
1725         canonicalize-lgpl: simplify merge to glibc
1726         This patch lessens the differences between git glibc
1727         stdlib/canonicalize.c and lib/canonicalize-lgpl.c.
1728         The (perhaps wishful) goal is to make them identical.
1729         * lib/canonicalize-lgpl.c [!_LIBC]:
1730         Include <libc-config.h>, not config.h.
1731         Omit an unnecessary (!HAVE_CANONICALIZE_FILE_NAME ||
1732         !FUNC_REALPATH_WORKS || defined _LIBC) #if.
1733         Do not include alloca.h, since we use malloca now.
1734         [_LIBC]: Include <eloop-threshold.h>, and define dummy macros
1735         FILE_SYSTEM_PREFIX_LEN, IS_ABSOLUTE_FILE_NAME, ISSLASH, malloca,
1736         freea so that the mainline code can be kept #ifdef free.
1737         [!_LIBC]: Remove dummy macros for SHLIB_COMPAT, versioned_symbol,
1738         compat_symbol, weak_alias, __set_errno since libc-config.h does that.
1739         Add redirecting macros __mempcpy, __pathconf, __rawmemchr,
1740         __eloop_threshold.  All uses of their definiens changed.
1741         (SIZE_MAX): Remove; no longer needed.
1742         (alloc_failed): Remove, and remove all instances.
1743         No need for alloc_failed now that free preserves errno.
1744         (__realpath): Default path_max to 1024 instead of 8192, as that’s
1745         the glibc tradition and is safer when the 2nd argument is null.
1746         Use __rawmemchr instead of strchr.
1747         Use __mempcpy where appropriate.
1748         Simplify test for overflow so that it does not need SIZE_MAX.
1749         Do not preserve errno around free or freea calls; no longer needed.
1750         Mark __realpath with libc_hidden_def.
1751         * modules/canonicalize-lgpl (Depends-on): Add free, libc-config,
1752         malloc-posix, mempcpy, realloc-posix, rawmemchr.
1753         * modules/free: Now LGPLv2+, for canonicalize-lgpl.
1755         free: preserve errno
1756         * lib/free.c (rpl_free): Preserve errno.  Check for null only if
1757         CANNOT_FREE_NULL is defined, as an optimization for POSIX 2008
1758         platforms that do not preserve errno.
1759         * m4/free.m4 (gl_FUNC_FREE): Check whether free preserves errno.
1760         Also, define CANNOT_FREE_NULL if free cannot free NULL.
1761         * modules/free (configure.ac): Also replace 'free' if
1762         it does not preserve errno.
1764         idx: simplify IDX_MAX, remove IDX_WIDTH
1765         * lib/idx.h (IDX_MAX): Simplify by removing obsolete reference
1766         to UNSIGNED_IDX_T.
1767         (IDX_WIDTH): Remove, since it’s not used and its value
1768         arguably should be PTRDIFF_WIDTH anyway.
1770 2020-12-16  Bruno Haible  <bruno@clisp.org>
1772         posix_spawn_file_actions_addfchdir-tests: Rename test.
1773         * tests/test-posix_spawn-fchdir.c: Renamed from
1774         tests/test-posix_spawn5.c.
1775         * modules/posix_spawn_file_actions_addfchdir-tests (Files, Makefile.am):
1776         Update.
1778         posix_spawn_file_actions_addchdir-tests: Rename test.
1779         * tests/test-posix_spawn-chdir.c: Renamed from
1780         tests/test-posix_spawn4.c.
1781         * modules/posix_spawn_file_actions_addchdir-tests (Files, Makefile.am):
1782         Update.
1784         posix_spawn-tests: Rename test.
1785         * tests/test-posix_spawn-open1.c: Renamed from
1786         tests/test-posix_spawn3.c.
1787         * modules/posix_spawn-tests (Files, Makefile.am): Update.
1789         posix_spawnp-tests: Rename test.
1790         * tests/test-posix_spawn-dup2-stdin.c: Renamed from
1791         tests/test-posix_spawn2.c.
1792         * tests/test-posix_spawn-dup2-stdin.in.sh: Renamed from
1793         tests/test-posix_spawn2.in.sh.
1794         * modules/posix_spawnp-tests (Files, Makefile.am): Update.
1796         posix_spawnp-tests: Rename test.
1797         * tests/test-posix_spawn-dup2-stdout.c: Renamed from
1798         tests/test-posix_spawn1.c.
1799         * tests/test-posix_spawn-dup2-stdout.in.sh: Renamed from
1800         tests/test-posix_spawn1.in.sh.
1801         * modules/posix_spawnp-tests (Files, Makefile.am): Update.
1803 2020-12-14  Bruno Haible  <bruno@clisp.org>
1805         findprog-in: Allow overriding the current directory.
1806         * lib/findprog.h (find_in_given_path): Add directory argument.
1807         * lib/findprog-in.c (find_in_given_path): Likewise.
1808         * lib/execute.c (execute): Update caller.
1809         * lib/spawn-pipe.c (create_pipe): Likewise.
1810         * lib/windows-spawn.c (spawnpvech): Likewise.
1811         * NEWS: Mention the change.
1813 2020-12-14  Bruno Haible  <bruno@clisp.org>
1815         posix_spawn-internal: Make better use of 'const'.
1816         * lib/spawn_int.h (__spawni): Does not need write access to the elements
1817         of argv and envp.
1818         * lib/spawni.c (__spawni, script_execute): Likewise.
1819         * lib/spawn.c (posix_spawn): Update caller.
1820         * lib/spawnp.c (posix_spawnp): Likewise.
1822 2020-12-14  Bruno Haible  <bruno@clisp.org>
1824         spawn: Make it compile on native Windows.
1825         * modules/spawn (Depends-on): Add signal-h.
1827 2020-12-14  Bruno Haible  <bruno@clisp.org>
1829         windows-spawn: Avoid shadowing a variable.
1830         * lib/windows-spawn.c (spawnpvech): Rename local variable 'flags'.
1832 2020-12-13  Paul Eggert  <eggert@cs.ucla.edu>
1834         string: port memchr macro to AIX 7.2 XLC
1835         Its <string.h> defines a memchr macro to help inlining.
1836         * lib/string.in.h (memchr): #undef before #defining.
1838         canonicalize: fix AIX test failures
1839         Problem reported by Bruno Haible in:
1840         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00109.html
1841         * lib/canonicalize.c (canonicalize_filename_mode):
1842         When testing a file name ending in '/', use stat rather than
1843         readlink, so that it does the right thing on AIX.
1844         * modules/canonicalize (Depends-on): Add readlink, to pull in the
1845         recent changes in the Gnulib readlink module.
1847         Assume readlink/readlinkat ERANGE fix
1848         * lib/areadlink-with-size.c (areadlink_with_size):
1849         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
1850         * lib/careadlinkat.c (readlink_stk):
1851         Do not worry about readlink or readlinkat failing with errno == ERANGE,
1852         since the Gnulib readlink and readlinkat modules now fix that.
1854         getcwd: port to AIX
1855         * lib/getcwd.c [!_LIBC]: Undef stat64 before #defining it,
1856         in case our sys/stat.h #defined a function macro with the same name.
1858         readlink, readlinkat: add ERANGE portability
1859         Fix some portability issues with Gnulib's readlink and readlinkat,
1860         notably mostly working around the ERANGE problem in AIX and HP-UX.
1861         * doc/posix-functions/readlink.texi:
1862         * doc/posix-functions/readlinkat.texi:
1863         ERANGE problem is mostly fixed now.  Mention AIX problem with
1864         trailing / and EINVAL.  Lessen differences between these two files.
1865         * lib/readlink.c (rpl_readlink):
1866         * lib/readlinkat.c (rpl_readlinkat):
1867         If stat ("FILE/", ...) reports EOVERFLOW, treat FILE/ as an
1868         existing directory.  Mostly work around READLINK_TRUNCATE BUG.
1869         Lessen spurious differences between the readlink and readlinkat code.
1870         * lib/readlinkat.c (rpl_readlinkat):
1871         Fix bug where stat was used where fstatat was intended.
1872         * m4/readlink.m4 (gl_FUNC_READLINK):
1873         Rename gl_cv_func_readlink_works to gl_cv_func_readlink_trailing_slash
1874         to identify readlink problems more precisely.  All uses changed.
1875         Guess no on AIX or HP-UX for this variable.
1876         Add check for whether readlink truncates results,
1877         and define new macro READLINK_TRUCATE_BUG accordingly.
1878         * m4/readlinkat.m4 (gl_FUNC_READLINKAT):
1879         Also check gl_cv_func_readlink_trailing_slash when deciding
1880         whether to replace readlinkat.
1881         * modules/readlinkat (Depends-on): Most dependencies are also
1882         needed if replacing readlinkat.  fstatat is different, as it
1883         is needed only if replacing an existing readlinkat.
1885 2020-12-13  Bruno Haible  <bruno@clisp.org>
1887         spawn-pipe: Fix hanging processes on Windows (regression 2020-11-30).
1888         * lib/spawn-pipe.c (create_pipe): After spawning the subprocess, close
1889         the stdin_handle and/or stdout_handle.
1891 2020-12-12  Bruno Haible  <bruno@clisp.org>
1893         Fix gnulib-tool error when some modules occur in tests/.
1894         * doc/gnulib.texi (Specification): Update statistics.
1895         (Autoconf macros): Don't suggest to use AC_LIBOBJ in a .m4 file.
1896         (Using AC_LIBOBJ): New section.
1897         * check-AC_LIBOBJ: New file.
1898         * modules/fnmatch-gnu (Files): Add lib/fnmatch.c.
1899         * modules/fopen-gnu (Files): Add lib/fopen.c.
1900         * modules/memmem (Files): Add lib/memmem.c.
1901         * modules/renameat (Files): Add lib/at-func2.c.
1902         * modules/strcasestr (Files): Add lib/strcasestr.c.
1903         * modules/strstr (Files): Add lib/strstr.c.
1905 2020-12-11  Bruno Haible  <bruno@clisp.org>
1907         sh-quote, execute, spawn-pipe, etc.: Make better use of 'const'.
1908         * lib/sh-quote.h (shell_quote_argv): Does not need write access to the
1909         elements of argv.
1910         * lib/sh-quote.c (shell_quote_argv): Likewise.
1911         * lib/windows-spawn.h (prepare_spawn): Add 'const' the argument type and
1912         the return type.
1913         * lib/windows-spawn.c (prepare_spawn): Likewise.
1914         * lib/os2-spawn.h (prepare_spawn): Likewise.
1915         * lib/os2-spawn.c (prepare_spawn): Likewise.
1916         * lib/execute.h (execute): Does not need write access to the elements of
1917         prog_argv.
1918         * lib/execute.c (execute): Likewise.
1919         * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
1920         Likewise.
1921         * lib/spawn-pipe.c (create_pipe, create_pipe_bidi, create_pipe_in,
1922         create_pipe_out): Likewise.
1923         * lib/pipe-filter.h (pipe_filter_ii_execute, pipe_filter_gi_create):
1924         Likewise.
1925         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Likewise.
1926         * lib/pipe-filter-gi.c (pipe_filter_gi_create): Likewise.
1927         * lib/javaexec.h (execute_fn): Does not need write access to the
1928         elements of prog_argv.
1929         * lib/javaexec.c (execute_java_class): Update variable types and remove
1930         casts to 'char *'.
1931         * lib/csharpexec.h (execute_fn): Does not need write access to the
1932         elements of prog_argv.
1933         * lib/csharpexec.c (execute_csharp_using_mono,
1934         execute_csharp_using_sscli): Update variable types and remove casts to
1935         'char *'.
1936         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
1937         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
1938         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
1939         is_jikes_present): Update variable types and remove casts to 'char *'.
1940         * lib/javaversion.c (execute_and_read_line): Does not need write access
1941         to the elements of prog_argv.
1942         * lib/csharpcomp.c (compile_csharp_using_mono,
1943         compile_csharp_using_sscli): Update variable types and remove casts to
1944         'char *'.
1945         * tests/test-sh-quote.c (main): Update variable types and remove casts
1946         to 'char *'.
1947         * tests/test-execute-main.c (main): Update variable types and remove
1948         casts to 'char *'.
1949         * tests/test-spawn-pipe-main.c (test_pipe): Update variable types and
1950         remove casts to 'char *'.
1951         * NEWS: Mention the changes.
1953 2020-12-11  Bruno Haible  <bruno@clisp.org>
1955         execute-tests: Fix compilation error with MSVC.
1956         * tests/test-execute-child.c (is_device): With _fstat, use
1957         'struct _stat', not 'struct stat'.
1959 2020-12-11  Paul Eggert  <eggert@cs.ucla.edu>
1961         vararrays: just use 2.70
1962         * m4/vararrays.m4 (AC_C_VARARRAYS): Do not override Autoconf 2.70
1963         and later, since Autoconf 2.70 matches Gnulib now.
1965         sys_types: just use 2.70
1966         * m4/sys_types_h.m4 (AC_HEADER_MAJOR):
1967         Reindent to match Autoconf sources.
1968         Use Autoconf 2.70 as a prerequisite, not 2.69c.
1970         stdint: port to Autoconf 2.70
1971         * m4/stdint.m4 (gl_STDINT_H): Check for inttypes.h and sys/types.h
1972         instead of assuming that AC_INCLUDES_DEFAULT does it.
1973         The old code relied on AC_INCLUDES_DEFAULT being called
1974         and setting ac_cv_header_inttypes_h and ac_cv_header_sys_types_h,
1975         but this does not occur in Autoconf 2.70.
1977         pid_t.m4: just use 2.70
1978         * m4/pid_t.m4 (AC_TYPE_PID_T):
1979         Use Autoconf 2.70 as a prerequisite, not 2.69c.
1981         largefile: just use 2.70
1982         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
1983         Use Autoconf 2.70 as a prerequisite, not 2.69c.
1985         AC_C_RESTRICT: update from Autoconf
1986         * m4/gnulib-common.m4 (gl_PROG_CC_C99): Use Autoconf 2.70
1987         as a prerequisite, not 2.69c, since 2.70 is now out.
1988         (AC_C_RESTRICT): Define only for 2.70 or earlier.
1989         Try __restrict__ before __restrict.
1991         extensions: update from Autoconf
1992         * m4/extensions.m4 (AC_CHECK_INCLUDES_DEFAULT):
1993         Provide a default implementation for Autoconf 2.69 or earlier.
1994         (AC_USE_SYSTEM_EXTENSIONS): Copy from Autoconf git.  Define only
1995         if Autoconf 2.70 or earlier, since 2.70.1 or later should be OK.
1997         alloca: update from Autoconf
1998         * m4/alloca.m4 (gl_PREREQ_ALLOCA):
1999         Trivial update to match Autoconf 2.70.
2001 2020-12-11  Bruno Haible  <bruno@clisp.org>
2003         memchr: Work around memory overrun bug on AIX 7.2.
2004         * m4/memchr.m4 (gl_FUNC_MEMCHR): Test against AIX 7.2 bug.
2005         * doc/posix-functions/memchr.texi: Mention the AIX bug.
2007 2020-12-11  Bruno Haible  <bruno@clisp.org>
2009         execute-tests: Fix compilation error on AIX in 32-bit mode.
2010         * tests/test-execute-child.c: In order to get the original definition of
2011         fstat, don't use '#undef fstat' and '#undef stat'. Instead, arrange to
2012         include the system's <sys/stat.h> and use it before including other
2013         header files.
2015 2020-12-10  Bruno Haible  <bruno@clisp.org>
2017         windows-spawn: Relicense under LGPLv2+.
2018         * modules/windows-spawn (License): Change to LGPLv2+.
2020 2020-12-10  Bruno Haible  <bruno@clisp.org>
2022         execute, spawn-pipe: Fix memory leak on native Windows.
2023         * lib/windows-spawn.h (prepare_spawn): Add a second parameter.
2024         * lib/windows-spawn.c: Don't include xalloc.h.
2025         (quoted_arg_length, quoted_arg_string): New functions, extracted from
2026         prepare_spawn.
2027         (prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
2028         elements of *new_argv together.
2029         * modules/windows-spawn (Depends-on): Remove xalloc. Add malloc-posix.
2030         * lib/os2-spawn.h (prepare_spawn): Add a second parameter.
2031         * lib/os2-spawn.c: Don't include xalloc.h.
2032         (prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
2033         elements of *new_argv together.
2034         * lib/execute.c: Include xalloc.h.
2035         (execute): Check return value of prepare_spawn. Free the memory
2036         allocated by prepare_spawn.
2037         * modules/execute (Depends-on): Add xalloc-die.
2038         * lib/spawn-pipe.c: Include xalloc.h.
2039         (create_pipe): Check return value of prepare_spawn. Free the memory
2040         allocated by prepare_spawn.
2041         * modules/spawn-pipe (Depends-on): Add xalloc-die.
2043 2020-12-10  Bruno Haible  <bruno@clisp.org>
2045         findprog-in: Relicense under LGPLv2+.
2046         Paul Smith's approval is in
2047         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00072.html>.
2048         * modules/findprog-in (License): Change to LGPLv2+.
2050 2020-12-10  Bruno Haible  <bruno@clisp.org>
2052         findprog-in: Don't exit upon out-of-memory.
2053         * lib/findprog.h (find_in_given_path): Document ENOMEM as possible error
2054         code.
2055         * lib/findprog-in.c: Don't include xalloc.h.
2056         (find_in_given_path): Call concatenated_filename, not
2057         xconcatenated_filename. Call strdup, not xstrdup. Upon out-of-memory,
2058         return NULL with errno set.
2059         * modules/findprog-in (Depends-on): Remove xconcat-filename, xalloc. Add
2060         concat-filename, strdup-posix, malloc-posix.
2062 2020-12-09  Bruno Haible  <bruno@clisp.org>
2064         fmaf: Work around a bug on FreeBSD 12.2/arm.
2065         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Add one more test.
2066         * doc/posix-functions/fmaf.texi: Mention the FreeBSD bug.
2068 2020-12-09  Bruno Haible  <bruno@clisp.org>
2070         threadlib: Fix test-fstrcmp failure on FreeBSD 11.
2071         * m4/threadlib.m4 (gl_THREADLIB_BODY): When weak symbols are not present
2072         on FreeBSD, define PTHREAD_IN_USE_DETECTION_HARD.
2073         * lib/glthread/threadlib.c: Include <errno.h>.
2074         (glthread_in_use): For FreeBSD, provide an alternative implementation
2075         that uses pthread_key_create.
2077 2020-12-09  Bruno Haible  <bruno@clisp.org>
2079         math C++ tests: Fix compilation error in with clang >= 7 on FreeBSD.
2080         * lib/math.in.h (isnan): For clang >= 7 on FreeBSD, declare 'rpl_isnan',
2081         not 'isnan'.
2083 2020-12-08  Bruno Haible  <bruno@clisp.org>
2085         std-gnu11: Make compatible with Autoconf 2.70.
2086         * m4/std-gnu11.m4: Disable the entire file if Autoconf >= 2.70 is in
2087         use.
2089 2020-12-08  Bruno Haible  <bruno@clisp.org>
2091         argp: Avoid undefined behaviour when invoking qsort().
2092         This fixes a test-argp-2.sh test failure on macOS and FreeBSD.
2093         Reported by Jeffrey Walton <noloader@gmail.com> in
2094         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00085.html>.
2095         * lib/argp-help.c (group_cmp): Remove third argument.
2096         (hol_sibling_cluster_cmp, hol_cousin_cluster_cmp): New functions, based
2097         upon hol_cluster_cmp.
2098         (hol_cluster_cmp): Use hol_cousin_cluster_cmp.
2099         (hol_entry_cmp): Rewritten to implement a total order.
2101 2020-12-08  Bruno Haible  <bruno@clisp.org>
2103         argp: Improve comments.
2104         * lib/argp-help.c: Add sectioning comments. Write NULL to designate a
2105         null pointer.
2106         (struct hol_entry): Fix comment regarding sort order of group.
2107         (hol_entry_short_iterate, hol_entry_long_iterate): Add comment.
2108         (until_short, canon_doc_option, hol_entry_qcmp): Improve comment.
2109         (hol_cluster_is_child, argp_hol): Move functions.
2110         (HOL_ENTRY_PTRCMP): Remove unused macro.
2112 2020-12-08  Bruno Haible  <bruno@clisp.org>
2114         argp: Don't pass invalid arguments to isspace() and isalnum().
2115         * lib/argp-help.c (canon_doc_option): Cast character to 'unsigned int'
2116         before passing it to isspace() or isalnum().
2118 2020-12-08  Bruno Haible  <bruno@clisp.org>
2120         argp: Don't rely on undefined behaviour of _tolower().
2121         Patch by Eric Blake
2122         <https://lists.gnu.org/archive/html/bug-gnulib/2009-09/msg00287.html>.
2123         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values that are
2124         not upper-case.  Pass correct range to tolower.
2126 2020-12-07  Bruno Haible  <bruno@clisp.org>
2128         unicodeio: Fix wrong result on FreeBSD.
2129         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
2130         characters on all platforms.
2132 2020-12-07  Bruno Haible  <bruno@clisp.org>
2134         get-rusage-data tests: Avoid test failure on FreeBSD/x86_64.
2135         * tests/test-get-rusage-data.c (main): Don't expect a strict increase on
2136         FreeBSD systems.
2138 2020-12-07  Bruno Haible  <bruno@clisp.org>
2140         get-rusage-data: Fix link error on FreeBSD 12.2/arm64.
2141         * modules/get-rusage-data (configure.ac): Test whether sbrk exists.
2142         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit): Define
2143         trivially of sbrk is not available.
2144         * doc/glibc-functions/sbrk.texi: Mention that the function does not
2145         exist in FreeBSD 12.2/arm64.
2146         * doc/glibc-functions/brk.texi: Likewise.
2148 2020-12-07  Bruno Haible  <bruno@clisp.org>
2150         Correct interaction between gl_ANSI_CXX and AC_PROG_CXX.
2151         Suggested by Zack Weinberg in
2152         <https://savannah.gnu.org/support/?110294>.
2153         * m4/ansi-c++.m4 (gl_ANSI_CXX): Mark AC_PROG_CXX as provided.
2154         * modules/uchar-c++-tests: Revert the workaround from 2020-08-18.
2156 2020-12-07  Bruno Haible  <bruno@clisp.org>
2158         Tweak the Windows oldnames workaround.
2159         Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
2160         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00073.html>.
2161         * lib/unistd.in.h: On native Windows, include <io.h> and <direct.h>
2162         always.
2163         (getcwd): Use _GL_CXXALIAS_MDA_CAST.
2164         * lib/stdlib.in.h (putenv): Likewise.
2166 2020-12-06  Paul Eggert  <eggert@cs.ucla.edu>
2168         doc: fix flat address space discussion
2169         * doc/gnulib-readme.texi (Other portability assumptions):
2170         Move the all-bits-zero assumption outside the flat address space
2171         section, since the two issues are independent.
2173         doc: document -static-libubsan more
2174         * doc/gnulib-readme.texi (High Quality): Document pros and cons of
2175         -static-libubsan a bit more.  Mostly cons.
2177 2020-12-06  Bruno Haible  <bruno@clisp.org>
2179         doc: Add more details regarding the undefined behaviour sanitizer.
2180         * doc/gnulib-readme.texi (High Quality): Describe
2181         -fsanitize-undefined-trap-on-error better.
2183 2020-12-06  Bruno Haible  <bruno@clisp.org>
2185         Do the Windows oldnames workaround through the C++ GNULIB_NAMESPACE.
2186         Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
2187         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00029.html>.
2188         * lib/c++defs.h (_GL_CXXALIAS_MDA_CAST): New macro.
2189         * lib/fcntl.in.h (creat, open):  In C++ mode, when GNULIB_NAMESPACE is
2190         defined: 1. Define a symbol in this namespace. 2. Don't redirect using
2191         a preprocessor #define.
2192         * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
2193         * lib/search.in.h (lfind, lsearch): Likewise.
2194         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
2195         Likewise.
2196         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
2197         * lib/string.in.h (memccpy, strdup): Likewise.
2198         * lib/sys_stat.in.h (chmod, umask): Likewise.
2199         * lib/time.in.h (tzset): Likewise.
2200         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
2201         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
2202         read, rmdir, swab, unlink, write): Likewise.
2203         * lib/utime.in.h (utime): Likewise.
2204         * lib/wchar.in.h (wcsdup): Likewise.
2205         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FCLOSEALL.
2206         (gl_STDIO_H): Set HAVE_DECL_FCLOSEALL.
2207         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FCLOSEALL.
2208         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_ECVT,
2209         HAVE_DECL_FCVT, HAVE_DECL_GCVT.
2210         (gl_STDLIB_H): Set HAVE_DECL_ECVT, HAVE_DECL_FCVT, HAVE_DECL_GCVT.
2211         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_ECVT,
2212         HAVE_DECL_FCVT, HAVE_DECL_GCVT.
2213         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_EXECVPE.
2214         (gl_UNISTD_H): Set HAVE_DECL_EXECVPE.
2215         * modules/unistd (Makefile.am): Substitute HAVE_DECL_EXECVPE.
2216         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCSDUP.
2217         (gl_WCHAR_H): Set HAVE_DECL_WCSDUP.
2218         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCSDUP.
2220 2020-12-06  Bruno Haible  <bruno@clisp.org>
2222         doc: Mention some missing function declarations.
2223         * doc/glibc-functions/execvpe.texi: Mention the missing declaration on
2224         AIX.
2225         * doc/glibc-functions/fcloseall.texi: Mention the missing declaration on
2226         FreeBSD.
2227         * doc/pastposix-functions/ecvt.texi: Mention the missing declaration on
2228         Cygwin.
2229         * doc/pastposix-functions/fcvt.texi: Likewise.
2230         * doc/pastposix-functions/gcvt.texi: Likewise.
2232 2020-12-06  Bruno Haible  <bruno@clisp.org>
2234         doc: Tweak example.
2235         * doc/intprops.texi (Checking Integer Overflow): Use 'printf', not
2236         'print'.
2238 2020-12-06  Bruno Haible  <bruno@clisp.org>
2240         filenamecat-tests: Use idx_t for nonnegative ptrdiff_t variables.
2241         * tests/test-filenamecat.c: Include idx.h.
2242         (main): Mark prefixlen as nonnegative.
2243         * modules/filenamecat-tests (Depends-on): Add idx.
2245 2020-12-06  Bruno Haible  <bruno@clisp.org>
2247         time_rz: Use idx_t for nonnegative ptrdiff_t variables.
2248         * lib/time_rz.c: Include idx.h.
2249         (save_abbr): Mark zone_size as nonnegative.
2250         * modules/time_rz (Depends-on): Add idx.
2252 2020-12-06  Bruno Haible  <bruno@clisp.org>
2254         parse-datetime: Use idx_t for nonnegative ptrdiff_t variables.
2255         * lib/parse-datetime.y: Include idx.h.
2256         (textint): Mark digits as nonnegative.
2257         (parser_control): Mark dates_seen, days_seen, local_zones_seen,
2258         dsts_seen, times_seen, zones_seen as nonnegative.
2259         (lookup_word): Mark wordlen as nonnegative.
2260         (yylex): Mark count as nonnegative.
2261         (parse_datetime2): Mark tzsize as nonnegative.
2262         * modules/parse-datetime (Depends-on): Add idx.
2264 2020-12-06  Bruno Haible  <bruno@clisp.org>
2266         fnmatch: Use idx_t for nonnegative ptrdiff_t variables.
2267         * lib/fnmatch.c: Include idx.h. In glibc, define idx_t directly.
2268         * lib/fnmatch_loop.c (EXT): Mark slen, new_used, plensize as
2269         nonnegative.
2270         * modules/fnmatch (Depends-on): Add idx.
2272 2020-12-06  Bruno Haible  <bruno@clisp.org>
2274         c-stack: Use idx_t for nonnegative ptrdiff_t variables.
2275         * lib/c-stack.c: Include idx.h.
2276         (die): Mark buflen as nonnegative.
2277         * modules/c-stack (Depends-on): Add idx.
2279 2020-12-06  Bruno Haible  <bruno@clisp.org>
2281         backupfile: Use idx_t for nonnegative ptrdiff_t variables.
2282         * lib/backupfile.c: Include idx.h.
2283         (numbered_backup): Mark base_offset as nonnegative.
2284         (backupfile_internal): Likewise.
2285         * modules/backup-rename (Depends-on): Add idx.
2286         * modules/backupfile (Depends-on): Likewise.
2288 2020-12-05  Paul Eggert  <eggert@cs.ucla.edu>
2290         doc: fix curved quotes issue
2291         * doc/gnulib.texi: Set txicodequoteundirected and
2292         txicodequotebacktick so that ` and ' in examples do not generate
2293         curved single quotes that do the wrong thing when cut and pasted.
2295         doc: mention static and dynamic checking
2296         * doc/gnulib-readme.texi (High Quality): Add a bit of advice
2297         for static and dynamic checking.
2299         intprops: Add INT_ADD_OK etc.
2300         * doc/intprops.texi (Checking Integer Overflow): New section.
2301         * lib/intprops.h: From a suggestion by Bruno Haible in:
2302         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00051.html
2303         (SAFE_INT_ADD, SAFE_INT_SUBTRACT, SAFE_INT_MULTIPLY): New macros.
2305         doc: move exotic platfroms to Target Platforms
2306         * doc/gnulib-intro.texi (Supported Platforms)
2307         (Formerly Supported Platforms, Unsupported Platforms):
2308         New subsections, split off from Target Platforms.
2309         (Unsupported Platforms): Move the exotic-platform stuff here ...
2310         * doc/gnulib-readme.texi (Exotic platforms): ... from this removed
2311         section.
2313         doc: mention intptr_t etc. and IBM i
2314         * doc/gnulib-readme.texi (Other portability assumptions):
2315         Mention intptr_t and uintptr_t, and that arithmetic on them
2316         works in the usual way.
2317         (Exotic platforms): New section, containing material from
2318         the old 'Integer Portability' section.  Also mention IBM i.
2319         * doc/intprops.texi (Wraparound Arithmetic):
2320         Say that the macros work on unsigned integers too.
2321         (Integer Portability): Remove.
2323 2020-12-04  Bruno Haible  <bruno@clisp.org>
2325         utime: Fix a test failure on macOS 10.13.
2326         Reported by Martin Storsjö <martin@martin.st> in
2327         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
2328         * m4/utime.m4 (gl_FUNC_UTIME): Test whether utime handles trailing
2329         slashes on files.
2330         * lib/utime.c (utime): Add alternative implementation for Unix
2331         platforms.
2332         * modules/utime (Depends-on): Add stat.
2333         * doc/posix-functions/utime.texi: Mention the macOS 10.13 bug.
2334         * doc/posix-functions/lstat.texi: Mention that macOS 10.13 also has the
2335         trailing-slash bug.
2336         * doc/posix-functions/open.texi: Likewise.
2337         * doc/posix-functions/stat.texi: Likewise.
2338         * doc/posix-functions/symlink.texi: Likewise.
2340 2020-12-04  Paul Eggert  <eggert@cs.ucla.edu>
2342         intprops: update doc and mention Unisys
2343         * doc/gnulib-readme.texi (Other portability assumptions):
2344         Also mention ptrdiff_t when talking about widths and overflow.
2345         * doc/intprops.texi (Integer Properties): Summarize new section.
2346         (Arithmetic Type Properties): Document that EXPR_SIGNED no longer
2347         evaluates its argument.
2348         (Integer Bounds): Fix typo.
2349         (Wraparound Arithmetic): Remove obsolete comment about efficiency.
2350         Document that the _WRAPV macros now support pointers to unsigned
2351         integers.
2352         (Integer Range Overflow): Update SEI CERT citation.
2353         (Integer Portability): New subsection, which mentions
2354         the oddball Unisys platforms as non-Gnulib targets.
2356 2020-12-03  Bruno Haible  <bruno@clisp.org>
2358         idx: Clarify that idx_t always behaves like a signed type.
2359         Suggested by Paul Eggert in
2360         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00034.html>.
2361         * lib/idx.h: Clarify that idx_t always behaves like a signed type.
2362         Don't test UNSIGNED_IDX_T.
2364 2020-12-03  Bruno Haible  <bruno@clisp.org>
2366         idx: New module.
2367         * lib/idx.h: New file.
2368         * modules/idx: New file.
2369         * lib/canonicalize-lgpl.c: Include idx.h. Use idx_t instead of
2370         ptrdiff_t.
2371         * lib/canonicalize.c: Likewise.
2372         * modules/canonicalize-lgpl (Depends-on): Add idx.
2373         * modules/canonicalize (Depends-on): Likewise.
2375 2020-12-03  Bruno Haible  <bruno@clisp.org>
2377         fprintf-posix-tests: Avoid a test failure on macOS 10.13.
2378         Reported by Martin Storsjö <martin@martin.st> in
2379         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
2380         * tests/test-fprintf-posix3.c: Skip the test on macOS.
2381         (main): Return a different exit code at each point. Allow 100 KB extra
2382         memory consumption.
2383         * tests/test-fprintf-posix3.sh: Update. Remove the "get_rusage_as()
2384         doesn't work" diagnostic.
2386 2020-12-02  Paul Eggert  <eggert@cs.ucla.edu>
2388         canonicalize: refactor can_mode flag
2389         * lib/canonicalize.c (MULTIPLE_BITS_SET): Remove, replacing with ...
2390         (multiple_bits_set): ... this new static function.  Uses changed.
2391         (canonicalize_filename_mode): Refactor for clarity to avoid
2392         modifying the CAN_MODE argument.
2394         canonicalize: prefer signed integer types
2395         * lib/canonicalize.c: Include stddef.h, for ptrdiff_t.
2396         (seen_triple, canonicalize_filename_mode): Prefer signed to
2397         unsigned types where either will do, as they avoid some glitches
2398         in comparisons and can trap on overflow when debugging.
2400         canonicalize: fix most of another EOVERFLOW issue
2401         * lib/canonicalize.c (canonicalize_filename_mode):
2402         Do not call stat if fewer than 20 symlinks have been traversed.
2403         This avoids EOVERFLOW failure in the common case where there
2404         are not that many symlinks, while continuing to catch loops
2405         (or fail due to EOVERFLOW) in the unusual case when there
2406         are many symlinks to traverse.
2408         canonicalize: do not assume symlinks have st_ino
2409         * lib/canonicalize.c (canonicalize_filename_mode):
2410         When checking for loops, use st_dev and st_ino from the parent
2411         directory not from the symlink, as pre-2017 POSIX says these
2412         members are not reliable for symlinks.  Couple this with START
2413         (the remaining file name to be resolved), not NAME (the whole file
2414         name with START as its suffix).
2415         * modules/canonicalize (Depends-on): Depend on stat, not lstat.
2417         canonicalize: fix EOVERFLOW bug
2418         * lib/canonicalize.c (canonicalize_filename_mode):
2419         When testing whether a directory entry is a symbolic link, or a
2420         directory or other, do not use lstat or stat or
2421         areadlink_with_size.  Just use areadlink, as this suffices and it
2422         avoids the EOVERFLOW problem that lstat and stat have.
2423         * modules/canonicalize (Depends-on): Depend on areadlink instead
2424         of areadlink-with-size and stat.
2426         canonicalize-lgpl: fix EOVERFLOW bug
2427         * lib/canonicalize-lgpl.c: Do not include <sys/stat.h>.
2428         (__realpath): Do not use lstat.  Just use readlink, as this
2429         suffices and it avoids the EOVERFLOW problem that lstat has.
2430         * modules/canonicalize-lgpl (Depends-on): Remove lstat, sys_stat.
2432 2020-12-02  Bruno Haible  <bruno@clisp.org>
2434         strsignal-tests: Fix test failure on macOS 10.13.
2435         Reported by Martin Storsjö <martin@martin.st> in
2436         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
2437         * tests/test-strsignal.c (ASSERT_DESCRIPTION): Allow the actual result
2438         to be longer than the expected result.
2440 2020-12-02  Bruno Haible  <bruno@clisp.org>
2442         Fix compilation errors in test-math-c++.cc on FreeBSD 12.2/arm64.
2443         * lib/math.in.h (_GL_INCLUDING_MATH_H): New macro, to work around
2444         recursive self-include problem on FreeBSD 12.2 in C++ mode.
2446 2020-12-02  Bruno Haible  <bruno@clisp.org>
2448         spawn-pipe: Allow caller to specify directory for the subprocess.
2449         * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
2450         Add directory argument.
2451         * lib/spawn-pipe.c: Include canonicalize.h, filename.h, findprog.h.
2452         (create_pipe): Add directory argument. If specified, resolve the program
2453         file name and make it absolute, first. Pass the directory to spawnpvech
2454         and posix_spawn_file_actions_addchdir.
2455         (create_pipe_bidi, create_pipe_in, create_pipe_out): Add directory
2456         argument.
2457         * modules/spawn-pipe (Depends-on): Add canonicalize, filename,
2458         findprog-in, posix_spawn, posix_spawn_file_actions_addchdir.
2459         * tests/test-spawn-pipe-main.c (test_pipe): Update.
2460         * NEWS: Mention the change.
2461         * lib/csharpcomp.c (compile_csharp_using_mono,
2462         compile_csharp_using_sscli): Update.
2463         * lib/javacomp.c (is_envjavac_gcj, is_envjavac_gcj43, is_gcj_present,
2464         is_gcj_43): Update.
2465         * lib/javaversion.c (execute_and_read_line): Update.
2466         * lib/pipe-filter-gi.c (pipe_filter_gi_create): Update.
2467         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Update.
2469 2020-12-02  Bruno Haible  <bruno@clisp.org>
2471         execute: Allow caller to specify directory for the subprocess.
2472         * lib/execute.h (execute): Add directory argument.
2473         * lib/execute.c: Include canonicalize.h, filename.h, findprog.h.
2474         (execute): Add directory argument. If specified, resolve the program
2475         file name and make it absolute, first. Pass the directory to spawnpvech
2476         and posix_spawn_file_actions_addchdir.
2477         * modules/execute (Depends-on): Add canonicalize, filename, findprog-in,
2478         posix_spawn, posix_spawn_file_actions_addchdir.
2479         * tests/test-execute-main.c: Add test for passing a directory.
2480         * tests/test-execute-child.c: Likewise.
2481         * tests/test-execute.sh: Update.
2482         * modules/execute-tests (Depends-on): Add mkdir.
2483         * NEWS: Mention the change.
2484         * lib/csharpcomp.c (compile_csharp_using_sscli): Update.
2485         * lib/csharpexec.c (execute_csharp_using_mono,
2486         execute_csharp_using_sscli): Update.
2487         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
2488         compile_using_javac, compile_using_jikes, is_javac_present,
2489         is_jikes_present): Update.
2490         * lib/javaexec.c (execute_java_class): Update.
2492 2020-12-01  Bruno Haible  <bruno@clisp.org>
2494         vma-iter: Add support for macOS11/arm64.
2495         Patch suggested by Hill Ma <maahiuzeon@gmail.com> in
2496         <https://gitlab.com/gnu-clisp/clisp/-/issues/27>
2497         and by Martin Storsjö <martin@martin.st> in
2498         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
2499         * lib/vma-iter.c (vma_iterate): On arm64, use 64-bit type definitions.
2501 2020-12-01  Bruno Haible  <bruno@clisp.org>
2503         spawn-pipe: Fix handling of OS/2 kLIBC.
2504         Reported by KO Myung-Hun <komh78@gmail.com> in
2505         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00005.html>.
2506         * modules/spawn-pipe (configure.ac): Use the common idiom for
2507         recognizing the OS/2 operating system.
2509 2020-11-30  Bruno Haible  <bruno@clisp.org>
2511         execute: Fix uninitialized use of errno.
2512         * lib/execute.c (execute): Preserve errno across several system calls.
2514 2020-11-30  Bruno Haible  <bruno@clisp.org>
2516         access tests: Fix test failure on native Windows.
2517         * tests/test-access.c (main): Change permissions of f2 file before
2518         attempting to remove it.
2520 2020-11-30  Paul Eggert  <eggert@cs.ucla.edu>
2522         faccessat: link with $(LIB_EACCESS)
2523         * modules/faccessat (Link:): Add $(LIB_EACCESS), since this
2524         module depends on euidaccess.
2526 2020-11-30  Bruno Haible  <bruno@clisp.org>
2528         execute, spawn-pipe: Make multithread-safe on native Windows.
2529         * lib/windows-spawn.h: Include <stdint.h>, <windows.h>.
2530         (dup_safer_noinherit, undup_safer_noinherit): Remove declarations.
2531         (spawnpvech): New declaration.
2532         * lib/windows-spawn.c: Include <stdio.h>, <process.h>, findprog.h.
2533         Don't include <unistd.h>, cloexec.h, error.h, gettext.h.
2534         (_): Remove macro.
2535         (dup_noinherit, fd_safer_noinherit, dup_safer_noinherit,
2536         undup_safer_noinherit): Remove functions.
2537         (spawnpvech): New function.
2538         * modules/windows-spawn (Depends-on): Add findprog-in, stdint. Remove
2539         cloexec, dup2, error, gettext-h.
2540         * lib/execute.c: Include msvc-nothrow.h.
2541         (execute) [WIN32]: Use _get_osfhandle, spawnpvech instead of _spawnvpe.
2542         * lib/spawn-pipe.c: Include msvc-nothrow.h.
2543         (create_pipe) [WIN32]: Use _get_osfhandle, DuplicateHandle, spawnpvech
2544         instead of _spawnvpe.
2545         * modules/execute (Depends-on): Add msvc-nothrow.
2546         * modules/spawn-pipe (Depends-on): Likewise.
2548 2020-11-30  Bruno Haible  <bruno@clisp.org>
2550         execute, spawn-pipe: Improve documentation.
2551         * lib/execute.h: Describe progname, prog_path, prog_argv.
2552         * lib/spawn-pipe.h: Likewise.
2554 2020-11-30  Bruno Haible  <bruno@clisp.org>
2556         execute tests: Add more tests.
2557         * tests/test-execute-main.c: Add tests for reading, writing, isatty on
2558         inherited file descriptors >= 3.
2559         * tests/test-execute-child.c: Likewise.
2560         * tests/test-execute.sh: Update.
2562 2020-11-30  Bruno Haible  <bruno@clisp.org>
2564         havelib: Fix for non-ELF platforms (regression 2019-11-17).
2565         Reported by comex <comexk@gmail.com> in
2566         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00188.html>.
2567         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On non-ELF platforms,
2568         don't expect an ELF header.
2570 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2572         bitset: use integer_length in table implementation
2573         * lib/bitset/table.c (tbitset_list_reverse): Use
2574         BITSET_FOR_EACH_BIT_REVERSE.
2576 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2578         bitset: use integer_length in list implementation
2579         * lib/bitset/list.c (lbitset_list_reverse): Use
2580         BITSET_FOR_EACH_BIT_REVERSE.
2582 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2584         bitset: use integer_length in vector implementation
2585         * lib/bitset/array.c (vbitset_list_reverse): Use
2586         BITSET_FOR_EACH_BIT_REVERSE.
2588 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2590         bitset: use integer_length in array implementation
2591         * modules/bitset (Depends-on): Add integer_length_l.
2592         * lib/bitset/base.h (bitset_fls_, BITSET_FOR_EACH_BIT_REVERSE): New.
2593         * lib/bitset/array.c (abitset_list_reverse): Use it.
2595 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2597         bitset: style: use consistent names
2598         * bitset/list.c (lbitset_list_reverse): Rename 'bcount' as 'bitcnt',
2599         and 'boffset' as 'bitoff', for consistency with the other
2600         implementations.
2601         * bitset/table.c (tbitset_list_reverse): Likewise.
2603 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2605         bitset: style: sort header
2606         * lib/bitset/base.h (bitset_ffs): Rename as...
2607         (bitset_ffs_): this.
2608         (bitset_ffs_, BITSET_FOR_EACH_BIT): Move to better places.
2610 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2612         bitset: tests: check BITSET_FOR_EACH_REVERSE
2613         * tests/test-bitset.c (compare, check_zero, check_one_bit, check_ones):
2614         Check BITSET_FOR_EACH_REVERSE.
2616 2020-11-29  Bruno Haible  <bruno@clisp.org>
2618         spawn-pipe tests: Fix test failure with MSVC.
2619         * tests/test-spawn-pipe-child.c: Include <stdint.h>.
2620         (gl_msvc_invalid_parameter_handler): New function.
2621         (main): Set a global invalid-parameter handler.
2622         * modules/spawn-pipe-tests (Depends-on): Add msvc-inval, stdint.
2624 2020-11-29  Bruno Haible  <bruno@clisp.org>
2626         execute: Add tests.
2627         * tests/test-execute.sh: New file.
2628         * tests/test-execute-main.c: New file.
2629         * tests/test-execute-child.c: New file.
2630         * modules/execute-tests: New file.
2632 2020-11-29  Bruno Haible  <bruno@clisp.org>
2634         fcntl: Work around NetBSD bug with F_DUPFD_CLOEXEC.
2635         * m4/fcntl.m4 (gl_FUNC_FCNTL): Test whether F_DUPFD_CLOEXEC actually
2636         works.
2637         * lib/fcntl.c (rpl_fcntl_DUPFD_CLOEXEC): On NetBSD, use the same
2638         fallback implementation as on Haiku.
2639         * tests/test-fcntl.c (main): Add a test whether F_DUPFD_CLOEXEC is
2640         effective.
2641         * doc/posix-functions/fcntl.texi: Mention the NetBSD bug.
2643 2020-11-29  Bruno Haible  <bruno@clisp.org>
2645         spawn-pipe: Fix build on OS/2 kLIBC (regression 2020-11-28).
2646         * lib/os2-spawn.h: New file, based on lib/windows-spawn.h.
2647         * lib/os2-spawn.c: New file, based on lib/windows-spawn.c.
2648         * lib/spawn-pipe.c: On OS/2 kLIBC, include "os2-spawn.h".
2649         * lib/windows-spawn.c: Remove modifications for kLIBC.
2650         * modules/spawn-pipe (Files): Add the new files.
2651         (configure.ac): Arrange to compile os2-spawn.c on OS/2.
2653 2020-11-28  Bruno Haible  <bruno@clisp.org>
2655         asyncsafe-spin: Fix compilation error with GCC on 32-bit SPARC.
2656         Reported by Paul Eggert in
2657         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00066.html>.
2658         * m4/sparcv8+.m4: New file.
2659         * modules/sparcv8+: New file.
2660         * modules/asyncsafe-spin (Depends-on): Add sparcv8+.
2662 2020-11-28  Bruno Haible  <bruno@clisp.org>
2664         asyncsafe-spin: Fix build error with GCC on 32-bit SPARC.
2665         * lib/asyncsafe-spin.c: Don't use GCC >= 4.1 primitives on SPARC.
2667 2020-11-28  Bruno Haible  <bruno@clisp.org>
2669         windows-spawn: New module.
2670         * lib/windows-spawn.h: Renamed from lib/w32spawn.h. Remove
2671         implementations.
2672         * lib/windows-spawn.c: Renamed from lib/w32spawn.h.
2673         * modules/windows-spawn: New file.
2674         * lib/execute.c: Include "windows-spawn.h" instead of "w32spawn.h".
2675         * lib/spawn-pipe.c: Likewise.
2676         * modules/execute (Files): Remove lib/w32spawn.h.
2677         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
2678         xalloc.
2679         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
2680         * modules/spawn-pipe (Files): Remove lib/w32spawn.h.
2681         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
2682         xalloc.
2683         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
2685 2020-11-27  Bruno Haible  <bruno@clisp.org>
2687         ssfmalloc tests: Port to macOS 11.
2688         * tests/test-ssfmalloc.c (PAGESIZE_MAX): Set to 16384, not 8192.
2690 2020-11-26  Bruno Haible  <bruno@clisp.org>
2692         Fix dependencies of modules that use '_exit' on native Windows.
2693         Reported by Jim Meyering in
2694         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00159.html>.
2695         * modules/_Exit (Depends-on): Add unistd.
2696         * modules/closein (Depends-on): Likewise.
2697         * modules/closeout (Depends-on): Likewise.
2698         * modules/forkpty (Depends-on): Likewise.
2699         * modules/posix_spawn-internal (Depends-on): Likewise.
2700         * modules/savewd (Depends-on): Likewise.
2701         * modules/stat-time-tests (Depends-on): Likewise.
2703 2020-11-26  Bruno Haible  <bruno@clisp.org>
2705         raise-tests: Fix compilation error on MSVC (regression 2020-11-25).
2706         * modules/raise-tests (Depends-on): Add unistd.
2707         * doc/posix-functions/_exit.texi: Mention the 'unistd' module.
2709 2020-11-25  Jim Meyering  <meyering@fb.com>
2711         setlocale-tests: do not trigger gcc's -Wanalyzer-possible-null-argument
2712         * tests/test-setlocale1.c (main): Assert that each strcmp argument is
2713         non-NULL, since we don't bother handing strdup failure.
2715         raise-tests: avoid GCC 11's new exit-from-signal-handler warning
2716         gcc's -Wanalyzer-unsafe-call-within-signal-handler exposed this.
2717         * tests/test-raise.c: Include unistd.h.
2718         (handler): Use _exit, not exit.
2720 2020-11-23  Bruno Haible  <bruno@clisp.org>
2722         Use the correct printf format attribute for mingw.
2723         Reported by Reuben Thomas <rrt@sc3d.org> in
2724         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00133.html>.
2726         * modules/vfprintf-posix (configure.ac): Define GNULIB_VFPRINTF_POSIX.
2727         * modules/vprintf-posix (configure.ac): Define GNULIB_VPRINTF_POSIX.
2729         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD,
2730         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM): New macros.
2731         (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
2732         _GL_ATTRIBUTE_FORMAT_PRINTF. Use _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD.
2733         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use
2734         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM.
2736         * modules/vasnprintf (Depends-on): Add stdio.
2737         * lib/vasnprintf.h: Include <stdio.h>.
2738         (asnprintf, vasnprintf): Use the standard printf format attribute.
2740         * modules/xvasprintf (Depends-on): Add stdio.
2741         * lib/xvasprintf.h: Include <stdio.h>.
2742         (xasprintf, xvasprintf): Use the standard printf format attribute.
2744         * modules/xprintf (Depends-on): List stdio first.
2745         * lib/xprintf.h (xprintf, xvprintf): Use a printf format attribute that
2746         depends on GNULIB_VPRINTF_POSIX.
2747         (xfprintf, xvfprintf): Use a printf format attribute that depends on
2748         GNULIB_VFPRINTF_POSIX.
2750         * modules/c-vasnprintf (Depends-on): Add stdio.
2751         * lib/c-vasnprintf.h: Include <stdio.h>.
2752         (c_vasnprintf): Use the standard printf format attribute.
2754         * modules/c-vasprintf (Depends-on): Add stdio.
2755         * lib/c-vasprintf.h: Include <stdio.h>.
2756         (c_asprintf, c_vasprintf): Use the standard printf format attribute.
2758         * modules/c-vsnprintf (Depends-on): Add stdio.
2759         * lib/c-vsnprintf.h: Include <stdio.h>.
2760         (c_vsnprintf): Use the standard printf format attribute.
2762         * modules/c-snprintf (Depends-on): Add stdio.
2763         * lib/c-snprintf.h: Include <stdio.h>.
2764         (c_snprintf): Use the standard printf format attribute.
2766         * modules/c-xvasprintf (Depends-on): Add stdio.
2767         * lib/c-xvasprintf.h: Include <stdio.h>.
2768         (c_xasprintf, c_xvasprintf): Use the standard printf format attribute.
2770         * modules/error (Depends-on): Depend on stdio always.
2771         * lib/error.h: Include <stdio.h>.
2772         (_GL_ATTRIBUTE_SPEC_PRINTF): Remove macro.
2773         (error, error_at_line): Use a printf format attribute that depends on
2774         GNULIB_VFPRINTF_POSIX.
2775         * lib/error.c (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
2776         _GL_ATTRIBUTE_FORMAT_PRINTF.
2778         * modules/verror (Depends-on): Add stdio.
2779         * lib/verror.h: Include <stdio.h>. Don't include "error.h".
2780         (verror, verror_at_line): Use the standard printf format attribute.
2781         * lib/verror.c: Include "error.h".
2783         * modules/argp (Depends-on): Add stdio.
2784         * lib/argp.h (argp_error, __argp_error, argp_failure, __argp_failure):
2785         Use a printf format attribute that depends on GNULIB_VFPRINTF_POSIX.
2787         * modules/libtextstyle-optional (Depends-on): Add stdio.
2788         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Use the standard
2789         printf format attribute.
2791         * tests/test-nonblocking-misc.h (dbgfprintf): Use the standard printf
2792         format attribute.
2794 2020-11-23  Pádraig Brady  <P@draigBrady.com>
2796         selinux-at, selinux-h: use const correct declarations
2797         * lib/se-selinux.in.h: Use const for "set" functions,
2798         to match current selinux, and support cleaner user code.
2799         * lib/selinux-at.c: Likewise.
2800         * lib/selinux-at.h: Likewise.
2802 2020-11-22  Paul Eggert  <eggert@cs.ucla.edu>
2804         canonicalize-lgpl: fix memory leak
2805         * lib/canonicalize-lgpl.c (__realpath): Fix unlikely memory leak,
2806         which could have occurred if BUF was so large that malloc was
2807         called.  Do this by allocating EXTRA_BUF and BUF at the same time;
2808         this eliminates the need to free BUF separately.
2810 2020-11-22  Bruno Haible  <bruno@clisp.org>
2812         Fix missing module dependencies to 'xalloc' (regression 2020-10-19).
2813         * modules/xvasprintf (Depends-on): Add xalloc.
2814         * modules/pipe-filter-gi (Depends-on): Likewise.
2815         * modules/execute (Depends-on): Likewise, for w32spawn.h.
2816         * modules/spawn-pipe (Depends-on): Likewise.
2818 2020-11-22  Jose E. Marchesi  <jemarch@gnu.org>
2820         bootstrap: add option hooks
2821         * build-aux/bootstrap (bootstrap_print_option_usage_hook): Define.
2822         (bootstrap_option_hook): Likewise.
2823         (usage): Call bootstrap_print_option_usage_hook.
2825 2020-11-22  Bruno Haible  <bruno@clisp.org>
2827         argp: Don't break getprogname on non-glibc systems.
2828         * m4/argp.m4 (gl_ARGP): Don't expect <argp.h> to exist when testing for
2829         program_invocation_name and program_invocation_short_name.
2831 2020-11-22  Bruno Haible  <bruno@clisp.org>
2833         doc: Document <link.h>.
2834         * doc/glibc-headers/link.texi: New file.
2835         * doc/gnulib.texi: Include it.
2837 2020-11-22  Bruno Haible  <bruno@clisp.org>
2839         doc: Add references to the LSB.
2840         * doc/glibc-functions/*.texi: Add references to LSB 5.0.
2841         * doc/posix-functions/*.texi: Likewise.
2843 2020-11-22  Bruno Haible  <bruno@clisp.org>
2845         doc: Fix a makeinfo warning (regression 2020-11-03).
2846         * doc/posix-functions/aligned_alloc.texi: Add missing @item.
2848 2020-11-21  Paul Eggert  <eggert@cs.ucla.edu>
2850         parse-datetime: fix printf format typo
2851         * lib/parse-datetime.y (parse_datetime2): Fix format typo in
2852         previous patch to this file.  Problem reported by Chris Elvidge in
2853         <https://bugs.gnu.org/44763#32>.
2855         setlocale-null-tests: work around GCC bug 44511
2856         * tests/test-setlocale_null-mt-all.c:
2857         * tests/test-setlocale_null-mt-one.c:
2858         Ignore -Wreturn-type, to work around GCC bug 44511.
2860         nl_langinfo-tests: work around GCC bug 44511
2861         * tests/test-nl_langinfo-mt.c: Ignore -Wreturn-type, to work
2862         around a GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44511>.
2863         Problem reported for GNU grep by Andreas Schwab
2864         <https://bugs.gnu.org/44535>.
2866         selinux-h: add stubs for selabel_open etc.
2867         Coreutils with --enable-gcc-warnings does not build on Ubuntu 20.10
2868         because matchpathcon is deprecated in favor of selabel_open etc.,
2869         so this patch adds stubs for these functions.
2870         * lib/se-label.c, lib/se-label.in.h, m4/selinux-label-h.m4: New files.
2871         * lib/se-selinux.in.h (struct selinux_opt): Add incomplete decl,
2872         as it is needed for selabel_open and selinux/selinux.h declares
2873         this type here.
2874         * modules/selinux-h (Files): Add the new files.
2875         (configure.ac): Add gl_HEADERS_SELINUX_LABEL_H.
2876         (lib_SOURCES): Add se-label.in.h, se-label.c.
2877         (BUILT_SOURCES): Add $(SELINUX_LABEL_H).
2878         (selinux/label.h): New rule, mimicking selinux/context.h.
2879         (MOSTLYCLEANFILES): Add selinux/label.h, selinux/label.h-t.
2880         (Include): Add selinux/label.h.
2882 2020-11-21  Bruno Haible  <bruno@clisp.org>
2884         Update after 'test-driver' in Automake changed.
2885         * build-aux/test-driver.diff: Rebase.
2887 2020-11-21  Daiki Ueno  <ueno@gnu.org>
2889         read-file: remove dead assignment
2890         * lib/read-file.c (fread_file): Remove dead assignment when
2891         RF_SENSITIVE is set, flagged by clang-analyzer.
2893 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2895         bitset: tests: exercise the stats too
2897         * tests/test-bitset.c: Display the stats at the end of the test.
2898         * lib/bitset/stats.c (bitset_log_histogram_print): When diplaying the
2899         last bin, display "256-..." rather that "256-511", since the last bin
2900         does count item greater than or equal to 256.
2902 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2904         bitset: tests: try harder to break it
2905         * tests/test-bitset.c (compare): Be ready to use bitsets larger than
2906         BITSET_LIST_SIZE.
2907         (main): Likewise.
2908         While at it, also exercise super small bitsets.
2910 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2912         bitset: use ffs where possible in the vector implementation
2913         * lib/bitset/vector.c (vbitset_list): Use BITSET_FOR_EACH_BIT.
2915 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2917         bitset: use ffs where possible in the table implementation
2918         * lib/bitset/table.c (tbitset_list): Use BITSET_FOR_EACH_BIT.
2920 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2922         bitset: check empty and full bitsets
2923         * tests/test-bitset.c (check_zero, check_ones): New.
2924         (check_attributes): Use them.
2926 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2928         bitset: be sure to always return a value
2929         * lib/bitset/array.c (abitset_small_list): Always update *next and
2930         return a value.
2932 2020-11-19  Siddhesh Poyarekar  <siddhesh@gotplt.org>
2934         vcs-to-changelog: Expect spaces in file names
2935         Reported by Thierry Bothorel <thierry.bothorel@zaclys.net> in
2936         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00040.html>,
2937         * build-aux/vcstocl/vcs_git.py (exec_git_cmd): Do not transform
2938         tabs to spaces.
2939         (list_changes): Use tabs to identify file names.
2941 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2943         bitset: strengthen tests
2944         * tests/test-bitset.c (compare): Also check count.
2945         Deal only with random values, move the one-bit tests to...
2946         (check_one_bit): this new function.
2947         (check_attributes): Call it.
2949 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2951         bitset: fix iteration over table bitsets
2952         * lib/bitset/table.c (tbitset_list): Update bitno when windex is.
2954 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2956         bitset: rename internal details for consistency
2957         * lib/bitset/table.c: Rename all the EBITSET_ symbols as TBITSET_.
2959 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2961         bitset: test: run deterministic tests on several bitset sizes
2962         * tests/test-bitset.c (check_attributes): Run it with small and large
2963         sizes.
2965 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2967         bitset: use ffs where possible in the list implementation
2968         * lib/bitset/list.c (lbitset_list): Use BITSET_FOR_EACH_BIT.
2970 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2972         bitset: use ffs where possible in array implementation
2973         * lib/bitset/array.c (abitset_small_list): Use BITSET_FOR_EACH_BIT.
2975 2020-11-17  Bruno Haible  <bruno@clisp.org>
2977         posixcheck: Don't enable GNULIB_POSIXCHECK in C++ mode.
2978         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
2979         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
2980         * m4/posixcheck.m4 (gl_POSIXCHECK): Don't define GNULIB_POSIXCHECK in
2981         C++ mode.
2983 2020-11-17  Bruno Haible  <bruno@clisp.org>
2985         Fix error when GNULIB_POSIXCHECK is enabled (regression 2019-06-04).
2986         * lib/unistd.in.h (copy_file_range): Don't assume that copy_file_range
2987         is always declared.
2988         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether copy_file_range is
2989         declared.
2991 2020-11-17  Bruno Haible  <bruno@clisp.org>
2993         Fix link errors on AIX.
2994         * modules/clean-temp (Link): Link with $(LIBTHREAD).
2995         * modules/getumask (Link): Link with $(LIBTHREAD).
2996         * modules/getumask-tests (Makefile.am): Link test-getumask with
2997         $(LIBTHREAD).
2998         * modules/supersede (Link): Link with $(LIBTHREAD).
2999         * modules/supersede-tests (Makefile.am): Link test-supersede with
3000         $(LIBTHREAD).
3001         * modules/fatal-signal (Link): New section.
3002         * modules/execute (Link): New section.
3003         * modules/csharpexec (Link): Link with $(LIBTHREAD).
3004         * modules/javaexec (Link): Link with $(LIBTHREAD).
3005         * modules/spawn-pipe (Link): New section.
3006         * modules/spawn-pipe-tests (Makefile.am): Link test-spawn-pipe-main with
3007         $(LIBTHREAD).
3008         * modules/csharpcomp (Link): Link with $(LIBTHREAD).
3009         * modules/javacomp (Link): Link with $(LIBTHREAD).
3010         * modules/javaversion (Link): Link with $(LIBTHREAD).
3011         * modules/pipe-filter-gi (Link): New section.
3012         * modules/pipe-filter-gi-tests (Makefile.am): Link test-pipe-filter-gi1,
3013         test-pipe-filter-gi2-main with $(LIBTHREAD).
3014         * modules/pipe-filter-ii (Link): New section.
3015         * modules/pipe-filter-ii-tests (Makefile.am): Link test-pipe-filter-ii1,
3016         test-pipe-filter-ii2-main with $(LIBTHREAD).
3017         * modules/term-style-control (Link): New section.
3018         * modules/term-style-control-tests (Makefile.am): Link
3019         test-term-style-control-hello, test-term-style-control-yes with
3020         $(LIBTHREAD).
3021         * modules/wait-process (Link): New section.
3022         * modules/nonblocking-pipe-tests (Makefile.am): Link
3023         test-nonblocking-pipe-main with $(LIBTHREAD).
3024         * modules/nonblocking-socket-tests (Makefile.am): Link
3025         test-nonblocking-socket-main with $(LIBTHREAD).
3027 2020-11-16  Bruno Haible  <bruno@clisp.org>
3029         Fix link errors on platforms with libunistring.
3030         * modules/c32isalnum (Link): New section.
3031         * modules/c32isalnum-tests (Makefile.am): Link test-c32isalnum with
3032         $(LIBUNISTRING).
3033         * modules/c32isalpha (Link): New section.
3034         * modules/c32isalpha-tests (Makefile.am): Link test-c32isalpha with
3035         $(LIBUNISTRING).
3036         * modules/c32isblank (Link): New section.
3037         * modules/c32isblank-tests (Makefile.am): Link test-c32isblank with
3038         $(LIBUNISTRING).
3039         * modules/c32iscntrl (Link): New section.
3040         * modules/c32iscntrl-tests (Makefile.am): Link test-c32iscntrl with
3041         $(LIBUNISTRING).
3042         * modules/c32isdigit (Link): New section.
3043         * modules/c32isdigit-tests (Makefile.am): Link test-c32isdigit with
3044         $(LIBUNISTRING).
3045         * modules/c32isgraph (Link): New section.
3046         * modules/c32isgraph-tests (Makefile.am): Link test-c32isgraph with
3047         $(LIBUNISTRING).
3048         * modules/c32islower (Link): New section.
3049         * modules/c32islower-tests (Makefile.am): Link test-c32islower with
3050         $(LIBUNISTRING).
3051         * modules/c32isprint (Link): New section.
3052         * modules/c32isprint-tests (Makefile.am): Link test-c32isprint with
3053         $(LIBUNISTRING).
3054         * modules/c32ispunct (Link): New section.
3055         * modules/c32ispunct-tests (Makefile.am): Link test-c32ispunct with
3056         $(LIBUNISTRING).
3057         * modules/c32isspace (Link): New section.
3058         * modules/c32isspace-tests (Makefile.am): Link test-c32isspace with
3059         $(LIBUNISTRING).
3060         * modules/c32isupper (Link): New section.
3061         * modules/c32isupper-tests (Makefile.am): Link test-c32isupper with
3062         $(LIBUNISTRING).
3063         * modules/c32isxdigit (Link): New section.
3064         * modules/c32isxdigit-tests (Makefile.am): Link test-c32isxdigit with
3065         $(LIBUNISTRING).
3066         * modules/unicodeio (Link): Mention $(LIBUNISTRING).
3067         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
3068         $(LIBUNISTRING).
3070 2020-11-16  Bruno Haible  <bruno@clisp.org>
3072         Fix link errors on platforms with libintl (e.g. Solaris and AIX).
3073         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
3074         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
3075         * modules/getumask-tests (Makefile.am): Link test-getumask with
3076         $(LIBINTL).
3077         * modules/stack-tests (Makefile.am): Link test-stack with $(LIBINTL).
3078         * modules/supersede-tests (Makefile.am): Link test-supersede with
3079         $(LIBINTL).
3080         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
3081         $(LIBINTL).
3083 2020-11-16  Bruno Haible  <bruno@clisp.org>
3085         getumask: Document link dependencies.
3086         * modules/getumask (Link): New section.
3088 2020-11-16  Bruno Haible  <bruno@clisp.org>
3090         Update link dependencies in modules after 2020-09-09 change.
3091         * modules/tempname (Link): Add $(LIB_CLOCK_GETTIME).
3092         * modules/mkdtemp (Link): Likewise.
3093         * modules/mkostemp (Link): Likewise.
3094         * modules/mkostemps (Link): Likewise.
3095         * modules/mkstemp (Link): Likewise.
3096         * modules/mkstemps (Link): Likewise.
3097         * modules/supersede (Link): Likewise.
3098         * modules/tmpfile (Link): Likewise.
3099         * modules/tmpfile-safer (Link): Likewise.
3101 2020-11-15  Paul Eggert  <eggert@cs.ucla.edu>
3103         getumask-tests: port to Solaris 10 etc.
3104         Problem reported by Tom Christensen in:
3105         https://lists.gnu.org/r/bug-gnulib/2020-11/msg00062.html
3106         * modules/getumask-tests (test_getumask_LDADD):
3107         Add $(LIB_CLOCK_GETTIME).
3109 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
3111         bitset: use ffsl to accelerate iterations over set bits
3112         Suggested by Bruno Haible.
3113         * modules/bitset: Depend upon ffsl.
3114         * lib/bitset/base.h (bitset_ffs, BITSET_FOR_EACH_BIT): New.
3115         * lib/bitset/array.c (abitset_list): Use BITSET_FOR_EACH_BIT.
3117 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
3119         bitset: more tests
3120         * tests/test-bitset.c (compare): Make it clear that the random values
3121         should not be modified.
3122         Check bitset_first, bitset_last and BITSET_FOR_EACH.
3124 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
3126         bitset: fix the copy from lbitset to other types
3127         * lib/bitset/list.c (lbitset_copy): Rename as...
3128         (lbitset_copy_): this.
3129         (lbitset_copy): New.
3130         Dispatch to heterogeneous/homogeneous copy.
3132 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
3134         bitset: making debug traces more useful
3135         * lib/bitset.c (bitset_print): Print the bitset type in verbose mode.
3137         bitset: comment changes
3138         * lib/bitset.c: Move some documenting comments to...
3139         * lib/bitset.h: here.
3140         * lib/bitset/array.c: Fix some comments.
3142 2020-11-14  Paul Eggert  <eggert@cs.ucla.edu>
3144         careadlinkat: warn better about GCC bug 93644
3145         * lib/careadlinkat.c (readlink_stk): When --enable-gcc-warnings is
3146         not in effect, use "#warning" to let builders know more clearly
3147         about GCC bug 93644, because the bug triggers even if no -W option
3148         is given to GCC.
3150 2020-11-13  Jim Meyering  <meyering@fb.com>
3152         hard-locale-tests: avoid a -Wstrict-prototypes warning
3153         * tests/locale.c (main): Placate gcc's -Wstrict-prototypes by
3154         changing "main ()" to "main (void)". This was the only case that
3155         triggered a warning when building grep with --enable-gcc-warnings.
3157 2020-11-11  Paul Eggert  <eggert@cs.ucla.edu>
3159         time_rz: simplify CVE-2017-7476 fix
3160         * lib/time_rz.c: Do not include limits.h; I think it was included
3161         under the mistaken impression that limits.h defines SIZE_MAX.
3162         (SIZE_MAX): Remove.
3163         (save_abbr): Put string length into a ptrdiff_t variable,
3164         so that the size comparison works naturally.  This
3165         fixes CVE-2017-7476 in a cleaner way.
3167         parse-datetime: streamline overflow checking
3168         When parse-datetime.y’s overflow code was written, INT_ADD_WRAPV
3169         did not work for unsigned destinations, and since time_t might
3170         be unsigned that meant it did not work for time_t destinations.
3171         This limitation of INT_ADD_WRAPV has been fixed, so we can
3172         now streamline parse-datetime.y a bit.
3173         * lib/parse-datetime.y: Do not include limits.h, as LONG_MAX
3174         has not been used for a while.
3175         (yylex, parse_datetime2): Assume C99 declarations after statements.
3176         (yyles): Use INT_SUBTRACT_WRAPV instead of an explicit comparison
3177         to TYPE_MINIMUM.
3178         (parse_datetime2): No need for time_overflow now that
3179         INT_ADD_WRAPV works for unsigned results.
3181         parse-datetime-tests: port to Alpine Linux 3.12.1
3182         * tests/test-parse-datetime.c: Include errno.h for errno,
3183         and unistd.h for _SC_TZNAME_MAX and sysconf.
3184         (main): In the outlandishly-long time zone abbreviation test,
3185         do not exceed TZNAME_MAX as this has undefined behavior,
3186         and on Alpine Linux 3.12.1 it makes the test fail.
3188 2020-11-09  Pádraig Brady  <P@draigBrady.com>
3190         mgetgroups: avoid warning with clang
3191         * lib/mgetgroups.c: Xcode-12.1 identifies as GCC 4.2.1,
3192         so disable -Wpointer-sign for all clang versions.
3194 2020-11-07  Bruno Haible  <bruno@clisp.org>
3196         gnulib-tool: Fix link error with 'version-etc' (regression 2020-05-29).
3197         Reported by Simon Josefsson in
3198         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00032.html>.
3199         * gnulib-tool (func_emit_tests_Makefile_am): Add libtests.a to
3200         LDADD a third time, after the second occurrence of ../lib/libgnu.a.
3201         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
3203 2020-11-04  Paul Eggert  <eggert@cs.ucla.edu>
3205         tests: pacify Sun C 5.9
3206         Without these changes, Sun C 5.9 (2009/11/22) issues complaints like
3207         “"test-nl_langinfo-mt.c", line 75: warning: statement not reached”.
3208         * tests/test-nl_langinfo-mt.c (thread1_func, thread2_func)
3209         (thread3_func, thread4_func, thread5_func, thread6_func, threadN_func):
3210         * tests/test-setlocale_null-mt-all.c (thread1_func, thread2_func):
3211         * tests/test-setlocale_null-mt-one.c (thread1_func, thread2_func):
3212         Remove unreachable ‘return NULL;’s.
3214         tests: port better to XLC 12.01
3215         * tests/test-argmatch.c (CHECK): Do not use -1 as a subscript,
3216         even in code that is not executed, as IBM XLC 12.01 complains "The
3217         subscript -1 is less than zero."
3218         * tests/test-stdint.c (verify_width): Pass an (unused) 3rd
3219         argument to _GL_VERIFY, as ISO C requires.  Otherwise, IBM XLC
3220         12.01 complains "The invocation of macro _GL_VERIFY contains fewer
3221         arguments than are required by the macro definition."
3223 2020-11-03  Bruno Haible  <bruno@clisp.org>
3225         aligned-malloc: Use fixes from the new modules.
3226         * modules/aligned-malloc (Depends-on): Add posix_memalign,
3227         aligned_alloc, memalign.
3228         (configure.ac): Use AC_CHECK_FUNCS_ONCE.
3230 2020-11-03  Bruno Haible  <bruno@clisp.org>
3232         aligned_alloc: Add tests.
3233         * tests/test-aligned_alloc.c: New file.
3234         * modules/aligned_alloc-tests: New file.
3236         aligned_alloc: New module.
3237         * lib/stdlib.in.h (aligned_alloc): New declaration.
3238         * lib/aligned_alloc.c: New file.
3239         * m4/aligned_alloc.m4: New file.
3240         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether aligned_alloc is declared.
3241         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ALIGNED_ALLOC,
3242         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
3243         * modules/stdlib (Makefile.am): Substitute GNULIB_ALIGNED_ALLOC,
3244         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
3245         * modules/aligned_alloc: New file.
3246         * tests/test-stdlib-c++.cc (aligned_alloc): Check signature.
3247         * doc/posix-functions/aligned_alloc.texi: Mention the new module and the
3248         AIX bug.
3250 2020-11-03  Bruno Haible  <bruno@clisp.org>
3252         posix_memalign: Add tests.
3253         * tests/test-posix_memalign.c: New file.
3254         * modules/posix_memalign-tests: New file.
3256         posix_memalign: New module.
3257         * lib/stdlib.in.h (posix_memalign): New declaration.
3258         * lib/posix_memalign.c: New file.
3259         * m4/posix_memalign.m4: New file.
3260         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether posix_memalign is declared.
3261         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_POSIX_MEMALIGN,
3262         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
3263         * modules/stdlib (Makefile.am): Substitute GNULIB_POSIX_MEMALIGN,
3264         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
3265         * modules/posix_memalign: New file.
3266         * tests/test-stdlib-c++.cc (posix_memalign): Check signature.
3267         * doc/posix-functions/posix_memalign.texi: Mention the new module and
3268         the OpenBSD bug.
3270 2020-11-03  Bruno Haible  <bruno@clisp.org>
3272         memalign: Add tests.
3273         * tests/test-memalign.c: New file.
3274         * modules/memalign-tests: New file.
3276         memalign: New module.
3277         * modules/memalign: New file.
3278         * doc/glibc-functions/memalign.texi: Mention the new module.
3280 2020-11-03  Bruno Haible  <bruno@clisp.org>
3282         verify tests: Fix crash with GCC (regression 2020-11-02).
3283         * tests/test-verify.c (main): Fix initializer of s.
3285 2020-11-03  Pádraig Brady  <P@draigBrady.com>
3287         mountlist: recognize more file system types as remote
3289         * lib/mountlist.c (ME_REMOTE): Sync previously unconsidered
3290         "remote" file systems from stat.c in coreutils.
3292 2020-11-02  Bernhard Voelker  <mail@bernhard-voelker.de>
3294         verify tests: Fix -Wuninitialized warning (regression 2020-10-30).
3295         * tests/test-verify.c (main): Initialize state variable.
3296         Reported by Bruno Haible for GCC 5.4.0.
3298 2020-11-02  Paul Eggert  <eggert@cs.ucla.edu>
3300         dfa.h: support inclusion from C++
3301         * lib/dfa.h: Allow multiple inclusion, and inclusion from
3302         C++ code.  The latter was suggested by Arnold Robbins.
3304 2020-11-01  Bruno Haible  <bruno@clisp.org>
3306         ssfmalloc tests: Portability to Linux/PowerPC and Linux/SPARC.
3307         * tests/test-ssfmalloc.c: Include <limits.h>.
3308         (PAGESIZE_MAX): Set to 65536 on Linux/PowerPC.
3310 2020-11-01  Bruno Haible  <bruno@clisp.org>
3312         verify tests: Fix compilation error with MSVC (regression 2020-10-30).
3313         * tests/test-verify.c (test_assume_noreturn): Fix declaration.
3315 2020-11-01  Jim Meyering  <meyering@fb.com>
3317         dfa-tests: test for today's invalid-merge fix
3318         * tests/test-dfa-invalid-merge.sh: New file.
3319         * modules/dfa-tests (Files): Add it.
3320         (TESTS): Add it.
3322 2020-11-01  Norihiro Tanaka  <noritnk@kcn.ne.jp>
3324         dfa: retain sequences of similar nodes in optimization
3325         DFA was merging similar nodes when it should not.  For example,
3326         it would convert a+a+a to a+a.  Now, a sequence of similar nodes
3327         is not merged.  Problem reported by Gonzalo Padrino in
3328         https://bugs.gnu.org/44351
3329         * lib/dfa.c (merge_nfa_state): Skip the follow for repetition in
3330         optimization.
3332 2020-11-01  Jim Meyering  <meyering@fb.com>
3334         test-dfa-match-aux.c: accept EREs, not BREs
3335         * tests/test-dfa-match-aux.c (main): Specify RE_SYNTAX_EGREP, not
3336         RE_SYNTAX_GREP, so tests can use ERE syntax rather than BRE.
3338 2020-10-30  Bernhard Voelker  <mail@bernhard-voelker.de>
3340         verify tests: avoid -Wmissing-declarations warnings
3341         * tests/test-verify.c (test_assume_expressions): Add declaration.
3342         (test_assume_optimization): Likewise.
3343         (test_assume_noreturn): Likewise.
3344         (main): Move down after all other definitions.  While at it, also
3345         call test_assume_expressions and test_assume_optimization as a
3346         runtime check.
3348 2020-10-26  Paul Eggert  <eggert@cs.ucla.edu>
3350         sys_stat: update comments for S_IRWXUGO, S_IXUGO
3351         * lib/sys_stat.in.h (S_IXUGO, S_IRWXUGO): Update comments.
3352         Perhaps these macros should be removed, as they’re not in either
3353         POSIX or GNU.  They could be moved to stat-macros.h, which would
3354         be cleaner in some sense.
3356 2020-10-25  Bruno Haible  <bruno@clisp.org>
3358         ssfmalloc tests: Small tweaks.
3359         * tests/test-ssfmalloc.c: Add comments.
3360         (alloc_pages): Don't require PROT_EXEC bits.
3361         (block_sizes): Add more small sizes, for better coverage of
3362         ssfmalloc-bitmap.h.
3364         ssfmalloc tests: Portability to Minix.
3365         * modules/ssfmalloc-tests (Files): Add m4/mmap-anon.m4.
3366         (configure.ac): Invoke gl_FUNC_MMAP_ANON.
3367         * m4/mmap-anon.m4: Update comment.
3369         ssfmalloc: Portability to AIX.
3370         * modules/ssfmalloc (Include): Add ssfmalloc.h.
3371         (Link): New section.
3372         * modules/ssfmalloc-tests (Makefile.am): Link test-ssfmalloc with
3373         $(LIBTHREAD).
3375         ssfmalloc: Portability to Cygwin.
3376         * lib/ssfmalloc.h: Add parameter PAGESIZE_MAX.
3377         (pg_offset_t): Define depending on PAGESIZE_MAX.
3378         * tests/test-ssfmalloc.c: Undefine PAGESIZE.
3379         (PAGESIZE_MAX): New macro.
3381         ssfmalloc: Fix buffer overrun in bitmap search.
3382         * lib/ssfmalloc-bitmap.h (find_first_packet_set): Don't access the
3383         word *words_end.
3385 2020-10-24  Paul Eggert  <eggert@cs.ucla.edu>
3387         doc: mention ‘restrict’ and C++
3388         * doc/gnulib-readme.texi (C99 features assumed): Document
3389         that ‘restrict’ should be avoided in C++ code.
3391 2020-10-20  Bernhard Voelker  <mail@bernhard-voelker.de>
3393         selinux-at, selinux-h: port to SELinux 3.1
3394         The new release finally deprecated the typedef 'security_context_t',
3395         see <https://github.com/SELinuxProject/selinux/commit/7a124ca275>.
3396         Use the simpler 'char *' instead.
3397         * lib/getfilecon.c (getfilecon): Adjust type of context parameter.
3398         (lgetfilecon): Likewise.
3399         (fgetfilecon): Likewise.
3400         (map_to_failure): Likewise.
3401         (rpl_getfilecon): Likewise.
3402         (rpl_lgetfilecon): Likewise.
3403         (rpl_fgetfilecon): Likewise.
3404         * lib/se-selinux.in.h (security_context_t): Remove typedef.
3405         (getcon): Adjust type of context parameter.
3406         (freecon): Likewise.
3407         (getfscreatecon): Likewise.
3408         (setfscreatecon): Likewise.
3409         (matchpathcon): Likewise.
3410         (getfilecon): Likewise.
3411         (lgetfilecon): Likewise.
3412         (fgetfilecon): Likewise.
3413         (setfilecon): Likewise.
3414         (lsetfilecon): Likewise.
3415         (fsetfilecon): Likewise.
3416         (security_check_context): Likewise.
3417         (security_check_context_raw): Likewise.
3418         (setexeccon): Likewise.
3419         (security_compute_create): Likewise.
3420         * lib/selinux-at.c (getfileconat): Likewise.
3421         (lgetfileconat): Likewise.
3422         (setfileconat): Likewise.
3423         (lsetfileconat): Likewise.
3424         * lib/selinux-at.h: Likewise.
3426 2020-10-19  Bruno Haible  <bruno@clisp.org>
3428         xalloc-die: Fix link error with Solaris cc (regression 2020-07-27).
3429         * lib/xalloc.h (xalloc_die): Don't declare if GNULIB_XALLOC_DIE is 0.
3430         (xmalloc, xzalloc, xcalloc, xrealloc, x2realloc, xmemdup, xstrdup,
3431         XMALLOC, XNMALLOC, XZALLOC, XCALLOC, xnmalloc, xnrealloc, x2nrealloc,
3432         xcharalloc): Don't declare/define if GNULIB_XALLOC is 0.
3433         * modules/xalloc (configure.ac): Define GNULIB_XALLOC.
3434         * modules/xalloc-die (configure.ac): Define GNULIB_XALLOC_DIE.
3436 2020-10-18  Bruno Haible  <bruno@clisp.org>
3438         ssfmalloc: Add tests.
3439         * tests/test-ssfmalloc.c: New file.
3440         * modules/ssfmalloc-tests: New file.
3442         ssfmalloc: New module.
3443         * lib/ssfmalloc.h: New file.
3444         * lib/ssfmalloc-bitmap.h: New file.
3445         * modules/ssfmalloc: New file.
3447 2020-10-18  Bruno Haible  <bruno@clisp.org>
3449         wchar: Fix configure test result on some versions of AIX.
3450         Reported by Clément Chigot <clement.chigot@atos.net> in
3451         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00115.html>.
3452         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Execute the test only on glibc
3453         systems.
3455 2020-10-18  Bruno Haible  <bruno@clisp.org>
3457         time: Fix warning about asctime when asctime is not used.
3458         * lib/time.in.h (asctime_r, ctime, ctime_r): Fix _GL_WARN_ON_USE
3459         invocation.
3461 2020-10-18  Bruno Haible  <bruno@clisp.org>
3463         *-list, *-oset, *-omap: Avoid a GCC warning (regression 2020-10-10).
3464         * lib/gl_anylinked_list2.h (gl_linked_iterator_free): Remove
3465         '_GL_ATTRIBUTE_CONST'.
3466         * lib/gl_anytree_list2.h (gl_tree_iterator_free): Likewise.
3467         * lib/gl_anytree_omap.h (gl_tree_iterator_free): Likewise.
3468         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
3469         * lib/gl_array_list.c (gl_array_iterator_free): Likewise.
3470         * lib/gl_array_omap.c (gl_array_iterator_free): Likewise.
3471         * lib/gl_array_oset.c (gl_array_iterator_free): Likewise.
3472         * lib/gl_carray_list.c (gl_carray_iterator_free): Likewise.
3474 2020-10-18  Bruno Haible  <bruno@clisp.org>
3476         obstack: Fix a clang warning.
3477         * lib/obstack.c (print_and_abort): Mark as __attribute_noreturn__.
3479 2020-10-16  Bruno Haible  <bruno@clisp.org>
3481         hash: Rename hash_delete to hash_remove.
3482         * lib/hash.h (hash_remove): Renamed from hash_delete.
3483         (hash_delete): New declaration.
3484         * lib/hash.c (hash_remove): Renamed from hash_delete.
3485         (hash_delete): New function.
3486         * tests/test-hash.c (main): Update.
3487         * lib/fts-cycle.c (leave_dir): Likewise.
3488         * NEWS: Mention the change.
3490 2020-10-16  Bruno Haible  <bruno@clisp.org>
3492         hash, xhash: Make usable from C++.
3493         * lib/hash.h: Add extern "C".
3495 2020-10-16  Bruno Haible  <bruno@clisp.org>
3497         hash, xhash: Move comments to the .h file.
3498         * lib/hash.c: Move comments meant for the user from here...
3499         * lib/xhash.c: ... and here...
3500         * lib/hash.h: ... to here.
3502 2020-10-13  Philipp Klaus Krause  <pkk@spth.de>  (tiny change)
3504         Don't declare an intention to modify the return value of strerror.
3505         * tests/test-perror2.c (main): Assign the return value of strerror to a
3506         'const char *' variable.
3508 2020-10-11  Bruno Haible  <bruno@clisp.org>
3510         *printf: Avoid "expanded before it was required" warning.
3511         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99): Define through
3512         AC_DEFUN_ONCE.
3514 2020-10-11  Benji Wiebe  <benjiwiebe14@gmail.com>
3516         getprogname: Add support for OpenServer 6 and UnixWare 7.
3517         * lib/getprogname.c: Include <fcntl.h>, <stdlib.h>, <string.h>.
3518         (getprogname): On OpenServer6 and UnixWare, read /proc/<pid>/cmdline.
3520 2020-10-11  Bruno Haible  <bruno@clisp.org>
3522         tests: Avoid a name clash on UnixWare.
3523         Reported by Tim Rice <tim@multitalents.net> in
3524         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00025.html>.
3525         * tests/nap.h (nap): Define as gl_nap on OpenServer and UnixWare.
3527 2020-10-11  Bruno Haible  <bruno@clisp.org>
3529         stdioext: Update comments regarding UnixWare.
3530         Reported by Tim Rice <tim@multitalents.net> in
3531         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
3532         * lib/fbufmode.c: Update comments.
3533         * lib/fflush.c: Likewise.
3534         * lib/fpending.c: Likewise.
3535         * lib/fpurge.c: Likewise.
3536         * lib/freadable.h: Likewise.
3537         * lib/freadable.c: Likewise.
3538         * lib/freadahead.c: Likewise.
3539         * lib/freading.h: Likewise.
3540         * lib/freading.c: Likewise.
3541         * lib/freadptr.c: Likewise.
3542         * lib/freadseek.c: Likewise.
3543         * lib/fseeko.c: Likewise.
3544         * lib/fseterr.c: Likewise.
3545         * lib/fwritable.h: Likewise.
3546         * lib/fwritable.c: Likewise.
3547         * lib/fwriting.h: Likewise.
3548         * lib/fwriting.c: Likewise.
3550 2020-10-11  Bruno Haible  <bruno@clisp.org>
3552         stdioext: Treat OpenServer 6 and UnixWare 7 like OpenServer 5.
3553         Reported by Tim Rice <tim@multitalents.net> in
3554         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
3555         Uses the info from
3556         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00028.html>.
3557         * lib/stdio-impl.h: Test also __SCO_VERSION__ and __sysv5__.
3559 2020-10-11  Bruno Haible  <bruno@clisp.org>
3561         stdioext: Avoid compilation errors on UnixWare 7.
3562         Reported by Tim Rice <tim@multitalents.net> in
3563         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00127.html>.
3564         * lib/fbufmode.c: Don't include <stdio_ext.h> if it does not exist.
3565         * lib/fpurge.c: Likewise.
3566         * lib/freadable.h: Likewise.
3567         * lib/freading.h: Likewise.
3568         * lib/fwritable.h: Likewise.
3569         * lib/fwriting.h: Likewise.
3570         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether <stdio_ext.h> exists.
3571         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
3572         * m4/freadable.m4 (gl_FUNC_FREADABLE): Likewise.
3573         * m4/freading.m4 (gl_FUNC_FREADING): Likewise.
3574         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Likewise.
3575         * m4/fwriting.m4 (gl_FUNC_FWRITING): Likewise.
3577 2020-10-11  Bruno Haible  <bruno@clisp.org>
3579         stdioext: Update comments regarding Cygwin.
3580         * lib/fpending.c: Update comments.
3581         * lib/fpurge.c: Likewise.
3582         * lib/freadable.h: Likewise.
3583         * lib/freadable.c: Likewise.
3584         * lib/freading.h: Likewise.
3585         * lib/freading.c: Likewise.
3586         * lib/fwritable.h: Likewise.
3587         * lib/fwritable.c: Likewise.
3588         * lib/fwriting.h: Likewise.
3589         * lib/fwriting.c: Likewise.
3591 2020-10-11  KO Myung-Hun  <komh78@gmail.com>
3593         Fix "warning: implicit declaration of function 'pthread_sigmask'".
3594         * lib/signal.in.h [__KLIBC__]: Include <pthread.h>.
3595         * lib/sys_select.in.h [__KLIBC__]: Do not include <signal.h>.
3597 2020-10-10  Bruno Haible  <bruno@clisp.org>
3599         *-list, *-oset, *-omap: Avoid possible compiler warnings.
3600         Reported by Marc Nieper-Wißkirchen in
3601         <https://lists.gnu.org/r/bug-gnulib/2020-10/msg00025.html>.
3602         * lib/gl_anylinked_list2.h (gl_linked_iterator,
3603         gl_linked_iterator_from_to): Mark as 'pure'.
3604         (gl_linked_iterator_free): Mark as 'const'.
3605         * lib/gl_anytree_list2.h (gl_tree_size, gl_tree_node_value,
3606         gl_tree_search_from_to, gl_tree_indexof_from_to, gl_tree_iterator,
3607         gl_tree_iterator_from_to, gl_tree_sortedlist_search,
3608         gl_tree_sortedlist_search_from_to, gl_tree_sortedlist_indexof,
3609         gl_tree_sortedlist_indexof_from_to): Mark as 'pure'.
3610         (gl_tree_iterator_free): Mark as 'const'.
3611         * lib/gl_anytree_omap.h (gl_tree_size, gl_tree_iterator): Mark as
3612         'pure'.
3613         (gl_tree_iterator_free): Mark as 'const'.
3614         * lib/gl_anytree_oset.h (gl_tree_size, gl_tree_next_node,
3615         gl_tree_prev_node, gl_tree_iterator): Mark as 'pure'.
3616         (gl_tree_iterator_free): Mark as 'const'.
3617         * lib/gl_anytreehash_list1.h (node_position, compare_by_position,
3618         compare_position_threshold): Mark as 'pure'.
3619         * lib/gl_array_list.c (gl_array_size, gl_array_indexof_from_to,
3620         gl_array_search_from_to, gl_array_iterator, gl_array_iterator_from_to,
3621         gl_array_sortedlist_indexof_from_to, gl_array_sortedlist_indexof,
3622         gl_array_sortedlist_search_from_to, gl_array_sortedlist_search): Mark as
3623         'pure'.
3624         (gl_array_iterator_free): Mark as 'const'.
3625         * lib/gl_array_omap.c (gl_array_size, gl_array_indexof, gl_array_search,
3626         gl_array_search_atleast, gl_array_iterator): Mark as 'pure'.
3627         (gl_array_iterator_free): Mark as 'const'.
3628         * lib/gl_array_oset.c (gl_array_size, gl_array_indexof, gl_array_search,
3629         gl_array_indexof_atleast, gl_array_search_atleast, gl_array_iterator,
3630         gl_array_iterator_atleast): Mark as 'pure'.
3631         (gl_array_iterator_free): Mark as 'const'.
3632         * lib/gl_carray_list.c (gl_carray_size, gl_carray_node_value,
3633         gl_carray_next_node, gl_carray_previous_node, gl_carray_get_at,
3634         gl_carray_indexof_from_to, gl_carray_search_from_to, gl_carray_iterator,
3635         gl_carray_iterator_from_to, gl_carray_sortedlist_indexof_from_to,
3636         gl_carray_sortedlist_indexof, gl_carray_sortedlist_search_from_to,
3637         gl_carray_sortedlist_search): Mark as 'pure'.
3638         (gl_carray_iterator_free): Mark as 'const'.
3640 2020-10-10  Bruno Haible  <bruno@clisp.org>
3642         rbtree-list: Avoid possible compiler warnings.
3643         This mirrors the change of avltree-list on 2014-09-16.
3644         * lib/gl_rbtree_list.c (gl_rbtree_list_check_invariants): Add extern
3645         declaration. Add cast to void for ignored value of check_invariants.
3647 2020-10-10  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
3649         stack: New module.
3650         * MODULES.html.sh: Add entry for the stack module.
3651         * modules/stack: New file.
3652         * modules/stack-tests: New file.
3653         * lib/stack.h: New file.
3654         * tests/test-stack.c: New file.
3656 2020-10-10  Paul Eggert  <eggert@cs.ucla.edu>
3658         attribute: improve const, pure doc
3659         Problem reported by Marc Nieper-Wißkirchen in:
3660         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00035.html
3661         * lib/attribute.h (ATTRIBUTE_CONST, ATTRIBUTE_PURE): Improv doc.  See:
3662         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51971#c1
3664 2020-10-05  Paul Eggert  <eggert@cs.ucla.edu>
3666         thread: pacify GCC on Solaris 10
3667         Problem reported by Kiyoshi KANAZAWA for grep (Bug#43666#29).
3668         * lib/glthread/thread.h (gl_thread_self): Use ‘(pthread_t) 0’
3669         instead of ‘(pthread_t) NULL’, to pacify GCC on Solaris 10
3670         where pthread_t is unsigned int.
3672 2020-10-04  Paul Eggert  <eggert@cs.ucla.edu>
3674         c-stack: avoid AS_IF
3675         Problem reported by Bruno Haible in:
3676         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00018.html
3677         * m4/c-stack.m4 (gl_PREREQ_C_STACK): No need for AS_IF.
3679         c-stack: pacify GCC 9.3.1 when using libsigsegv
3680         * lib/c-stack.c [USE_LIBSIGSEGV]: Disable --suggest-attribute=pure.
3682 2020-10-04  Bruno Haible  <bruno@clisp.org>
3684         localename: Fix a couple of "unused parameter" warnings.
3685         Reported by Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de> in
3686         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00014.html>.
3687         * lib/localename.c (gl_locale_name_thread_unsafe, gl_locale_name_thread,
3688         gl_locale_name_posix, gl_locale_name_environ): Add _GL_UNUSED in
3689         parameter list.
3691 2020-10-04  Bruno Haible  <bruno@clisp.org>
3693         vasnprintf: Don't use %n on modern, ISO C 99 compliant platforms.
3694         Suggested by Jeremie Courreges-Anglas <jca@wxcvbn.org> in
3695         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00010.html>.
3696         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Define
3697         HAVE_SNPRINTF_TRUNCATION_C99.
3698         * lib/vasnprintf.c (VASNPRINTF): Don't use %n if
3699         HAVE_SNPRINTF_RETVAL_C99 && HAVE_SNPRINTF_TRUNCATION_C99.
3701 2020-10-03  Paul Eggert  <eggert@cs.ucla.edu>
3703         c-stack: streamline Solaris configuration
3704         * lib/c-stack.c: Omit mention of HAVE_SIGALTSTACK, since
3705         the code is used only if a test for sigaltstack worked
3706         in some other way.
3707         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Do not require gl_LIBSIGSEGV;
3708         instead, execute gl_LIBSIGSEGV only if needed (because the XSI
3709         heuristic does not work).
3710         * modules/c-stack (Files): Add m4/libsigsegv.m4, since
3711         we no longer require the libsigsegv module.
3712         (Depends-on): Depend on havelib, not libsigsegv.
3714         c-stack: stop using SIGSTKSZ
3715         It’s been proposed to stop making SIGSTKSZ an integer constant:
3716         https://sourceware.org/pipermail/libc-alpha/2020-September/118028.html
3717         Also, using SIGSTKSZ in #if did not conform to current POSIX.
3718         Also, avoiding SIGSTKSZ makes the code simpler and easier to grok.
3719         * lib/c-stack.c (SIGSTKSZ): Remove.
3720         (alternate_signal_stack): Now a 64 KiB array, for simplicity.
3721         All uses changed.
3723         c-stack: fix libsigsegv typo
3724         Problem reported by Bruno Haible in:
3725         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00175.html
3726         * lib/c-stack.c (USE_LIBSIGSEGV): Fix typo that caused libsigsegv
3727         to be used only on Solaris (exactly where it is not needed!).
3729 2020-10-03  Thien-Thi Nguyen  <ttn@gnuvola.org>
3731         MODULES.html.sh: Fix typo.
3732         * MODULES.html.sh (Numeric conversion functions <stdlib.h>): Fix typo.
3734 2020-09-28  Paul Eggert  <eggert@cs.ucla.edu>
3736         version-etc: pacify Oracle Studio 12.6
3737         Without this patch, it complains: "version-etc.h", line 64:
3738         warning: token-less macro argument (E_TOKENLESS_MACRO)" when in
3739         pedantic mode.
3740         * lib/version-etc.h (version_etc): Port to C89 macro rules.
3742 2020-09-27  Bruno Haible  <bruno@clisp.org>
3744         Avoid "warning: The macro `AC_DECL_SYS_SIGLIST' is obsolete".
3745         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3746         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
3747         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check for sys_siglist
3748         ourselves; don't use AC_DECL_SYS_SIGLIST.
3750 2020-09-27  Bruno Haible  <bruno@clisp.org>
3752         Avoid "warning: The macro `_AC_COMPUTE_INT' is obsolete".
3753         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3754         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
3755         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Use AC_COMPUTE_INT
3756         instead of _AC_COMPUTE_INT.
3758 2020-09-27  Bruno Haible  <bruno@clisp.org>
3760         Avoid "warning: The macro `AC_HEADER_STDC' is obsolete".
3761         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3762         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
3763         Based on a patch by Paul Eggert.
3764         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Don't require AC_HEADER_STDC. Don't
3765         test STDC_HEADERS. Assume <stdlib.h> exists.
3766         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
3768 2020-09-27  Bruno Haible  <bruno@clisp.org>
3770         Enable testing of prereleases of Autoconf 2.70.
3771         Suggested by Paul Eggert in
3772         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00160.html>.
3773         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Test for Autoconf >= 2.69c, not
3774         >= 2.70.
3775         * m4/largefile.m4 (AC_SYS_LARGEFILE): Likewise.
3776         * m4/pid_t.m4 (AC_TYPE_PID_T): Likewise.
3777         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Likewise.
3779 2020-09-27  Bruno Haible  <bruno@clisp.org>
3781         Avoid "warning: The macro `AC_PROG_CC_STDC' is obsolete".
3782         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3783         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
3784         * m4/gnulib-common.m4 (gl_PROG_CC_C99): Use AC_PROG_CC_C99 or
3785         AC_PROG_CC, depending on the Autoconf version.
3787 2020-09-27  Gavin Smith  <gavinsmith0123@gmail.com>
3789         Avoid "warning: The macro `AC_HELP_STRING' is obsolete".
3790         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Use AS_HELP_STRING instead
3791         of AC_HELP_STRING.
3792         * m4/libgcrypt.m4 (AM_PATH_LIBGCRYPT): Likewise.
3794 2020-09-27  Bruno Haible  <bruno@clisp.org>
3796         Avoid "warning: $as_echo_n is obsolete" from autoconf 2.69c.
3797         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3798         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
3799         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): Use gl_SILENT.
3801 2020-09-27  Bruno Haible  <bruno@clisp.org>
3803         extensions: Simplify last commit.
3804         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't require
3805         AC_GNU_SOURCE ever.
3807 2020-09-26  Paul Eggert  <eggert@cs.ucla.edu>
3809         extensions: require AC_GNU_SOURCE only for <=2.63
3810         Problem reported by Gavin Smith in:
3811         https://lists.gnu.org/r/autoconf/2020-09/msg00012.html
3812         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS):
3813         Require AC_GNU_SOURCE only for Autoconf 2.63 and earlier, since it
3814         shouldn’t be needed after that, and Autoconf 2.70 complains about
3815         it being obsolete.
3817 2020-09-26  Bruno Haible  <bruno@clisp.org>
3819         regex-tests: Make test more robust.
3820         * tests/test-regex.c (main): Make sure to revert the locale to "C" after
3821         the test in "tr_TR.UTF-8" locale. Exit if we can't revert it.
3823 2020-09-25  Paul Eggert  <eggert@cs.ucla.edu>
3825         regex-tests: fix possible Turkish false-alarm
3826         * modules/regex-tests (Depends-on): Add wctype-h.
3827         * tests/test-regex.c: Include wctype.h.
3828         (main): Check that ‘i’ uppercases to ‘İ’ in Turkish,
3829         as the Turkish regex test assumes this.
3831         regex-tests: fix test and add debug output
3832         Perhaps this will fix the recent grep test failure reported at:
3833         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/199
3834         At least, the debug output should help narrow down the failure.
3835         * tests/test-regex.c: Include stdarg.h, stdio.h.
3836         (exit_status): New var.
3837         (report_error): New function.
3838         (main): Use it to report failures to stdout instead of merely
3839         exiting with some nonzero status.  The status info alone isn’t
3840         enough to do remote debugging.  In the new tr_TR.UTF-8 test, clear
3841         regex before calling re_compile_pattern, fixing a portability bug.
3843         regex: no longer match glibc
3844         * config/srclist.txt: Comment out regex_internal.c for now.
3846 2020-09-23  Paul Eggert  <eggert@cs.ucla.edu>
3848         regex: fix ignore-case Turkish bug
3849         * lib/regex_internal.c (build_wcs_upper_buffer):
3850         Do not assume that converting single-byte character to upper
3851         yields a single-byte character.  This is not true for Turkish,
3852         where towupper (L'i') yields L'İ', which is not single-byte.
3853         * tests/test-regex.c (main): Test for this bug.
3855         regex: port to weird isascii platforms
3856         * lib/regex_internal.h (isascii) [!_LIBC]: Supply glibc version.
3858 2020-09-20  Norihiro Tanaka  <noritnk@kcn.ne.jp>
3860         dfa: make dfasupported a global function
3861         * lib/dfa.c (dfasupported): Rename, and make it global.
3862         Update caller.
3863         * lib/dfa.h (dfasupported): Add prototype.
3865 2020-09-20  Bruno Haible  <bruno@clisp.org>
3867         canonicalize: Add support for UNC file names on native Windows.
3868         Reported and initial patch by Vaclav Slavik <vaclav@slavik.io> in
3869         <https://savannah.gnu.org/bugs/?59079>.
3870         * lib/canonicalize.c (canonicalize_filename_mode): For UNC file names,
3871         extend the prefix to include the server.
3873 2020-09-20  Bruno Haible  <bruno@clisp.org>
3875         supersede: Fix test failures on native Windows.
3876         * lib/supersede.c (open_supersede): Handle non-regular files on native
3877         Windows like on Solaris.
3878         * tests/test-supersede-open.h (test_open_supersede): Use O_BINARY flag.
3880 2020-09-20  Paul Eggert  <eggert@cs.ucla.edu>
3882         test-stdalign: test Oracle Studio better
3883         * doc/posix-headers/stdalign.texi (stdalign.h):
3884         * tests/test-stdalign.c (main):
3885         Sun Studio Bug #2125432 seems to be fixed.
3887         c-stack: output diagnostic in single 'write'
3888         * lib/c-stack.c (die): In the typical case, use just one 'write'
3889         syscall to output the diagnostic, as this lessens interleaving.
3890         (die, c_stack_action): Assume C99.
3891         * modules/c-stack (Depends-on): Add c99, mempcpy.
3893         c-stack: improve checking if !libsigsegv
3894         If SIGINFO_WORKS, do not treat a null pointer dereference as if it
3895         were a stack overflow.  Use uintptr_t and INT_ADD_WRAPV to avoid
3896         unlikely pointer overflow.  Also, fix some obsolete code and typos.
3897         I found these problems while looking into this bug report:
3898         https://lists.gnu.org/r/grep-devel/2020-09/msg00053.html
3899         * lib/c-stack.c: Include c-stack.h first, to test interface.
3900         Include inttypes.h for UINTPTR_MAX, stdbool.h, stddef.h for
3901         max_align_t, intprops.h for INT_ADD_WRAPV.
3902         (USE_LIBSIGSEGV): New macro; use it to simplify later code.
3903         (SIGSTKSZ): Simplify setup.  Work around libsigsegv bug only
3904         for libsigsegv 2.8 and earlier since the bug should be fixed
3905         after that.
3906         (alternate_signal_stack): Use max_align_t instead of doing it by hand.
3907         (segv_handler, overflow_handler, segv_handler) [DEBUG]:
3908         Assume sprintf returns byte count; this assumption is safe now.
3909         (page_size): New static volatile variable, since sysconf isn’t
3910         documented to be async-signal-safe on Solaris.  This variable is
3911         present and used if (!USE_LIBSIGSEGV && HAVE_SIGALTSTACK &&
3912         HAVE_DECL_SIGALTSTACK && HAVE_STACK_OVERFLOW_HANDLING &&
3913         SIGINFO_WORKS).
3914         (segv_handler): Use it if present.  Never report null pointer
3915         dereference as a stack overflow.  Check for (unlikely) unsigned
3916         and/or pointer overflow.
3917         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
3918         Rename cache variables to gl_cv_sys_stack_overflow_works
3919         and gl_cv_sys_xsi_stack_overflow_heuristic.
3920         All uses changed.
3921         (gl_PREREQ_C_STACK): Do not require AC_FUNC_ALLOCA, since
3922         c-stack no longer uses STACK_DIRECTION.
3923         Do not check for unistd.h, since we depend on unistd.
3924         Fix shell typo ‘$"ac_cv_sys_xsi_stack_overflow_heuristic"’.
3925         * modules/c-stack (Depends-on): Sort.  Add intprops, inttypes,
3926         stdbool, stddef.
3928 2020-09-20  Bruno Haible  <bruno@clisp.org>
3930         Revert now-unnecessary override of config.guess on Alpine Linux 3.10.
3931         * m4/musl.m4: Revert 2020-09-19 patch.
3932         * m4/setlocale_null.m4: Likewise.
3933         * modules/setlocale-null: Likewise.
3935 2020-09-19  Ben Pfaff  <blp@cs.stanford.edu>
3936             Bruno Haible  <bruno@clisp.org>
3938         relocatable-prog: Fix for multiple relocatable library directories.
3939         * build-aux/reloc-ldflags: Fix handling of multiple relocatable library
3940         directories.  Each one needs its own -Wl,-rpath,$dir option, instead of
3941         being attached to a single one.
3943 2020-09-19  Jim Meyering  <meyering@fb.com>
3945         test-verify.c: avoid -Wshadow warnings
3946         * tests/test-verify.c (gx): Rename global from "x". Adjust use.
3947         (enum): Capitalize member names. Adjust uses.
3949 2020-09-19  Bruno Haible  <bruno@clisp.org>
3951         havelib: Avoid linking with libc.a on GNU systems.
3952         Reported by Bruce Dubbs <bruce.dubbs@gmail.com> in
3953         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00052.html>.
3954         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When processing the
3955         dependency_libs value of a .la file, ignore '-lc' options on GNU
3956         systems.
3958 2020-09-19  Bruno Haible  <bruno@clisp.org>
3960         Fix recognition of musl libc on Alpine Linux 3.10.
3961         Reported by Jeffrey Walton <noloader@gmail.com> in
3962         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00020.html>.
3963         * m4/musl.m4 (gl_MUSL_CANONICAL_HOST): New macro.
3964         (gl_MUSL_LIBC): Require it.
3965         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Likewise.
3966         * modules/setlocale-null (Files): Add m4/musl.m4.
3968 2020-09-19  Bruno Haible  <bruno@clisp.org>
3970         nl_langinfo: Make multithread-safe on Solaris 10 and Solaris 11.3.
3971         Reported for Solaris 10 by Dagobert Michelsen via Paul Eggert in
3972         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00023.html>
3973         and for Solaris 11.3 by Jeffrey Walton <noloader@gmail.com> in
3974         <https://lists.gnu.org/archive/html/bug-grep/2020-06/msg00013.html>.
3975         * lib/nl_langinfo-lock.c: New file, based on lib/setlocale_null-lock.c.
3976         * lib/nl_langinfo.c: Include <stdlib.h> and <windows.h> or <pthread.h>
3977         or <threads.h>.
3978         (ITEMS, MAX_RESULT_LEN): New macros.
3979         (nl_langinfo_unlocked): New function.
3980         (gl_get_nl_langinfo_lock): New declaration.
3981         (nl_langinfo_with_lock): New function, based on lib/setlocale_null.c.
3982         (rpl_nl_langinfo): Use nl_langinfo_with_lock instead of nl_langinfo.
3983         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require gl_PTHREADLIB. Define
3984         HAVE_THREADS_H. Set NL_LANGINFO_MTSAFE. If setting it to 0, also set
3985         REPLACE_NL_LANGINFO.
3986         (gl_PREREQ_NL_LANGINFO_LOCK): New macro.
3987         * modules/nl_langinfo (Files): Add lib/nl_langinfo-lock.c,
3988         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
3989         (configure.ac): Compile nl_langinfo-lock.c when NL_LANGINFO_MTSAFE is 0.
3990         * doc/posix-functions/nl_langinfo.texi: Mention the Solaris bug.
3992 2020-09-18  Bruno Haible  <bruno@clisp.org>
3994         fsusage, getaddrinfo: Produce more regular configure output.
3995         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove AC_MSG_CHECKING without
3996         corresponding AC_MSG_RESULT.
3997         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
3999 2020-09-18  Bruno Haible  <bruno@clisp.org>
4001         Add back gl_SILENT.
4002         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): New macros.
4004 2020-09-18  Paul Eggert  <eggert@cs.ucla.edu>
4006         c-stack-tests: fix -fsanitize=undefined false alarm
4007         * tests/test-c-stack2.sh: Skip the test-harness self-test
4008         if ‘gcc -fsanitize=undefined’ is in use.
4010 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
4012         signalblocking: simplify and remove gl_SILENT
4013         gl_SILENT was problematic because if a trap was sprung, stderr
4014         generated during the trap was lost.  Avoid the problem by
4015         removing the need for gl_SILENT.
4016         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): Remove.
4017         * m4/signalblocking.m4 (gl_SIGNALBLOCKING):
4018         Simplify, avoiding the need for gl_SILENT while preserving the
4019         ability of the user to override the value of the cache variable,
4020         now ac_cv_func_sigprocmask.
4022 2020-09-17  Bruno Haible  <bruno@clisp.org>
4024         sigprocmask: Fix configuration failure on Solaris 10 (regr. 2020-07-25).
4025         * m4/gnulib-common.m4 (GL_TMP_FD): New macro.
4026         (gl_SILENT): Use 'exec', not a compound statement, to redirect
4027         AS_MESSAGE_FD.
4029 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
4031         intprops, xalloc: avoid __builtin_mul_overflow_p with Clang
4032         Problem reported by Nelson H. F. Beebe for clang 9.0.1 in:
4033         https://lists.gnu.org/r/grep-devel/2020-09/msg00028.html
4034         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P) [__clang__]:
4035         Define to 0.
4036         * lib/xalloc-oversized.h (xalloc_oversized) [__clang__]:
4037         Do not use __builtin_mul_overflow_p.
4039         libc-config: port __THROW to Ubuntu 4
4040         * lib/cdefs.h (__THROW): Do not use __attribute__ ((__nothrow__))
4041         for GCC 3.3.  Problem reported by Jeffrey Walton in:
4042         https://lists.gnu.org/r/bug-gnulib/2019-07/msg00058.html
4043         The GCC 3.3.4 documentation says the attribute should work, but
4044         apparently it does not work on Ubuntu 4’s GCC 3.3.  There seems
4045         little point or desire to research this circa-2004 platform further,
4046         so just avoid the attribute there.
4048 2020-09-17  Jim Meyering  <meyering@fb.com>
4050         test-dfa-match.sh: port timeout work-around to newer Busybox
4051         * tests/test-dfa-match.sh: Update timeout -t portability test to
4052         accommodate Busybox 1.30.0 and newer.
4054 2020-09-16  Paul Eggert  <eggert@cs.ucla.edu>
4056         fnmatch: adjust to match glibc fix
4057         This fixes handling of collating symbols in fnmatch (glibc bug 26620).
4058         This does not affect Gnulib; it merely keeps Gnulib and glibc
4059         closer together, to help with any eventual merge, by incorporating
4060         a recent glibc patch.  The patch and the following commentary is
4061         by Andreas Schwab.
4062         * lib/fnmatch_loop.c (FCT) [WIDE_CHAR_VERSION]: The variable idx
4063         contains the index into the extra array, whereas wextra points
4064         into the extra array at this index, containing the length of the
4065         following collating sequence in the wide character representation.
4067 2020-09-16  Bruno Haible  <bruno@clisp.org>
4069         stat, fstat: Fix compilation error with old mingw headers.
4070         Reported by Eli Zaretskii <eliz@gnu.org> in
4071         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
4072         * lib/stat-w32.c (VOLUME_NAME_NONE): Define if the Windows headers don't
4073         define it.
4075 2020-09-16  Bruno Haible  <bruno@clisp.org>
4077         stat, fstat: Fix when compiling for versions older than Windows Vista.
4078         Reported by Eli Zaretskii <eliz@gnu.org> in
4079         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
4080         * lib/stat-w32.c: Include <sdkddkver.h>. Test the value of _WIN32_WINNT
4081         that was originally set before we redefined it.
4082         * m4/stat.m4 (gl_PREREQ_STAT_W32): New macro.
4083         (gl_PREREQ_STAT): Require it.
4084         * m4/fstat.m4 (gl_PREREQ_FSTAT): Likewise.
4086 2020-09-15  Paul Eggert  <eggert@cs.ucla.edu>
4088         dfa: remove dfa-heap-overrun workaround
4089         * lib/dfa.c (reorder_tokens): Go back to a single pass that
4090         both sets map[*] and does other things.  This reverts
4091         2020-09-14T01:20:01Z!eggert@cs.ucla.edu, which is no longer
4092         neeeded now that 2020-09-14T13:21:05Z!noritnk@kcn.ne.jp
4093         fixed the underlying problem.
4095 2020-09-13  Paul Eggert  <eggert@cs.ucla.edu>
4097         dfa: avoid use of uninitialized constraint
4098         * lib/dfa.c (merge_nfa_state): Do not initialize the constraint
4099         to zero here.
4100         (dfaoptimize): Do it here instead, via xcalloc.  This prevents the
4101         use of an uninitialized constraint by later code when ! (flags[i]
4102         & OPT_QUEUED) means merge_nfa_state was not called to initialize
4103         the constraint.  Problem found by running 'valgrind src/grep -E
4104         '(^| )*(a|b)*(c|d)*( |$)' < /dev/null' on Ubuntu 18.04.5 x86-64.
4106         dfa: assume C99 in reorder_tokens
4107         * lib/dfa.c (reorder_tokens): Assume C99 and simplify.
4109         dfa: fix dfa-heap-overrun failure
4110         * lib/dfa.c (reorder_tokens): When setting
4111         map[d->follows[i].elems[j].index], instead of incorrectly assuming
4112         that (i < d->follows[i].elems[j].index), use two loops, one to set
4113         the map array and the other to use it.  The incorrect assumption
4114         caused some elements to be missed, and this in turn caused grep's
4115         dfa-heap-overrun test to fail on Solaris 10 sparc when compiled
4116         with GCC.  I found this bug while investigating
4117         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/183
4118         and I think the bug also occurs on GNU/Linux but with more-subtle
4119         symptoms.  The bug predates the recent dfa.c changes; perhaps the
4120         recent changes make the bug more likely.
4122 2020-09-13  Bruno Haible  <bruno@clisp.org>
4124         parse-datetime: Make the build rule work with parallel 'make'.
4125         Reported by Daiki Ueno <ueno@gnu.org> in
4126         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00036.html>.
4127         * modules/parse-datetime (Makefile.am): Use a phony target and the
4128         general idiom for rules that produce multiple files.
4130 2020-09-13  Ben Pfaff  <blp@cs.stanford.edu>
4132         getpass: Check for nonnull prompt argument while avoiding warnings.
4133         * lib/getpass.c (_GL_ARG_NONNULL): Define to empty.
4134         (getpass) [!_WIN32]: Print prompt only if nonnull.
4136 2020-09-12  Paul Eggert  <eggert@cs.ucla.edu>
4138         dfa: epsilon-closure tweaks (Bug#40634)
4139         Rename BACKWORD to BACKWARD consistently.
4140         * lib/dfa.c (struct dfa): Reorder members to reduce fragmentation.
4141         (addtok_mb): Redo slightly to make it act more like a state machine.
4142         Check depth only when it increases.
4143         (epsclosure): Let the switch test the tokens.
4144         (dfaanalyze): Cache tindex.  Simplify position loops.
4145         Prefer xcalloc to xnmalloc + explicit zeroing.  Free BACKWARD
4146         only if it is not null, since we're testing that anyway.
4147         (dfaanalyze, build_state): Use merge2 instead of doing it by hand.
4149 2020-09-12  Norihiro Tanaka  <noritnk@kcn.ne.jp>
4151         dfa: use backward set in removal of epsilon closure
4152         When removing in epsilon closure, the code searched all nodes
4153         sequentially, and this was slow for some cases.  Build a backward
4154         set before search, and only check previous position with the set.
4155         Problem reported in <https://bugs.gnu.org/40634>.
4156         * lib/dfa.c (struct dfa): New member 'epsilon'.
4157         (addtok_mb): Check whether a pattern has epsilon node or not.
4158         (epsclosure): New arg BACKWORD; caller changed.  When removing
4159         epsilon node and reconnecting, check only previous positions.
4160         Treat BEG as if it were character.
4161         (dfaanalyze): Build backward set.
4163 2020-09-10  Paul Eggert  <eggert@cs.ucla.edu>
4165         canonicalize: fix pointer indexing bugs
4166         Problem reported by Florian Weimer in:
4167         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00025.html
4168         * lib/canonicalize-lgpl.c (__realpath):
4169         * lib/canonicalize.c (canonicalize_filename_mode):
4170         Do not generate a pointer past the end of the array.
4171         * lib/canonicalize.c (canonicalize_filename_mode):
4172         Do not use a pointer after passing it to realloc.
4174 2020-09-09  Paul Eggert  <eggert@cs.ucla.edu>
4176         tempname: help merge with glibc
4177         Inspired by draft patches by Adhemerval Zanella in:
4178         https://sourceware.org/pipermail/libc-alpha/2020-September/117501.html
4179         https://sourceware.org/pipermail/libc-alpha/2020-September/117502.html
4180         * lib/tempname.c: Include stdalign.h, time.h.
4181         If _LIBC, do not include random-bits.h.
4182         (__getrandom, __clock_gettime64, __timespec64) [!_LIBC]: New macros.
4183         (RANDOM_BITS): Remove, replacing with ...
4184         (random_bits): ... this new static function.  All uses changed.
4185         Add entropy each time if getrandom is not supported.
4186         (RANDOM_VALUE, BASE_62_DIGITS, BASE_62_POWER):
4187         Assume 64-bit support a la C99.
4188         (try_tempname_len): Take advantage of ASLR when initializing
4189         random value.
4190         * modules/tempname (Depends-on): Add clock-time, stdalign, time.
4192         getcwd: merge recent glibc changes
4193         * lib/getcwd.c (GETCWD_RETURN_TYPE) [!_LIBC]: New macro.
4194         (__getcwd, getcwd) [_LIBC && !GETCWD_RETURN_TYPE]: Add aliases.
4196 2020-09-06  Bruno Haible  <bruno@clisp.org>
4198         attribute: Clarify which file to include.
4199         * modules/attribute (Include): Add "attribute.h".
4201 2020-09-06  Bruno Haible  <bruno@clisp.org>
4203         pipe-filter-ii, pipe-filter-gi: Fix warnings on native Windows.
4204         * lib/pipe-filter-ii.c: Include <process.h>.
4205         * lib/pipe-filter-gi.c: Likewise.
4207 2020-09-05  Paul Eggert  <eggert@cs.ucla.edu>
4209         verify: avoid __builtin_assume
4210         Our latest attempt to use Clang’s __builtin_assume caused a crash
4211         in GNU Emacs that we spent quite some time tracking down as being
4212         caused by the switch to __builtin_assume.  It’s not known whether
4213         the crash is due is a Clang bug or a portability bug in GNU Emacs.
4214         For now, play it safe and avoid __builtin_assume.
4215         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): Remove.
4216         (assume): Simplify by not trying to use Clang’s __builtin_assume.
4218 2020-09-05  Bruno Haible  <bruno@clisp.org>
4220         Fix several "warning: no previous prototype for function".
4221         * modules/unicase/locale-language (Makefile.am): Add a 'static' keyword
4222         in front of the declaration of the lookup function in
4223         unicase/locale-languages.h.
4224         * modules/unictype/bidiclass-byname (Makefile.am): Likewise in
4225         unictype/bidi_byname.h.
4226         * modules/unictype/category-byname (Makefile.am): Likewise in
4227         unictype/categ_byname.h.
4228         * modules/unictype/combining-class-byname (Makefile.am): Likewise in
4229         unictype/combiningclass_byname.h.
4230         * modules/unictype/joininggroup-byname (Makefile.am): Likewise in
4231         unictype/joininggroup_byname.h.
4232         * modules/unictype/joiningtype-byname (Makefile.am): Likewise in
4233         unictype/joiningtype_byname.h.
4234         * modules/unictype/property-byname (Makefile.am): Likewise in
4235         unictype/pr_byname.h.
4236         * modules/unictype/scripts (Makefile.am): Likewise in
4237         unictype/scripts_byname.h.
4238         * modules/uninorm/composition (Makefile.am): Likewise in
4239         uninorm/composition-table.h.
4241 2020-09-05  Bruno Haible  <bruno@clisp.org>
4243         select: Fix "warning: no previous prototype for function".
4244         * lib/select.c: Include <sys/select.h>.
4246 2020-09-05  Bruno Haible  <bruno@clisp.org>
4248         Use module 'c99' when needed for variadic macros with '...' syntax.
4249         * modules/crypto/sm3 (Depends-on): Add c99.
4251 2020-09-05  Bruno Haible  <bruno@clisp.org>
4253         Use module 'c99' when needed for subobject initializer syntax.
4254         * modules/tempname (Depends-on): Add c99.
4255         * modules/nstrftime-tests (Depends-on): Likewise.
4257 2020-09-05  Bruno Haible  <bruno@clisp.org>
4259         Use module 'c99' when needed for declaration-after-statement syntax.
4260         * modules/backup-rename (Depends-on): Add c99.
4261         * modules/backupfile (Depends-on): Likewise.
4262         * modules/bitset-tests (Depends-on): Likewise.
4263         * modules/bitsetv (Depends-on): Likewise.
4264         * modules/c-strtod (Depends-on): Likewise.
4265         * modules/c-strtold (Depends-on): Likewise.
4266         * modules/clean-temp (Depends-on): Likewise.
4267         * modules/copy-file (Depends-on): Likewise.
4268         * modules/crypto/hmac-md5-tests (Depends-on): Likewise.
4269         * modules/crypto/hmac-sha1-tests (Depends-on): Likewise.
4270         * modules/crypto/hmac-sha256-tests (Depends-on): Likewise.
4271         * modules/crypto/hmac-sha512-tests (Depends-on): Likewise.
4272         * modules/crypto/md5-buffer (Depends-on): Likewise.
4273         * modules/crypto/md5-tests (Depends-on): Likewise.
4274         * modules/crypto/sha1-buffer (Depends-on): Likewise.
4275         * modules/crypto/sha1-tests (Depends-on): Likewise.
4276         * modules/crypto/sha256-buffer (Depends-on): Likewise.
4277         * modules/crypto/sha256-tests (Depends-on): Likewise.
4278         * modules/crypto/sha512-buffer (Depends-on): Likewise.
4279         * modules/crypto/sha512-tests (Depends-on): Likewise.
4280         * modules/diffseq (Depends-on): Likewise.
4281         * modules/fatal-signal (Depends-on): Likewise.
4282         * modules/fchmodat (Depends-on): Likewise.
4283         * modules/fstrcmp (Depends-on): Likewise.
4284         * modules/fsusage (Depends-on): Likewise.
4285         * modules/fts (Depends-on): Likewise.
4286         * modules/fts-tests (Depends-on): Likewise.
4287         * modules/getumask (Depends-on): Likewise.
4288         * modules/git-merge-changelog (Depends-on): Likewise.
4289         * modules/hash-map (Depends-on): Likewise.
4290         * modules/hash-set (Depends-on): Likewise.
4291         * modules/lchmod (Depends-on): Likewise.
4292         * modules/libgmp-tests (Depends-on): Likewise.
4293         * modules/libtextstyle-optional-tests (Depends-on): Likewise.
4294         * modules/linkedhash-map (Depends-on): Likewise.
4295         * modules/linkedhash-set (Depends-on): Likewise.
4296         * modules/long-options (Depends-on): Likewise.
4297         * modules/mbrtoc32 (Depends-on): Likewise.
4298         * modules/memchr2-tests (Depends-on): Likewise.
4299         * modules/memmem-tests (Depends-on): Likewise.
4300         * modules/memrchr-tests (Depends-on): Likewise.
4301         * modules/mktime-internal (Depends-on): Likewise.
4302         * modules/nstrftime (Depends-on): Likewise.
4303         * modules/opendirat (Depends-on): Likewise.
4304         * modules/parse-datetime (Depends-on): Likewise.
4305         * modules/quotearg-simple-tests (Depends-on): Likewise.
4306         * modules/same (Depends-on): Likewise.
4307         * modules/supersede (Depends-on): Likewise.
4308         * modules/supersede-tests (Depends-on): Likewise.
4309         * modules/time_rz (Depends-on): Likewise.
4310         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
4311         * modules/unistr/u32-chr-tests (Depends-on): Likewise.
4312         * modules/unistr/u8-chr-tests (Depends-on): Likewise.
4313         * modules/xalloc (Depends-on): Likewise.
4314         * modules/xnanosleep (Depends-on): Likewise.
4316 2020-09-05  Bruno Haible  <bruno@clisp.org>
4318         Fix "warning: array initialized from parenthesized string constant".
4319         * tests/test-memmem.c (main): Remove parentheses around string constant.
4320         * tests/test-c-strcasestr.c (main): Likewise.
4321         * tests/test-strcasestr.c (main): Likewise.
4323 2020-09-05  Bruno Haible  <bruno@clisp.org>
4325         argmatch tests: Fix ISO C compliance warning.
4326         * tests/test-argmatch.c: Omit semicolon after ARGMATCH_DEFINE_GROUP
4327         invocation.
4329 2020-09-05  Bruno Haible  <bruno@clisp.org>
4331         uniname/uniname: Fix -Wshadow warning.
4332         * lib/uniname/uniname.c (unicode_name_word): Don't declare i upfront.
4333         * modules/uniname/uniname (Depends-on): Add c99.
4335 2020-09-05  Bruno Haible  <bruno@clisp.org>
4337         uniname/uniname: Fix -Wshorten-64-to-32 warnings.
4338         * lib/uniname/uniname.c (unicode_name_word_lookup): Change type of last
4339         argument to size_t.
4340         (unicode_name_character): Change type of len, n1, n2, n3, words_length,
4341         n to size_t.
4343 2020-09-05  Bruno Haible  <bruno@clisp.org>
4345         unistr/u{8,16,32}-uctomb: Avoid possible trouble with huge strings.
4346         * lib/unistr.in.h (u8_uctomb_aux, u8_uctomb, u16_uctomb_aux, u16_uctomb,
4347         u32_uctomb): Change type of last argument to ptrdiff_t.
4348         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
4349         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
4350         * lib/unistr/u16-uctomb.c (u16_uctomb): Likewise.
4351         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise.
4352         * lib/unistr/u32-uctomb.c (u32_uctomb): Likewise.
4354 2020-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4356         manywarnings: remove -Wchkp and -Wabi from C++ too
4357         Suggested by Reuben Thomas in:
4358         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00001.html
4359         At some point somebody should merge the many other manywarnings-c.m4
4360         changes into manywarnings-c++.m4 too, e.g.,
4361         2020-07-02T00:00:51Z!eggert@cs.ucla.edu.
4362         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
4363         Remove -Wchkp, -Wabi.
4365 2020-08-30  Bruno Haible  <bruno@clisp.org>
4367         strerrorname_np: Add tests.
4368         * tests/test-strerrorname_np.c: New file.
4369         * modules/strerrorname_np-tests: New file.
4371         strerrorname_np: New module.
4372         * lib/string.in.h (strerrorname_np): New declaration.
4373         * lib/strerrorname_np.c: New file.
4374         * m4/strerrorname_np.m4: New file.
4375         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether strerrorname_np
4376         is declared.
4377         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERRORNAME_NP,
4378         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
4379         * modules/string (Makefile.am): Substitute GNULIB_STRERRORNAME_NP,
4380         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
4381         * modules/strerrorname_np: New file.
4382         * tests/test-string-c++.cc: Verify the signature of strerrorname_np.
4383         * doc/glibc-functions/strerrorname_np.texi: Mention the new module and
4384         the glibc 2.32 bug.
4386 2020-08-27  Paul Eggert  <eggert@cs.ucla.edu>
4388         perror, strerror_r: remove unportable tests
4389         Problem reported by Florian Weimer in:
4390         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00220.html
4391         * tests/test-perror2.c (main):
4392         * tests/test-strerror_r.c (main): Omit unportable tests.
4394 2020-08-26  Bruno Haible  <bruno@clisp.org>
4396         stdint, wchar, wctype-h: Change configure message.
4397         * m4/wint_t.m4 (gt_TYPE_WINT_T): Say "checking whether wint_t is large
4398         enough..." instead of "checking whether wint_t is too small...".
4400 2020-08-26  Bruno Haible  <bruno@clisp.org>
4402         time_rz: Change configure message.
4403         * m4/time_rz.m4 (gl_TIME_RZ): Say "checking whether localtime works even
4404         near extrema..." instead of "checking whether localtime loops forever
4405         near extrema...".
4407 2020-08-26  Bruno Haible  <bruno@clisp.org>
4409         stdint: Change configure message.
4410         * m4/stdint.m4 (gl_STDINT_H): Say "checking whether stdint.h works
4411         without ISO C predefines..." instead of "checking whether stdint.h
4412         predates C++11...".
4414 2020-08-26  Bruno Haible  <bruno@clisp.org>
4416         socketlib: Change configure message.
4417         * m4/socketlib.m4 (gl_SOCKETLIB): Say "checking for WSAStartup..."
4418         instead of "checking if we need to call WSAStartup in winsock2.h and
4419         -lws2_32...".
4421 2020-08-26  Bruno Haible  <bruno@clisp.org>
4423         include_next: Change configure message.
4424         * m4/include_next.m4 (gl_INCLUDE_NEXT): Say "checking whether source
4425         code line length is unlimited..." instead of "checking whether system
4426         header files limit the line length...".
4428 2020-08-26  Bruno Haible  <bruno@clisp.org>
4430         getcwd: Change configure message.
4431         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Say "checking
4432         whether getcwd succeeds when 4k < cwd_length < 16k..." instead of
4433         "checking whether getcwd aborts when 4k < cwd_length < 16k...".
4435 2020-08-26  Bruno Haible  <bruno@clisp.org>
4437         chdir-long: Change configure message.
4438         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Say "checking whether this
4439         system supports file names of any length..." instead of "checking
4440         whether this system has an arbitrary file name length limit...".
4441         Set gl_cv_have_unlimited_file_name_length instead of
4442         gl_cv_have_arbitrary_file_name_length_limit.
4443         * modules/chdir-long (Depends-on, configure.ac): Update accordingly.
4445 2020-08-26  Bruno Haible  <bruno@clisp.org>
4447         ceill: Change configure message.
4448         * m4/ceill.m4 (gl_FUNC_CEILL): Say "checking whether ceill() works..."
4449         instead of "checking whether ceill() breaks with small values...".
4451 2020-08-26  Bruno Haible  <bruno@clisp.org>
4453         iconv: Change configure message.
4454         * m4/iconv.m4 (AM_ICONV): Say "checking whether iconv is compatible
4455         with its POSIX signature..." instead of "checking for iconv
4456         declaration...". Remove K&R C support.
4458 2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>
4460         getcwd: help the merge back into glibc
4461         This patch was inspired by Adhemerval Zanella’s proposed glibc patches:
4462         https://sourceware.org/pipermail/libc-alpha/2020-August/117294.html
4463         The idea is to make it easier for Gnulib lib/getcwd.c to match
4464         glibc io/getcwd-generic.c.
4465         * lib/getcwd.c [_LIBC]: Do not include pathmax.h.
4466         Include not-cancel.h.
4467         (HAVE_OPENAT, D_INO_IN_DIRENT, HAVE_MSVC_INVALID_PARAMETER_HANDLER)
4468         (HAVE_MINIMALLY_WORKING_GETCWD): Define for the _LIBC case.
4469         (__getcwd, __lstat, __readdir) [!_LIBC]: Remove these macros.
4470         (__close_nocancel_nostatus, __getcwd_generic, stat64, __fstat64)
4471         (__fstatat64, __lstat64, __readdir64, __fdopendir, __openat)
4472         (__rewinddir, __openat64, dirent64) [_LIBC]: New macros.
4473         (__getcwd_generic): Rename from __getcwd.
4474         Use the abovementioned macros for consistency with glibc.
4475         (weak_alias): Remove.
4477 2020-08-25  Bruno Haible  <bruno@clisp.org>
4479         verify: Avoid warnings when assume(0) is used.
4480         Reported by Mattias Engdegård <mattiase@acm.org> via Paul Eggert in
4481         <https://lists.gnu.org/archive/html/emacs-devel/2020-08/msg00838.html>.
4482         * lib/verify.h (assume): Use __builtin_unreachable if the argument is
4483         the constant 0.
4484         * tests/test-verify.c (f): New function.
4485         (state): New type.
4486         (test_assume_expressions, test_assume_optimization,
4487         test_assume_noreturn): New functions.
4489 2020-08-25  Bruno Haible  <bruno@clisp.org>
4491         fstrcmp: Clarification regarding NOTE_ORDERED.
4492         * lib/fstrcmp.c (NOTE_ORDERED): Define to false.
4494 2020-08-24  Paul Eggert  <eggert@cs.ucla.edu>
4496         diffseq: new option NOTE_ORDERED
4497         Problem reported by Phil Sainty <https://bugs.gnu.org/42931>.
4498         * NEWS: Mention this.
4499         * lib/diffseq.h (NOTE_ORDERED): New macro.
4500         (IF_LINT2): Remove; no longer needed.
4501         (compareseq): If (!NOTE_ORDERED), recurse on the smaller
4502         subproblem and iterate to do the larger.
4504 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
4506         sys_types: let Autoconf 2.70 do pid_t
4507         * m4/pid_t.m4 (AC_TYPE_PID_T): Redefine this Autoconf macro
4508         only for Autoconf versions 2.69 and earlier, since 2.70
4509         will be fixed.
4511 2020-08-23  Bruno Haible  <bruno@clisp.org>
4513         tests: Don't assume that pid_t fits in an 'int'.
4514         * tests/test-nonblocking-pipe-main.c (main): Use type 'pid_t' instead
4515         of 'int'.
4516         * tests/test-nonblocking-socket-main.c (main): Likewise.
4518         sys_types: Fix definition of pid_t on 64-bit MSVC.
4519         * m4/pid_t.m4: New file.
4520         * modules/sys_types (Files): Add it.
4521         * modules/dirent (Files): Likewise.
4522         * modules/fcntl-h (Files): Likewise.
4523         * modules/sched (Files): Likewise.
4524         * modules/signal-h (Files): Likewise.
4525         * modules/spawn (Files): Likewise.
4526         * modules/sys_stat (Files): Likewise.
4527         * modules/sys_wait (Files): Likewise.
4528         * modules/termios (Files): Likewise.
4529         * modules/unistd (Files): Likewise.
4531 2020-08-23  Bruno Haible  <bruno@clisp.org>
4533         inttypes: Fix {PRI,SCN}*PTR on 32-bit native Windows (regr. 2020-07-21).
4534         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Fix syntax error in test
4535         program.
4537 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
4539         intprops: be consistent about +X vs X+0
4540         * lib/intprops.h (_GL_SIGNED_INT_MAXIMUM): Simplify.
4542         intprops: fix INT_MULTIPLY_WRAPV bit-field bug
4543         The bug occurs when using INT_MULTIPLY_WRAPV (a, b, c) where B
4544         is a bit-field, on older GCC or non-GCC compilers where we do
4545         things ourselves instead of using __builtin_mul_overflow.
4546         Without this fix, INT_MULTIPLY_WRAPV would not compile, due
4547         to applying sizeof to a bit-field.
4548         * lib/intprops.h (_GL_INT_MULTIPLY_RANGE_OVERFLOW):
4549         Promote B before giving it to TYPE_WIDTH, in case B is a bit-field.
4551 2020-08-23  Bruno Haible  <bruno@clisp.org>
4553         supersede: Avoid a failure when writing to /dev/null in Solaris zones.
4554         Reported by Jörg Sonnenberger <joerg@netbsd.org>
4555         via Thomas Klausner <tk@giga.or.at> in
4556         <https://pkgsrc.se/files.php?messageId=20200812233110.30230FB28@cvs.NetBSD.org>.
4557         * lib/supersede.c (open_supersede): When opening an existing non-regular
4558         file on Solaris, use O_CREAT although it should not be necessary.
4560 2020-08-23  Bruno Haible  <bruno@clisp.org>
4562         verify: Make assume work on bit field expressions (regr. 2020-08-22).
4563         Reported by Benno Schulenberg <bensberg@telfort.nl> in
4564         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00202.html>.
4565         * lib/verify.h (assume): Use '_Bool' or 'bool' as type of the temporary
4566         variable.
4568 2020-08-23  Bruno Haible  <bruno@clisp.org>
4570         libc-config: Improve comments.
4571         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Explain why we
4572         cannot use clang's __diagnose_if__ here.
4574 2020-08-22  Bruno Haible  <bruno@clisp.org>
4576         verify: Do use __builtin_assume on clang.
4577         * lib/verify.h (assume): Use clang’s __builtin_assume, with a temporary
4578         variable in a statement expression.
4580 2020-08-22  Bruno Haible  <bruno@clisp.org>
4582         sig2str: Add more signals.
4583         * lib/sig2str.c (numname_table): Add SIGCPUFAIL, SIGTHR, SIGBREAK.
4585 2020-08-22  Bruno Haible  <bruno@clisp.org>
4587         doc: Update for OpenBSD 6.0, 6.7.
4588         * doc/*/*.texi: Update.
4589         * m4/printf.m4: Update comments and cross-compilation guesses.
4590         * m4/ceill.m4: Update comments.
4591         * m4/getcwd-abort-bug.m4: Likewise.
4592         * m4/ilogb.m4: Likewise.
4593         * m4/ilogbf.m4: Likewise.
4594         * m4/langinfo_h.m4: Likewise.
4595         * m4/modf.m4: Likewise.
4596         * m4/modff.m4: Likewise.
4598 2020-08-22  Bruno Haible  <bruno@clisp.org>
4600         doc: Mention sig2str module.
4601         * doc/glibc-functions/sigabbrev_np.texi: Mention the sig2str module.
4603 2020-08-21  Bruno Haible  <bruno@clisp.org>
4605         sigdescr_np: Add tests.
4606         * tests/test-sigdescr_np.c: New file.
4607         * modules/sigdescr_np-tests: New file.
4609         sigdescr_np: New module.
4610         * lib/string.in.h (sigdescr_np): New declaration.
4611         * lib/sigdescr_np.c: New file.
4612         * m4/sigdescr_np.m4: New file.
4613         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigdescr_np is
4614         declared.
4615         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGDESCR_NP,
4616         HAVE_SIGDESCR_NP.
4617         * modules/string (Makefile.am): Substitute GNULIB_SIGDESCR_NP,
4618         HAVE_SIGDESCR_NP.
4619         * modules/sigdescr_np: New file.
4620         * tests/test-string-c++.cc: Verify the signature of sigdescr_np.
4621         * doc/glibc-functions/sigdescr_np.texi: Mention the new module.
4623 2020-08-20  Bruno Haible  <bruno@clisp.org>
4625         sigabbrev_np: Add tests.
4626         * tests/test-sigabbrev_np.c: New file.
4627         * modules/sigabbrev_np-tests: New file.
4629         sigabbrev_np: New module.
4630         * lib/string.in.h (sigabbrev_np): New declaration.
4631         * lib/sigabbrev_np.c: New file.
4632         * m4/sigabbrev_np.m4: New file.
4633         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigabbrev_np is
4634         declared.
4635         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGABBREV_NP,
4636         HAVE_SIGABBREV_NP.
4637         * modules/string (Makefile.am): Substitute GNULIB_SIGABBREV_NP,
4638         HAVE_SIGABBREV_NP.
4639         * modules/sigabbrev_np: New file.
4640         * tests/test-string-c++.cc: Verify the signature of sigabbrev_np.
4641         * doc/glibc-functions/sigabbrev_np.texi: Mention the new module.
4643 2020-08-20  Bruno Haible  <bruno@clisp.org>
4645         stdalign tests: Skip test with AIX xlclang.
4646         * tests/test-stdalign.c (main): Skip alignas tests with AIX xlclang.
4648 2020-08-20  Bruno Haible  <bruno@clisp.org>
4650         stdalign: Fix test failures on 32-bit platforms with clang versions < 8.
4651         * lib/stdalign.in.h (_Alignof): For clang versions < 8, use the same
4652         workaround as for GCC versions < 4.9.
4654 2020-08-20  Siddhesh Poyarekar  <siddhesh@gotplt.org>
4656         Sync up ProjectQuirks comments and documentation
4657         Transform the ProjectQuirks comments into a docstring so that it can
4658         be accessed from python as ProjectQuirks.__doc__ and harmonize
4659         descriptions with the documentation.
4660         * build-aux/vcstocl/projectquirks.py (ProjectQuirks):
4661         Transform comments into a docstring.
4662         * doc/vcs-to-changelog.texi: Sync up description with comments.
4664         Split ProjectQuirks out into its own file
4665         ProjectQuirks is used by external quirks files and importing it from
4666         vcs-to-changelog.py is broken since it was renamed to use hyphens.  It
4667         is cleaner to put it in its own file anyway.
4668         * build-aux/vcstocl/projectquirks.py: A new file...
4669         * build-aux/vcs-to-changelog.py (ProjectQuirks): ...to which
4670         we move ProjectQuirks and import the file.
4672 2020-08-19  Bruno Haible  <bruno@clisp.org>
4674         uchar: Fix compilation errors in C++ mode on macOS.
4675         * m4/uchar.m4 (gl_UCHAR_H): Require gl_ANSI_CXX if present. Include some
4676         system header file before attempting to use 'char16_t' and 'char32_t'.
4678 2020-08-19  Bruno Haible  <bruno@clisp.org>
4680         ansi-c++-opt: Work around an autoconf macro reordering problem.
4681         * modules/ansi-c++-opt: Require gl_ANSI_CXX already in the early
4682         section.
4684 2020-08-19  Bruno Haible  <bruno@clisp.org>
4686         math C++ tests: Fix compilation error in with GCC 10.
4687         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
4688         hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder, rint,
4689         round, trunc): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
4691 2020-08-19  Bruno Haible  <bruno@clisp.org>
4693         uchar: Fix compilation errors in C++ mode on OpenBSD.
4694         * lib/uchar.in.h (char16_t, char32_t): Don't define in C++ mode if
4695         CXX_HAS_UCHAR_TYPES is 1.
4696         * m4/uchar.m4 (gl_UCHAR_H): Determine whether the C++ compiler
4697         predefines char16_t and char32_t. Substitute CXX_HAS_UCHAR_TYPES.
4698         * modules/uchar (Makefile.am): Substitute CXX_HAS_UCHAR_TYPES.
4700 2020-08-19  Bruno Haible  <bruno@clisp.org>
4702         Fix compilation errors in C++ mode on OpenBSD.
4703         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on
4704         OpenBSD with clang, use the approach without C preprocessor macro.
4706 2020-08-18  Bruno Haible  <bruno@clisp.org>
4708         uchar C++ tests: Fix side effect on math modules (regr. 2020-08-17).
4709         * modules/uchar-c++-tests (configure.ac): Don't use AC_LANG_PUSH and
4710         AC_LANG_POP.
4712 2020-08-17  Paul Eggert  <eggert@cs.ucla.edu>
4714         verify: avoid __built_assume on Clang
4715         * lib/verify.h (assume): Do not use Clang’s __builtin_assume, as
4716         Clang 9 incorrectly diagnoses arguments as having side effects
4717         even when they do not.  I guess Clang 9 considers any function
4718         call as if it had a side effect here.
4720         libc-config: avoid Clang’s __diagnose_if__
4721         * lib/cdefs.h (__warndecl, __warnattr, __errordecl):
4722         For now, do not use __diagnose_if__ here, as this fails
4723         on Fedora 31 with Clang 9.0.1, with diagnostic
4724         "/usr/include/bits/stdio2.h:263:9: error: fgets called with bigger
4725         size than length of destination buffer
4726         [-Werror,-Wuser-defined-warnings]".  I guess Clang 9 warns even
4727         for functions that are not called?
4729         careadlinkat: speedup for GCC 10 with GCC_LINT
4730         Inspired by a suggestion by Bruno Haible in:
4731         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00155.html
4732         * lib/careadlinkat.c (STACK_BUF_SIZE): New constant.
4733         (readlink_stk): New function, with most of the old careadlinkat
4734         contents and with a new STACK_BUF arg.  Inline it in GCC 10
4735         if GCC_LINT.
4736         (careadlinkat): Use the new function for everything but the
4737         stack buffer.
4739         * build-aux/gcc-warning.spec: Update comments.
4741 2020-08-17  Bruno Haible  <bruno@clisp.org>
4743         Assume autoconf >= 2.64.
4744         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO_LIMIT always.
4746 2020-08-17  Bruno Haible  <bruno@clisp.org>
4748         Revert autoupdate's revert.
4749         * config/srclist.txt: Mark regcomp.c as needing sync with glibc.
4751 2020-08-17  Bruno Haible  <bruno@clisp.org>
4753         uchar C++ tests: Fix build error on FreeBSD 12.
4754         * modules/uchar-c++-tests (configure.ac): Test whether <cuchar> exists.
4755         (Makefile.am): Don't include test-uchar-c++2.cc in the compilation if
4756         <cuchar> does not exist.
4758 2020-08-16  Paul Eggert  <eggert@cs.ucla.edu>
4760         time_rz: remove unused functions
4761         * lib/time_rz.c (isdst_differ, equal_tm): Remove; no longer used.
4763         time_rz: fix issues with mktime_z failures
4764         * lib/time_rz.c (mktime_z): Do not update *TM if revert_tz fails.
4765         Use a cheaper tm_yday test for failed mktime.
4767 2020-08-16  Bruno Haible  <bruno@clisp.org>
4769         intprops test: Strengthen on clang.
4770         * tests/test-intprops.c (VERIFY): Use verify_stmt.
4772 2020-08-16  Bruno Haible  <bruno@clisp.org>
4774         nstrftime: Guide inlining also on clang.
4775         * lib/nstrftime.c (iso_week_days): Inline also on clang.
4777 2020-08-16  Bruno Haible  <bruno@clisp.org>
4779         intprops: Avoid bogus "warning: division by zero is undefined" on clang.
4780         * lib/intprops.h (_GL__GENERIC_BOGUS): Define to 1 on clang.
4782 2020-08-16  Bruno Haible  <bruno@clisp.org>
4784         log2l: Disable MSVC workaround on clang.
4785         * lib/log2l.c (log2l): On clang, use the expression 0.0L/0.0L.
4787 2020-08-16  Bruno Haible  <bruno@clisp.org>
4789         argp: Emit a warning also with clang.
4790         * lib/argp-help.c (__argp_short_program_name): Use #warning also on
4791         clang.
4793 2020-08-16  Bruno Haible  <bruno@clisp.org>
4795         libc-config: Enable __REDIRECT macro also on clang.
4796         * lib/cdefs.h (__REDIRECT, __REDIRECT_NTH, __REDIRECT_NTHNL, __ASMNAME,
4797         __ASMNAME2): Define on clang like on GCC.
4799 2020-08-16  Bruno Haible  <bruno@clisp.org>
4801         regex: Use initializer shorthand syntax also with clang.
4802         * lib/regcomp.c (utf8_sb_map): Use the initializer shorthand syntax also
4803         with clang.
4805 2020-08-16  Bruno Haible  <bruno@clisp.org>
4807         regex: Use space optimization also with clang.
4808         * lib/regex_internal.h (re_token_t): Use a single byte for the type also
4809         with clang.
4811 2020-08-16  Bruno Haible  <bruno@clisp.org>
4813         Use _Static_assert and static_assert primitives when present on clang.
4814         * lib/cdefs.h (_Static_assert): Don't define as a macro on clang.
4815         * lib/verify.h (_GL_HAVE__STATIC_ASSERT, _GL_HAVE__STATIC_ASSERT1,
4816         _GL_HAVE_STATIC_ASSERT1): Define as appropriate on clang.
4818 2020-08-16  Bruno Haible  <bruno@clisp.org>
4820         Use 'throw ()' for optimization in C++ mode also on clang.
4821         * lib/cdefs.h (__THROW): Define to 'throw ()' also on clang.
4822         * lib/getopt-cdefs.in.h (__THROW): Likewise.
4823         * lib/md5.h (__THROW): Likewise.
4825 2020-08-16  Bruno Haible  <bruno@clisp.org>
4827         absolute-header: Add support for clang.
4828         * modules/absolute-header (Makefile.am): Include '__clang__' in the
4829         HAVE_INCLUDE_NEXT expression.
4831 2020-08-16  Bruno Haible  <bruno@clisp.org>
4833         Fix "warning: implicitly declaring library function 'strcasecmp'".
4834         * lib/argp-help.c: Include <strings.h>.
4836 2020-08-16  Bruno Haible  <bruno@clisp.org>
4838         stdio: Don't break attribute 'scanf' on clang.
4839         * lib/stdio.in.h (scanf): Treat clang like GCC.
4841 2020-08-16  Bruno Haible  <bruno@clisp.org>
4843         Use __restrict also on clang.
4844         * lib/argp.h (__restrict): Don't define as a macro on clang >= 3.
4845         * lib/glob.in.h (_Restrict_): Use __restrict on clang >= 3.
4846         * lib/unitypes.in.h (_UC_RESTRICT): Likewise.
4848 2020-08-16  Bruno Haible  <bruno@clisp.org>
4850         pthread-spin: Use GCC built-ins also on clang.
4851         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
4852         pthread_spin_trylock, pthread_spin_unlock): Use the newer GCC built-ins
4853         also on clang.
4855 2020-08-16  Bruno Haible  <bruno@clisp.org>
4857         asyncsafe-spin tests: Update.
4858         * tests/test-asyncsafe-spin2.c: Update to match the change in
4859         lib/asyncsafe-spin.c from 2020-08-11.
4861 2020-08-16  Bruno Haible  <bruno@clisp.org>
4863         setenv: Use tree code also with clang.
4864         * lib/setenv.c (USE_TSEARCH): Treat clang like GCC.
4866 2020-08-16  Bruno Haible  <bruno@clisp.org>
4868         math: Optimize signbit also on clang.
4869         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Optimize also
4870         on clang.
4872 2020-08-16  Bruno Haible  <bruno@clisp.org>
4874         avltreehash-list, rbtreehash-list: Optimize also on clang.
4875         * lib/gl_anytreehash_list1.h (add_nodes_to_buckets): Use
4876         __builtin_expect also on clang.
4878 2020-08-16  Bruno Haible  <bruno@clisp.org>
4880         Fix "warning: 'WSASocketA' is deprecated: Use WSASocketW() instead".
4881         * lib/socket.c: Use WSASocketW, not WSASocketA.
4883         Fix "warning: format specifies type 'unsigned long'".
4884         * tests/test-nonblocking-writer.h (main_writer_loop): Cast dbgfprintf
4885         argument to match the format directive.
4887         Fix "warning: no case matching constant switch condition '0'".
4888         * tests/test-fcntl.c (check_flags): Add a 'default' case.
4890         Fix "warning: integer overflow in expression".
4891         * tests/test-strtol.c (main): Use an 'unsigned long' expression to
4892         remove a 'long' overflow.
4894         Fix "warning: "getpagesize" redefined".
4895         * tests/test-getcwd.c (getpagesize): Don't redefine if defined as a
4896         macro.
4898         Fix "warning: implicitly declaring library function 'strncasecmp'".
4899         * lib/strptime.c: Include <strings.h>.
4901         Fix "warning: 'snprintf' macro redefined".
4902         * lib/strerror_r.c (snprintf): Undefine before redefining.
4904         Fix "warning: address of array 'locale' will always evaluate to 'true'".
4905         * lib/nl_langinfo.c (ctype_codeset): Remove redundant NULL test.
4907         Fix "warning: '__stat64' macro redefined".
4908         * lib/glob.c (__stat64): Undefine also on MSVC/clang.
4910         Fix "warning: 'format' attribute argument not supported: rpl_printf".
4911         * lib/stdio.in.h (printf): Treat clang like GCC.
4913         Fix "warning: attribute declaration must precede definition" with clang.
4914         * lib/math.in.h (acosl, asinl, atanl, ceill, cosl, expl, fabsf, fabsl,
4915         floorl, fmodl, frexpf, frexpl, hypotf, hypotl, ldexpf, ldexpl, logl,
4916         log10l, modfl, sinl, sqrtl, tanl): Disable _GL_CXXALIASWARN invocation
4917         on non-glibc systems.
4918         * lib/netdb.in.h (gai_strerror): Likewise.
4919         * lib/stdio.in.h (snprintf, vfscanf, vscanf, vsnprintf): Likewise.
4920         * lib/sys_stat.in.h (fstat): Likewise.
4921         * lib/utime.in.h (utime): Likewise.
4923         Fix undesired warnings.
4924         * lib/sys_select.in.h: Disable all _GL_WARN_ON_USE invocations with
4925         clang.
4927 2020-08-16  Bruno Haible  <bruno@clisp.org>
4929         C++ tests: Fix link errors on MSVC (regression from 2020-05-31).
4930         * modules/stdio-c++-tests (Makefile.am): Link test-stdio-c++ with
4931         $(LIB_GETRANDOM), needed for the rpl_tmpfile symbol.
4932         * modules/stdlib-c++-tests (Makefile.am): Link test-stdlib-c++ with
4933         $(LIB_GETRANDOM), needed for the mkdtemp and mkstemp symbols.
4935 2020-08-16  Bruno Haible  <bruno@clisp.org>
4937         Don't use Autoconf quadrigraphs.
4938         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Use '#' instead of the corresponding
4939         Autoconf quadrigraph.
4940         * m4/free.m4 (gl_FUNC_FREE): Likewise.
4941         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
4942         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES,
4943         _AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
4944         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
4945         * m4/math_h.m4 (gl_MATH_H): Likewise.
4946         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
4948 2020-08-16  Bruno Haible  <bruno@clisp.org>
4950         Fix quoting of AC_LANG_PROGRAM arguments.
4951         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Quote the AC_LANG_PROGRAM
4952         arguments through [[...]].
4953         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
4954         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
4955         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
4956         * m4/ld-output-def.m4 (gl_LD_OUTPUT_DEF): Likewise.
4957         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Likewise.
4958         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
4959         * m4/mountlist.m4 (gl_MOUNTLIST): Likewise.
4960         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
4961         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
4962         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
4963         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
4964         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
4965         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
4967 2020-08-16  Bruno Haible  <bruno@clisp.org>
4969         Assume autoconf >= 2.64.
4970         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Set to 2.64.
4971         * DEPENDENCIES: Require Autoconf 2.64 or newer.
4972         * NEWS: Mention the changed requirement.
4973         * m4/00gnulib.m4 (_m4_divert_diversion, AC_DEFUN_ONCE): Remove macros.
4974         * m4/gnulib-common.m4 (AS_VAR_IF, AS_VAR_COPY): Remove macros.
4975         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Quote pushdef'ed
4976         variables.
4977         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
4978         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
4979         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
4980         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C), gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++),
4981         gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): Define through AC_DEFUN.
4982         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C), gl_MANYWARN_ALL_GCC(C++)):
4983         Likewise.
4984         * m4/iconv.m4 (AM_ICONV): Define through AC_DEFUN_ONCE directly.
4985         * m4/libunistring.m4 (gl_LIBUNISTRING): Likewise.
4986         * m4/configmake.m4: Update comment.
4988 2020-08-16  Bruno Haible  <bruno@clisp.org>
4990         sys_ioctl: Simplify.
4991         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Remove confusing use of
4992         AC_INCLUDES_DEFAULT.
4994 2020-08-16  Bruno Haible  <bruno@clisp.org>
4996         Fix quoting of AC_LANG_SOURCE arguments.
4997         * m4/printf.m4 (gl_PRINTF_ENOMEM): Fix an m4 quoting bug in the
4998         GL_NOCRASH expansion.
4999         * m4/locale-ar.m4 (gt_LOCALE_AR): Simplify m4 quoting.
5000         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
5001         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
5002         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
5003         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
5005 2020-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5007         nstrftime: be more predictable about errno
5008         This aligns nstrftime better with draft POSIX 202x strftime.
5009         * lib/nstrftime.c: Include errno.h.
5010         (width_add, __strftime_internal): Set errno on failure,
5011         and preserve it on success.  Check for mktime_z failure.
5012         * modules/nstrftime (Depends-on): Add errno.
5013         * modules/nstrftime-tests (Depends-on): Add atoll, intprops.
5014         * tests/test-nstrftime.c: Include intprops.h, limits.h.
5015         (errno_test): New test function.
5016         (main): Call it.
5018 2020-08-15  Bruno Haible  <bruno@clisp.org>
5020         canonicalize: Fix a problem of the autoconf test on MSVC/clang.
5021         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Remove undesired file
5022         from dependency analysis first.
5024 2020-08-15  Bruno Haible  <bruno@clisp.org>
5026         Determine asm output option and filename suffix for MSVC/clang.
5027         * m4/asm-underscore.m4 (gl_C_ASM): Distinguish clang from cl and
5028         clang-cl.
5030 2020-08-15  Bruno Haible  <bruno@clisp.org>
5032         doc: Update for MSVC/clang.
5033         * doc/*-functions/*printf.texi: Mention that MSVC/clang has two bugs
5034         that MSVC 14 does not have.
5036 2020-08-15  Bruno Haible  <bruno@clisp.org>
5038         Revert autoupdate's revert.
5039         * config/srclist.txt: Mark mktime.c as needing sync with glibc.
5041 2020-08-15  Bruno Haible  <bruno@clisp.org>
5043         frexpl: Fix configuration test result on MSVC.
5044         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Avoid a division by a constant
5045         zero.
5047 2020-08-15  Bruno Haible  <bruno@clisp.org>
5049         Support compiling without -loldnames on native Windows.
5050         * m4/gnulib-common.m4 (GL_MDA_DEFINES, _GL_MDA_DEFINES): New macros.
5051         * m4/chown.m4 (AC_FUNC_CHOWN): In the test programs, use GL_MDA_DEFINES.
5052         (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
5053         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
5054         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
5055         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
5056         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Likewise.
5057         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Likewise.
5058         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
5059         * m4/fcntl.m4 (gl_FUNC_FCNTL): Likewise.
5060         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
5061         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
5062         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
5063         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): Likewise.
5064         * m4/freopen.m4 (gl_FUNC_FREOPEN): Likewise.
5065         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
5066         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
5067         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5068         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL, gl_FUNC_GETCWD_SIGNATURE):
5069         Likewise.
5070         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Likewise.
5071         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
5072         * m4/lseek.m4 (gl_FUNC_LSEEK): Likewise.
5073         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
5074         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
5075         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
5076         * m4/open-slash.m4 (gl_OPEN_TRAILING_SLASH_BUG): Likewise.
5077         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
5078         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
5079         * m4/pread.m4 (gl_FUNC_PREAD): Likewise.
5080         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
5081         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Likewise.
5082         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
5083         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
5084         * m4/pwrite.m4 (gl_FUNC_PWRITE): Likewise.
5085         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
5086         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
5087         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
5088         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
5089         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
5090         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
5091         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
5092         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5093         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
5094         * m4/utimens.m4 (gl_UTIMENS): Likewise.
5095         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
5096         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
5097         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): On native Windows, don't
5098         test for getcwd.
5099         * m4/utime.m4 (gl_FUNC_UTIME): On native Windows, don't test for utime.
5100         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): To test for wcsdup, use a test program
5101         with GL_MDA_DEFINES.
5102         * lib/c++defs.h (_GL_CXXALIAS_MDA): New macro.
5103         * lib/fcntl.in.h (creat, open):  On native Windows, use the underscore-
5104         prefixed symbol.
5105         * lib/search.in.h (lfind, lsearch): Likewise.
5106         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
5107         Likewise.
5108         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
5109         * lib/string.in.h (memccpy, strdup): Likewise.
5110         * lib/sys_stat.in.h (chmod, umask): Likewise.
5111         * lib/time.in.h (tzset): Likewise.
5112         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
5113         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
5114         read, rmdir, swab, unlink, write): Likewise.
5115         * lib/utime.in.h (utime): Likewise.
5116         * lib/wchar.in.h (wcsdup): Likewise.
5117         * lib/math.in.h (j0, j1, jn, y0, y1, yn):  Likewise.
5118         (isfinite, isinf, isnan, signbit): On native Windows, don't define as an
5119         rpl_-prefixed macro.
5120         * lib/canonicalize-lgpl.c (__getcwd): On native Windows, use _getcwd.
5121         * lib/close.c (close_nothrow): On native Windows, use _close.
5122         * lib/creat.c (orig_creat): On native Windows, use _creat.
5123         * lib/dup.c (dup_nothrow): On native Windows, use _dup.
5124         * lib/dup2.c (dup2_nothrow): Use _dup2.
5125         * lib/fdopen.c (fdopen_nothrow): On native Windows, use _fdopen.
5126         * lib/getcwd-lgpl.c: On native Windows, use _getcwd.
5127         * lib/getcwd.c (getcwd_nothrow): Use _getcwd also on mingw.
5128         * lib/open.c (orig_open): On native Windows, use _open.
5129         * lib/read.c (read_nothrow): Use _read.
5130         * lib/rmdir.c: On native Windows, use _rmdir.
5131         * lib/unlink.c: On native Windows, use _unlink.
5132         * lib/write.c (write_nothrow): Use _write.
5133         * lib/sys_select.in.h (close): With clang, don't attach a warning on an
5134         undefined symbol.
5135         * lib/sys_socket.in.h (close): Likewise.
5136         * lib/sys_time.in.h (close): Likewise.
5137         * tests/test-spawn-pipe-child.c: On native Windows, use _fdopen.
5139 2020-08-15  Bruno Haible  <bruno@clisp.org>
5141         Fix "unknown pragma ignored" warnings with clang on native Windows.
5142         * lib/cbrt.c: Don't use '#pragma fenv_access (off)' with clang.
5143         * lib/cbrtf.c: Likewise.
5144         * lib/ceil.c: Likewise.
5145         * lib/floor.c: Likewise.
5146         * lib/fma.c: Likewise.
5147         * lib/fmod.c: Likewise.
5148         * lib/rint.c: Likewise.
5149         * lib/round.c: Likewise.
5150         * lib/trunc.c: Likewise.
5151         * tests/test-ceil2.c: Likewise.
5152         * tests/test-ceilf2.c: Likewise.
5153         * tests/test-floor2.c: Likewise.
5154         * tests/test-floorf2.c: Likewise.
5155         * tests/test-trunc2.c: Likewise.
5156         * tests/test-truncf2.c: Likewise.
5157         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
5158         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5160 2020-08-15  Bruno Haible  <bruno@clisp.org>
5162         Fix compilation errors in C++ mode with clang on native Windows.
5163         * lib/pthread.in.h (pthread_*): Disable _GL_CXXALIASWARN invocation on
5164         non-glibc systems.
5165         * lib/sched.in.h (sched_yield): Likewise.
5167 2020-08-14  Bruno Haible  <bruno@clisp.org>
5169         stdnoreturn: Work around problem with MSVC/clang.
5170         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On native Windows, include some
5171         system header after <stdnoreturn.h>.
5172         * doc/posix-headers/stdnoreturn.texi: Mention the issue.
5174 2020-08-14  Bruno Haible  <bruno@clisp.org>
5176         utime-h: Generate an utime.h file always.
5177         * modules/utime-h (Makefile.am): Generate utime.h always.
5178         * m4/utime_h.m4 (gl_UTIME_H): Don't set UTIME_H. Don't define
5179         GL_GENERATE_UTIME_H.
5181 2020-08-14  Bruno Haible  <bruno@clisp.org>
5183         mktime, mktime-internal: Remove obsolete code.
5184         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't #undef putenv.
5186 2020-08-14  Bruno Haible  <bruno@clisp.org>
5188         getcwd: Remove obsolete code.
5189         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't #undef mkdir.
5190         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5192 2020-08-14  Bruno Haible  <bruno@clisp.org>
5194         tzset: Assume the function exists.
5195         * lib/time.in.h (tzset): Assume HAVE_TZSET is 1.
5196         * lib/tzset.c: Define rpl_tzset, not tzset. Assume HAVE_TZSET is 1.
5197         * modules/tzset (configure.ac): Don't test HAVE_TZSET.
5198         * m4/tzset.m4 (gl_FUNC_TZSET): Don't test for tzset. Don't set
5199         HAVE_TZSET.
5200         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Don't initialize HAVE_TZSET.
5201         * modules/time (Makefile.am): Don't substitute HAVE_TZSET.
5203         nstrftime: Assume tzset exists.
5204         * lib/nstrftime.c (HAVE_TZSET): Remove macro.
5205         (__strftime_internal): Test my_strftime, not HAVE_TZSET.
5206         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Don't test for tzset.
5208         mktime, mktime-internal: Assume tzset exists.
5209         * lib/mktime.c (my_tzset): Assume HAVE_TZSET is 1.
5210         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't test for tzset.
5212 2020-08-14  Bruno Haible  <bruno@clisp.org>
5214         strdup: Assume the function exists.
5215         * m4/strdup.m4 (gl_FUNC_STRDUP, gl_FUNC_STRDUP_POSIX): Don't test
5216         whether strdup exists.
5217         * modules/strdup (Files): Remove lib/strdup.c.
5218         (configure.ac): Don't compile strdup.c.
5219         * modules/strdup-posix (Depends-on, configure.ac): Don't test
5220         ac_cv_func_strdup.
5221         * doc/posix-functions/strdup.texi: Update.
5222         * lib/unistr/u8-strdup.c: Assume HAVE_STRDUP is 1.
5223         * modules/unistr/u8-strdup (Files): Remove lib/unistr/u-strdup.h.
5224         (Depends-on): Remove unistr/u8-strlen.
5226 2020-08-13  Bruno Haible  <bruno@clisp.org>
5228         sys_random: Work around an uClibc bug.
5229         Reported by akater <nuclearspace@gmail.com>
5230         via Stefan Kangas <stefan@marxist.se>
5231         in <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=42236>.
5232         * lib/sys_random.in.h: On uClibc, include <stddef.h> first.
5233         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Update comment.
5234         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
5235         * doc/glibc-headers/sys_random.texi: Mention the uClibc bug.
5237 2020-08-12  Bruno Haible  <bruno@clisp.org>
5239         Avoid implicit conversion from 'unsigned int' to 'int' in initializers.
5240         Reported by Florian Weimer in
5241         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00086.html>.
5242         * lib/gen-uni-tables.c (output_predicate): Change the element type of
5243         the level3 array to 'unsigned int'.
5244         * lib/unictype/bitmap.h (bitmap_lookup): Access an 'unsigned int'.
5245         * lib/unictype/categ_*.h: Regenerated.
5246         * lib/unictype/ctype_*.h: Regenerated.
5247         * lib/unictype/pr_*.h: Regenerated.
5248         * lib/unictype/sy_*.h: Regenerated.
5249         * lib/unicase/cased.h: Regenerated.
5250         * lib/unicase/ignorable.h: Regenerated.
5252 2020-08-12  Paul Eggert  <eggert@cs.ucla.edu>
5254         stdint: port intptr_t to more-recent MinGW
5255         Problem reported by Eli Zaretskii in <https://bugs.gnu.org/36597#106>.
5256         * lib/stdint.in.h (intptr_t, uintptr_t): Do not define on MinGW,
5257         even if _INTPTR_T_DEFINED and _UINTPTR_T_DEFINED are not defined.
5258         Apparently those two macros were removed in mingwrt-3.22
5259         dated 2016-07-14.
5261 2020-08-12  Bruno Haible  <bruno@clisp.org>
5263         thread-optim: Export function-like macros only.
5264         Suggested by Paul Eggert.
5265         * lib/thread-optim.h (gl_multithreaded): New macro.
5266         (IF_MT_DECL, IF_MT): Remove macros.
5267         * doc/multithread.texi (Multithreading Optimizations): Add a small
5268         example.
5269         * lib/fatal-signal.c: Update all uses.
5270         * lib/clean-temp.c: Likewise.
5271         * lib/localename.c: Likewise.
5272         * modules/localename (Depends-on): Add stdbool.
5274 2020-08-12  Bruno Haible  <bruno@clisp.org>
5276         Revert autoupdate's revert.
5277         * config/srclist.txt: Mark regex.h as needing sync with glibc.
5279 2020-08-11  Bruno Haible  <bruno@clisp.org>
5281         thread-optim: Fix a compiler warning.
5282         * lib/thread-optim.h (IF_MT_DECL): Define differently.
5284 2020-08-11  Bruno Haible  <bruno@clisp.org>
5286         Use __restrict also on clang.
5287         * lib/cdefs.h (__restrict): Don't define as a macro on clang.
5288         (__restrict_arr): On clang, define like on GCC.
5289         * lib/regex.h (_Restrict_): Use '__restrict' also on clang.
5290         (_Restrict_arr_): Use _Restrict_ also on clang.
5291         * lib/spawn.in.h (_Restrict_): Use '__restrict' also on clang.
5292         (_Restrict_arr_): Use _Restrict_ also on clang.
5294 2020-08-11  Bruno Haible  <bruno@clisp.org>
5296         Use flexible array syntax also on clang.
5297         * lib/cdefs.h (__flexarr, __glibc_c99_flexarr_available): For clang,
5298         define like for GCC 3.
5300 2020-08-11  Bruno Haible  <bruno@clisp.org>
5302         fcntl: On native Windows, use _setmode, not setmode.
5303         * lib/fcntl.c (dupfd): Use _setmode, not setmode.
5304         * lib/binary-io.h: Update comment.
5305         * tests/test-cloexec.c: Call set_binary_mode, not setmode.
5306         * tests/test-dup2.c: Likewise.
5307         * tests/test-dup-safer.c: Likewise.
5308         * tests/test-fcntl.c: Likewise.
5310 2020-08-11  Bruno Haible  <bruno@clisp.org>
5312         execute, spawn-pipe: Use _spawnvpe, not spawnvpe.
5313         * lib/execute.c (execute): Use _spawnvpe, not spawnvpe.
5314         * lib/spawn-pipe.c (create_pipe): Likewise.
5315         * tests/test-nonblocking-pipe-main.c (main): Likewise.
5316         * tests/test-nonblocking-socket-main.c (main): Likewise.
5317         * lib/wait-process.c: Update comment.
5318         * doc/posix-functions/fork.texi: Update.
5320 2020-08-11  Bruno Haible  <bruno@clisp.org>
5322         asyncsafe-spin: Use GCC built-ins also on clang.
5323         * lib/asyncsafe-spin.c (asyncsafe_spin_init, do_lock, do_unlock): Use
5324         the newer GCC built-ins also on clang.
5326 2020-08-11  Bruno Haible  <bruno@clisp.org>
5328         Use expression statements also on clang.
5329         * lib/cdefs.h (__extension__): Don't define to empty on clang.
5330         * lib/obstack.h (__extension__): Likewise.
5331         (obstack_object_size, obstack_room, obstack_make_room, obstack_empty_p,
5332         obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
5333         obstack_int_grow, obstack_ptr_grow_fast, obstack_int_grow_fast,
5334         obstack_blank, obstack_alloc, obstack_copy, obstack_copy0,
5335         obstack_finish, obstack_free): Enable as optimized macros also on clang.
5336         * lib/fpucw.h (fpucw_t etc.): Enable the definitions also on clang.
5338 2020-08-10  Bruno Haible  <bruno@clisp.org>
5340         Use many __attribute__s with clang.
5341         * m4/gnulib-common.m4 (_Noreturn): Use __attribute__ __noreturn__ also
5342         on clang.
5343         * lib/cdefs.h (__glibc_clang_has_attribute, __glibc_clang_has_builtin):
5344         New macros.
5345         (__THROW, __THROWNL, __NTH, __NTHNL): Use __attribute__ __nothrow__ also
5346         on clang.
5347         (__warndecl, __warnattr, __errordecl): Use __attribute__ __diagnose_if__
5348         also on older clang versions.
5349         (__attribute__): Don't define to empty on clang.
5350         (__attribute_malloc__): Use __attribute__ __malloc__ also on clang.
5351         (__attribute_pure__): Use __attribute__ __pure__ also on clang.
5352         (__attribute_const__): Use __attribute__ __const__ also on clang.
5353         (__attribute_used__): Use __attribute__ __used__ also on clang.
5354         (__attribute_noinline__): Use __attribute__ __noinline__ also on clang.
5355         (__attribute_deprecated__): Use __attribute__ __deprecated__ also on
5356         clang.
5357         (__attribute_format_arg__): Use __attribute__ __format_arg__ also on
5358         clang.
5359         (__attribute_format_strfmon__): Use __attribute__ __format__ __strfmon__
5360         also on clang.
5361         (__nonnull): Use __attribute__ __nonnull__ also on clang.
5362         (__attribute_warn_unused_result__): Use __attribute__
5363         __warn_unused_result__ also on clang.
5364         (__always_inline): Use __attribute__ __always_inline__ also on clang.
5365         (__attribute_artificial__): Use __attribute__ __artificial__ also on
5366         clang >= 7.
5367         (__glibc_unlikely, __glibc_likely): Use __builtin_expect also on older
5368         clang versions.
5369         (_Noreturn): Don't redefine on clang >= 3.5.
5370         * lib/arg-nonnull.h (_GL_ARG_NONNULL): Use __attribute__ __nonnull__
5371         also on clang.
5372         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Use __attribute__ __pure__ also
5373         on clang.
5374         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
5375         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
5376         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
5377         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Use __attribute__ __format__
5378         also on clang.
5379         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
5380         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Likewise.
5381         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST): Use __attribute__ __const__
5382         also on clang.
5383         (_UC_ATTRIBUTE_PURE): Use __attribute__ __pure__ also on clang.
5384         * lib/noreturn.h (_GL_NORETURN_FUNC, _GL_NORETURN_FUNCPTR): Use
5385         __attribute__ __noreturn__ also on clang.
5386         * lib/obstack.h (__attribute_noreturn__): Likewise.
5387         * lib/file-set.h (record_file): Use __attribute__ __nonnull__ also on
5388         clang.
5389         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__
5390         always_inline also on clang.
5391         * tests/test-printf-posix.c (func1, func2, func3, func4): Test also on
5392         clang.
5394 2020-08-10  Bruno Haible  <bruno@clisp.org>
5396         c-ldtoastr tests: Fix test failure.
5397         * tests/test-c-ldtoastr.c (main): Support platforms where 'long double'
5398         is longer than 'double'.
5400 2020-08-10  Bruno Haible  <bruno@clisp.org>
5402         Revert autoupdate's revert.
5403         * config/srclist.txt: Mark intprops.h as needing sync with glibc.
5405 2020-08-09  Bruno Haible  <bruno@clisp.org>
5407         string: Fix build error in C++ mode with clang (regression from today).
5408         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): Expect two rettype
5409         parameters, one for GCC, one for clang.
5410         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Update.
5411         * lib/string.in.h (strchr, strpbrk, strrchr): For clang, pass 'char *'
5412         as return type.
5414 2020-08-09  Bruno Haible  <bruno@clisp.org>
5416         ftruncate: Use _chsize, not chsize.
5417         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Test for _chsize, not chsize.
5418         * lib/ftruncate.c: Test HAVE__CHSIZE.
5419         (chsize_nothrow): Use _chsize, not chsize.
5421 2020-08-09  Bruno Haible  <bruno@clisp.org>
5423         Silence warnings from clang 10 with -Wimplicit-fallthrough.
5424         * lib/dfa.c (FALLTHROUGH): Use __attribute__ __fallthrough__ also on
5425         clang >= 10.
5426         * lib/fnmatch.c (FALLTHROUGH): Likewise.
5427         * lib/fts.c (FALLTHROUGH): Likewise.
5428         * tests/macros.h (FALLTHROUGH): Likewise.
5429         * lib/regex_internal.h (FALLTHROUGH): Likewise.
5430         * config/srclist.txt: Mark it as needing sync with glibc.
5432 2020-08-09  Bruno Haible  <bruno@clisp.org>
5434         stdbool tests: Enable the stricter tests also on clang.
5435         * tests/test-stdbool.c (ADDRESS_CHECK_OKAY): Define also on clang.
5436         (e): Enable the address-to-bool conversion test also on clang.
5438 2020-08-09  Bruno Haible  <bruno@clisp.org>
5440         count-one-bits: Use __builtin_popcount{,l,ll} on clang.
5441         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the GCC built-in.
5443 2020-08-09  Bruno Haible  <bruno@clisp.org>
5445         Use attribute __aligned__ with clang.
5446         * lib/stdalign.in.h (_Alignas): Treat clang like GCC.
5447         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS): Likewise.
5449 2020-08-09  Bruno Haible  <bruno@clisp.org>
5451         Use __alignof__ with clang.
5452         * m4/stddef_h.m4 (gl_STDDEF_H): Test the alignment of max_align_t also
5453         on clang.
5454         * lib/alignof.h (alignof_type): Use __alignof__ also on clang.
5455         * lib/stdalign.in.h (_Alignof): Don't activate the GCC workaround on
5456         clang.
5457         * lib/malloca.h (sa_alignof): Use __alignof__ also on clang.
5458         * lib/bitset/list.c (lbitset_elt_alloc): Use __alignof__ also on clang.
5459         * lib/bitset/table.c (tbitset_elt_alloc): Likewise.
5460         * tests/test-stddef.c: Very the behaviour of __alignof__ also on clang.
5462 2020-08-09  Bruno Haible  <bruno@clisp.org>
5464         ignore-value: Simplify on clang.
5465         * lib/ignore-value.h (ignore_value): With clang, no need to use the GCC
5466         workaround.
5468 2020-08-09  Bruno Haible  <bruno@clisp.org>
5470         Use __typeof__ with clang.
5471         * m4/stdint.m4 (gl_STDINT_H): Check for SIZE_MAX also on
5472         "clang -std=gnu99".
5473         * lib/intprops.h (_GL_HAVE___TYPEOF__): Define to 1 also on clang.
5474         * tests/test-stdint.c (verify_same_types): Enable the check also on
5475         clang.
5477 2020-08-09  Bruno Haible  <bruno@clisp.org>
5479         Add ability to emit user-defined warnings and errors with clang.
5480         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _GL_ATTRIBUTE_ERROR,
5481         _GL_ATTRIBUTE_WARNING using an attribute for clang.
5482         * lib/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_ATTRIBUTE,
5483         _GL_WARN_ON_USE_CXX): Define using an attribute for clang.
5484         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Define using an
5485         attribute for clang.
5487 2020-08-09  Bruno Haible  <bruno@clisp.org>
5489         intprops: Fix typo in comment.
5490         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P): Fix typo in comment.
5492 2020-08-09  Bruno Haible  <bruno@clisp.org>
5494         Use __builtin_signbit* with clang.
5495         * lib/math.in.h (signbit): Use __builtin_signbit{,f,l} also on clang.
5496         * m4/signbit.m4 (gl_SIGNBIT): Use __builtin_signbit{,f,l} also on clang.
5497         Set REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
5498         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
5499         REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
5500         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_BUILTINS,
5501         not REPLACE_SIGNBIT_USING_GCC.
5503 2020-08-09  Bruno Haible  <bruno@clisp.org>
5505         Use __builtin_isnan with clang.
5506         * lib/isnanf-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
5507         not __builtin_isnanf. Also on clang.
5508         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Use the GCC
5509         built-in __builtin_isnan, not __builtin_isnanf. Also on clang.
5510         * lib/isnand-nolibm.h (isnand): With clang, use the GCC built-in.
5511         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): With clang, use the GCC
5512         built-in.
5513         * lib/isnanl-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
5514         not __builtin_isnanl. Also on clang.
5515         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_FUNC_ISNANL_WORKS): Use the
5516         GCC built-in __builtin_isnan, not __builtin_isnanl. Also on clang.
5517         * lib/math.in.h (__has_builtin): Remove macro.
5518         (isnanf, gl_isnan_f): Use the GCC built-in __builtin_isnan, not
5519         __builtin_isnanf. Also on clang.
5520         (isnand, gl_isnan_d): With clang, use the GCC built-in.
5521         (isnanl, gl_isnan_l): Use the GCC built-in __builtin_isnan, not
5522         __builtin_isnanl. Also on clang.
5523         (isnan): Use the GCC built-in __builtin_isnan in all three cases. Also
5524         on clang.
5526 2020-08-09  Bruno Haible  <bruno@clisp.org>
5528         thread-optim: Fix logic error.
5529         Reported by Paul Eggert.
5530         * lib/thread-optim.h (IF_MT): Fix logic error.
5532 2020-08-08  Bruno Haible  <bruno@clisp.org>
5534         localename: Use module 'thread-optim'.
5535         * lib/localename.c: Include thread-optim.h.
5536         (struniq): Use IF_MT macro.
5537         * modules/localename (Depends-on): Add thread-optim.
5539         clean-temp: Use module 'thread-optim'.
5540         * lib/clean-temp.c: Include thread-optim.h.
5541         (register_temporary_file, unregister_temporary_file, create_temp_dir,
5542         register_temp_file, unregister_temp_file, register_temp_subdir,
5543         unregister_temp_subdir, cleanup_temp_dir_contents, register_fd,
5544         close_temp, fclose_variant_temp): Use IF_MT macro.
5545         * modules/clean-temp (Depends-on): Add thread-optim.
5547         fatal-signal: Use module 'thread-optim'.
5548         * lib/fatal-signal.c: Include thread-optim.h.
5549         (at_fatal_signal, block_fatal_signals, unblock_fatal_signals): Use IF_MT
5550         macro.
5551         * modules/fatal-signal (Depends-on): Add thread-optim.
5553 2020-08-08  Bruno Haible  <bruno@clisp.org>
5555         New module 'thread-optim'.
5556         * lib/thread-optim.h: New file.
5557         * modules/thread-optim: New file.
5558         * doc/multithread.texi (Multithreading Optimizations): New section.
5560 2020-08-07  Paul Eggert  <eggert@cs.ucla.edu>
5562         doc: more updates for glibc 2.32
5563         * doc/glibc-functions/lchmod.texi, doc/posix-functions/faccessat.texi:
5564         * doc/posix-functions/fchmodat.texi: Update.
5566 2020-08-07  Bruno Haible  <bruno@clisp.org>
5568         doc: Update for glibc 2.32.
5569         * doc/glibc-functions/__libc_single_threaded.texi: New file.
5570         * doc/glibc-functions/pthread_attr_getsigmask_np.texi: New file.
5571         * doc/glibc-functions/pthread_attr_setsigmask_np.texi: New file.
5572         * doc/glibc-functions/sigabbrev_np.texi: New file.
5573         * doc/glibc-functions/sigdescr_np.texi: New file.
5574         * doc/glibc-functions/strerrordesc_np.texi: New file.
5575         * doc/glibc-functions/strerrorname_np.texi: New file.
5576         * doc/gnulib.texi: Include them.
5577         (Glibc sys/single_threaded.h): New section.
5578         * doc/pastposix-functions/h_errno.texi: Update.
5579         * doc/posix-functions/*.texi: Likewise.
5580         * doc/glibc-functions/*.texi: Likewise.
5582 2020-08-07  Bruno Haible  <bruno@clisp.org>
5584         alloca: No need to compile alloca.c with clang.
5585         * lib/alloca.c: Skip all code with clang.
5587         Use __builtin_alloca with clang.
5588         * lib/alloca.in.h (alloca): Define as __builtin_alloca on clang.
5590 2020-08-06  Bruno Haible  <bruno@clisp.org>
5592         Use __builtin_assume with clang.
5593         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): New macro.
5594         (assume): Use __builtin_assume when available.
5596 2020-08-06  Paul Eggert  <eggert@cs.ucla.edu>
5598         libgmp: add <gmp/gmp.h> support
5599         * m4/libgmp.m4 (gl_LIBGMP):
5600         * modules/libgmp (configure.ac, Makefile.am):
5601         Support platforms requiring ‘#include <gmp/gmp.h>’ instead of
5602         ‘#include <gmp.h>’.
5604 2020-08-06  Bruno Haible  <bruno@clisp.org>
5606         Consider that clang defines __OPTIMIZE__ like GCC does.
5607         * lib/streq.h: Define the inline functions also on clang.
5608         * lib/c-strcaseeq.h: Likewise.
5609         * lib/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't enable
5610         the GCC workaround to clang.
5612 2020-08-06  Bruno Haible  <bruno@clisp.org>
5614         safe-alloc: Remove unused code.
5615         * lib/safe-alloc.h (__GNUC_PREREQ): Remove macro.
5617 2020-08-06  Bruno Haible  <bruno@clisp.org>
5619         Use __builtin_expect with clang everywhere.
5620         * lib/cdefs.h (__glibc_unlikely, __glibc_likely): Use the GCC built-in
5621         also on clang.
5623 2020-08-05  Bruno Haible  <bruno@clisp.org>
5625         Use __builtin_ctz{,l,ll} and __builtin_ffs{,l,ll} with clang everywhere.
5626         * lib/count-trailing-zeros.h (COUNT_TRAILING_ZEROS): Use the GCC
5627         built-in also on clang.
5628         * lib/ffs.c: With clang, use the GCC built-in, not <intrin.h>.
5629         * lib/ffsl.h: Likewise. Assume GCC_BUILTIN is defined.
5631 2020-08-05  Bruno Haible  <bruno@clisp.org>
5633         Use __builtin_clz{,l,ll} with clang, also on Windows.
5634         * lib/integer_length.c: With clang, use the GCC built-in, not
5635         <intrin.h>.
5636         * lib/integer_length_l.c: Likewise.
5637         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS): Use the GCC built-in
5638         also on clang.
5639         * lib/vasnprintf.c (divide): Likewise.
5641 2020-08-04  Paul Eggert  <eggert@cs.ucla.edu>
5643         Update srclist.txt as per recent glibc changes
5644         * config/srclist.txt: Uncomment lines to reflect recent merges
5645         from Gnulib to glibc.
5647 2020-08-03  Bruno Haible  <bruno@clisp.org>
5649         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
5650         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Use m4_if instead of ifelse.
5652 2020-08-03  Bruno Haible  <bruno@clisp.org>
5654         integer_length_ll: Optimize for MSVC in 64-bit mode.
5655         * lib/integer_length_l.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
5656         (FUNC): On MSVC, use MSVC_BUILTIN if defined.
5658 2020-08-03  Bruno Haible  <bruno@clisp.org>
5660         integer_length_ll: Optimize for MSVC in 32-bit mode.
5661         * lib/integer_length_l.c: Include <intrin.h>.
5662         (integer_length): Define as inline function, like in
5663         lib/integer_length.c.
5665 2020-08-03  Bruno Haible  <bruno@clisp.org>
5667         integer_length: Optimize for MSVC.
5668         * lib/integer_length.c: Include <intrin.h>.
5669         (integer_length): With MSVC, use the _BitScanReverse built-in.
5671 2020-08-03  Bruno Haible  <bruno@clisp.org>
5673         ffsll: Optimize for MSVC in 64-bit mode.
5674         * lib/ffsl.h (FUNC): On MSVC, use MSVC_BUILTIN if defined.
5675         * lib/ffsll.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
5676         * lib/ffsl.c (MSVC_BUILTIN): Define for MSVC.
5678 2020-08-03  Bruno Haible  <bruno@clisp.org>
5680         ffsll: Optimize for MSVC in 32-bit mode.
5681         * lib/ffsl.h: Include <intrin.h>.
5682         (ffs): Define as inline function, like in lib/ffs.c.
5684 2020-08-03  Bruno Haible  <bruno@clisp.org>
5686         ffs: Optimize for MSVC.
5687         * lib/ffs.c: Include <intrin.h>.
5688         (ffs): With MSVC, use the _BitScanForward built-in.
5690 2020-08-03  Bruno Haible  <bruno@clisp.org>
5692         sigprocmask: Try to avoid breakage for people who use an Autoconf cache.
5693         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Change the name of the cache
5694         variable.
5696 2020-08-03  Harald van Dijk  <harald@gigawatt.nl>  (tiny change)
5698         fopen: Avoid undesired interactions with glibc headers.
5699         * lib/fopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this instead of
5700         __need_FILE, as the latter does not work with glibc.
5702 2020-08-02  Paul Eggert  <eggert@cs.ucla.edu>
5704         fcntl: document some F_SETLK errno variations
5705         * doc/posix-functions/fcntl.texi (fcntl): Document
5706         OpenIndiana, GNU/Linux, FreeBSD on NFS files.
5708 2020-08-02  Bruno Haible  <bruno@clisp.org>
5710         oset: Add an 'iterator_atleast' operation.
5711         * lib/gl_array_oset.c (gl_array_indexof_atleast): New function,
5712         extracted from gl_array_search_atleast.
5713         (gl_array_search_atleast): Use it.
5714         (gl_array_iterator_atleast): New function.
5715         (gl_array_oset_implementation): Use it.
5716         * lib/gl_anytree_oset.h (gl_tree_iterator_atleast): New function.
5717         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Use it.
5718         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Likewise.
5719         * lib/gl_oset.h (struct gl_oset_implementation): Add 'iterator_atleast'
5720         member.
5721         (gl_oset_iterator_atleast): New function.
5722         * lib/gl_oset.hh (gl_OSet): Add 'begin_atleast' member.
5723         (gl_OSet::iterator): Add another auxiliary constructor.
5724         * tests/test-array_oset.c (is_at_least, gl_sortedlist_indexof_atleast):
5725         New functions.
5726         (main): Test also gl_oset_iterator_atleast.
5727         * tests/test-avltree_oset.c (is_at_least): New function.
5728         (main): Test also gl_oset_iterator_atleast.
5729         * tests/test-rbtree_oset.c (is_at_least): New function.
5730         (main): Test also gl_oset_iterator_atleast.
5731         * tests/test-oset-c++.cc (is_at_most): New function.
5732         (main): Test also gl_OSet::begin_atleast.
5734 2020-08-02  Bruno Haible  <bruno@clisp.org>
5736         oset-c++, omap-c++: Remove restriction for search_atleast method.
5737         * lib/gl_oset.hh (gl_OSet::search_atleast): Allow the threshold to be of
5738         a different type than the element.
5739         * lib/gl_omap.hh (gl_OMap::search_atleast): Allow the threshold to be of
5740         a different type than the key.
5742 2020-08-01  Paul Eggert  <eggert@cs.ucla.edu>
5744         gnumakefile: say ‘$(MAKE)’ not ‘make’
5745         * top/GNUmakefile (abort-due-to-no-makefile):
5746         Prefer ‘$(MAKE)’ to ‘make’ in a diagnostic.
5747         This change is backported from Autoconf.
5749 2020-08-01  Bruno Haible  <bruno@clisp.org>
5751         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
5752         * m4/autobuild.m4 (AB_INIT): Use m4_if instead of ifelse.
5753         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
5754         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
5755         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
5756         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Likewise.
5758 2020-08-01  Bruno Haible  <bruno@clisp.org>
5760         libtextstyle-optional: Update tests.
5761         * modules/libtextstyle-optional-tests (configure.ac): Invoke
5762         gl_LIBTEXTSTYLE_OPTIONAL.
5764 2020-08-01  Bruno Haible  <bruno@clisp.org>
5766         parse-datetime: Fix wrong #line statements.
5767         * modules/parse-datetime (Makefile.am): Correct #line statements also in
5768         parse-datetime-gen.h.
5770 2020-08-01  Bruno Haible  <bruno@clisp.org>
5772         libtextstyle[-optional]: Allow requesting a minimum version.
5773         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Allow an optional argument.
5774         (gl_LIBTEXTSTYLE_NEWEST_VERSION, gl_LIBTEXTSTYLE_INITIALIZE,
5775         gl_LIBTEXTSTYLE_SEARCH): New macros.
5776         * modules/libtextstyle (configure.ac): Don't invoke gl_LIBTEXTSTYLE.
5777         * m4/libtextstyle-optional.m4 (gl_LIBTEXTSTYLE_OPTIONAL): Allow an
5778         optional argument. Invoke, not require, gl_LIBTEXTSTYLE.
5779         * modules/libtextstyle-optional (configure.ac): Don't invoke
5780         gl_LIBTEXTSTYLE_OPTIONAL.
5781         * NEWS: Mention the changes.
5783 2020-07-31  Bruno Haible  <bruno@clisp.org>
5785         _GL_CMP: Improve documentation.
5786         Reported by Paul Eggert in
5787         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00188.html>.
5788         * m4/gnulib-common.m4 (gl_COMMON_BODY): Clarify what arguments can be
5789         passed.
5791 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
5793         largefile: sync with Autoconf master
5794         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
5795         Avoid undefined behavior on platforms where off_t is 32 bits.
5796         See: https://bugs.debian.org/742780
5798         alloca: sync with Autoconf master
5799         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
5800         Do not define if Autoconf 2.70 or later, since Autoconf master
5801         now matches us.
5803 2020-07-30  Bruno Haible  <bruno@clisp.org>
5805         unicodeio: Add comment.
5806         * lib/unicodeio.c (unicode_to_mb): Clarify why the code distinguishes
5807         different iconv behaviours.
5809 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
5811         Work around some Oracle Studio attribute bugs
5812         These were discovered when building bleeding-edge Emacs with
5813         Oracle Studio.
5814         * m4/gnulib-common.m4 (_GL_ATTRIBUTE_COLD, _GL_ATTRIBUTE_MAY_ALIAS):
5815         Port to Oracle Studio 12.6, which mishandles __attribute__
5816         ((__cold__)) and __attribute__ ((__may_alias__)) even though
5817         __has_attribute says they work.
5819 2020-07-29  Bruno Haible  <bruno@clisp.org>
5821         unicodeio: Fix wrong result on musl libc.
5822         Reported by A. Wilcox <awilfox@adelielinux.org> in
5823         <https://www.openwall.com/lists/musl/2020/07/29/2>.
5824         * lib/unicodeio.c (unicode_to_mb): Handle asterisk fallback characters
5825         on musl libc.
5826         * m4/unicodeio.m4 (gl_UNICODEIO): Invoke gl_MUSL_LIBC.
5827         * modules/unicodeio (Files): Add m4/musl.m4.
5829 2020-07-29  Paul Eggert  <eggert@cs.ucla.edu>
5831         fsusage, regex, stat-size: remove Cray support
5832         As near as I can make out this is actually support for UNICOS/mp,
5833         last released 2005, and Cray hasn’t supported that for years.
5834         * config/srclist.txt: Comment out regex.h for now.
5835         * lib/fsusage.c (get_fs_usage):
5836         * lib/regex.h (re_comp, re_exec):
5837         * lib/stat-size.h (ST_NBLOCKSIZE):
5838         Don’t worry about _CRAY.
5840 2020-07-29  Bruno Haible  <bruno@clisp.org>
5842         parse-datetime: Fix compilation error with bison 3.7.
5843         * modules/parse-datetime (Makefile.am): Create a generated header file
5844         parse-datetime-gen.h in the source directory. Correct #include and
5845         #line statements during preprocessing.
5847 2020-07-28  Bruno Haible  <bruno@clisp.org>
5849         fopen-gnu: Create files correctly (regression from 2020-05-24).
5850         * lib/fopen.c (rpl_open): Pass a third argument to open().
5852 2020-07-27  Paul Eggert  <eggert@cs.ucla.edu>
5854         xalloc-die: don’t depend on xalloc
5855         This removes a circular dependency, as xalloc depends on xalloc-die.
5856         * modules/xalloc-die (Files): Add lib/xalloc.h.
5857         (Depends-on): Remove xalloc.
5858         Add extern-inline, stdint, xalloc-oversized (this is for xalloc.h).
5860         dfa-tests: port to MSVC
5861         Problem reported by Gisle Vanem in:
5862         https://lists.gnu.org/r/bug-gnulib/2020-07/msg00159.html
5863         Also, remove an unnecessary dependency on getprogname.
5864         * modules/dfa-tests (Depends-on): Remove getprogname.
5865         * tests/test-dfa-match-aux.c: Do not include getprogname.h.
5866         (exit_status): New static var.
5867         (dfawarn): Set it instead of exiting.
5868         Do not declare as _Noreturn, to pacify MSVC.
5869         (main): Return exit_status.
5871 2020-07-26  Paul Eggert  <eggert@cs.ucla.edu>
5873         argz: pacify MSVC
5874         * lib/argz.in.h: Avoid "*/*" to pacify MSVC.
5875         Problem reported by Gisle Vanem.
5877         libgmp: remove dependency on havelib
5878         * m4/libgmp.m4 (gl_LIBGMP): If gl_HAVE_MODULE_HAVELIB is not defined,
5879         use the more-traditional AC_SEARCH_LIBS approach.
5880         This should work better with GNU Emacs configuration,
5881         which uses pkg-config instead of a havelib-style approach.
5882         * modules/havelib (gl_HAVE_MODULE_HAVELIB): New witness macro.
5883         * modules/libgmp (Depends-on): Remove havelib.
5885         libgmp: remove HAVE_GMP, LIB_GMP
5886         * m4/libgmp.m4 (gl_LIBGMP): Do not define HAVE_GMP and LIB_GMP, as
5887         they’re redundant.  I’ll adjust GNU Coreutils accordingly.
5889 2020-07-26  Bruno Haible  <bruno@clisp.org>
5891         inttypes: Remove support for AIX 4.
5892         * lib/inttypes.in.h: Assume that PRI_MACROS_BROKEN is 0.
5893         * m4/inttypes-pri.m4: Remove file.
5894         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Don't require gt_INTTYPES_PRI.
5895         (gl_INTTYPES_H_DEFAULTS): Don't initialize PRI_MACROS_BROKEN.
5896         * modules/inttypes-incomplete (Makefile.am): Don't substitute
5897         PRI_MACROS_BROKEN.
5898         * modules/inttypes (Files): Remove m4/inttypes-pri.m4.
5900 2020-07-26  Bruno Haible  <bruno@clisp.org>
5902         gettimeofday: Remove workaround for Mac OS X 10.0.
5903         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Remove macro.
5904         (gl_FUNC_GETTIMEOFDAY): Don't invoke it.
5905         * lib/gettimeofday.c: Don't include localtime-buffer.h.
5906         (gettimeofday): Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
5907         * lib/localtime.c: Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
5908         * modules/gettimeofday (Depends-on): Remove localtime-buffer.
5909         * modules/localtime-buffer: Remove file.
5910         * lib/localtime-buffer.h: Remove file.
5911         * lib/localtime-buffer.c: Remove file.
5912         * m4/localtime-buffer.m4: Remove file.
5913         * MODULES.html.sh (Date and time <time.h>): Remove localtime-buffer.
5915 2020-07-26  Bruno Haible  <bruno@clisp.org>
5917         tzset: Remove workaround for Solaris 2.6.
5918         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Remove macro.
5919         (gl_FUNC_TZSET): Don't invoke it. Don't define TZSET_CLOBBERS_LOCALTIME.
5920         Don't require gl_LOCALTIME_BUFFER_DEFAULTS.
5921         * lib/localtime-buffer.h: Don't test TZSET_CLOBBERS_LOCALTIME.
5922         * lib/localtime-buffer.c: Likewise.
5923         * lib/localtime.c: Likewise.
5924         * lib/tzset.c: Don't include localtime-buffer.h.
5925         (tzset): Don't test TZSET_CLOBBERS_LOCALTIME.
5926         * lib/nstrftime.c (__strftime_internal): Assume HAVE_RUN_TZSET_TEST
5927         is 1.
5928         * modules/tzset (Depends-on): Remove localtime-buffer.
5930 2020-07-26  Bruno Haible  <bruno@clisp.org>
5932         expl: Simplify autoconf test.
5933         * m4/expl.m4 (gl_FUNC_EXPL): Merge the "checking whether expl() breaks
5934         with small values..." test into the "checking whether expl works..."
5935         test.
5937 2020-07-26  Bruno Haible  <bruno@clisp.org>
5939         alloca: Remove Cray-2 and Cray Y-MP support.
5940         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Don't define CRAY_STACKSEG_END.
5941         Enable also on Autoconf >= 2.69.
5942         * lib/alloca.c (ADDRESS_FUNCTION, struct stack_control_header,
5943         struct stack_segment_linkage, struct stk_stat, struct stk_trailer,
5944         i00afunc): Remove.
5946 2020-07-25  Bruno Haible  <bruno@clisp.org>
5948         multiarch: Prepare for x86_64+arm64 universal binaries in macOS 11.
5949         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the ARM architectures.
5951 2020-07-25  Bruno Haible  <bruno@clisp.org>
5953         sigprocmask: Small autoconf macro improvement.
5954         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Make it possible for the
5955         user to override the value of gl_cv_func_sigprocmask.
5956         * m4/gnulib-common.m4 (gl_SILENT): New macro.
5958 2020-07-25  Bruno Haible  <bruno@clisp.org>
5960         Small autoconf macro improvements.
5961         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Make it possible for the user to
5962         override the value of gl_cv_func_working_mktime.
5963         * m4/multiarch.m4 (gl_MULTIARCH): Show a line "checking whether the
5964         compiler produces multi-arch binaries..." in the configure output.
5965         * m4/size_max.m4 (gl_SIZE_MAX): When not found, say "no".
5966         * m4/parse-datetime.m4 (gl_C_COMPOUND_LITERALS): Improve indentation.
5968 2020-07-25  Bruno Haible  <bruno@clisp.org>
5970         doc: Update for NetBSD 7.1, 8.0, 9.0.
5971         * doc/*/*.texi: Update.
5972         * m4/exp2l.m4: Update comments.
5973         * m4/expl.m4: Likewise.
5974         * m4/ilogb.m4: Likewise.
5975         * m4/ilogbf.m4: Likewise.
5976         * m4/log10l.m4: Likewise.
5977         * m4/logl.m4: Likewise.
5978         * m4/printf.m4: Likewise.
5979         * m4/rintl.m4: Likewise.
5980         * m4/wcwidth.m4: Likewise.
5982 2020-07-24  Bruno Haible  <bruno@clisp.org>
5984         doc: Update for Mac OS X 10.13.
5985         * doc/*/*.texi: Update.
5986         * m4/expm1l.m4: Update comments.
5987         * m4/getgroups.m4: Likewise.
5988         * m4/getlogin_r.m4: Likewise.
5989         * m4/linkat.m4: Likewise.
5990         * m4/printf.m4: Likewise.
5992 2020-07-24  Bruno Haible  <bruno@clisp.org>
5994         doc: Update for Cygwin 2.9.0.
5995         * doc/*/*.texi: Update.
5997 2020-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5999         parse-datetime: modernize doc
6000         * doc/parse-datetime.texi: Use more-current examples.
6001         Don’t lead with 32-bit time_t, as it’s on its way out.
6002         Capitalize “Epoch” to be consistent with POSIX.
6004         timespec: remove dependence on ‘verify’
6005         * lib/timespec.h: Do not include verify.h; no longer needed.
6006         * modules/timespec (Depends-on): Remove ‘verify’.
6008         Optimize a few more three-valued comparisons
6009         * lib/timespec.h (timespec_cmp, timespec_sign):
6010         * lib/utimecmp.c (utimecmpat):
6011         Avoid conditional branches by using _GL_CMP.
6013         Fix _GL_CMP parenthesization typo
6014         * m4/gnulib-common.m4 (_GL_CMP): Properly parenthesize.
6016 2020-07-24  Bruno Haible  <bruno@clisp.org>
6018         dfa: Revert breaking gawk.
6019         Reported by Arnold Robbins <arnold@skeeve.com>.
6020         * lib/dfa.c (compare): Don't reference the _GL_CMP macro.
6022 2020-07-23  Bruno Haible  <bruno@clisp.org>
6024         Optimize three-valued comparison between integers.
6025         (a > b ? 1 : a < b ? -1 : 0) is the same as (a > b) - (a < b).
6026         * m4/gnulib-common.m4 (gl_COMMON): Define _GL_CMP.
6027         * lib/c-strcasecmp.c (c_strcasecmp): Use _GL_CMP.
6028         * lib/c-strncasecmp.c (c_strncasecmp): Likewise.
6029         * lib/dfa.c (compare): Likewise.
6030         * lib/fts.c (fts_compare_ino): Likewise.
6031         * lib/mbmemcasecmp.c (mbmemcasecmp): Likewise.
6032         * lib/mbscasecmp.c (mbscasecmp): Likewise.
6033         * lib/mbsncasecmp.c (mbsncasecmp): Likewise.
6034         * lib/memcasecmp.c (memcasecmp): Likewise.
6035         * lib/memcmp2.c (memcmp2): Likewise.
6036         * lib/savedir.c (direntry_cmp_inode): Likewise.
6037         * lib/strcasecmp.c (strcasecmp): Likewise.
6038         * lib/strncasecmp.c (strncasecmp): Likewise.
6039         * lib/unistr/u-cmp2.h (FUNC): Likewise.
6041 2020-07-23  Bruno Haible  <bruno@clisp.org>
6043         lchmod: Use /proc on Cygwin.
6044         * lib/lchmod.c (lchmod): Use /proc on Cygwin.
6046 2020-07-23  Ken Brown  <kbrown@cornell.edu>
6048         fchmodat: Use /proc on Cygwin
6049         * lib/fchmodat.c (fchmodat): Use /proc on Cygwin.
6051 2020-07-21  Bruno Haible  <bruno@clisp.org>
6053         aligned-malloc: Optionally use aligned_alloc.
6054         * lib/aligned-malloc.h: Verify the alignment.
6055         (aligned_malloc): Use aligned_alloc as an alternative.
6056         * modules/aligned-malloc (configure.ac): Test for aligned_alloc.
6057         * doc/posix-functions/aligned_alloc.texi: Mention the modules
6058         'aligned-malloc' and 'pagealign_alloc'.
6060 2020-07-21  Bruno Haible  <bruno@clisp.org>
6062         aligned-malloc: Add tests.
6063         * tests/test-aligned-malloc.c: New file.
6064         * modules/aligned-malloc-tests: New file.
6066         aligned-malloc: New module.
6067         * lib/aligned-malloc.h: New file.
6068         * m4/malloc-align.m4: New file.
6069         * modules/aligned-malloc: New file.
6070         * doc/posix-functions/posix_memalign.texi: Mention the new module.
6071         * doc/glibc-functions/memalign.texi: Likewise.
6073 2020-07-21  Bruno Haible  <bruno@clisp.org>
6075         inttypes: Fix PRI*PTR and SCN*PTR on 64-bit native Windows.
6076         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): On 64-bit native Windows, make
6077         sure PRIPTR_PREFIX is defined to "ll", not "l".
6079 2020-07-21  Bruno Haible  <bruno@clisp.org>
6081         printf-posix: Make an autoconf test more future-proof.
6082         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): Include <inttypes.h> before
6083         using uintptr_t.
6085 2020-07-20  Bruno Haible  <bruno@clisp.org>
6087         list, oset, omap: Relicense some of the container modules under LGPLv2+.
6088         * modules/list (License): Change to LGPLv2+.
6089         * modules/array-list (License): Likewise.
6090         * modules/carray-list (License): Likewise.
6091         * modules/linked-list (License): Likewise.
6092         * modules/avltree-list (License): Likewise.
6093         * modules/rbtree-list (License): Likewise.
6094         * modules/oset (License): Likewise.
6095         * modules/array-oset (License): Likewise.
6096         * modules/avltree-oset (License): Likewise.
6097         * modules/rbtree-oset (License): Likewise.
6098         * modules/omap (License): Likewise.
6099         * modules/array-omap (License): Likewise.
6100         * modules/avltree-omap (License): Likewise.
6101         * modules/rbtree-omap (License): Likewise.
6103 2020-07-20  Bruno Haible  <bruno@clisp.org>
6105         oset: Add an 'update' operation.
6106         * lib/gl_array_oset.c (gl_array_update): New function.
6107         (gl_array_oset_implementation): Use it.
6108         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
6109         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
6110         * lib/gl_avltree_ordered.h (gl_tree_add_node_before): New function,
6111         extracted from gl_tree_nx_add_before.
6112         (gl_tree_nx_add_before): Invoke it.
6113         (gl_tree_add_node_after): New function, extracted from
6114         gl_tree_nx_add_after.
6115         (gl_tree_nx_add_after): Invoke it.
6116         (gl_tree_remove_node_no_free): New function, extracted from
6117         gl_tree_remove_node.
6118         (gl_tree_remove_node): Invoke it.
6119         * lib/gl_rbtree_ordered.h (gl_tree_add_node_before): New function,
6120         extracted from gl_tree_nx_add_before.
6121         (gl_tree_nx_add_before): Invoke it.
6122         (gl_tree_add_node_after): New function, extracted from
6123         gl_tree_nx_add_after.
6124         (gl_tree_nx_add_after): Invoke it.
6125         (gl_tree_remove_node_no_free): New function, extracted from
6126         gl_tree_remove_node.
6127         (gl_tree_remove_node): Invoke it.
6128         * lib/gl_anytree_oset.h (gl_tree_next_node): New function, extracted
6129         from gl_tree_iterator_next.
6130         (gl_tree_iterator_next): Invoke it.
6131         (gl_tree_prev_node, gl_tree_update): New functions.
6132         * lib/gl_avltree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
6133         (gl_avltree_oset_implementation): Use gl_tree_update.
6134         * lib/gl_rbtree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
6135         (gl_rbtree_oset_implementation): Use gl_tree_update.
6136         * lib/gl_oset.h (struct gl_oset_implementation): Add 'update' member.
6137         (gl_oset_update): New function.
6138         * lib/gl_oset.hh (gl_OSet): Add 'update' member.
6139         * modules/avltree-oset (configure.ac): Require AC_C_INLINE.
6140         * modules/rbtree-oset (configure.ac): Likewise.
6141         * tests/test-oset-update.h: New file.
6142         * tests/test-array_oset.c: Include test-oset-update.h.
6143         (main): Invoke test_update.
6144         * tests/test-avltree_oset.c: Likewise.
6145         * tests/test-rbtree_oset.c: Likewise.
6146         * modules/array-oset-tests (Files): Add tests/test-oset-update.h.
6147         * modules/avltree-oset-tests (Files): Likewise.
6148         * modules/rbtree-oset-tests (Files): Likewise.
6149         * tests/test-oset-c++.cc (action): New function.
6150         (main): Test the 'update' member function.
6152 2020-07-15  Paul Eggert  <eggert@cs.ucla.edu>
6154         md5, sha1, sha256, sha512: pacify Autoconf 2.70
6155         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Use m4_if rather than a
6156         shell if, so that the argument to AC_CHECK_HEADERS is
6157         a simple string that does not require shell evaluation.
6158         This fixes a warning generated by Autoconf 2.69b.
6160 2020-07-12  Bruno Haible  <bruno@clisp.org>
6162         libgmp: Avoid warning when --without-libgmp is used.
6163         * lib/mini-gmp-gnulib.c: Ignore -Wsuggest-attribute=malloc only for
6164         GCC >= 8, not for GCC >= 4.6.
6166 2020-07-12  Bruno Haible  <bruno@clisp.org>
6168         libgmp: Link to the correct shared library.
6169         * m4/libgmp.m4 (gl_LIBGMP): Invoke AC_LIB_HAVE_LINKFLAGS.
6170         * modules/libgmp (Depends-on): Add havelib.
6171         (Link): Mention $(LIBGMP) and $(LTLIBGMP).
6172         * modules/libgmp-tests (Makefile.am): Link test-libgmp with $(LIBGMP).
6174 2020-07-12  Bruno Haible  <bruno@clisp.org>
6176         libgmp tests: Add some safety checks.
6177         * modules/libgmp-tests (Depends-on): Add verify.
6178         * tests/test-libgmp.c: Verify GMP_NUMB_BITS value.
6179         (main): Verify that gmp.h and libgmp versions match.
6181 2020-07-10  Bruno Haible  <bruno@clisp.org>
6183         unicodeio: Fix wrong result on NetBSD.
6184         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
6185         characters also on NetBSD.
6187 2020-07-09  Bruno Haible  <bruno@clisp.org>
6189         unicodeio: Fix wrong result on Solaris 11.
6190         Reported by Kiyoshi Kanazawa <yoi_no_myoujou@yahoo.co.jp>
6191         via Akim Demaille <akim.demaille@gmail.com> in
6192         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00036.html>.
6193         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
6194         characters on Solaris.
6195         * tests/test-unicodeio.c (main): In the "C" locale, expect either the
6196         UTF-8 output or the specified fallback.
6198 2020-07-08  Bruno Haible  <bruno@clisp.org>
6200         unicodeio: Add tests.
6201         * tests/test-unicodeio.c: New file.
6202         * tests/test-unicodeio1.sh: New file.
6203         * tests/test-unicodeio2.sh: New file.
6204         * tests/test-unicodeio3.sh: New file.
6205         * modules/unicodeio-tests: New file.
6207 2020-07-08  Bruno Haible  <bruno@clisp.org>
6209         unicodeio: Document link requirements.
6210         * modules/unicodeio (Link): New section.
6212 2020-07-07  Bruno Haible  <bruno@clisp.org>
6214         doc: Remove support for some very old platforms.
6215         * doc/posix-functions/memcmp.texi: Don't mention "older platforms".
6216         * doc/posix-functions/memcpy.texi: Likewise.
6217         * doc/posix-functions/memmove.texi: Likewise.
6218         * doc/posix-functions/memset.texi: Likewise.
6219         * doc/posix-functions/getcwd.texi: Likewise.
6221         memchr: Remove support for some very old platforms.
6222         * m4/memchr-obsolete.m4: Remove file.
6223         * modules/memchr-obsolete: Remove file.
6224         * m4/memchr.m4 (gl_FUNC_MEMCHR): Assume module 'memchr-obsolete' is
6225         absent. Don't define HAVE_MEMCHR.
6226         * lib/string.in.h (memchr): Assume HAVE_MEMCHR is 1.
6227         * modules/memchr (Depends-on): Remove memchr-obsolete.
6228         (configure.ac): Assume HAVE_MEMCHR is 1.
6229         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
6230         HAVE_MEMCHR.
6231         * modules/string (Makefile.am): Don't substitute HAVE_MEMCHR.
6232         * doc/posix-functions/memchr.texi: Don't mention module
6233         'memchr-obsolete'.
6234         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Assume HAVE_MEMCHR is 1.
6235         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Assume HAVE_MEMCHR is 1.
6236         * modules/strnlen (Depends-on): Remove memchr-obsolete.
6238         dup2: Remove support for some very old platforms.
6239         * m4/dup2-obsolete.m4: Remove file.
6240         * modules/dup2-obsolete: Remove file.
6241         * m4/dup2.m4 (gl_FUNC_DUP2): Assume module 'dup2-obsolete' is absent.
6242         Don't define HAVE_DUP2.
6243         * lib/unistd.in.h (dup2): Assume HAVE_DUP2 is 1.
6244         * lib/dup2.c: Likewise.
6245         * modules/dup2 (Depends-on, configure.ac): Likewise.
6246         (Depends-on): Remove dup2-obsolete.
6247         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize HAVE_DUP2.
6248         * modules/unistd (Makefile.am): Don't substitute HAVE_DUP2.
6249         * doc/posix-functions/dup2.texi: Don't mention module 'dup2-obsolete'.
6251 2020-07-07  Bruno Haible  <bruno@clisp.org>
6253         canonicalize: Trim module dependencies.
6254         * lib/hash-triple.h: Group declarations.
6255         * lib/hash-triple-simple.c: New file, extracted from lib/hash-triple.c.
6256         * lib/hash-triple.c: Don't include <stdlib.h>, <string.h>, hash-pjw.h.
6257         (STREQ): Remove macro.
6258         (triple_hash, triple_compare_ino_str, triple_free): Remove functions.
6259         * modules/hash-triple-simple: New file, based on modules/hash-triple.
6260         * modules/hash-triple (Files): Remove lib/hash-triple.h.
6261         (Depends-on): Add hash-triple-simple. Remove hash-pjw.
6262         * modules/canonicalize (Depends-on): Remove hash-triple. Add
6263         hash-triple-simple.
6264         * modules/file-set (Depends-on): Likewise.
6266 2020-07-07  Bruno Haible  <bruno@clisp.org>
6268         Clarify dependencies to double-slash-root.
6269         * modules/canonicalize (Files): Remove m4/double-slash-root.m4.
6270         (Depends-on): Add double-slash-root.
6271         * modules/canonicalize-lgpl (Depends-on): Add double-slash-root.
6272         * modules/dirname-lgpl (Depends-on): Add double-slash-root.
6274 2020-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6276         libgmp: new module
6277         The idea is to let programs simply include <gmp.h>, and
6278         so long as they live within the mini-gmp subset they need
6279         not worry about whether the GMP libraries are installed.
6280         * MODULES.html.sh: Mention it.
6281         * config/srclist.txt: Mention files copied from GMP source.
6282         * config/srclistvars.sh (GMP): New var.
6283         * lib/mini-gmp-gnulib.c, m4/libgmp.m4, modules/libgmp:
6284         * modules/libgmp-tests, tests/test-libgmp.c: New files.
6285         * lib/mini-gmp.c, lib/mini-gmp.h: New files, copied from GMP.
6287 2020-07-05  Bruno Haible  <bruno@clisp.org>
6289         mkancesdirs: Trim module dependencies.
6290         * lib/mkancesdirs.c: Include filename.h instead of dirname.h.
6291         * modules/mkancesdirs (Depends-on): Remove dirname-lgpl. Add filename.
6293 2020-07-05  Bruno Haible  <bruno@clisp.org>
6295         getprogname: Trim module dependencies.
6296         * lib/getprogname.c: Include basename-lgpl.h instead of dirname.h.
6297         * modules/getprogname (Depends-on): Remove dirname-lgpl. Add
6298         basename-lgpl.
6300 2020-07-05  Bruno Haible  <bruno@clisp.org>
6302         filenamecat-lgpl: Trim module dependencies.
6303         * lib/filenamecat-lgpl.c: Include basename-lgpl.h, filename.h instead of
6304         dirname.h.
6305         * modules/filenamecat-lgpl (Depends-on): Remove dirname-lgpl. Add
6306         basename-lgpl, filename.
6308 2020-07-05  Bruno Haible  <bruno@clisp.org>
6310         backupfile, backup-rename: Trim module dependencies.
6311         * lib/backupfile.c: Include basename-lgpl.h instead of dirname.h.
6312         * modules/backupfile (Depends-on): Remove dirname-lgpl. Add
6313         basename-lgpl.
6314         * modules/backup-rename (Depends-on): Likewise.
6316 2020-07-05  Bruno Haible  <bruno@clisp.org>
6318         argp: Trim module dependencies.
6319         * lib/argp-namefrob.h: Include basename-lgpl.h instead of dirname.h.
6320         * modules/argp (Depends-on): Remove dirname-lgpl. Add basename-lgpl.
6322 2020-07-05  Bruno Haible  <bruno@clisp.org>
6324         basename-lgpl: New module.
6325         * lib/basename-lgpl.h: New file, based on lib/dirname.h and
6326         lib/basename-lgpl.c.
6327         * lib/basename-lgpl.c: Include basename-lgpl.h, not dirname.h. Include
6328         <stdbool.h>, filename.h.
6329         (last_component): Rename a local variable.
6330         * lib/dirname.h: Include basename-lgpl.h.
6331         (DOUBLE_SLASH_IS_DISTINCT_ROOT): Remove macro.
6332         (last_component, base_len): Remove declarations.
6333         * modules/basename-lgpl: New file.
6334         * modules/dirname-lgpl (Files): Remove lib/basename-lgpl.c.
6335         (Depends-on): Add basename-lgpl. Remove double-slash-root.
6336         (Makefile.am): Don't compile basename-lgpl.c.
6337         * doc/posix-functions/basename.texi: Mention the module 'basename-lgpl',
6338         not 'dirname'.
6340 2020-07-05  Bruno Haible  <bruno@clisp.org>
6342         dirname, dirname-lgpl: Simplify.
6343         * m4/dirname.m4: Remove file.
6344         * modules/dirname (configure.ac): Don't invoke gl_DIRNAME.
6345         * modules/dirname-lgpl (Files): Remove m4/dirname.m4.
6346         (configure.ac): Don't invoke gl_DIRNAME_LGPL.
6348 2020-07-05  Bernhard Voelker  <mail@bernhard-voelker.de>
6350         tests: avoid shadowing warning
6351         * tests/test-memchr.c (main): Give page_boundary variable a tight scope.
6353 2020-07-05  Bruno Haible  <bruno@clisp.org>
6355         supersede: Add tests.
6356         * tests/test-supersede.c: New file.
6357         * tests/test-supersede-open.h: New file.
6358         * tests/test-supersede-fopen.h: New file.
6359         * modules/supersede-tests: New file.
6361         supersede: New module.
6362         * lib/supersede.h: New file.
6363         * lib/supersede.c: New file.
6364         * m4/supersede.m4: New file.
6365         * modules/supersede: New file.
6367 2020-07-05  Bruno Haible  <bruno@clisp.org>
6369         Add some copyright headers.
6370         * lib/dev-ino.h: Add copyright header.
6371         * lib/di-set.h: Likewise.
6372         * lib/fchown-stub.c: Likewise.
6373         * lib/file-set.h: Likewise.
6374         * lib/hash-triple.h: Likewise.
6375         * lib/idcache.h: Likewise.
6376         * lib/ino-map.h: Likewise.
6377         * lib/mkancesdirs.h: Likewise.
6378         * lib/scratch_buffer.h: Likewise.
6379         * lib/se-context.in.h: Likewise.
6380         * lib/stdopen.h: Likewise.
6381         * lib/userspec.h: Likewise.
6383 2020-07-04  Bruno Haible  <bruno@clisp.org>
6385         getrandom: Relicense under LGPLv2+.
6386         Paul Eggert's approval is in
6387         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00023.html>.
6388         * modules/getrandom (License): Change to LGPLv2+.
6390 2020-07-04  Bruno Haible  <bruno@clisp.org>
6392         getumask: Add tests.
6393         * tests/test-getumask.c: New file.
6394         * modules/getumask-tests: New file.
6396         getumask: New module.
6397         * lib/sys_stat.in.h (getumask): New declaration.
6398         * lib/getumask.c: New file.
6399         * m4/getumask.m4: New file.
6400         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether getumask is
6401         declared.
6402         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_GETUMASK, HAVE_GETUMASK.
6403         * modules/sys_stat (Makefile.am): Substitute GNULIB_GETUMASK,
6404         HAVE_GETUMASK.
6405         * modules/getumask: New file.
6406         * tests/test-sys_stat-c++.cc (getumask): Check signature.
6407         * doc/glibc-functions/getumask.texi: New file.
6408         * doc/gnulib.texi (Glibc sys/stat.h): Include it.
6410 2020-07-04  Bruno Haible  <bruno@clisp.org>
6412         clean-temp: Add support for temporary files with given mode.
6413         * lib/clean-temp.h (gen_register_open_temp): Add mode argument.
6414         * lib/clean-temp.c (struct try_create_file_params): New type.
6415         (try_create_file): New function.
6416         (gen_register_open_temp): Add mode argument. Use try_tempname instead of
6417         gen_tempname.
6419 2020-07-04  Bruno Haible  <bruno@clisp.org>
6421         clean-temp: Document limitations.
6422         * lib/clean-temp.h: Document limitations.
6424 2020-07-04  Bruno Haible  <bruno@clisp.org>
6426         clean-temp: Add support for temporary files with unpredictable names.
6427         * lib/clean-temp.h (gen_register_open_temp): New declaration.
6428         * lib/clean-temp.c: Include tempname.h.
6429         (gen_register_open_temp): New function.
6430         * modules/tempname (configure.ac): Define a module indicator.
6432 2020-07-04  Bruno Haible  <bruno@clisp.org>
6434         clean-temp: Add support for temporary files anywhere in the file system.
6435         * lib/clean-temp.h (register_temporary_file, unregister_temporary_file,
6436         cleanup_temporary_file): New declarations.
6437         * lib/clean-temp.c (file_cleanup_list_lock, file_cleanup_list): New
6438         variables.
6439         (dir_cleanup_list_lock): Renamed from cleanup_list_lock.
6440         (dir_cleanup_list): Renamed from cleanup_list.
6441         (cleanup_action): Process the file_cleanup_list as well.
6442         (do_init_clean_temp): New function.
6443         (clean_temp_once): New variable.
6444         (init_clean_temp): New function.
6445         (create_temp_dir): Invoke it.
6446         (register_temporary_file, unregister_temporary_file,
6447         cleanup_temporary_file): New functions.
6448         (do_unlink, do_rmdir): Remove 'dir' argument. Add 'cleanup_verbose'
6449         argument.
6451 2020-07-04  Bruno Haible  <bruno@clisp.org>
6453         clean-temp: Improve comments.
6454         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
6455         fwriteerror_temp, close_stream_temp): Clarify intended use.
6456         * lib/clean-temp.c: Likewise.
6458 2020-07-04  Bruno Haible  <bruno@clisp.org>
6460         clean-temp: Make multithread-safe, part 2.
6461         * lib/fatal-signal.h: Include <signal.h>.
6462         (get_fatal_signal_set): New declaration.
6463         * lib/fatal-signal.c (get_fatal_signal_set): New function.
6464         * lib/clean-temp.c: Include asyncsafe-spin.h, gl_linked_list.h.
6465         (struct closeable_fd): New type.
6466         (fatal_signal_set): New variable.
6467         (init_fatal_signal_set): New function.
6468         (asyncsafe_close, asyncsafe_fclose_variant): New functions.
6469         (cleanup_action): Invoke asyncsafe_close instead of close.
6470         (create_temp_dir): Invoke init_fatal_signal_set.
6471         (register_fd): Use a plain linked list. Add a 'struct closeable_fd *'
6472         element.
6473         (unregister_fd): Remove function.
6474         (close_temp): Cleanup descriptors list on the fly. Invoke
6475         init_fatal_signal_set. Invoke asyncsafe_close instead of close.
6476         (fclose_variant_temp): New function.
6477         (fclose_temp, fwriteerror_temp, close_stream_temp): Use it.
6478         * modules/clean-temp (Depends-on): Add asyncsafe-spin, linked-list.
6480 2020-07-04  Bruno Haible  <bruno@clisp.org>
6482         clean-temp: Make multithread-safe, part 1.
6483         * lib/clean-temp.c: Include glthread/lock.h.
6484         (cleanup_list_lock): New variable.
6485         (register_temp_file, unregister_temp_file, register_temp_subdir,
6486         unregister_temp_subdir, cleanup_temp_dir_contents): Use it.
6487         (create_temp_dir): Likewise. Don't free the old array.
6488         (descriptors_lock): New variable.
6489         (register_fd, unregister_fd): Use it.
6490         * modules/clean-temp (Depends-on): Add lock.
6492 2020-07-04  Bruno Haible  <bruno@clisp.org>
6494         fatal-signal: Make multithread-safe.
6495         * lib/fatal-signal.c (init_fatal_signals): Add comment.
6496         (do_init_fatal_signal_set): New function, extracted from
6497         init_fatal_signal_set.
6498         (fatal_signal_set_once): New variable.
6499         (init_fatal_signal_set): Use gl_once.
6501 2020-07-03  Bruno Haible  <bruno@clisp.org>
6503         getrandom: Fix compilation error on native Windows (regr. 2020-06-28).
6504         * lib/getrandom.c: Don't include <ntdef.h>. Instead, define NTSTATUS.
6505         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Include <windows.h> before
6506         <bcrypt.h>.
6508 2020-07-03  Bruno Haible  <bruno@clisp.org>
6510         dfa tests: Follow common file naming conventions.
6511         * tests/test-dfa-match-aux.c: Renamed from tests/dfa-match-aux.c.
6512         * tests/test-dfa-match.sh: Renamed from tests/dfa-match.sh. Update.
6513         * tests/test-dfa-invalid-char-class.sh: Renamed from
6514         tests/dfa-invalid-char-class.sh. Update.
6515         * modules/dfa-tests (Files, Makefile.am): Update.
6517 2020-07-03  Bruno Haible  <bruno@clisp.org>
6519         asyncsafe-spin: Use GCC extended asm syntax for SunStudio 12 compiler.
6520         * lib/asyncsafe-spin.c (memory_barrier, atomic_compare_and_swap): Use
6521         the GCC extended asm syntax also for the Sun Studio 12 compilers.
6523 2020-07-03  Bruno Haible  <bruno@clisp.org>
6525         asyncsafe-spin: Reduce code duplication.
6526         * lib/asyncsafe-spin.c (do_lock, do_unlock): New functions.
6527         (asyncsafe_spin_lock, asyncsafe_spin_unlock): Use them.
6528         * modules/asyncsafe-spin (configure.ac): Require AC_C_INLINE.
6530 2020-07-03  Bruno Haible  <bruno@clisp.org>
6532         lchmod: Simplify after 2020-02-22 change.
6533         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Don't require AC_C_INLINE.
6535 2020-07-03  Bruno Haible  <bruno@clisp.org>
6537         gen-uni-tables: Make sure the compiler does not barf on 'inline'.
6538         * modules/gen-uni-tables (configure.ac): Require AC_C_INLINE.
6540 2020-07-03  Bruno Haible  <bruno@clisp.org>
6542         dfa: Make sure the compiler does not barf on 'inline'.
6543         * modules/dfa (configure.ac): Require AC_C_INLINE.
6545 2020-07-03  Bruno Haible  <bruno@clisp.org>
6547         bitset: Make sure the compiler does not barf on 'inline'.
6548         * modules/bitset (configure.ac): New section.
6550 2020-07-01  Paul Eggert  <eggert@cs.ucla.edu>
6552         manywarnings: improve port to GCC 10.1
6553         * build-aux/gcc-warning.spec: Also list warnings that are default
6554         or are enabled by already-given flags.  This lets us speed up
6555         checking for attributes, and makes the generated compilation
6556         commands shorter.  Add -Wanalyzer-too-complex (too much noise).
6557         * m4/manywarnings.m4 (gl_MANYWARN_COMPLEMENT)
6558         (gl_MANYWARN_ALL_GCC): Use gl_AS_VAR_APPEND to append
6559         to shell variables that may have long values.
6560         (gl_MANYWARN_ALL_GCC): Omit flags that are default or are
6561         consequences of other flags, to speed up checking and
6562         shorten commands.
6564         tests: pacify gcc -fanalyzer on zerosize_ptr
6565         * tests/test-memcasecmp.c (main):
6566         * tests/test-memchr.c (main):
6567         * tests/test-memchr2.c (main):
6568         * tests/test-memcmp.c (main):
6569         * tests/test-memmem.c (main):
6570         * tests/test-memrchr.c (main):
6571         * tests/unistr/test-chr.h (main):
6572         * tests/unistr/test-cmp.h (test_cmp):
6573         Check whether zerosize_ptr returns NULL before using it.
6574         This pacifies GCC 10.1’s new fanalyzer option, and matches
6575         other uses of zerosize_ptr.
6577 2020-07-01  Bruno Haible  <bruno@clisp.org>
6579         asyncsafe-spin: Add tests.
6580         * tests/test-asyncsafe-spin1.c: New file.
6581         * tests/test-asyncsafe-spin2.c: New file, based on tests/test-lock.c and
6582         tests/test-pthread-spin.c.
6583         * modules/asyncsafe-spin-tests: New file.
6585 2020-07-01  Bruno Haible  <bruno@clisp.org>
6587         asyncsafe-spin: New module.
6588         * lib/asyncsafe-spin.h: New file.
6589         * lib/asyncsafe-spin.c: New file, based on lib/pthread-spin.c.
6590         * modules/asyncsafe-spin: New file.
6592 2020-07-01  Bruno Haible  <bruno@clisp.org>
6594         windows-spin: Fix race condition on multiprocessor systems.
6595         * lib/windows-spin.c (glwthread_spin_init): Add a memory barrier.
6597 2020-07-01  Bruno Haible  <bruno@clisp.org>
6599         pthread-spin: Add optimized fallback for GCC versions >= 4.1, < 4.7.
6600         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
6601         pthread_spin_trylock, pthread_spin_unlock): For GCC >= 4.1, < 4.7, use
6602         an implementation based on other GCC built-ins.
6604 2020-07-01  Bruno Haible  <bruno@clisp.org>
6606         pthread-spin: Optimize fallback for GCC versions >= 4.7.
6607         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
6608         pthread_spin_trylock, pthread_spin_unlock): Use a lock word instead of a
6609         lock byte.
6611 2020-07-01  Bruno Haible  <bruno@clisp.org>
6613         pthread-spin: Add error checking.
6614         * lib/pthread-spin.c: Include <stdbool.h>.
6615         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock,
6616         pthread_spin_unlock) [GCC>=4.7]: Prefer an implementation that verifies
6617         the unlocks.
6618         * modules/pthread-spin (Depends-on): Add stdbool.
6620 2020-07-01  Bruno Haible  <bruno@clisp.org>
6622         pthread-spin: Add tests.
6623         * tests/test-pthread-spin.c: New file, based on tests/test-lock.c.
6624         * modules/pthread-spin-tests: New file.
6626 2020-07-01  Bruno Haible  <bruno@clisp.org>
6628         tests: Reduce code duplication.
6629         * tests/atomic-int-posix.h: New file, extracted from
6630         tests/test-pthread-mutex.c.
6631         * tests/test-pthread-mutex.c: Include it. Remove the corresponding code.
6632         * tests/test-pthread-rwlock.c: Likewise.
6633         * modules/pthread-mutex-tests (Files): Add tests/atomic-int-posix.h.
6634         * modules/pthread-rwlock-tests (Files): Likewise.
6636 2020-07-01  Bruno Haible  <bruno@clisp.org>
6638         tests: Refactor.
6639         * tests/atomic-int-isoc.h: New file, extracted from tests/test-mtx.c.
6640         * tests/test-mtx.c: Include it. Remove the corresponding code.
6641         * modules/mtx-tests (Files): Add tests/atomic-int-isoc.h.
6643 2020-07-01  Bruno Haible  <bruno@clisp.org>
6645         tests: Refactor.
6646         * tests/atomic-int-gnulib.h: New file, extracted from tests/test-lock.c.
6647         * tests/test-lock.c: Include it. Remove the corresponding code.
6648         * modules/lock-tests (Files): Add tests/atomic-int-gnulib.h.
6650 2020-06-29  Bruno Haible  <bruno@clisp.org>
6652         sys_socket: Don't define socklen_t if it is already defined on mingw.
6653         Reported by Keith Marshall <keith.d.marshall@ntlworld.com> in
6654         <https://savannah.gnu.org/bugs/?57725>,
6655         by Rahul Das <bokul_4u@yahoo.com> in
6656         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00081.html>,
6657         and by Eli Zaretskii <eliz@gnu.org> in
6658         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00068.html>.
6659         * lib/sys_socket.in.h (socklen_t): Remove definition.
6661 2020-06-29  Bruno Haible  <bruno@clisp.org>
6663         alloca-opt: Fix warning on mingw.
6664         Reported and solution by Eli Zaretskii <eliz@gnu.org> in
6665         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00069.html>.
6666         * lib/alloca.in.h: On mingw, include <alloca.h> and then test again
6667         whether alloca is defined.
6669 2020-06-28  Paul Eggert  <eggert@cs.ucla.edu>
6671         getrandom: do not depend on ‘open’ on mingw
6672         Similarly for at-internal, getloadavg.  These modules do not call
6673         the ‘open’ function when they are compiled on mingw.  On mingw,
6674         this avoids having to compile open.c when building Emacs, which
6675         does its own thing with ‘open’.
6676         * modules/at-internal, modules/getloadavg, modules/getrandom:
6677         (Depends-on): Don’t depend on ‘open’ on mingw.
6678         (Depends-on): Require AC_CANONICAL_HOST, for host_os.
6679         * modules/getloadavg (Depends-on):
6680         Depend on intprops, open, stdbool, stdlib only if compiling
6681         getloadavg.c.
6683 2020-06-28  Bruno Haible  <bruno@clisp.org>
6685         doc: Add a note about sigprocmask vs. pthread_sigmask.
6686         * doc/posix-functions/sigprocmask.texi: Add note.
6688 2020-06-28  Bruno Haible  <bruno@clisp.org>
6690         getrandom: Fix compilation errors on older versions of mingw.
6691         Reported by Eli Zaretskii <eliz@gnu.org> in
6692         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00059.html>.
6693         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Test whether <bcrypt.h> exists.
6694         * lib/getrandom.c: If <bcrypt.h> is not available, include <ntdef.h> and
6695         define/declare BCRYPT_ALG_HANDLE, BCRYPT_USE_SYSTEM_PREFERRED_RNG,
6696         BCryptGenRandom ourselves.
6698 2020-06-28  Bruno Haible  <bruno@clisp.org>
6700         clean-temp: Fix wrong errno in error message.
6701         * lib/clean-temp.c (create_temp_dir): Save errno around
6702         unblock_fatal_signals call.
6704 2020-06-27  Bruno Haible  <bruno@clisp.org>
6706         fatal-signal: Make multithread-safe.
6707         * lib/fatal-signal.c (at_fatal_signal): Don't free the old actions array.
6709 2020-06-27  Bruno Haible  <bruno@clisp.org>
6711         clean-temp: Don't force deletion of temporary files on native Windows.
6712         * lib/clean-temp.h (open_temp, fopen_temp): Add delete_on_close
6713         argument.
6714         * lib/clean-temp.c (open_temp, fopen_temp): Likewise.
6715         * NEWS: Mention the change.
6716         * lib/javacomp.c (write_temp_file): Update.
6718 2020-06-27  Bruno Haible  <bruno@clisp.org>
6720         fatal-signal: Make multithread-safe.
6721         * lib/fatal-signal.c: Include glthread/lock.h.
6722         (at_fatal_signal_lock): New variable.
6723         (at_fatal_signal): Use it.
6724         (fatal_signals_block_lock, fatal_signals_block_counter): New variables.
6725         (block_fatal_signals, unblock_fatal_signals): Use them.
6726         * modules/fatal-signal (Depends-on): Add lock.
6728 2020-06-27  Paul Eggert  <eggert@cs.ucla.edu>
6730         getloadavg: don’t depend on fopen-gnu
6731         This is for Emacs, which does not need fopen-gnu for anything else,
6732         and which would need it only on a NetBSD platform where getloadavg
6733         does not work (does that even happen?).
6734         * lib/getloadavg.c (getloadavg) [__NetBSD__]: Use open, not fopen.
6735         * modules/getloadavg (Depends-on): Remove fopen-gnu.
6737         * tests/test-getloadavg.c (main): Fix typo.
6739 2020-06-27  Bruno Haible  <bruno@clisp.org>
6741         tempname et al.: Fix link errors on MSVC (regression from 2020-05-31).
6742         * modules/tempname (Link): New section.
6743         * modules/mkdtemp (Link): Likewise.
6744         * modules/clean-temp (Link): Likewise.
6745         * modules/mkstemp (Link): Likewise.
6746         * modules/stdlib-safer (Link): Likewise.
6747         * modules/mkstemps (Link): Likewise.
6748         * modules/mkostemp (Link): Likewise.
6749         * modules/mkostemps (Link): Likewise.
6750         * modules/tmpfile (Link): Likewise.
6751         * modules/tmpfile-safer (Link): Likewise.
6752         * modules/javacomp (Link): Add $(LIB_GETRANDOM).
6753         * modules/argv-iter-tests (Makefile.am): Link test-argv-iter with
6754         $(LIB_GETRANDOM).
6755         * NEWS: Mention the changes.
6757 2020-06-27  Bruno Haible  <bruno@clisp.org>
6759         fopen-gnu: Simplify code.
6760         * lib/fopen.c: Include <stdbool.h>.
6761         (rpl_fopen): Use a single variable open_flags instead of
6762         open_flags_standard and open_flags_gnu. Make open_flags_gnu a bool.
6763         * modules/fopen (Depends-on): Add stdbool.
6765 2020-06-26  Bruno Haible  <bruno@clisp.org>
6767         canonicalize: Improve documentation.
6768         * lib/canonicalize.h (canonicalize_filename_mode): Document the failure
6769         return convention.
6771 2020-06-26  Bruno Haible  <bruno@clisp.org>
6773         xgetcwd: Improve documentation.
6774         * lib/xgetcwd.c (xgetcwd): Document the failure return convention.
6776 2020-06-26  Bruno Haible  <bruno@clisp.org>
6778         getcwd: Improve documentation.
6779         * lib/getcwd.c (__getcwd): Document the failure return convention.
6781 2020-06-26  Bruno Haible  <bruno@clisp.org>
6783         fchdir: Improve documentation.
6784         * lib/fchdir.c (get_name, _gl_register_fd): Document the failure return
6785         convention.
6787 2020-06-26  Bruno Haible  <bruno@clisp.org>
6789         filenamecat-lgpl: Set errno upon failure.
6790         * lib/filenamecat-lgpl.c (mfile_name_concat): Document the failure
6791         return convention.
6792         * modules/filenamecat-lgpl (Depends-on): Add malloc-posix.
6794 2020-06-26  Bruno Haible  <bruno@clisp.org>
6796         areadlink-with-size: Set errno upon failure.
6797         * lib/areadlink-with-size.c (areadlink_with_size): Set errno when malloc
6798         fails.
6799         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Add comment.
6801 2020-06-26  Bruno Haible  <bruno@clisp.org>
6803         copy-file: Shrink dependencies.
6804         * modules/copy-file (Depends-on): Remove acl. Add acl-permissions,
6805         qcopy-acl.
6807 2020-06-26  Bruno Haible  <bruno@clisp.org>
6809         doc: Mention declaration fixes implemented by some modules.
6810         * doc/posix-functions/chdir.texi: Mention the module 'chdir'.
6811         * doc/posix-functions/close.texi: Mention that Gnulib makes the function
6812         declaration appear in <unistd.h>.
6813         * doc/posix-functions/dup.texi: Likewise.
6814         * doc/posix-functions/dup2.texi: Likewise.
6815         * doc/posix-functions/gethostname.texi: Likewise.
6816         * doc/posix-functions/isatty.texi: Likewise.
6817         * doc/posix-functions/lseek.texi: Likewise.
6818         * doc/posix-functions/unlink.texi: Likewise.
6819         * doc/posix-functions/read.texi: Mention the module 'read'.
6820         * doc/posix-functions/write.texi: Mention the effects of the module
6821         'write'.
6823 2020-06-25  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
6825         c-dtoastr, c-ldtoastr: new modules
6826         These modules provide the same functionality as the modules
6827         dtoastr and ldtoastr except for the formatting taking place in the
6828         C locale.
6829         * MODULES.html.sh: Add c-dtoastr and c-ldtoastr.
6830         * lib/c-dtoastr.c, lib/c-ldtoastr.c: New files.
6831         * lib/ftoastr.c: Prefix exported functions when the macro C_LOCALE is
6832         defined.  Use c_snprintf and c_strtod/c_strtold instead of
6833         snprintf and strtod/strtold whhen the macro C_LOCALE is defined.
6834         * lib/ftoastr.h: Add prototypes for c_dtoastr and c_ldtoastr.
6835         * modules/c-dtoastr, modules/c-dtoastr-tests, modules/c-ldtoastr,
6836         modules/c-ldtoastr-tests: New files.
6837         * tests/test-c-dtoastr.c, tests/test-c-dtoastr.sh,
6838         tests-c-ldtoastr.c tests-c-ldtoastr.sh: New files.
6840 2020-06-21  Bruno Haible  <bruno@clisp.org>
6842         tzset: Fix compilation warnings on mingw (regression from 2017-05-01).
6843         * lib/tzset.c: Include <stdlib.h>, <string.h>.
6845 2020-06-16  Bruno Haible  <bruno@clisp.org>
6847         thread: Avoid possible compiler warnings in uses of gl_thread_exit.
6848         * lib/glthread/thread.h (gl_thread_exit): Add a cast to void.
6850 2020-06-16  Bruno Haible  <bruno@clisp.org>
6852         thread, thrd: Avoid a compiler warning.
6853         * lib/windows-thread.h (glwthread_thread_exit): Mark as non-returning.
6855 2020-06-16  Biswapriyo Nath  <nathbappai@gmail.com>  (tiny change)
6857         windows-thread: Avoid a compiler warning.
6858         * lib/windows-thread.h (glwthread_thread_exit): Change return type to
6859         void.
6860         * lib/windows-thread.c (glwthread_thread_exit): Likewise.
6862 2020-06-15  Bruno Haible  <bruno@clisp.org>
6864         unictype/joininggroup-name: Fix warning on 64-bit mingw.
6865         Reported by Biswapriyo Nath <nathbappai@gmail.com> in
6866         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00036.html>.
6867         * lib/unictype/joininggroup_name.c (ELEM): Cast struct offset to size_t
6868         first.
6870 2020-06-06  Bruno Haible  <bruno@clisp.org>
6872         calloc-gnu tests: Avoid a test failure with clang.
6873         * tests/test-calloc-gnu.c (main): Mark the pointer variable as
6874         'volatile', to defeat compiler optimizations.
6876 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
6878         getloadavg: fix double-increment bug
6879         * lib/getloadavg.c (getloadavg): Fix double-increment typo on
6880         Linux without glibc, Android, Cygwin.  This fixes a bug I
6881         introduced in 2011-02-08T20:23:29Z!eggert@cs.ucla.edu.
6882         Problem and fix reported by Semen Verchenko in:
6883         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00007.html
6885         tempname: use getrandom, not getentropy
6886         This removes a dependency, as getentropy depends on getrandom.
6887         * lib/tempname.c: Include sys/random.h instead of unistd.h.
6888         (RANDOM_BITS) [!_LIBC]: Use getrandom, not getentropy.
6889         * modules/tempname (Depends-on): Depend on getrandom, not getentropy.
6891 2020-06-01  Bruno Haible  <bruno@clisp.org>
6893         doc: New chapter 'Multithreading'.
6894         * doc/multithread.texi: New file.
6895         * doc/gnulib.texi: Include it.
6897 2020-06-01  Bruno Haible  <bruno@clisp.org>
6899         doc: Move 'Running self-tests under valgrind' section.
6900         * doc/gnulib.texi (Build Infrastructure Modules): Include
6901         valgrind-tests.texi here...
6902         (Miscellaneous Notes): ... not here.
6904 2020-06-01  Bruno Haible  <bruno@clisp.org>
6906         doc: Move 'Visual Studio Compatibility' section.
6907         * doc/gnulib.texi (Native Windows Support): Include ld-output-def.texi
6908         here...
6909         (Build Infrastructure Modules): ... not here.
6911 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
6913         doc: improve randomness discussion
6914         Inspired by comments from Jeffrey Walton in:
6915         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00002.html
6916         * doc/glibc-functions/getentropy.texi (getentropy):
6917         * doc/glibc-functions/getrandom.texi (getrandom):
6918         Improve discussion of problems with "random" data,
6919         and cite Ristenpart & Yilek.  Also, mention GRND_INSECURE.
6921 2020-06-01  Bruno Haible  <bruno@clisp.org>
6923         doc: Fix Texinfo syntax error.
6924         * doc/glibc-functions/getrandom.texi: Add missing '@item'.
6926 2020-06-01  Asher Gordon  <AsDaGo@posteo.net>
6928         doc: Change '.' to '@.' where appropriate.
6929         * doc/c-ctype.texi: Change '.' to '@.' where appropriate.
6930         * doc/glibc-functions/fstatfs.texi: Likewise.
6931         * doc/glibc-functions/fts_children.texi: Likewise.
6932         * doc/glibc-functions/fts_read.texi: Likewise.
6933         * doc/glibc-functions/getdirentries.texi: Likewise.
6934         * doc/glibc-functions/mkostemp.texi: Likewise.
6935         * doc/glibc-functions/mkostemps.texi: Likewise.
6936         * doc/glibc-functions/mkstemps.texi: Likewise.
6937         * doc/glibc-functions/preadv.texi: Likewise.
6938         * doc/glibc-functions/pwritev.texi: Likewise.
6939         * doc/glibc-functions/sendfile.texi: Likewise.
6940         * doc/glibc-functions/statfs.texi: Likewise.
6941         * doc/gnulib-intro.texi: Likewise.
6942         * doc/gnulib-tool.texi: Likewise.
6943         * doc/intprops.texi: Likewise.
6944         * doc/lib-symbol-visibility.texi: Likewise.
6945         * doc/licenses-texi.texi: Likewise.
6946         * doc/pastposix-functions/bcmp.texi: Likewise.
6947         * doc/pastposix-functions/bcopy.texi: Likewise.
6948         * doc/pastposix-functions/bzero.texi: Likewise.
6949         * doc/pastposix-functions/ecvt.texi: Likewise.
6950         * doc/pastposix-functions/fcvt.texi: Likewise.
6951         * doc/pastposix-functions/ftime.texi: Likewise.
6952         * doc/pastposix-functions/gcvt.texi: Likewise.
6953         * doc/pastposix-functions/getwd.texi: Likewise.
6954         * doc/pastposix-functions/index.texi: Likewise.
6955         * doc/pastposix-functions/mktemp.texi: Likewise.
6956         * doc/pastposix-functions/rindex.texi: Likewise.
6957         * doc/pastposix-functions/wcswcs.texi: Likewise.
6958         * doc/posix-functions/aio_cancel.texi: Likewise.
6959         * doc/posix-functions/aio_error.texi: Likewise.
6960         * doc/posix-functions/aio_fsync.texi: Likewise.
6961         * doc/posix-functions/aio_read.texi: Likewise.
6962         * doc/posix-functions/aio_return.texi: Likewise.
6963         * doc/posix-functions/aio_suspend.texi: Likewise.
6964         * doc/posix-functions/aio_write.texi: Likewise.
6965         * doc/posix-functions/creat.texi: Likewise.
6966         * doc/posix-functions/ctime.texi: Likewise.
6967         * doc/posix-functions/daylight.texi: Likewise.
6968         * doc/posix-functions/fgetpos.texi: Likewise.
6969         * doc/posix-functions/fopen.texi: Likewise.
6970         * doc/posix-functions/freopen.texi: Likewise.
6971         * doc/posix-functions/fseeko.texi: Likewise.
6972         * doc/posix-functions/fsetpos.texi: Likewise.
6973         * doc/posix-functions/fstatat.texi: Likewise.
6974         * doc/posix-functions/fstatvfs.texi: Likewise.
6975         * doc/posix-functions/ftello.texi: Likewise.
6976         * doc/posix-functions/ftruncate.texi: Likewise.
6977         * doc/posix-functions/getrlimit.texi: Likewise.
6978         * doc/posix-functions/lio_listio.texi: Likewise.
6979         * doc/posix-functions/localtime.texi: Likewise.
6980         * doc/posix-functions/lseek.texi: Likewise.
6981         * doc/posix-functions/mkstemp.texi: Likewise.
6982         * doc/posix-functions/mktime.texi: Likewise.
6983         * doc/posix-functions/open.texi: Likewise.
6984         * doc/posix-functions/openat.texi: Likewise.
6985         * doc/posix-functions/opendir.texi: Likewise.
6986         * doc/posix-functions/pread.texi: Likewise.
6987         * doc/posix-functions/pwrite.texi: Likewise.
6988         * doc/posix-functions/readdir.texi: Likewise.
6989         * doc/posix-functions/readdir_r.texi: Likewise.
6990         * doc/posix-functions/scandir.texi: Likewise.
6991         * doc/posix-functions/seekdir.texi: Likewise.
6992         * doc/posix-functions/setrlimit.texi: Likewise.
6993         * doc/posix-functions/statvfs.texi: Likewise.
6994         * doc/posix-functions/strftime.texi: Likewise.
6995         * doc/posix-functions/telldir.texi: Likewise.
6996         * doc/posix-functions/timezone.texi: Likewise.
6997         * doc/posix-functions/tmpfile.texi: Likewise.
6998         * doc/posix-functions/truncate.texi: Likewise.
6999         * doc/posix-functions/tzname.texi: Likewise.
7000         * doc/posix-functions/wcsftime.texi: Likewise.
7001         * doc/windows-sockets.texi: Likewise.
7003 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
7005         getrandom-tests: do not assume GRND_RANDOM yields short read
7006         * tests/test-getrandom.c (main): Omit assertion that
7007         getrandom (b, sizeof b, GRND_RANDOM | GRND_NONBLOCK) < sizeof b
7008         when b’s size is 100000.  This assertion fails with Linux kernel
7009         5.6.13, as that kernel ignores the GRND_RANDOM flag.
7010         The separate blocking pool is going away in the Linux kernel, and
7011         they’ve added a flag GRND_INSECURE instead; see:
7012         https://lore.kernel.org/linux-api/705c5a091b63cc5da70c99304bb97e0109be0a26.1577088521.git.luto@kernel.org/
7013         The assertion was iffy anyway; what’s to prevent a kernel from
7014         lazily filling a large buffer with random bytes?
7016         read-file-test: pacify --enable-gcc-warnings
7017         * tests/test-read-file.c (test_read_file): Now static.
7019         tempname: merge from glibc and coreutils
7020         Also, merge in Gnulib’s more-recent methods of making it easier
7021         to share between Gnulib and glibc, and fix a few randomness
7022         glitches.
7023         * lib/tempname.c: Include libc-config.h, not config.h, if !_LIBC.
7024         (__set_errno): Remove; libc-config.h does that for us.
7025         Do not include <sys/time.h>.
7026         (__secure_getenv) [_LIBC]: New macro.
7027         (__try_tempname, __getpid, __gettimeofday) [!_LIBC]: Remove macros.
7028         (RANDOM_BITS): Rewrite.
7029         (RANDOM_VALUE_MAX, BASE_62_DIGITS, BASE_62_POWER): New macros.
7030         (random_value): New typedef.
7031         (try_file, try_dir, try_nocreate): Move up.
7032         (gen_tempname_len, try_tempname_len): New functions.
7033         (gen_tempname_len): Use a constant array rather than a switch.
7034         (try_tempname_len): Don’t assume string length fits in int.
7035         Generalize use of RANDOM_BITS.  If _LIBC, don’t assume RANDOM_BITS
7036         has enough entropy (it’s a bit short).
7037         (__gen_tempname): Rewrite in terms of gen_tempname_len.
7038         (__try_tempname): Rewrite in terms of try_tempname_len.
7039         * lib/tempname.h (gen_tempname_len, try_tempname_len): New decls.
7040         * modules/tempname (Depends-on): Remove gettimeofday, sys_time.
7041         Add getentropy, libc-config.
7043 2020-05-31  Bruno Haible  <bruno@clisp.org>
7045         getrandom, getentropy: Mention the crypto/gc-random module.
7046         Suggested by Simon Josefsson in
7047         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00400.html>.
7048         * doc/glibc-functions/getrandom.texi: Mention the quality issues and the
7049         crypto/gc-random module.
7050         * doc/glibc-functions/getentropy.texi: Likewise.
7052 2020-05-31  Bruno Haible  <bruno@clisp.org>
7054         getentropy: Enhance tests.
7055         * tests/test-getentropy.c (main): Add one more test.
7056         * tests/test-unistd-c++.cc: Check the signature of getentropy.
7058 2020-05-31  Bruno Haible  <bruno@clisp.org>
7060         getentropy: Work around a macOS and Solaris problem.
7061         * lib/unistd.in.h: Include <sys/random.h>, when needed for the
7062         'getentropy' module.
7063         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7064         UNISTD_H_HAVE_SYS_RANDOM_H.
7065         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Set
7066         UNISTD_H_HAVE_SYS_RANDOM_H.
7067         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_SYS_RANDOM_H.
7068         * doc/glibc-functions/getentropy.texi: Document the macOS and Solaris
7069         problem. List more platforms.
7071 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
7073         fnmatch: merge from glibc
7074         Also, merge in Gnulib’s more-recent methods of making it easier
7075         to share between Gnulib and glibc.
7076         * lib/fnmatch.c: Reorder includes to match glibc better.
7077         Include libc-config.h instead of config.h.
7078         Include alloca.h only if _LIBC || HAVE_ALLOCA.
7079         Do not include "../locale/elem-hash.h" if _LIBC.
7080         Define macros for btowc, etc. if _LIBC.  All uses simplified.
7081         Define FALLTHROUGH if _LIBC, instead of including attribute.h.
7082         Include intprops.h, since glibc has it now.
7083         (SIZE_MAX): Remove; use (size_t) -1 instead.
7084         Omit the "Comment out all this code" ifdef, since Gnulib
7085         has never really needed it.
7086         (STREQ): Remove; no longer used.
7087         (__libc_use_alloca, alloca, alloca_account): Define as
7088         needed if !_LIBC.
7089         (ISWCTYPE): Remove; all uses replaced by iswctype.
7090         (HANDLE_MULTIBYTE): Remove.  All uses removed by assuming true.
7091         (internal_function): Remove.  All uses removed.
7092         (STRUCT): New macro.
7093         (WIDE_CHAR_VERSION): Define to 0 instead of leaving undefined.
7094         (WMEMCMP): New macro.
7095         (FINDIDX): Define if _LIBC, and include <locale/weight.h>
7096         and <locale/weightwc.h>.
7097         (fnmatch): Prefer __glibc_likely and __glibc_unlikely to
7098         __builtin_expect.  Check for integer overflow more
7099         systematically.  Account for alloca storage better when
7100         recursive.  Use strnlen instead of strlen for efficiency.
7101         * lib/fnmatch_loop.c: Include stdint.h if _LIBC, for int32_t etc.
7102         (struct STRUCT): New type.
7103         (FCT, EXT): New ENDS and ALLOCA_USED args.
7104         All callers changed.
7105         (FCT): Prefer __glibc_unlikely to __builtin_expect.
7106         Simplify by assuming WIDE_CHAR_SUPPORT.
7107         Copy _LIBC code from glibc without worrying Gnulib compatibility.
7108         Cast cold to UCHAR to avoid signedness warning.
7109         (END): Check for invalid pattern.
7110         (EXT): Improve alloca/malloc checking (taken from glibc),
7111         and improve it some more by using intprops.h and checking
7112         for integer overflow and using bool for booleans.
7113         * lib/libc-config.h (compat_symbol): New macro.
7114         (versioned_symbol): Make it ‘extern int dummy’ so that it’s
7115         acceptable to non-GCC when a trailing semicolon is added.
7116         * modules/fnmatch (Depends-on): Add alloca-opt, intprops,
7117         libc-config, strnlen.  Remove alloca.
7119 2020-05-31  Bruno Haible  <bruno@clisp.org>
7121         getrandom: Doc and test tweaks.
7122         * lib/getrandom.c (getrandom): Mention that it never returns 0, and that
7123         it sets errno when failing.
7124         * tests/test-getrandom.c (main): Disable the high-quality check on those
7125         platforms on which it fails.
7126         * doc/glibc-functions/getrandom.texi: Add Minix, AIX, HP-UX, IRIX,
7127         Cygwin to the list of platforms that don't have the function. Add a note
7128         about the quality of the result.
7129         * doc/glibc-headers/sys_random.texi: Don't mention the 'getrandom'
7130         declaration; this is fixed by module 'getrandom'.
7132 2020-05-31  Bruno Haible  <bruno@clisp.org>
7134         getrandom: Add support for native Windows.
7135         * lib/getrandom.c: Include <errno.h>, <windows.h>, <bcrypt.h>,
7136         <wincrypt.h>.
7137         (CRYPT_VERIFY_CONTEXT): New macro.
7138         (LoadLibrary, CryptAcquireContext): Redirect to the variant with suffix
7139         'A'.
7140         (GetProcAddress): New macro.
7141         (BCryptGenRandomFuncType): New type.
7142         (BCryptGenRandomFunc, initialized): New variables.
7143         (initialize): New function.
7144         (getrandom): On native Windows, use <bcrypt.h> API when available, and
7145         <wincrypt.h> API as fallback.
7146         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set LIB_GETRANDOM.
7147         * modules/getrandom (Link): New section.
7148         * modules/getentropy (Link): Likewise.
7149         * modules/getrandom-tests (Makefile.am): Link test-getrandom against
7150         $(LIB_GETRANDOM).
7151         * modules/getentropy-tests (Makefile.am): Link test-getentropy against
7152         $(LIB_GETRANDOM).
7153         * modules/sys_random-c++-tests (Makefile.am): Link test-sys_random-c++
7154         against $(LIB_GETRANDOM).
7155         * doc/glibc-functions/getrandom.texi: Mention the native Windows
7156         support.
7158 2020-05-31  Bruno Haible  <bruno@clisp.org>
7160         getrandom: Simplify the determination of the random number devices.
7161         Suggested by Paul Eggert in
7162         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00383.html>.
7163         * lib/getrandom.c (NAME_OF_RANDOM_DEVICE, NAME_OF_NONCE_DEVICE): New
7164         macros.
7165         * modules/getrandom (Depends-on): Remove crypto/gc-random.
7167 2020-05-31  Bruno Haible  <bruno@clisp.org>
7169         crypto/gc-random: Fix list of crypto devices for Solaris.
7170         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case Solaris.
7172 2020-05-31  Akim Demaille  <akim@lrde.epita.fr>
7174         list: fix GCC warnings
7175         * lib/gl_anytree_list2.h (gl_tree_iterator_free)
7176         (gl_tree_next_node, gl_tree_node_nx_set_value)
7177         (gl_tree_previous_node, gl_tree_next_node):
7178         Mark unused arguments.
7179         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
7180         * lib/gl_anylinked_list2.h (gl_linked_node_value)
7181         (gl_linked_node_nx_set_value, gl_linked_iterator_free): Likewise.
7183         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Avoid using
7184         the same variable name in nested scopes.
7186 2020-05-31  Bruno Haible  <bruno@clisp.org>
7188         list-c++, set-c++, oset-c++, map-c++, omap-c++: Don't fool the compiler.
7189         Reported by Akim Demaille in
7190         <https://lists.gnu.org/archive/html/bug-bison/2020-05/msg00102.html>.
7191         * lib/gl_list.hh (gl_List::iterator::next): Avoid a reinterpret_cast.
7192         * lib/gl_set.hh (gl_Set::iterator::next): Likewise.
7193         * lib/gl_oset.hh (gl_OSet::iterator::next): Likewise.
7194         * lib/gl_map.hh (gl_Map::iterator::next): Likewise.
7195         * lib/gl_omap.hh (gl_OMap::iterator::next): Likewise.
7197 2020-05-30  Bruno Haible  <bruno@clisp.org>
7199         wmemchr: Relicense under LGPLv2+.
7200         * modules/wmemchr (License): Set to LGPLv2+.
7202 2020-05-30  Bruno Haible  <bruno@clisp.org>
7204         wmempcpy: New module.
7205         Reported by Paul Eggert in
7206         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00387.html>.
7207         * lib/wchar.in.h (wmempcpy): New declaration.
7208         * lib/wmempcpy.c: New file.
7209         * m4/wmempcpy.m4: New file.
7210         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmempcpy is declared.
7211         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMPCPY, HAVE_WMEMPCPY.
7212         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMPCPY,
7213         HAVE_WMEMPCPY.
7214         * modules/wmempcpy: New file.
7215         * tests/test-wchar-c++.cc: Check the signature of wmempcpy.
7216         * doc/glibc-functions/wmempcpy.texi: Mention the new module.
7217         * modules/mempcpy (Description): Fix typo.
7219 2020-05-30  Bruno Haible  <bruno@clisp.org>
7221         crypto/gc-random: Fix list of crypto devices for NetBSD, OpenBSD.
7222         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case NetBSD and OpenBSD.
7224 2020-05-30  Bruno Haible  <bruno@clisp.org>
7226         sys_random: Work around macOS bug.
7227         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Include <sys/types.h> and
7228         <stdlib.h> before <sys/random.h>.
7229         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
7230         * lib/sys_random.in.h: On macOS, include <sys/types.h> and <stdlib.h>
7231         first.
7232         * doc/glibc-headers/sys_random.texi: Mention the macOS problem.
7234 2020-05-30  Bruno Haible  <bruno@clisp.org>
7236         getrandom: Override incompatible system function on Solaris 11.
7237         * lib/sys_random.in.h (getrandom): Override if REPLACE_GETRANDOM is 1.
7238         * lib/getrandom.c (getrandom): When the system has getrandom, just
7239         invoke it.
7240         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set REPLACE_GETRANDOM if the
7241         system's getrandom function's prototype is not the expected one.
7242         * m4/sys_random_h.m4 (gl_SYS_RANDOM_H_DEFAULTS): Initialize
7243         REPLACE_GETRANDOM.
7244         * modules/sys_random (Makefile.am): Substitute REPLACE_GETRANDOM.
7245         * modules/getrandom (modules/getrandom): Consider REPLACE_GETRANDOM.
7246         * tests/test-getrandom.c (main): Allow error EINVAL as an alternative to
7247         EAGAIN.
7248         * doc/glibc-functions/getrandom.texi: Mention the new module and the
7249         Solaris problem.
7251 2020-05-30  Bruno Haible  <bruno@clisp.org>
7253         sys_random: Add C++ tests.
7254         * tests/test-sys_random-c++.cc: New file.
7255         * modules/sys_random-c++-tests: New file.
7256         * modules/sys_random-tests (Depends-on): Depend on it.
7258         sys_random: Add tests.
7259         * tests/test-sys_random.c: New file.
7260         * modules/sys_random-tests: New file.
7262         sys_random: New module.
7263         * lib/sys_random.in.h: Use the common idioms for overridable header
7264         files.
7265         * m4/sys_random_h.m4: New file.
7266         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Require gl_SYS_RANDOM_H_DEFAULTS.
7267         * modules/sys_random: New file.
7268         * modules/getrandom (Files): Remove lib/sys_random.in.h.
7269         (Depends-on): Add sys_random.
7270         (configure.ac): Use gl_SYS_RANDOM_MODULE_INDICATOR, not
7271         gl_UNISTD_MODULE_INDICATOR.
7272         (Makefile.am): Don't generate sys/random.h here.
7273         * doc/glibc-headers/sys_random.texi: New file.
7274         * doc/gnulib.texi: Include it.
7276 2020-05-30  Bruno Haible  <bruno@clisp.org>
7278         unistd: Remove conflicting declaration of getrandom().
7279         * lib/unistd.in.h (getrandom): Remove declaration.
7280         * m4/unistd_h.m4 (gl_UNISTD_H): Don't test whether getrandom is
7281         declared.
7282         (gl_UNISTD_H_DEFAULTS): Don't initialize GNULIB_GETRANDOM,
7283         HAVE_GETRANDOM.
7284         * modules/unistd (Makefile.am): Don't substitute GNULIB_GETRANDOM,
7285         HAVE_GETRANDOM.
7287 2020-05-30  Bruno Haible  <bruno@clisp.org>
7289         getrandom: Add tests.
7290         * tests/test-getrandom.c: New file.
7291         * modules/getrandom-tests: New file.
7293 2020-05-30  Bruno Haible  <bruno@clisp.org>
7295         crypto/gc-random: Fix link error on MSVC.
7296         * m4/gc-random.m4 (gl_GC_RANDOM): Set LIB_GC_RANDOM.
7297         * modules/crypto/gc-random (Link): New section.
7298         * modules/crypto/gc-tests (Makefile.am): Link test-gc against
7299         $(LIB_GC_RANDOM).
7301 2020-05-30  Bruno Haible  <bruno@clisp.org>
7303         Don't assume that UNICODE is not defined.
7304         Many Windows API functions are defined differently (redirecting to a
7305         function with suffix 'W') if the application defines the macro UNICODE
7306         than by default (redirecting to a function with suffix 'A').
7307         * lib/clean-temp.c (OSVERSIONINFO, GetVersionEx): Redirect to the
7308         variant with suffix 'A'.
7309         * lib/dirent-private.h (WIN32_FIND_DATA): Likewise.
7310         * lib/gc-gnulib.c (CryptAcquireContext): Likewise.
7311         * lib/getaddrinfo.c (GetModuleHandle): Likewise.
7312         * lib/getlogin.c (GetUserName): Likewise.
7313         * lib/getlogin_r.c (GetUserName): Likewise.
7314         * lib/gettimeofday.c (LoadLibrary): Likewise.
7315         * lib/isatty.c (LoadLibrary, QueryFullProcessImageName): Likewise.
7316         * lib/link.c (GetModuleHandle, CreateHardLink): Likewise.
7317         * lib/localename.c (GetLocaleInfo, EnumSystemLocales): Likewise.
7318         * lib/mountlist.c (GetDriveType): Likewise.
7319         * lib/nonblocking.c (GetNamedPipeHandleState): Likewise.
7320         * lib/opendir.c (WIN32_FIND_DATA, GetFullPathName, FindFirstFile):
7321         Likewise.
7322         * lib/physmem.c (GetModuleHandle): Likewise.
7323         * lib/poll.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
7324         PeekMessage, DispatchMessage): Likewise.
7325         * lib/progreloc.c (GetModuleFileName): Likewise.
7326         * lib/putenv.c (SetEnvironmentVariable): Likewise.
7327         * lib/read.c (GetNamedPipeHandleState): Likewise.
7328         * lib/readdir.c (FindNextFile): Likewise.
7329         * lib/relocatable.c (GetModuleFileName): Likewise.
7330         * lib/rename.c (MoveFileEx): Likewise.
7331         * lib/rewinddir.c (FindFirstFile): Likewise.
7332         * lib/select.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
7333         PeekMessage, DispatchMessage): Likewise.
7334         * lib/sethostname.c (GetComputerNameEx, SetComputerNameEx): Likewise.
7335         * lib/socket.c (WSASocket): Likewise.
7336         * lib/stat-w32.c (LoadLibrary, GetFinalPathNameByHandle): Likewise.
7337         * lib/stat.c (WIN32_FIND_DATA, CreateFile, FindFirstFile): Likewise.
7338         * lib/stdio-read.c (GetNamedPipeHandleState): Likewise.
7339         * lib/stdio-write.c (GetNamedPipeHandleState): Likewise.
7340         * lib/tmpdir.c (GetTempPath): Likewise.
7341         * lib/tmpfile.c (OSVERSIONINFO, GetVersionEx, GetTempPath): Likewise.
7342         * lib/uname.c (OSVERSIONINFO, GetVersionEx): Likewise.
7343         * lib/utime.c (CreateFile, GetFileAttributes): Likewise.
7344         * lib/windows-cond.c (CreateEvent): Likewise.
7345         * lib/windows-rwlock.c (CreateEvent): Likewise.
7346         * lib/windows-timedmutex.c (CreateEvent): Likewise.
7347         * lib/windows-timedrecmutex.c (CreateEvent): Likewise.
7348         * lib/windows-timedrwlock.c (CreateEvent): Likewise.
7349         * lib/write.c (GetNamedPipeHandleState): Likewise.
7351 2020-05-30  Bruno Haible  <bruno@clisp.org>
7353         physmem: Fix compilation errors on MSVC.
7354         * lib/physmem.c (PFN_MS_EX): Use BOOL, not WINBOOL.
7355         * modules/physmem (Depends-on): Add unistd.
7357 2020-05-29  Bruno Haible  <bruno@clisp.org>
7359         gnulib-tool: Fix link errors with a particular set of modules on mingw.
7360         * gnulib-tool (func_emit_tests_Makefile_am): Add ../lib/libgnu.a to
7361         LDADD a second time, after the second occurrence of libtests.a.
7362         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
7364 2020-05-29  Bruno Haible  <bruno@clisp.org>
7366         fnmatch: Rely on more gnulib modules.
7367         * modules/fnmatch (Depends-on): Add btowc, isblank, iswctype, wmemchr,
7368         wmempcpy, mempcpy.
7369         * lib/fnmatch.c: Assume that HAVE_WCTYPE_H, HAVE_BTOWC, HAVE_ISWCTYPE,
7370         HAVE_WMEMCHR, HAVE_WMEMPCPY, HAVE_ISBLANK, HAVE_DECL_ISBLANK,
7371         HAVE_MEMPCPY are all 1.
7372         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't test for btowc, isblank,
7373         iswctype, mempcpy, wmemchr, wmemcpy, wmempcpy, <wctype.h>.
7375 2020-05-29  Bruno Haible  <bruno@clisp.org>
7377         Avoid dynamic lookup of Windows API functions when possible.
7378         * lib/getaddrinfo.c (GetProcAddress, getaddrinfo_func,
7379         freeaddrinfo_func, getnameinfo_func, getaddrinfo_ptr, freeaddrinfo_ptr,
7380         getnameinfo_ptr): Don't define in a build for Windows XP or higher.
7381         (use_win32_p): Define differently.
7382         * lib/link.c (GetProcAddress, CreateHardLinkFuncType,
7383         CreateHardLinkFunc, initialized, initialize): Don't define in a build
7384         for Windows XP or higher.
7386 2020-05-29  Daiki Ueno  <ueno@gnu.org>
7388         read-file: disable buffering if RF_SENSITIVE is set
7389         * lib/read-file.c (read_file): Call setvbuf if RF_SENSITIVE.
7390         Suggested by Glenn Strauss.
7391         (fread_file): Suggest calling setvbuf before calling this
7392         function.  Suggested by Bruno Haible.
7394 2020-05-29  Bruno Haible  <bruno@clisp.org>
7396         wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset: Fix autoconf test.
7397         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Link, not only compile, the test
7398         program.
7399         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
7400         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
7401         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
7402         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.
7404 2020-05-29  Bruno Haible  <bruno@clisp.org>
7406         Fix compilation error on native Windows (regression from 2020-05-28).
7407         Reported by Daiki Ueno.
7408         * lib/gettimeofday.c (GetSystemTimePreciseAsFileTimeFunc): Define as
7409         macro when not using dynamic loading.
7410         * lib/isatty.c (GetNamedPipeClientProcessIdFunc,
7411         QueryFullProcessImageNameFunc): Likewise.
7412         * lib/stat-w32.c (GetFileInformationByHandleExFunc,
7413         GetFinalPathNameByHandleFunc): Likewise.
7415 2020-05-29  Daiki Ueno  <ueno@gnu.org>
7417         fopen-gnu-tests: fix "\x" escape usage
7418         * tests/test-fopen-gnu.c (DATA): Use safer escape sequence.
7420 2020-05-28  Bruno Haible  <bruno@clisp.org>
7422         Avoid dynamic loading of Windows API functions when possible.
7423         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
7424         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00182.html>.
7425         * lib/gettimeofday.c (GetProcAddress,
7426         GetSystemTimePreciseAsFileTimeFuncType,
7427         GetSystemTimePreciseAsFileTimeFunc, initialized, initialize): Don't
7428         define in a build for Windows 8 or higher.
7429         * lib/isatty.c (GetProcAddress, GetNamedPipeClientProcessIdFuncType,
7430         GetNamedPipeClientProcessIdFunc, QueryFullProcessImageNameFuncType,
7431         QueryFullProcessImageNameFunc, initialized, initialize): Don't define
7432         in a build for Windows Vista or higher.
7433         * lib/stat-w32.c (GetProcAddress, GetFileInformationByHandleExFuncType,
7434         GetFileInformationByHandleExFunc, GetFinalPathNameByHandleFuncType,
7435         GetFinalPathNameByHandleFunc, initialized, initialize): Likewise.
7437 2020-05-28  Paul Eggert  <eggert@cs.ucla.edu>
7439         explicit_bzero-tests: improve -Wmissing-declarations pacification
7440         * tests/test-explicit_bzero.c: Now noinline.
7441         Suggested by Bruno Haible in:
7442         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00300.html
7444 2020-05-28  Bruno Haible  <bruno@clisp.org>
7446         Fix build errors due to read-file changes (regression from 2020-05-27).
7447         * lib/git-merge-changelog.c (read_changelog_file): Update read_file
7448         invocation.
7449         * tests/test-sameacls.c (main): Likewise.
7450         * tests/test-pipe-filter-gi1.c (main): Call read_file instead of
7451         read_binary_file.
7452         * tests/test-pipe-filter-ii1.c (main): Likewise.
7454 2020-05-28  Bruno Haible  <bruno@clisp.org>
7456         fts: Make more robust in multithreaded applications.
7457         * lib/fts.c (fts_open): Pass an O_CLOEXEC flag to open().
7458         * modules/fts (Depends-on): Add 'open'.
7460 2020-05-28  Bruno Haible  <bruno@clisp.org>
7462         relocatable-prog: Make more robust in multithreaded applications.
7463         * lib/progreloc.c (O_CLOEXEC): Define fallback to 0 when use from module
7464         relocatable-prog-wrapper.
7465         (find_executable): Pass an O_CLOEXEC flag to open().
7466         * modules/relocatable-prog (Depends-on): Add 'open'.
7468 2020-05-28  Bruno Haible  <bruno@clisp.org>
7470         getloadavg: Make more robust in multithreaded applications.
7471         * lib/getloadavg.c (getloadavg): Pass an O_CLOEXEC flag to open().
7472         Simplify use of O_CLOEXEC.
7473         * modules/getloadavg (Depends-on): Add 'open'.
7475 2020-05-28  Bruno Haible  <bruno@clisp.org>
7477         vma-iter: Make more robust in multithreaded applications.
7478         * lib/vma-iter.c (rof_open, vma_iterate): Pass an O_CLOEXEC flag to
7479         open().
7480         * modules/vma-iter (Depends-on): Add 'open'.
7482 2020-05-28  Bruno Haible  <bruno@clisp.org>
7484         truncate: Make more robust in multithreaded applications.
7485         * lib/truncate.c (truncate): Pass an O_CLOEXEC flag to open().
7487 2020-05-28  Bruno Haible  <bruno@clisp.org>
7489         pagealign_alloc: Make more robust in multithreaded applications.
7490         * lib/pagealign_alloc.c (pagealign_alloc): Pass an O_CLOEXEC flag to
7491         open().
7492         * modules/pagealign_alloc (Depends-on): Add 'open'.
7494 2020-05-28  Bruno Haible  <bruno@clisp.org>
7496         openat: Make more robust in multithreaded applications.
7497         * lib/openat.c (openat_needs_fchdir): Pass an O_CLOEXEC flag to open().
7499 2020-05-28  Bruno Haible  <bruno@clisp.org>
7501         at-internal: Make more robust in multithreaded applications.
7502         * lib/openat-proc.c (openat_proc_name): Pass an O_CLOEXEC flag to
7503         open().
7505 2020-05-28  Bruno Haible  <bruno@clisp.org>
7507         mountlist: Make more robust in multithreaded applications.
7508         * lib/mountlist.c (read_file_system_list): Pass an O_CLOEXEC flag to
7509         open().
7510         * modules/mountlist (Depends-on): Add 'open'.
7512 2020-05-28  Bruno Haible  <bruno@clisp.org>
7514         login_tty: Make more robust in multithreaded applications.
7515         * lib/login_tty.c (login_tty): Pass an O_CLOEXEC flag to open().
7516         * modules/login_tty (Depends-on): Add 'open'.
7518 2020-05-28  Bruno Haible  <bruno@clisp.org>
7520         javacomp: Make more robust in multithreaded applications.
7521         * lib/javacomp.c (get_classfile_version): Pass an O_CLOEXEC flag to
7522         open().
7523         * modules/javacomp (Depends-on): Add 'open'.
7525 2020-05-28  Bruno Haible  <bruno@clisp.org>
7527         getprogname: Make more robust in multithreaded applications.
7528         * lib/getprogname.c (getprogname): Pass an O_CLOEXEC flag to open().
7529         * modules/getprogname (Depends-on): Add 'open'.
7531 2020-05-28  Bruno Haible  <bruno@clisp.org>
7533         get_progname_of: Make more robust in multithreaded applications.
7534         * lib/get_progname_of.c (get_progname_of): Pass an O_CLOEXEC flag to
7535         open().
7536         * modules/get_progname_of (Depends-on): Add 'open'.
7538 2020-05-28  Bruno Haible  <bruno@clisp.org>
7540         get_ppid_of: Make more robust in multithreaded applications.
7541         * lib/get_ppid_of.c (get_ppid_of): Pass an O_CLOEXEC flag to open().
7542         * modules/get_ppid_of (Depends-on): Add 'open'.
7544 2020-05-28  Bruno Haible  <bruno@clisp.org>
7546         get-rusage-as: Make more robust in multithreaded applications.
7547         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Pass an O_CLOEXEC
7548         flag to open().
7549         * modules/get-rusage-as (Depends-on): Add 'open'.
7551 2020-05-28  Bruno Haible  <bruno@clisp.org>
7553         crypto/gc: Make more robust in multithreaded applications.
7554         * lib/gc-gnulib.c (randomize): Pass an O_CLOEXEC flag to open().
7555         * modules/crypto/gc (Depends-on): Add 'open'.
7557 2020-05-28  Bruno Haible  <bruno@clisp.org>
7559         copy-file: Make more robust in multithreaded applications.
7560         * lib/copy-file.c (qcopy_file_preserving): Pass an O_CLOEXEC flag to
7561         open().
7563 2020-05-28  Bruno Haible  <bruno@clisp.org>
7565         chown: Make more robust in multithreaded applications.
7566         * lib/chown.c (rpl_chown): Pass an O_CLOEXEC flag to open().
7568 2020-05-28  Bruno Haible  <bruno@clisp.org>
7570         doc: Fix statement about O_CLOEXEC (wrong since 2017-08-14).
7571         * doc/posix-headers/fcntl.texi: Gnulib no longer defines O_CLOEXEC to 0.
7573 2020-05-28  Daiki Ueno  <ueno@gnu.org>
7575         fopen-gnu: make 'b' flag can be used with 'e' on Windows
7576         * lib/fopen.c (rpl_fopen): Pass O_BINARY to open, if a 'b' flag is
7577         specified on Windows.
7578         * tests/test-fopen-gnu.c (DATA): New define.
7579         (main): Add test for reading binary files with an 'e' flag.
7581 2020-05-27  Bruno Haible  <bruno@clisp.org>
7583         Don't assume that UNICODE is not defined.
7584         Some Windows types, such as TCHAR, LPTSTR, LPCTSTR, are defined
7585         differently if the application defines the macro UNICODE.
7586         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
7587         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00184.html>.
7588         * lib/link.c (CreateHardLinkFuncType): Use LPCSTR, not LPCTSTR.
7589         * lib/localename.c (enum_locales_fn): Use LPSTR, not LPTSTR.
7590         * lib/stat-w32.c (GetFinalPathNameByHandleFuncType): Likewise.
7592 2020-05-27  Bruno Haible  <bruno@clisp.org>
7594         Improve pattern for defining _WIN32_WINNT.
7595         Newer versions of the Windows API may not only add, but also remove API
7596         functions. Therefore, when the user is e.g. building for Windows 10, we
7597         should not set _WIN32_WINNT to e.g. Windows 8, as this may enable the
7598         use of APIs that were present in Windows 8 but removed in Windows 10.
7599         Suggested by Steve Lhomme <robux4@ycbcr.xyz> in
7600         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00318.html>.
7601         * lib/ftruncate.c (_WIN32_WINNT): Don't set to a smaller value.
7602         * lib/sethostname.c (_WIN32_WINNT): Likewise.
7603         * lib/stat-w32.c (_WIN32_WINNT): Likewise.
7605 2020-05-27  Bruno Haible  <bruno@clisp.org>
7607         javacomp: Make more robust in multithreaded applications.
7608         * lib/javacomp.c (write_temp_file): Pass an 'e' flag to fopen_temp.
7609         * modules/javacomp (Depends-on): Add fopen-gnu.
7611 2020-05-27  Bruno Haible  <bruno@clisp.org>
7613         mountlist: Make more robust in multithreaded applications.
7614         * lib/mountlist.c (setmntent, read_file_system_list): Pass an 'e' flag
7615         to fopen.
7616         * modules/mountlist (Depends-on): Add fopen-gnu.
7618 2020-05-27  Bruno Haible  <bruno@clisp.org>
7620         sethostname: Make more robust in multithreaded applications.
7621         * lib/sethostname.c (sethostname): Pass an 'e' flag to fopen.
7622         * modules/sethostname (Depends-on): Add fopen-gnu.
7624 2020-05-27  Bruno Haible  <bruno@clisp.org>
7626         readutmp: Make more robust in multithreaded applications.
7627         * lib/readutmp.c (read_utmp): Pass an 'e' flag to fopen.
7628         * modules/readutmp (Depends-on): Add fopen-gnu.
7630 2020-05-27  Bruno Haible  <bruno@clisp.org>
7632         getpass: Make more robust in multithreaded applications.
7633         * lib/getpass.c (getpass): Pass an 'e' flag to fopen.
7634         * modules/getpass (Depends-on): Add fopen-gnu.
7636 2020-05-27  Bruno Haible  <bruno@clisp.org>
7638         getloadavg: Make more robust in multithreaded applications.
7639         * lib/getloadavg.c (getloadavg): Pass an 'e' flag to fopen.
7640         * modules/getloadavg (Depends-on): Add fopen-gnu.
7642 2020-05-27  Bruno Haible  <bruno@clisp.org>
7644         exclude: Make more robust in multithreaded applications.
7645         * lib/exclude.c (add_exclude_file): Pass an 'e' flag to fopen.
7646         * modules/exclude (Depends-on): Add fopen-gnu.
7648 2020-05-27  Bruno Haible  <bruno@clisp.org>
7650         bitset: Make more robust in multithreaded applications.
7651         * lib/bitset/stats.c (bitset_stats_read, bitset_stats_write): Pass an
7652         'e' flag to fopen.
7653         * modules/bitset (Depends-on): Add fopen-gnu.
7655 2020-05-27  Daiki Ueno  <ueno@gnu.org>
7657         read-file: add RF_SENSITIVE flag
7658         * lib/read-file.h (RF_SENSITIVE): New define.
7659         * lib/read-file.c (fread_file, read_file): Take into account of
7660         RF_SENSITIVE flag.
7661         * modules/read-file (Depends-on): Add explicit_bzero.
7662         This adds an alternative behavior of those functions to explicitly
7663         clear the internal memory block when it becomes unused.  This is
7664         useful for reading sensitive information from a file.
7666 2020-05-27  Daiki Ueno  <ueno@gnu.org>
7668         read-file: add flags to modify reading behavior
7669         * lib/read-file.h (RF_BINARY): New define.
7670         (fread_file, read_file): Take FLAGS argument.
7671         (read_binary_file): Remove.
7672         * lib/read-file.c (internal_read_file): Merge into ...
7673         (read_file): ... here.
7674         * modules/read-file-tests (Files): Add "tests/macros.h".
7675         * tests/test-read-file.c (main): Refactor using ASSERT macro.
7676         * NEWS: Mention this change.
7678 2020-05-26  Bernhard Voelker  <mail@bernhard-voelker.de>
7680         doc/gnulib-intro.texi: add missing "to" in sentence
7681         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
7682         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00316.html>.
7683         * doc/gnulib-intro.texi (Collaborative Development): Add "to".
7685 2020-05-26  Bruno Haible  <bruno@clisp.org>
7687         count-one-bits: Fix MSVC specific code.
7688         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
7689         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00309.html>.
7690         * lib/count-one-bits.h (COUNT_ONE_BITS_GENERIC): Don't define if we're
7691         using GCC.
7692         [_MSC_VER]: Use correct syntax for #pragma intrinsic.
7693         (__popcnt64): In 32-bit mode, define as an inline function.
7694         (COUNT_ONE_BITS): Rename first argument to GCC_BUILTIN.
7696 2020-05-26  Bruno Haible  <bruno@clisp.org>
7698         argz: Avoid name clashes through argz.h.
7699         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
7700         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00308.html>.
7701         * lib/argz.h: Don't use __ prefixed identifiers.
7702         (const): Remove definition.
7703         (argz_next): Remove inline definitions.
7705 2020-05-26  Daiki Ueno  <ueno@gnu.org>
7707         read-file: make use of fopen-gnu
7708         * lib/read-file.c (read_file): Pass an 'e' flag to fopen.
7709         (read_binary_file): Likewise.
7710         * modules/read-file (Depends-on): Add fopen-gnu.
7712 2020-05-25  Paul Eggert  <eggert@cs.ucla.edu>
7714         getentropy, getrandom: new modules
7715         * MODULES.html.sh (func_all_modules):
7716         * lib/unistd.in.h (getentropy, getrandom):
7717         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS):
7718         * modules/unistd (unistd.h):
7719         Add support for getentropy, getrandom.
7720         * doc/glibc-functions/getentropy.texi (getentropy):
7721         * doc/glibc-functions/getrandom.texi (getrandom):
7722         These are now fixed on some platforms.
7723         * lib/getentropy.c, lib/getrandom.c, lib/sys_random.in.h:
7724         * m4/getentropy.m4, m4/getrandom.m4:
7725         * modules/getentropy, modules/getentropy-tests:
7726         * modules/getrandom, modules/getrandom-tests:
7727         * tests/test-getentropy.c, tests/test-getrandom.c:
7728         New files.
7730 2020-05-25  Bruno Haible  <bruno@clisp.org>
7732         Add missing C99 dependencies.
7733         Reported by Paul Smith <psmith@gnu.org> in
7734         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00290.html>.
7735         * modules/assert (Depends-on): Add c99.
7736         * modules/filenamecat-lgpl (Depends-on): Likewise.
7737         * modules/libc-config (Depends-on): Likewise.
7738         * modules/mktime (Depends-on): Likewise.
7739         * modules/random_r (Depends-on): Likewise.
7740         * modules/regex (Depends-on): Likewise.
7741         * modules/scratch_buffer (Depends-on): Likewise.
7742         * modules/timespec-add (Depends-on): Likewise.
7743         * modules/timespec-sub (Depends-on): Likewise.
7744         * modules/verify (Depends-on): Likewise.
7746 2020-05-24  Paul Eggert  <eggert@cs.ucla.edu>
7748         explicit_bzero-tests: pacify -Wmissing-declarations
7749         * tests/test-explicit_bzero.c (do_secret_stuff, test_stack):
7750         Now static.
7752 2020-05-24  Bruno Haible  <bruno@clisp.org>
7754         fopen-gnu: Add tests.
7755         * tests/test-fopen-gnu.c: New file.
7756         * modules/fopen-gnu-tests: New file.
7758         fopen-gnu: New module.
7759         Suggested by Tim Rühsen <tim.ruehsen@gmx.de> in
7760         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00119.html>.
7761         * lib/fopen.c (rpl_fopen): When the fopen-gnu module is enabled and the
7762         mode contains an 'x' or 'e' flag, use open() followed by fdopen().
7763         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): New macro.
7764         * modules/fopen-gnu: New file.
7765         * doc/posix-functions/fopen.texi: Document the 'fopen-gnu' module.
7767 2020-05-24  Bruno Haible  <bruno@clisp.org>
7769         open, openat: Really support O_CLOEXEC.
7770         * lib/open.c (open): When have_cloexec is still undecided, do pass a
7771         O_CLOEXEC flag to orig_open.
7772         * lib/openat.c (rpl_openat): When have_cloexec is still undecided, do
7773         pass a O_CLOEXEC flag to orig_openat.
7774         * tests/test-open.h (test_open): Verify that O_CLOEXEC is honoured.
7775         * modules/open-tests (Depends-on): Add fcntl.
7776         * modules/openat-tests (Depends-on): Likewise.
7777         * modules/fcntl-safer-tests (Depends-on): Likewise.
7779 2020-05-24  Bruno Haible  <bruno@clisp.org>
7781         fopen: Fix the trailing slash workaround.
7782         * lib/fopen.c (rpl_fopen): Parse the mode string. Recognize "r+" as a
7783         write access. Pass the right flags to open().
7784         * tests/test-fopen.h (test_fopen): Add a few more tests on directories.
7786 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
7788         assure: new macro ‘affirm’
7789         * lib/assure.h: Include verify.h.
7790         (affirm): New macro, after a suggestion by Marc Nieper-Wißkirchen in:
7791         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00263.html
7792         and commentary by Bruno Haible in:
7793         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00278.html
7794         * modules/assure (Depends-on:): Add verify.
7796 2020-05-23  Bruno Haible  <bruno@clisp.org>
7798         calloc-gnu: Make test work in non-flat address spaces.
7799         Uses code by Paul Eggert.
7800         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Allow a calloc() implementation
7801         to return more than SIZE_MAX bytes, but only without wrap-around bugs.
7803 2020-05-23  Bruno Haible  <bruno@clisp.org>
7805         calloc-gnu: Avoid wrong configure results with GCC's AddressSanitizer.
7806         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Split the AC_RUN_IFELSE into two
7807         AC_RUN_IFELSE invocations.
7809 2020-05-23  Bruno Haible  <bruno@clisp.org>
7811         isnanf, isnanl, isnan: Don't use nonexistent builtins with clang.
7812         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM,
7813         gl_ISNANF_WORKS): Don't use __builtin_isnanf on clang versions that
7814         don't have it.
7815         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
7816         gl_FUNC_ISNANL_WORKS): Don't use __builtin_isnanl on clang versions that
7817         don't have it.
7818         * lib/isnanf-nolibm.h (__has_builtin): New macro.
7819         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
7820         it.
7821         * lib/isnanl-nolibm.h (__has_builtin): New macro.
7822         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
7823         it.
7824         * lib/math.in.h (__has_builtin): New macro.
7825         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
7826         it.
7827         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
7828         it.
7829         (isnan): Don't use the builtins on clang versions that don't have
7830         __builtin_isnanf and __builtin_isnanl.
7832 2020-05-23  Bruno Haible  <bruno@clisp.org>
7834         calloc-gnu: Avoid wrong configure results with clang.
7835         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Mark the pointer variable as
7836         'volatile', to defeat compiler optimizations.
7838 2020-05-23  Bruno Haible  <bruno@clisp.org>
7840         isnanl, isnanl-nolibm: Make a test work better with "gcc -O2" on x86_64.
7841         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Pass the
7842         'long double' values by reference, with values taken from a statically
7843         allocated array.
7845 2020-05-23  Bruno Haible  <bruno@clisp.org>
7847         findprog-in: Ignore directories.
7848         Reported by Frederick Eaton via Dmitry Goncharov in
7849         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
7850         * lib/findprog-in.c (find_in_given_path): When the file found is a
7851         directory, set errno to EACCES and, during a PATH search, continue
7852         searching.
7853         * modules/findprog-in (Depends-on): Add sys_stat, stat.
7855 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
7857         verify: document ‘assume’ better
7858         * lib/verify.h (assume): Say it’s for static analysis, not dynamic.
7860 2020-05-22  Asher Gordon  <AsDaGo@posteo.net>
7862         gendocs: Clarify licenses for templates.
7863         * doc/gendocs_template: Add a GNU All-Permissive license notice
7864         and bump Parent-Version.
7865         * doc/gendocs_template_min: Add a GNU All-Permissive license
7866         notice and copy the explanatory comment about the license notice
7867         at the bottom from gendocs_template.
7869 2020-05-21  Bruno Haible  <bruno@clisp.org>
7871         group-member: Relicense under LGPLv2+.
7872         Jim Meyering's approval is in
7873         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00218.html>.
7874         Paul Eggert's approval is in
7875         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00225.html>.
7876         Eric Blake's approval is in
7877         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00217.html>.
7878         * modules/group-member (License): Change to LGPLv2+.
7880 2020-05-21  Bruno Haible  <bruno@clisp.org>
7882         memmem: Avoid wrong configure results with "clang -fsanitize=undefined".
7883         Reported by Tim Rühsen in
7884         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
7885         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Use NULL + 1, not NULL.
7887 2020-05-21  Bruno Haible  <bruno@clisp.org>
7889         regex: Avoid wrong configure results with "clang -fsanitize=leak".
7890         Reported by Tim Rühsen in
7891         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
7892         * m4/regex.m4 (gl_REGEX): Free compiled regexes and allocated registers
7893         before returning with status 0.
7895 2020-05-21  Bruno Haible  <bruno@clisp.org>
7897         glob: Avoid wrong configure results with "clang -fsanitize=leak".
7898         Reported by Tim Rühsen in
7899         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
7900         * m4/glob.m4 (gl_GLOB): Free allocated memory before returning.
7902 2020-05-21  Bruno Haible  <bruno@clisp.org>
7904         fchownat: Support clang -fsanitize=implicit-integer-sign-change better.
7905         Reported by Tim Rühsen in
7906         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
7907         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
7908         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Cast -1 to uid_t or git_t,
7909         respectively.
7911 2020-05-18  Tim Rühsen  <tim.ruehsenqgmx.de>
7913         getdelim: Avoid wrong configure results with gcc -fsanitize=address.
7914         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Fix memleak.
7916 2020-05-19  Paul Eggert  <eggert@cs.ucla.edu>
7918         ftoastr: fix ifndef typo
7919         * lib/ftoastr.h (_GL_FTOASTR_H): Define.
7921 2020-05-19  Bruno Haible  <bruno@clisp.org>
7923         havelib: Tweak documentation.
7924         * doc/havelib.texi (Searching for Libraries): Fix typo.
7926 2020-05-18  Siddhesh Poyarekar  <siddhesh@gotplt.org>
7928         vcs-to-changelog: Rename vcs_to_changelog.py to use hyphens.
7929         This was needed earlier because modules had to import the main script,
7930         but that is no longer true.  Rename the script so that it is
7931         consistent with all other scripts in gnulib and uses hyphens.
7932         * build-aux/vcs_to_changelog.py: Rename to...
7933         * build-aux/vcs-to-changelog.py: ... this.
7934         * doc/vcs-to-changelog.texi (VCS To ChangeLog): Update reference.
7935         * modules/vcs-to-changelog: Likewise.
7937 2020-05-17  Bruno Haible  <bruno@clisp.org>
7939         Clarify intended usage of the license file modules.
7940         Reported by Asher Gordon <AsDaGo@posteo.net> in
7941         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00126.html>.
7942         * doc/licenses-texi.texi (License Texinfo sources): Mention the
7943         GNU AGPL. Explain the intended usage of the modules.
7944         * modules/fdl (Notice): Discourage use as a module.
7945         * modules/fdl-1.3 (Notice): Likewise.
7947 2020-05-17  Akim Demaille  <akim@lrde.epita.fr>
7949         hash: add hash_xinsert
7950         * lib/hash.h, lib/xhash.c (hash_xinsert): New.
7952 2020-05-16  Bruno Haible  <bruno@clisp.org>
7954         findprog-lgpl: Fix link error (existing since 2008-09-02).
7955         * modules/findprog-lgpl (Makefile.am): Arrange to compile
7956         findprog-lgpl.c, not findprog.c.
7957         * lib/findprog.c (find_in_path): Add LGPLed replacement code for
7958         XNMALLOC.
7960 2020-05-15  Paul Eggert  <eggert@cs.ucla.edu>
7962         c-stack: pacify -Wunused-result when DEBUG
7963         Problem reported by Marc Nieper-Wißkirchen in:
7964         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00132.html
7965         * lib/c-stack.c (segv_handler, overflow_handler, segv_handler) [DEBUG]:
7966         Explicitly ignore write failures.
7968 2020-05-13  Jim Meyering  <meyering@fb.com>
7970         announce-gen: improve a comment
7971         * build-aux/announce-gen: Improve comment.
7973 2020-05-12  Paul Eggert  <eggert@cs.ucla.edu>
7975         xalloc: pacify -Wanalyzer-possible-null-argument
7976         Problem reported for GCC 10.1.0 by Bruno Haible in:
7977         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00118.html
7978         * lib/xmalloc.c (HAVE_GNU_MALLOC, HAVE_GNU_REALLOC): New constants.
7979         (xmalloc): Suppress unnecessary check if HAVE_GNU_MALLOC.
7980         (xrealloc): Suppress unnecssary check if HAVE_GNU_REALLOC.
7982 2020-05-11  Paul Eggert  <eggert@cs.ucla.edu>
7984         careadlinkat: fix GCC 10 workaround
7985         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
7986         Massage the code so that it’s closer to what it was before
7987         the GCC 10.1.0 workaround was introduced.  This fixes
7988         a loop when !buffer and the bug workaround is in effect.
7989         Remove unnecessary casts.  Defend in a different way
7990         against (buffer && !buffer_size), by adding at least 1
7991         to buf_size each time through the loop.
7993 2020-05-10  Bruno Haible  <bruno@clisp.org>
7995         doc: Mark HP-UX as unsupported.
7996         * doc/gnulib-intro.texi (Target Platforms): List HP-UX as unsupported.
7998 2020-05-10  Paul Eggert  <eggert@cs.ucla.edu>
8000         careadlinkat: limit GCC workaround
8001         * lib/careadlinkat.c (careadlinkat): Limit workaround to GCC
8002         10.1.0 and later, since the workaround is pretty bad and the GCC
8003         bug should get fixed.
8005 2020-05-10  Bruno Haible  <bruno@clisp.org>
8007         havelib: Enhance documentation.
8008         * doc/havelib.texi (Searching for Libraries): Mention the bad
8009         consequences of using LIBxxx instead of LTLIBxxx and vice versa.
8011 2020-05-10  Bruno Haible  <bruno@clisp.org>
8013         attribute: Clarify list of attributes.
8014         * lib/attribute.h: Reorder the list of attributes, and group them by
8015         purpose.
8017 2020-05-10  Bruno Haible  <bruno@clisp.org>
8019         string: Fix compilation error in C++ mode.
8020         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): In C mode, use plain
8021         _GL_WARN_ON_USE.
8022         * lib/string.in.h (strchr, strpbrk, strrchr): Use _GL_WARN_ON_USE_CXX
8023         instead of _GL_WARN_ON_USE.
8025 2020-05-10  Akim Demaille  <akim@lrde.epita.fr>
8027         announce-gen: add support for dist-lzip
8028         * build-aux/announce-gen (@archive_suffixes): Add tar.lz.
8030 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
8032         manywarnings: port to GCC 10.1
8033         * build-aux/gcc-warning.spec:
8034         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)):
8035         Add GCC 10.1.0 warnings.
8037         careadlinkat: pacify -Wreturn-local-addr
8038         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
8039         Pacify gcc 10’s -Wreturn-local-addr option.
8040         Simplify some of the later code.
8042 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
8044         attribute: remove ATTRIBUTE_DEPRECATED
8045         * lib/attribute.h: Improve recently-added comments, mostly
8046         by shortening them (use active voice, etc.).
8047         (ATTRIBUTE_DEPRECATED): Remove, as it duplicates DEPRECATED.
8048         Problem reported by Bruno Haible in:
8049         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00089.html
8051 2020-05-09  Bruno Haible  <bruno@clisp.org>
8053         attribute: Add comments.
8054         * lib/attribute.h: Document each macro.
8056 2020-05-09  Akim Demaille  <akim@lrde.epita.fr>
8058         bitset: use the attribute module
8059         * modules/bitset: Depend on 'attribute'.
8060         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Remove.
8061         * lib/bitset.c, lib/bitset/array.c, lib/bitset/list.c,
8062         * lib/bitset/stats.c, lib/bitset/table.c, lib/bitset/vector.c:
8063         Use MAYBE_UNUSED instead of ATTRIBUTE_UNUSED.
8065 2020-05-09  Bruno Haible  <bruno@clisp.org>
8067         c-stack: Fix warning when DEBUG is enabled.
8068         Patch suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
8069         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00081.html>.
8070         * lib/c-stack.c: Include <stdio.h>.
8072 2020-05-09  Bruno Haible  <bruno@clisp.org>
8074         Remove redundant definitions of _GL_ATTRIBUTE_FORMAT.
8075         * lib/argp.h (_GL_ATTRIBUTE_FORMAT): Remove macro.
8076         * lib/argp-fmtstream.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8077         * lib/c-snprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8078         * lib/c-vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8079         * lib/c-vasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8080         * lib/c-vsnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8081         * lib/c-xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8082         * lib/error.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8083         * lib/parse-datetime.y (_GL_ATTRIBUTE_FORMAT): Likewise.
8084         * lib/vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8085         * lib/xprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8086         * lib/xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8088 2020-05-09  Bruno Haible  <bruno@clisp.org>
8090         Remove redundant definitions of _GL_ATTRIBUTE_ALLOC_SIZE.
8091         Reported by Akim Demaille in
8092         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00077.html>.
8093         * lib/eealloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Remove macro.
8094         * lib/pagealign_alloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
8095         * lib/xalloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
8097 2020-05-09  Bruno Haible  <bruno@clisp.org>
8099         stdio, monetary: Don't redefine _GL_ATTRIBUTE_FORMAT.
8100         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Don't override the definition
8101         that usually comes from m4/gnulib-common.m4.
8102         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8104 2020-05-09  Bruno Haible  <bruno@clisp.org>
8106         dirent, stdlib, wchar, string: Don't redefine _GL_ATTRIBUTE_PURE.
8107         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Don't override the definition
8108         that usually comes from m4/gnulib-common.m4.
8109         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
8110         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
8111         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
8113 2020-05-09  Bruno Haible  <bruno@clisp.org>
8115         uchar: Work around incorrect char16_t, char32_t types on Haiku 2020.
8116         * lib/uchar.in.h (char16_t): Define as macro if
8117         GNULIB_OVERRIDES_CHAR16_T.
8118         (char32_t): Define as macro if GNULIB_OVERRIDES_CHAR32_T.
8119         * m4/uchar.m4 (gl_TYPE_CHAR16_T, gl_TYPE_CHAR32_T): New macros.
8120         (gl_UCHAR_H): Invoke them.
8121         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_OVERRIDES_CHAR16_T,
8122         GNULIB_OVERRIDES_CHAR32_T.
8123         * m4/mbrtoc32.m4 (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Require
8124         gl_TYPE_CHAR32_T and test GNULIB_OVERRIDES_CHAR32_T.
8125         * modules/uchar (Makefile.am): Substitute GNULIB_OVERRIDES_CHAR16_T,
8126         GNULIB_OVERRIDES_CHAR32_T.
8128 2020-05-09  Bruno Haible  <bruno@clisp.org>
8130         Macro tweaks.
8131         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Correct config.h comment.
8132         * m4/wint_t.m4 (gt_TYPE_WINT_T): Correct indentation.
8134 2020-05-08  Bruno Haible  <bruno@clisp.org>
8136         c32rtomb: Avoid compilation failure on Haiku.
8137         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Test for c32rtomb without excluding
8138         inline definitions.
8139         * doc/posix-functions/c32rtomb.texi: Mention the Haiku problem.
8141 2020-05-08  Bruno Haible  <bruno@clisp.org>
8143         mbrtoc32: Avoid compilation failure on Haiku.
8144         * m4/mbrtoc32.m4 (gl_CHECK_FUNC_MBRTOC32): New macro.
8145         (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Use it instead of
8146         AC_CHECK_FUNCS_ONCE.
8147         * doc/posix-functions/mbrtoc32.texi: Mention the Haiku problem.
8149 2020-05-08  Bruno Haible  <bruno@clisp.org>
8151         limits-h: Define LONG_BIT correctly on Haiku/x86_64.
8152         * lib/limits.in.h: Define and test _GL_ALREADY_INCLUDING_LIMITS_H.
8154 2020-05-08  Bruno Haible  <bruno@clisp.org>
8156         list: Update documentation.
8157         Reported by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
8158         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00062.html>.
8159         * doc/containers.texi (Container data types): Document the new list
8160         operations and their complexity.
8162 2020-05-08  Bruno Haible  <bruno@clisp.org>
8164         ignore-value tests: Use module 'attribute'.
8165         * m4/gnulib-common.m4 (gl_COMMON_BODY): Fix a typo.
8166         * tests/test-ignore-value.c: Include attribute.h.
8167         (_GL_ATTRIBUTE_RETURN_CHECK): Remove macro. Use NODISCARD instead.
8168         * modules/ignore-value-tests (Depends-on): Add attribute.
8170 2020-05-08  Bruno Haible  <bruno@clisp.org>
8172         uniname/uniname: Use module 'attribute'.
8173         * lib/uniname/gen-uninames.lisp: Emit a reference to ATTRIBUTE_PACKED.
8174         * lib/uniname/uninames.h: Regenerated.
8175         * lib/uniname/uniname.c: Include attribute.h.
8176         * modules/uniname/uniname (Depends-on): Add attribute.
8178 2020-05-08  Bruno Haible  <bruno@clisp.org>
8180         c32rtomb: Use module 'attribute'.
8181         * lib/c32rtomb.c: Include attribute.h.
8182         (FALLTHROUGH): Remove macro.
8183         * modules/c32rtomb (Depends-on): Add attribute.
8185 2020-05-08  Bruno Haible  <bruno@clisp.org>
8187         xsize: Use module 'attribute'.
8188         * lib/xsize.h: Include attribute.h. Use ATTRIBUTE_PURE.
8189         * modules/xsize (Depends-on): Add attribute.
8191 2020-05-06  Paul Eggert  <eggert@cs.ucla.edu>
8193         * m4/gnulib-common.m4 (gl_COMMON_BODY): Minor style fixes.
8195         * lib/attribute.h: Minor style fixes.
8197         Fix version-etc glitch on OpenIndiana
8198         Problem reported by Mats Erik Andersson in:
8199         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00067.html
8200         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Remove defn
8201         that now clashes with gnulib-common.h.  All uses changed.
8203 2020-05-03  Paul Eggert  <eggert@cs.ucla.edu>
8205         attribute: new module
8206         This simplifies use of GCC and C2X attributes like ‘deprecated’.
8207         * MODULES.html.sh: Add attribute.
8208         * doc/attribute.texi, lib/attribute.h, modules/attribute: New files.
8209         * doc/gnulib.texi (Particular Modules): Add Attributes.
8210         * lib/backupfile.c, lib/fnmatch.c, lib/freopen-safer.c:
8211         * lib/mbrtoc32.c, lib/mbrtowc.c, lib/nstrftime.c, lib/quotearg.c:
8212         * lib/savewd.c, lib/unistr/u8-uctomb-aux.c, lib/unistr/u8-uctomb.c:
8213         * lib/vasnprintf.c:
8214         Include attribute.h, and let it define FALLTHROUGH.
8215         * lib/bitset/base.h, lib/c-stack.c (__attribute__): Remove macro.
8216         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Define in terms of
8217         _GL_ATTRIBUTE_MAYBE_UNUSED, for forwards compatibility to C2X.
8218         * lib/dfa.c (FALLTHROUGH): Define consistently with gl_COMMON_BODY.
8219         This is a copy since Gawk doesn’t use Gnulib.
8220         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Remove definition that
8221         is incompatible with gl_COMMON_BODY’s.  All uses changed.
8222         * lib/fts.c: Include attribte.h, for FALLTHROUGH.
8223         Keep the existing FALLTHROUGH definition since Glibc might use it,
8224         and it does no harm to Gnulib’s FALLTHROUGH.
8225         * lib/fts_.h, lib/inttostr.h:
8226         (__GNUC_PREREQ): Remove; no longer needed.
8227         (__attribute_warn_unused_result__): Remove.  All uses
8228         replaced by _GL_ATTRIBUTE_NODISCARD.
8229         * lib/gl_list.h, lib/gl_map.h, lib/gl_omap.h, lib/gl_oset.h:
8230         * lib/gl_set.h: Prefer _GL_ATTRIBUTE_NODISCARD to an ifdeffed
8231         __attribute__ ((__warn_unused_result__)), for forward
8232         compatibility to C2X.
8233         * lib/hash.h (_GL_ATTRIBUTE_WUR): Remove.  All uses replaced by
8234         _GL_ATTRIBUTE_NODISCARD.
8235         (_GL_ATTRIBUTE_DEPRECATED): Remove, since gl_COMMON_BODY defines it.
8236         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Remove.  All uses
8237         replaced by gl_COMMON_BODY’s implementation, which has a
8238         slightly different signature.
8239         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK):
8240         Remove.  All uses replaced by _GL_ATTRIBUTE_NODISCARD.
8241         * lib/unused-parameter.h (_GL_UNUSED_PARAMETER):
8242         Define in terms of _GL_ATTRIBUTE_MAYBE_UNUSED.
8243         No doubt all uses should be replaced, at some point.
8244         * m4/gnulib-common.m4 (_GL_GNUC_PREREQ): New macro.
8245         (_Noreturn): Use it.
8246         (_GL_HAS_ATTRIBUTE, _GL_ATTRIBUTE_ALLOC_SIZE)
8247         (_GL_ATTRIBUTE_ALWAYS_INLINE, _GL_ATTRIBUTE_ARTIFICIAL)
8248         (_GL_ATTRIBUTE_COLD)
8249         (_GL_ATTRIBUTE_DEPRECATED, _GL_ATTRIBUTE_ERROR)
8250         (_GL_ATTRIBUTE_WARNING, _GL_ATTRIBUTE_EXTERNALLY_VISIBLE)
8251         (_GL_ATTRIBUTE_FALLTHROUGH, _GL_ATTRIBUTE_FORMAT)
8252         (_GL_ATTRIBUTE_LEAF, _GL_ATTRIBUTE_MAY_ALIAS)
8253         (_GL_ATTRIBUTE_MAYBE_UNUSED)
8254         (_GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOINLINE)
8255         (_GL_ATTRIBUTE_NONNULL, _GL_ATTRIBUTE_NONSTRING)
8256         (_GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PACKED, _GL_ATTRIBUTE_PURE)
8257         (_GL_ATTRIBUTE_RETURNS_NONNULL)
8258         (_GL_ATTRIBUTE_SENTINEL): New macros.
8259         * modules/backup-rename, modules/backupfile, modules/c-vasnprintf:
8260         * modules/fnmatch, modules/freopen-safer, modules/fts:
8261         * modules/mbrtoc32, modules/mbrtowc, modules/nstrftime:
8262         * modules/quotearg, modules/savewd:
8263         * modules/unistdio/u16-u16-vasnprintf:
8264         * modules/unistdio/u16-vasnprintf:
8265         * modules/unistdio/u32-u32-vasnprintf:
8266         * modules/unistdio/u32-vasnprintf:
8267         * modules/unistdio/u8-u8-vasnprintf:
8268         * modules/unistdio/u8-vasnprintf:
8269         * modules/unistdio/ulc-vasnprintf:
8270         * modules/unistr/u8-uctomb, modules/vasnprintf:
8271         (Depends-on:): Add attribute module.
8273 2020-05-03  Bruno Haible  <bruno@clisp.org>
8275         bison: Fix today's commit.
8276         * m4/bison.m4 (gl_PROG_BISON): Set ac_verc_fail to 'yes', not 'true'.
8278 2020-05-03  Bruno Haible  <bruno@clisp.org>
8280         list-c++: Add get_first, get_last, set_first, set_last operations.
8281         * lib/gl_list.hh (class gl_List): Add methods get_first, get_last,
8282         set_first, set_last.
8283         * lib/gl_list.h: Tweak comments.
8285 2020-05-03  Akim Demaille  <akim@lrde.epita.fr>
8287         bison: rely on bison's %require to check a version requirement
8288         See https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00021.html.
8289         * m4/bison.m4 (gl_PROG_BISON): Let bison itself decide if it it recent
8290         enough of not.
8291         So far it is the only know Yacc tool that supports '%require'.
8292         Other yaccs will actually even choke on seeing the -o option after the
8293         input file name.
8294         * m4/parse-datetime.m4: Simplify gl_PROG_BISON invocation.
8296 2020-05-02  Bruno Haible  <bruno@clisp.org>
8298         list: Add get_first, get_last, set_first, set_last operations.
8299         * lib/gl_list.h (gl_list_get_first, gl_list_get_last,
8300         gl_list_nx_set_first, gl_list_nx_set_last): New functions.
8301         * lib/gl_xlist.h (gl_list_set_first, gl_list_set_last): New functions.
8303 2020-05-02  Bruno Haible  <bruno@clisp.org>
8305         list: Remove redundant code for remove_first and remove_last operations.
8306         * lib/gl_list.h (struct gl_list_implementation): Remove fields
8307         remove_first, remove_last.
8308         (gl_list_remove_first, gl_list_remove_last): Implement in a generic way.
8309         * lib/gl_array_list.c: Revert last change.
8310         * lib/gl_carray_list.c: Likewise.
8311         * lib/gl_anylinked_list2.h: Likewise.
8312         * lib/gl_linked_list.c: Likewise.
8313         * lib/gl_linkedhash_list.c: Likewise.
8314         * lib/gl_anytree_list2.h: Likewise.
8315         * lib/gl_avltree_list.c: Likewise.
8316         * lib/gl_avltreehash_list.c: Likewise.
8317         * lib/gl_rbtree_list.c: Likewise.
8318         * lib/gl_rbtreehash_list.c: Likewise.
8319         * lib/gl_sublist.c: Likewise.
8321 2020-05-02  Bruno Haible  <bruno@clisp.org>
8323         bison-i18n: Add support for cross-compilation.
8324         Reported by Hongxu Jia <hongxu.jia@windriver.com> in
8325         <https://lists.gnu.org/archive/html/bison-patches/2016-02/msg00000.html>
8326         via Akim Demaille <akim@lrde.epita.fr>.
8327         * m4/bison-i18n.m4 (BISON_I18N): Accept a configure option
8328         --with-bison-prefix=PREFIX and use it to determine BISON_LOCALEDIR.
8329         Don't use bison's --print-localedir option when cross-compiling.
8330         Also, fix an error message and a comment.
8332 2020-05-01  Bruno Haible  <bruno@clisp.org>
8334         list: Add remove_first and remove_last operations.
8335         Suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
8336         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00092.html>.
8337         * lib/gl_list.h (struct gl_list_implementation): Add fields
8338         remove_first, remove_last.
8339         (gl_list_remove_first, gl_list_remove_last): New functions.
8340         * lib/gl_array_list.c (gl_array_remove_first, gl_array_remove_last): New
8341         functions, based on gl_array_remove_at.
8342         (gl_array_list_implementation): Implement the new operations.
8343         * lib/gl_carray_list.c (gl_carray_remove_first, gl_carray_remove_last):
8344         New functions, based on gl_carray_remove_at.
8345         (gl_carray_list_implementation): Implement the new operations.
8346         * lib/gl_anylinked_list2.h (gl_linked_remove_first,
8347         gl_linked_remove_last): New functions, based on gl_linked_remove_at.
8348         * lib/gl_linked_list.c (gl_linked_list_implementation): Implement the
8349         new operations.
8350         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation):
8351         Likewise.
8352         * lib/gl_anytree_list2.h (gl_tree_remove_first, gl_tree_remove_last):
8353         New functions, based on gl_tree_remove_at.
8354         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Implement the
8355         new operations.
8356         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
8357         Likewise.
8358         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Likewise.
8359         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation):
8360         Likewise.
8361         * lib/gl_sublist.c (gl_sublist_remove_first, gl_sublist_remove_last):
8362         New functions, based on gl_sublist_remove_at.
8363         (gl_sublist_list_implementation): Implement the new operations.
8364         * lib/gl_list.hh (class gl_List): Add methods remove_first,
8365         remove_last.
8366         * tests/test-array_list.c (main): Test also gl_list_remove_first and
8367         gl_list_remove_last.
8368         * tests/test-avltree_list.c (main): Likewise.
8369         * tests/test-avltreehash_list.c (main): Likewise.
8370         * tests/test-carray_list.c (main): Likewise.
8371         * tests/test-linked_list.c (main): Likewise.
8372         * tests/test-linkedhash_list.c (main): Likewise.
8373         * tests/test-rbtree_list.c (main): Likewise.
8374         * tests/test-rbtreehash_list.c (main): Likewise.
8376 2020-05-01  Bruno Haible  <bruno@clisp.org>
8378         parse-datetime: Fix a build failure with an older bison version.
8379         * modules/parse-datetime (Makefile.am): Don't do the post-processing of
8380         parse-datetime.tab.c if a suitable version of bison was not found.
8382 2020-05-01  Bruno Haible  <bruno@clisp.org>
8384         bison: New module.
8385         * m4/bison.m4 (gl_PROG_BISON): New macro, extracted from
8386         m4/parse-datetime.m4.
8387         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Invoke gl_PROG_BISON.
8388         * modules/bison: New file.
8389         * modules/parse-datetime (Files): Remove m4/bison.m4.
8390         (Depends-on): Add bison.
8392 2020-05-01  Jose E. Marchesi  <jemarch@gnu.org>
8394         Update users.txt.
8395         * users.txt: Add poke.
8397 2020-04-28  Bruno Haible  <bruno@clisp.org>
8399         posix_spawn_file_actions_addfchdir tests: Enhance test.
8400         * tests/test-posix_spawn5.c: Include findprog.h.
8401         (test): New function, extracted from main.
8402         (main): Invoke it. Also, invoke it with a program name such as
8403         "bin/pwd".
8404         * modules/posix_spawn_file_actions_addfchdir-tests (Depends-on): Add
8405         findprog.
8407 2020-04-28  Bruno Haible  <bruno@clisp.org>
8409         posix_spawn_file_actions_addchdir tests: Enhance test.
8410         * tests/test-posix_spawn4.c: Include findprog.h.
8411         (test): New function, extracted from main.
8412         (main): Invoke it. Also, invoke it with a program name such as
8413         "bin/pwd".
8414         * modules/posix_spawn_file_actions_addchdir-tests (Depends-on): Add
8415         findprog.
8417 2020-04-28  Bruno Haible  <bruno@clisp.org>
8419         posix_spawn_file_actions_destroy: Fix a crash (bug from 2019-06-10).
8420         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Don't
8421         access elements of the wrong union member.
8423 2020-04-27  Bruno Haible  <bruno@clisp.org>
8425         getdate: Remove deprecated module.
8426         * modules/getdate: Remove file.
8427         * doc/getdate.texi: Remove file.
8428         * lib/getdate.h: Remove file.
8429         * NEWS: Mention the removal.
8431 2020-04-27  Bruno Haible  <bruno@clisp.org>
8433         realloc: Remove deprecated module.
8434         * modules/realloc: Remove file.
8435         * NEWS: Mention the removal.
8437 2020-04-27  Bruno Haible  <bruno@clisp.org>
8439         calloc: Remove deprecated module.
8440         * modules/calloc: Remove file.
8441         * NEWS: Mention the removal.
8443 2020-04-27  Bruno Haible  <bruno@clisp.org>
8445         malloc: Remove deprecated module.
8446         * modules/malloc: Remove file.
8447         * NEWS: Mention the removal.
8449 2020-04-27  Bruno Haible  <bruno@clisp.org>
8451         fnmatch-posix: Remove deprecated module.
8452         * modules/fnmatch-posix: Remove file.
8453         * MODULES.html.sh (Enhancements for POSIX:2008 functions): Update.
8454         * NEWS: Mention the removal.
8456 2020-04-27  Bruno Haible  <bruno@clisp.org>
8458         pipe: Remove deprecated module.
8459         * modules/pipe: Remove file.
8460         * lib/pipe.h: Remove file.
8461         * NEWS: Mention the removal.
8463 2020-04-27  Bruno Haible  <bruno@clisp.org>
8465         getopt: Remove deprecated module.
8466         * modules/getopt: Remove file.
8467         * NEWS: Mention the removal.
8469 2020-04-27  Bruno Haible  <bruno@clisp.org>
8471         remove-dest-slash: Remove deprecated module.
8472         * modules/rename-dest-slash: Remove file.
8473         * MODULES.html.sh (Compatibility checks for POSIX:2008 functions):
8474         Update.
8475         * NEWS: Mention the removal.
8477 2020-04-27  Bruno Haible  <bruno@clisp.org>
8479         unictype/bidicategory-*: Remove deprecated modules.
8480         * modules/unictype/bidicategory-all: Remove file.
8481         * modules/unictype/bidicategory-byname: Remove file.
8482         * modules/unictype/bidicategory-name: Remove file.
8483         * modules/unictype/bidicategory-of: Remove file.
8484         * modules/unictype/bidicategory-test: Remove file.
8485         * MODULES.html.sh (Unicode string functions): Update.
8486         * NEWS: Mention the removals.
8488 2020-04-25  Paul Eggert  <eggert@cs.ucla.edu>
8490         Tune fts for FTS_LOGICAL+FTS_NOSTAT
8491         From a suggestion by Askar Safin in:
8492         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00074.html
8493         * lib/fts.c (fts_build): If file types are known, optimize
8494         FTS_LOGICAL+FTS_NOSTAT for non-symlinks and non-directories the
8495         same way that we already optimize FTS_PHYSICAL+FTS_NOSTAT for
8496         non-directories.
8498 2020-04-19  Bruno Haible  <bruno@clisp.org>
8500         vasnprintf: Add support for printing wide characters using escapes.
8501         * lib/vasnprintf.c (ENABLE_WCHAR_FALLBACK): Document optional macro.
8502         (wctomb_fallback): New function.
8503         (local_wctomb): New function.
8504         (local_wcrtomb): New function or macro.
8505         (MAX_ROOM_NEEDED): Adjust estimate for %lc.
8506         (VASNPRINTF): Simplify %ls code by use of local_wcrtomb. Add code for
8507         %lc.
8509 2020-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8511         fts: remove NOSTAT_LEAF_OPTIMIZATION
8512         It caused ‘find’ and ‘du’ to dump core, and it was useful
8513         only for obsolescent Linux filesystems anyway.  Problem reported in:
8514         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00068.html
8515         Quite possibly there is still a serious underlying fts bug with
8516         tight-loop-check and mutating file systems, but if so this patch
8517         should cause the bug to be triggered less often.
8518         * lib/fts.c (enum leaf_optimization): Remove
8519         NOSTAT_LEAF_OPTIMIZATION, as it’s problematic.
8520         (S_MAGIC_REISERFS, S_MAGIC_XFS): Remove; no longer needed.
8521         (leaf_optimization): Remove special cases for ReiserFS and XFS.
8522         (fts_read): Remove NOSTAT_LEAF_OPTIMIZATION code.
8523         * lib/fts_.h (struct _ftsent.fts_n_dirs_remaining):
8524         Remove.  All uses removed.
8526 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8528         explicit_bzero: Improve code style.
8529         * lib/explicit_bzero.c (explicit_bzero): Use '\0' instead of 0.
8531 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8533         explicit_bzero: On native Windows, use SecureZeroMemory().
8534         * lib/explicit_bzero.c: Include <windows.h>.
8535         (explicit_bzero): On native Windows, use SecureZeroMemory.
8537 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8539         explicit_bzero: Use memset_s() when available.
8540         * lib/explicit_bzero.c (__STDC_WANT_LIB_EXT1__): Define.
8541         (explicit_bzero): Use memset_s when available.
8542         * m4/explicit_bzero.m4 (gl_PREREQ_EXPLICIT_BZERO): Test for memset_s.
8544 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8546         explicit_bzero tests: Fix test failure on OpenBSD 6.5.
8547         * tests/test-explicit_bzero.c (test_heap): Handle implementations of
8548         free() that overwrite the memory with canaries.
8550 2020-04-13  Akim Demaille  <akim@lrde.epita.fr>
8552         bootstrap: recommend git submodule update --init
8553         Reported by Bruno Haible.
8554         <https://lists.gnu.org/r/bug-gnulib/2020-03/msg00101.html>
8555         * build-aux/bootstrap: recommand "git submodule update --init"
8556         rather than "git submodule init".
8558 2020-04-12  Bruno Haible  <bruno@clisp.org>
8560         explicit_bzero: Add tests.
8561         * tests/test-explicit_bzero.c: New file.
8562         * modules/explicit_bzero-tests: New file.
8564 2020-04-11  Bruno Haible  <bruno@clisp.org>
8566         explicit_bzero: Relicense under LGPLv2+.
8567         Approved by Paul Eggert.
8568         * modules/explicit_bzero (License): Change to LGPLv2+.
8570 2020-04-10  Bruno Haible  <bruno@clisp.org>
8572         findprog, relocatable-prog: Ignore directories during PATH search.
8573         Reported by Frederick Eaton via Dmitry Goncharov in
8574         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
8576         * lib/findprog.c (find_in_path): When the file found in a PATH element
8577         is a directory, continue searching.
8578         * modules/findprog (Depends-on): Add sys_stat, stat.
8579         * modules/findprog-lgpl (Depends-on): Likewise.
8581         * lib/progreloc.c (maybe_executable): When the file found in a PATH
8582         element is a directory, continue searching.
8583         * lib/relocwrapper.c: Update comments.
8584         * modules/relocatable-prog-wrapper (Files): Add m4/largefile.m4.
8585         (configure.ac-early): New section.
8587 2020-04-10  Bruno Haible  <bruno@clisp.org>
8589         MODULES.html.sh: Support for reproducible builds from git-less tarballs.
8590         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
8591         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00061.html>.
8592         * MODULES.html.sh: In a git-less tarball, use the date of the first
8593         ChangeLog entry.
8595 2020-04-04  Bruno Haible  <bruno@clisp.org>
8597         Fix comments: The gettext library is under LGPL 2.1, not LGPL 2.0.
8598         * m4/gettext.m4: Fix comments regarding the gettext library.
8599         * m4/intl-thread-locale.m4: Likewise.
8600         * m4/intlmacosx.m4: Likewise.
8601         * m4/lcmessage.m4: Likewise.
8602         * m4/nls.m4: Likewise.
8603         * m4/po.m4: Likewise.
8604         * m4/progtest.m4: Likewise.
8606 2020-04-04  Jim Meyering  <meyering@fb.com>
8608         maint: remove a stray inter-word space in a 6x-repeated comment
8609         Induce the changes by running this:
8610           re='by  perl'; git grep -l "$re"|xargs perl -pi -e "s/$re/by perl/"
8611         * build-aux/announce-gen: Change "by  perl" to "by perl".
8612         * build-aux/gitlog-to-changelog: Likewise.
8613         * build-aux/prefix-gnulib-mk: Likewise.
8614         * build-aux/update-copyright: Likewise.
8615         * build-aux/useless-if-before-free: Likewise.
8616         * tests/test-update-copyright.sh: Likewise.
8618 2020-03-28  Bruno Haible  <bruno@clisp.org>
8620         Use module 'filename' instead of module 'dosname'.
8622         * lib/at-func.c: Include filename.h instead of dosname.h.
8623         * lib/unlinkat.c: Likewise.
8624         * modules/areadlinkat (Depends-on): Add filename. Remove dosname.
8625         * modules/areadlinkat-with-size (Depends-on): Likewise.
8626         * modules/faccessat (Depends-on): Likewise.
8627         * modules/fchmodat (Depends-on): Likewise.
8628         * modules/fchownat (Depends-on): Likewise.
8629         * modules/fstatat (Depends-on): Likewise.
8630         * modules/mkdirat (Depends-on): Likewise.
8631         * modules/mkfifoat (Depends-on): Likewise.
8632         * modules/readlinkat (Depends-on): Likewise.
8633         * modules/selinux-at (Depends-on): Likewise.
8634         * modules/symlinkat (Depends-on): Likewise.
8635         * modules/unlinkat (Depends-on): Likewise.
8636         * modules/utimensat (Depends-on): Likewise.
8638         * lib/at-func2.c: Include filename.h instead of dosname.h.
8639         * modules/linkat (Depends-on): Add filename. Remove dosname.
8640         * modules/renameatu (Depends-on): Likewise.
8642         * lib/canonicalize.c: Include filename.h instead of dosname.h.
8643         * lib/canonicalize-lgpl.c: Likewise.
8644         * modules/canonicalize (Depends-on): Add filename.
8645         * modules/canonicalize-lgpl (Depends-on): Likewise.
8647         * lib/dirname.h: Include filename.h instead of dosname.h.
8648         * modules/dirname-lgpl (Depends-on): Add filename. Remove dosname.
8650         * lib/fchdir.c: Include filename.h instead of dosname.h.
8651         * modules/fchdir (Depends-on): Add filename. Remove dosname.
8653         * lib/openat.c: Include filename.h instead of dosname.h.
8654         * modules/openat (Depends-on): Add filename. Remove dosname.
8656         * lib/rmdir.c: Include filename.h instead of dosname.h.
8657         * modules/rmdir (Depends-on): Add filename. Remove dosname.
8659         * lib/savewd.c: Include filename.h instead of dosname.h.
8660         * modules/savewd (Depends-on): Add filename. Remove dosname.
8662         * lib/unlink.c: Include filename.h instead of dosname.h.
8663         * modules/unlink (Depends-on): Add filename. Remove dosname.
8665         * modules/relocatable-prog-wrapper (Depends-on): Add filename.
8666         * lib/relocwrapper.c: Update comments.
8668         * modules/lstat (Depends-on): Remove dosname.
8670 2020-03-28  Bruno Haible  <bruno@clisp.org>
8672         dosname: Redirect to 'filename'.
8673         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
8674         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00042.html>.
8675         * lib/dosname.h: Remove all definitions. Just include filename.h.
8676         * modules/dosname (Status, Notice): Mark as deprecated.
8677         (Depends-on): Add 'filename'.
8679 2020-03-28  Bruno Haible  <bruno@clisp.org>
8681         dosname: Change IS_RELATIVE_FILE_NAME.
8682         * lib/dosname.h (IS_RELATIVE_FILE_NAME): On native Windows, OS/2, DOS,
8683         change the definition so that IS_RELATIVE_FILE_NAME("c:") is false.
8684         * NEWS: Mention the change.
8686 2020-03-28  Bruno Haible  <bruno@clisp.org>
8688         filename: Copy some definitions from module 'dosname'.
8689         * lib/filename.h: Include <string.h>, for IS_FILE_NAME_WITH_DIR.
8690         (HAS_DEVICE): Document macro.
8691         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New macro.
8692         (IS_ABSOLUTE_FILE_NAME): Consider
8693         FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE.
8694         (IS_RELATIVE_FILE_NAME, IS_FILE_NAME_WITH_DIR): New macros.
8695         (IS_ABSOLUTE_PATH, IS_PATH_WITH_DIR): Define as deprecated aliases.
8696         * lib/relocatable.c (IS_FILE_NAME_WITH_DIR): Renamed from
8697         IS_PATH_WITH_DIR.
8698         (DllMain): Update.
8699         * lib/progreloc.c (IS_FILE_NAME_WITH_DIR): Renamed from
8700         IS_PATH_WITH_DIR.
8701         (find_executable): Update.
8702         * NEWS: Document the deprecations.
8704 2020-03-25  Paul Eggert  <eggert@cs.ucla.edu>
8706         getopt-posix: port __GETOPT_PREFIX to macOS
8707         * lib/getopt-pfx-core.h (_GETOPT) [__APPLE__ && __GETOPT_PREFIX]:
8708         Define to work around a problem with asm on macOS (Bug#40205).
8710 2020-03-22  Bruno Haible  <bruno@clisp.org>
8712         MODULES.html.sh: Add support for reproducible builds.
8713         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
8714         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00024.html>.
8715         * MODULES.html.sh: Print the date of the last gnulib commit, not the
8716         current date.
8718 2020-03-22  Bruno Haible  <bruno@clisp.org>
8720         Several modules: Depend on stat.
8721         * modules/acl-permissions (Depends-on): Add stat.
8722         * modules/canonicalize (Depends-on): Likewise.
8723         * modules/file-has-acl (Depends-on): Likewise.
8724         * modules/fstat (Depends-on): Likewise.
8725         * modules/fstatat (Depends-on): Likewise.
8726         * modules/glob (Depends-on): Likewise.
8727         * modules/javacomp (Depends-on): Likewise.
8728         * modules/linkat (Depends-on): Likewise.
8729         * modules/mkdir (Depends-on): Likewise.
8730         * modules/pt_chown (Depends-on): Likewise.
8731         * modules/ptsname_r (Depends-on): Likewise.
8732         * modules/readlinkat (Depends-on): Likewise.
8733         * modules/rename (Depends-on): Likewise.
8734         * modules/renameatu (Depends-on): Likewise.
8735         * modules/tmpdir (Depends-on): Likewise.
8736         * modules/utimens (Depends-on): Likewise.
8737         * modules/relocatable-prog-wrapper (Depends-on): Add largefile.
8738         * modules/same (Depends-on): Remove stat.
8740 2020-03-22  Bruno Haible  <bruno@clisp.org>
8742         acl-permissions: Improve autoconf macro.
8743         * m4/acl.m4 (gl_FUNC_ACL): Test the value of gl_need_lib_has_acl
8744         more reliably.
8746 2020-03-22  Bruno Haible  <bruno@clisp.org>
8748         file-has-acl: Fix module description.
8749         * modules/file-has-acl (Files): Add lib/acl-internal.h, m4/acl.m4.
8750         (Depends-on): Depend on acl-permissions unconditionally.
8752 2020-03-21  Bruno Haible  <bruno@clisp.org>
8754         unlink: Ensure errno also on native Windows.
8755         * modules/unlink (Depends-on): Add malloc-posix.
8757 2020-03-21  Paul Eggert  <eggert@cs.ucla.edu>
8759         unlink: fix malloc errno typo
8760         Problem reported by Tim Rühsen in:
8761         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00044.html
8762         * lib/unlink.c (rpl_unlink): Don’t mask malloc errno.
8764 2020-03-16  Bruno Haible  <bruno@clisp.org>
8766         *printf-posix: Fix m4 error (regression from 2020-03-08).
8767         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): Enable interpretation of
8768         brackets in AC_COMPILE_IFELSE invocation.
8770 2020-03-08  Bruno Haible  <bruno@clisp.org>
8772         crypto/af_alg, renameatu, same, term-style-control: Depend on fstat.
8773         * modules/crypto/af_alg (Depends-on): Add fstat.
8774         * modules/renameatu (Depends-on): Likewise.
8775         * modules/same (Depends-on): Likewise.
8776         * modules/term-style-control (Depends-on): Likewise.
8778 2020-03-08  Bruno Haible  <bruno@clisp.org>
8780         *printf-posix: Document why it's overridden on some glibc systems.
8781         Reported by Adrian Bunk <bunk@stusta.de> in
8782         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00011.html>.
8783         * doc/posix-functions/*printf.texi: Document the problem with the %n
8784         directive on some glibc systems.
8785         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Adjust
8786         the cross-compilation guesses accordingly.
8788 2020-03-07  Paul Eggert  <eggert@cs.ucla.edu>
8790         open, openat: port to (O_RDWR | O_RDONLY) != 0
8791         Potential portability problem reported by Dan Gohman in:
8792         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00000.html
8793         * lib/open.c (open):
8794         * lib/openat.c (rpl_openat):
8795         Don’t assume O_RDONLY is disjoint from O_RDWR.
8797 2020-03-07  Bruno Haible  <bruno@clisp.org>
8799         openat: Fix theoretically possible issue on GNU/Hurd.
8800         Reported by Dan Gohman <sunfish@mozilla.com> in
8801         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00000.html>.
8802         * lib/openat.c (rpl_openat): When testing whether flags contains O_RDWR,
8803         ignore the bits that are also set in O_RDONLY.
8805 2020-02-24  Bruno Haible  <bruno@clisp.org>
8807         getloadavg: Don't use /usr/local when cross-compiling on AIX.
8808         Reported by Jens Rehsack <sno@netbsd.org> in
8809         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00136.html>.
8810         * m4/getloadavg.m4 (gl_GETLOADAVG): Don't look in /usr/local/lib when
8811         cross-compiling.
8813 2020-02-24  Bruno Haible  <bruno@clisp.org>
8815         fcntl: Add witness of gnulib override.
8816         Reported by Jens Rehsack <sno@netbsd.org> in
8817         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00137.html>.
8818         * lib/fcntl.in.h (GNULIB_defined_rpl_fcntl, GNULIB_defined_fcntl): New
8819         macros.
8821 2020-02-23  Assaf Gordon  <assafgordon@gmail.com>
8823         Update users.txt.
8824         * users.txt: Add datamash, time.
8826 2020-02-23  Bruno Haible  <bruno@clisp.org>
8828         uni*/base: Use 'restrict'.
8829         * lib/unitypes.in.h (_UC_RESTRICT): New macro, based on '_Restrict_'
8830         from lib/regex.h.
8831         * lib/unistr.in.h (u8_cpy, u16_cpy, u32_cpy, u8_strcpy, u16_strcpy,
8832         u32_strcpy, u8_stpcpy, u16_stpcpy, u32_stpcpy, u8_strncpy, u16_strncpy,
8833         u32_strncpy, u8_stpncpy, u16_stpncpy, u32_stpncpy, u8_strcat,
8834         u16_strcat, u32_strcat, u8_strncat, u16_strncat, u32_strncat, u8_strtok,
8835         u16_strtok, u32_strtok): Use '_UC_RESTRICT'.
8836         * lib/uninorm.in.h (u8_normalize, u16_normalize, u32_normalize): Use
8837         '_UC_RESTRICT'.
8838         * lib/uniconv.in.h (u8_conv_to_encoding, u16_conv_to_encoding,
8839         u32_conv_to_encoding): Use '_UC_RESTRICT'.
8840         * lib/unicase.in.h (u8_toupper, u16_toupper, u32_toupper, u8_tolower,
8841         u16_tolower, u32_tolower, u8_totitle, u16_totitle, u32_totitle,
8842         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
8843         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
8844         u32_ct_totitle, u8_casefold, u16_casefold, u32_casefold, u8_ct_casefold,
8845         u16_ct_casefold, u32_ct_casefold, u8_casexfrm, u16_casexfrm,
8846         u32_casexfrm, ulc_casexfrm): Use '_UC_RESTRICT'.
8847         * lib/unilbrk.in.h (u8_possible_linebreaks, u16_possible_linebreaks,
8848         u32_possible_linebreaks, ulc_possible_linebreaks, u8_width_linebreaks,
8849         u16_width_linebreaks, u32_width_linebreaks, ulc_width_linebreaks): Use
8850         '_UC_RESTRICT'.
8851         * lib/uniwbrk.in.h (ulc_wordbreaks): Use '_UC_RESTRICT'.
8852         * lib/unistdio.in.h (ulc_sprintf, ulc_snprintf, ulc_asnprintf,
8853         ulc_vsprintf, ulc_vsnprintf, ulc_vasnprintf, u8_u8_sprintf,
8854         u8_u8_snprintf, u8_u8_asnprintf, u8_u8_vsprintf, u8_u8_vsnprintf,
8855         u8_u8_vasnprintf, u16_u16_sprintf, u16_u16_snprintf, u16_u16_asnprintf,
8856         u16_u16_vsprintf, u16_u16_vsnprintf, u16_u16_vasnprintf,
8857         u32_u32_sprintf, u32_u32_snprintf, u32_u32_asnprintf, u32_u32_vsprintf,
8858         u32_u32_vsnprintf, u32_u32_vasnprintf): Use '_UC_RESTRICT'.
8860 2020-02-23  Bruno Haible  <bruno@clisp.org>
8862         glob, spawn: Use improved '_Restrict_' definition.
8863         * lib/glob.in.h (_Restrict_): Use same definition as in lib/regex.h.
8864         * lib/spawn.in.h (_Restrict_, _Restrict_arr_): Likewise.
8866 2020-02-23  Bruno Haible  <bruno@clisp.org>
8868         crypto/gc: Use 'restrict'.
8869         * lib/gc.h (gc_pbkdf2_hmac, gc_pbkdf2_sha1): Use 'restrict'.
8870         * m4/gc.m4 (gl_GC): Require AC_C_RESTRICT.
8872         crypto/hmac-*: Use 'restrict'.
8873         * lib/hmac.h (hmac_md5, hmac_sha1, hmac_sha256, hmac_sha512): Use
8874         'restrict'.
8875         * modules/crypto/hmac-md5 (configure.ac): Require AC_C_RESTRICT.
8876         * modules/crypto/hmac-sha1 (configure.ac): Likewise.
8877         * modules/crypto/hmac-sha256 (configure.ac): Likewise.
8878         * modules/crypto/hmac-sha512 (configure.ac): Likewise.
8880         crypto/sm3: Use 'restrict'.
8881         * lib/sm3.h (sm3_finish_ctx, sm3_read_ctx, sm3_buffer): Use 'restrict'.
8882         * m4/sm3.m4 (gl_SM3): Require AC_C_RESTRICT.
8884         crypto/*-buffer: Use 'restrict'.
8885         * lib/gl_openssl.h (GL_CRYPTO_FN (_finish_ctx), GL_CRYPTO_FN (_buffer),
8886         GL_CRYPTO_FN (_read_ctx)): Use 'restrict'.
8888         crypto/sha512-buffer: Use 'restrict'.
8889         * lib/sha512.h (sha512_finish_ctx, sha384_finish_ctx, sha512_read_ctx,
8890         sha384_read_ctx, sha512_buffer, sha384_buffer): Use 'restrict'.
8891         * modules/crypto/sha512-buffer (configure.ac): Require AC_C_RESTRICT.
8893         crypto/sha256-buffer: Use 'restrict'.
8894         * lib/sha256.h (sha256_finish_ctx, sha224_finish_ctx, sha256_read_ctx,
8895         sha224_read_ctx, sha256_buffer, sha224_buffer): Use 'restrict'.
8896         * modules/crypto/sha256-buffer (configure.ac): Require AC_C_RESTRICT.
8898         crypto/sha1-buffer: Use 'restrict'.
8899         * lib/sha1.h (sha1_finish_ctx, sha1_read_ctx, sha1_buffer): Use
8900         'restrict'.
8901         * modules/crypto/sha1-buffer (configure.ac): Require AC_C_RESTRICT.
8903         crypto/md5-buffer: Use 'restrict'.
8904         * lib/md5.h (__md5_finish_ctx, __md5_read_ctx, __md5_buffer): Use
8905         'restrict'.
8906         * modules/crypto/md5-buffer (configure.ac): Require AC_C_RESTRICT.
8908         crypto/md4: Use 'restrict'.
8909         * lib/md4.h (md4_finish_ctx, md4_read_ctx, md4_buffer): Use 'restrict'.
8910         * modules/crypto/md4 (configure.ac): Require AC_C_RESTRICT.
8912         crypto/md2: Use 'restrict'.
8913         * lib/md2.h (md2_finish_ctx, md2_read_ctx, md2_buffer): Use 'restrict'.
8914         * modules/crypto/md2 (configure.ac): Require AC_C_RESTRICT.
8916         crypto/rijndael: Use 'restrict'.
8917         * lib/rijndael-api-fst.h (rijndaelBlockEncrypt, rijndaelPadEncrypt,
8918         rijndaelBlockDecrypt, rijndaelPadDecrypt): Use 'restrict'.
8919         * modules/crypto/rijndael (configure.ac): Require AC_C_RESTRICT.
8921         crypto/arctwo: Use 'restrict'.
8922         * lib/arctwo.h (arctwo_encrypt, arctwo_decrypt): Use 'restrict'.
8923         * modules/crypto/arctwo (configure.ac): Require AC_C_RESTRICT.
8925         crypto/arcfour: Use 'restrict'.
8926         * lib/arcfour.h (arcfour_stream): Use 'restrict'.
8927         * modules/crypto/arcfour (configure.ac): Require AC_C_RESTRICT.
8929         careadlinkat: Use 'restrict'.
8930         * lib/careadlinkat.h (careadlinkat): Use 'restrict'.
8931         * modules/careadlinkat (configure.ac): Require AC_C_RESTRICT.
8932         * modules/relocatable-prog-wrapper (configure.ac): Likewise.
8934         regex-quote: Use 'restrict'.
8935         * lib/regex-quote.h (regex_quote_copy): Use 'restrict'.
8936         * modules/regex-quote (configure.ac): Require AC_C_RESTRICT.
8938         system-quote: Use 'restrict'.
8939         * lib/system-quote.h (system_quote_copy): Use 'restrict'.
8940         * modules/system-quote (configure.ac): Require AC_C_RESTRICT.
8942         sh-quote: Use 'restrict'.
8943         * lib/sh-quote.h (shell_quote_copy): Use 'restrict'.
8944         * modules/sh-quote (configure.ac): Require AC_C_RESTRICT.
8946         quotearg: Use 'restrict'.
8947         * lib/quotearg.h (quotearg_buffer): Use 'restrict'.
8948         * m4/quotearg.m4 (gl_QUOTEARG): Require AC_C_RESTRICT.
8950         parse-datetime: Use 'restrict'.
8951         * lib/parse-datetime.h (parse_datetime, parse_datetime2): Use
8952         'restrict'.
8953         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Require AC_C_RESTRICT.
8955         nstrftime: Use 'restrict'.
8956         * lib/strftime.h (nstrftime): Use 'restrict'.
8957         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Require AC_C_RESTRICT.
8959         mbstok_r: Use 'restrict'.
8960         * lib/string.in.h (mbstok_r): Use 'restrict'.
8962         xmemcoll: Use 'restrict'.
8963         * lib/xmemcoll.h (xmemcoll): Use 'restrict'.
8964         * modules/xmemcoll (configure.ac): Require AC_C_RESTRICT.
8966         memcoll: Use 'restrict'.
8967         * lib/memcoll.h (memcoll): Use 'restrict'.
8968         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_C_RESTRICT.
8970         vasnprintf: Use 'restrict'.
8971         * lib/vasnprintf.h (asnprintf, vasnprintf): Use 'restrict'.
8972         * modules/vasnprintf (configure.ac): Require AC_C_RESTRICT.
8974         c-vasnprintf: Use 'restrict'.
8975         * lib/c-vasnprintf.h (c_vasnprintf): Use 'restrict'.
8976         * modules/c-vasnprintf (configure.ac): Require AC_C_RESTRICT.
8978         c-vsnprintf: Use 'restrict'.
8979         * lib/c-vsnprintf.h (c_vsnprintf): Use 'restrict'.
8980         * modules/c-vsnprintf (configure.ac): Require AC_C_RESTRICT.
8982         c-snprintf: Use 'restrict'.
8983         * lib/c-snprintf.h (c_snprintf): Use 'restrict'.
8984         * modules/c-snprintf (configure.ac): Require AC_C_RESTRICT.
8986         astrxfrm: Use 'restrict'.
8987         * lib/astrxfrm.h (astrxfrm): Use 'restrict'.
8988         * modules/astrxfrm (configure.ac): Require AC_C_RESTRICT.
8990         amemxfrm: Use 'restrict'.
8991         * lib/amemxfrm.h (amemxfrm): Use 'restrict'.
8992         * modules/amemxfrm (configure.ac): Require AC_C_RESTRICT.
8994 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
8996         fchmodat, lchmod: simplify
8997         It appears that we may have overengineered lchmod and fchmodat,
8998         in that the code was prepared for some hypothetical platforms but
8999         was so complicated that it was hard to understand.  I attempted to
9000         improve the situation by simplifying the code when this
9001         simplification should not hurt on real platforms; we can re-add
9002         complexity later to port to platforms I didn’t know about.
9003         * lib/fchmodat.c (fchmodat):
9004         * lib/lchmod.c (lchmod):
9005         Put the ‘defined __linux__ || defined __ANDROID__’ #ifdef only
9006         around the /proc code that needs it.
9007         * lib/fchmodat.c (fchmodat): Coalese calls to orig_fchmodat.
9008         * lib/lchmod.c (__need_system_sys_stat_h): Omit; no longer needed.
9009         Do not include <config.h> twice.
9010         (orig_lchmod) [HAVE_LCHMOD]: Remove, since we need not wrap
9011         lchmod on any known hosts.
9012         (lchmod): Do not defer to fchmodat, so that the lchmod module
9013         need not depend on the fchmodat module (which is a circular
9014         dependency).  Do not use openat, since ‘open’ suffices.
9015         Coalesce calls to lchmod/chmod.
9016         * lib/lchmod.c, lib/sys_stat.in.h (lchmod):
9017         * m4/sys_stat_h.m4 (REPLACE_FSTAT):
9018         * modules/lchmod (Depends-on, configure.ac):
9019         * modules/sys_stat (Depends-on):
9020         Do not worry about replacing lchmod, since that shouldn’t happen.
9021         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Do not check for fchmodat.
9022         Do not worry about whether lchmod works on non-symlinks,
9023         since every known lchmod works on non-symlinks.
9024         * modules/lchmod (Depends-on):
9025         Remove circular dependency on fchmodat.
9027 2020-02-22  Bruno Haible  <bruno@clisp.org>
9029         lchmod: Fix link error on Solaris 10 (regression from 2020-02-16).
9030         * lib/lchmod.c (lchmod): Use the code with lstat and chmod also when
9031         NEED_LCHMOD_NONSYMLINK_FIX is not defined.
9033 2020-02-22  Bruno Haible  <bruno@clisp.org>
9035         Use 'restrict' in all POSIX function declarations.
9036         * lib/iconv.in.h (iconv): Use 'restrict'.
9037         * lib/inttypes.in.h (strtoimax, strtoumax): Likewise.
9038         * lib/monetary.in.h (strfmon_l): Likewise.
9039         * lib/pthread.in.h (pthread_create, pthread_mutex_init,
9040         pthread_mutexattr_gettype, pthread_mutexattr_getrobust,
9041         pthread_mutex_timedlock, pthread_rwlock_init,
9042         pthread_rwlock_timedrdlock, pthread_rwlock_timedwrlock,
9043         pthread_cond_init, pthread_cond_wait, pthread_cond_timedwait): Likewise.
9044         * lib/search.in.h (tdelete): Likewise.
9045         * lib/signal.in.h (pthread_sigmask, sigprocmask): Likewise.
9046         * lib/stdio.in.h (dprintf, fgets, fopen, fprintf, fputs, fread, freopen,
9047         fscanf, fwrite, getdelim, getline, printf, scanf, snprintf, sprintf,
9048         vdprintf, vfprintf, vfscanf, vprintf, vscanf, vsnprintf, vsprintf):
9049         Likewise.
9050         * lib/stdlib.in.h (mbtowc, realpath, strtod, strtold, strtoll,
9051         strtoull): Likewise.
9052         * lib/string.in.h (strncat): Likewise.
9053         * lib/sys_socket.in.h (accept, getpeername, getsockname, getsockopt,
9054         recvfrom): Likewise.
9055         * lib/sys_stat.in.h (fstatat, lstat, stat): Likewise.
9056         * lib/time.in.h (strftime): Likewise.
9057         * lib/unistd.in.h (readlink, readlinkat): Likewise.
9058         * lib/wchar.in.h (mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs, wcrtomb,
9059         wcsrtombs, wcsnrtombs, wmemcpy, wcscpy, wcpcpy, wcsncpy, wcpncpy,
9060         wcscat, wcsncat, wcsxfrm, wcsstr, wcstok, wcsftime): Likewise.
9061         * m4/iconv_h.m4 (gl_ICONV_H): Require AC_C_RESTRICT.
9062         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Likewise.
9063         * m4/monetary_h.m4 (gl_MONETARY_H): Likewise.
9064         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
9065         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
9066         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
9067         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
9068         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
9069         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
9070         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
9071         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
9072         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Make consistent with the
9073         other *_h.m4 files.
9074         * m4/time_h.m4 (gl_HEADER_TIME_H): Likewise.
9076 2020-02-22  Bruno Haible  <bruno@clisp.org>
9078         Update NEWS.
9079         * NEWS: Mention the last change.
9081 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
9083         chmodat, chownat: new modules
9084         These are split from fchmodat, fchownat.  GNU Emacs needs the
9085         POSIX-specified fchmodat, but not the gnulib-specified chmodat and
9086         lchmodat.  Split the latter two into a new module chmodat.
9087         Similarly for fchownat.  This the same basic idea for why statat
9088         was split from fstatat on 2013-01-23.
9089         * lib/chmodat.c, lib/openat.h (CHMODAT_INLINE):
9090         Rename from FCHMODAT_INLINE.  All uses changed.
9091         * lib/chownat.c, lib/openat.h (CHOWNAT_INLINE):
9092         Rename from FCHOWNAT_INLINE.  All uses changed.
9093         * lib/openat.h:
9094         (chownat, lchownat): Define if GNULIB_CHOWNAT, not GNULIB_FCHOWNAT.
9095         (chmodat, lchmodat): Define if GNULIB_CHMODAT, not GNULIB_FCHMODAT.
9096         * modules/chmodat, modules/chownat, tests/test-chownat.c: New files.
9097         * modules/fchmodat (Files:): Remove lib/fchmodat.c.
9098         (configure.ac): Remove fchmodat module indicator.
9099         (Makefile.am): Omit chmodat.c.
9100         (Maintainer): Add self.
9101         * modules/fchownat: Similarly, but for chown.
9102         * tests/test-fchownat.c (BASE): Don't define if already defined.
9103         (do_chown, do_lchown) [!TEST_CHOWNAT]: Test fchownat instead.
9105 2020-02-22  Bruno Haible  <bruno@clisp.org>
9107         users.txt: Add groff.
9108         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is>.
9109         * users.txt: Add groff.
9111 2020-02-22  Bruno Haible  <bruno@clisp.org>
9113         gnulib-tool: Ensure copied files are writable.
9114         Reported by Benno Fünfstück <benno.fuenfstueck@gmail.com> in
9115         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00101.html>.
9116         * gnulib-tool (func_ensure_writable): New function.
9117         (func_ln_s, func_hardlink, func_lookup_file, func_import,
9118         func_create_testdir, copy-file): Invoke it after copying a file.
9120 2020-02-22  Bruno Haible  <bruno@clisp.org>
9122         users.txt: Update.
9123         * users.txt: Update URLs to projects that have moved or switched to git.
9124         Use canonical host names. Prefer gitweb over cgit. Prefer the tree view
9125         over the summary view. Add gawk.
9127 2020-02-21  Paul Eggert  <eggert@cs.ucla.edu>
9129         largefile: remove _DARWIN_USE_64_BIT_INODE
9130         It’s not needed in currently-supported macOS versions, and was
9131         problematic anyway in MacOS X 10.5 which was the only version that
9132         could use it.  Problem reported by Peter Eisentraut in:
9133         https://lists.gnu.org/r/bug-autoconf/2020-02/msg00004.html
9134         * m4/largefile.m4 (AC_SYS_LARGEFILE):
9135         Don’t define _DARWIN_USE_64_BIT_INODE.
9136         This syncs with Autoconf master.
9138         Add ‘extern "C"’ to count-one-bits.h etc.
9139         This ports these .h files to C++.
9140         Problem reported by Simon Marchi in:
9141         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00110.html
9142         * lib/count-leading-zeros.h, lib/count-one-bits.h:
9143         * lib/count-trailing-zeros.h: Add ‘extern "C"’.
9145 2020-02-19  Bruno Haible  <bruno@clisp.org>
9147         uninorm/decompose-internal: Avoid "no previous prototype" warning.
9148         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
9149         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00105.html>.
9150         * lib/array-mergesort.h: Accept an optional macro definition
9151         STATIC_FROMTO.
9152         * lib/uninorm/decompose-internal.c (STATIC_FROMTO): New macro.
9154 2020-02-16  Bruno Haible  <bruno@clisp.org>
9156         fchmodat: Make more future-proof.
9157         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Define
9158         NEED_FCHMODAT_NONSYMLINK_FIX.
9159         (gl_PREREQ_FCHMODAT): New macro.
9160         * lib/fchmodat.c (fchmodat): Test NEED_FCHMODAT_NONSYMLINK_FIX. Access
9161         /proc only on Linux. Return EOPNOTSUPP only on Linux and on platforms
9162         without lchmod function.
9163         * modules/fchmodat (configure.ac): Invoke gl_PREREQ_FCHMODAT.
9165 2020-02-16  Bruno Haible  <bruno@clisp.org>
9167         lchmod: Make more future-proof.
9168         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Define NEED_LCHMOD_NONSYMLINK_FIX.
9169         (gl_PREREQ_LCHMOD): New macro.
9170         * lib/lchmod.c (orig_lchmod): New function.
9171         (lchmod): Test NEED_LCHMOD_NONSYMLINK_FIX. Access /proc only on Linux.
9172         Return EOPNOTSUPP only on Linux and on platforms without lchmod
9173         function.
9174         * modules/lchmod (configure.ac): Invoke gl_PREREQ_LCHMOD.
9176         lchmod: Fix buggy override on macOS, HP-UX (regression from 2020-02-08).
9177         * modules/lchmod (Makefile.am): Don't add lchmod.c to lib_SOURCES.
9179 2020-02-16  Paul Eggert  <eggert@cs.ucla.edu>
9181         xnanosleep: prefer pause, and get remaining time
9182         Problem reported by Vladimir Panteleev in:
9183         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00052.html
9184         * lib/xnanosleep.c: Include intprops.h, unistd.h.
9185         (xnanosleep) [HAVE_PAUSE]: Prefer pause when sleeping infinitely.
9186         (xnanosleep): Obtain remaining time when nanosleep is interrupted.
9187         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Check for 'pause'.
9188         * modules/xnanosleep (Depends-on): Add intprops, unistd.
9190 2020-02-16  Bruno Haible  <bruno@clisp.org>
9192         lchmod: Improve cross-compilation guess.
9193         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require AC_CANONICAL_HOST. When
9194         cross-compiling, guess depending on the platform.
9196 2020-02-16  Bruno Haible  <bruno@clisp.org>
9198         fstrcmp: Add API to clean up resources.
9199         Reported by Akim Demaille <akim@lrde.epita.fr> in
9200         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00080.html>.
9201         * lib/fstrcmp.h (fstrcmp_free_resources): New declaration.
9202         * lib/fstrcmp.c (fstrcmp_free_resources): New function.
9204 2020-02-14  Bruno Haible  <bruno@clisp.org>
9206         wctype-h: Fix compilation errors in C++ (regression from 2020-01-25).
9207         Reported by Christian Biesinger in
9208         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00064.html>.
9209         * lib/wctype.in.h (iswdigit, iswxdigit): Don't declare if the
9210         corresponding module is not enabled.
9211         * tests/test-wctype-h-c++.cc (iswdigit, iswxdigit): Don't check the
9212         prototype if the corresponding module is not enabled.
9214 2020-02-13  Paul Eggert  <eggert@cs.ucla.edu>
9216         fchmodat, lchmod: port to buggy Linux filesystems
9217         Problem reported by Florian Weimer in:
9218         https://www.sourceware.org/ml/libc-alpha/2020-02/msg00534.html
9219         * lib/fchmodat.c (fchmodat):
9220         * lib/lchmod.c (lchmod):
9221         Don’t assume that chmod on the O_PATH-opened fd will do
9222         the right thing on a symbolic link.
9223         * lib/fchmodat.c (fchmodat):
9224         Don’t attempt to special-case
9225         any flag value other than AT_SYMLINK_NOFOLLOW.
9227 2020-02-11  Paul Eggert  <eggert@cs.ucla.edu>
9229         lchmod: pacify Coverity CID 1491216
9230         * lib/lchmod.c (lchmod): Redo #if nesting so that Coverity does
9231         not complain about unreachable code at the ‘struct stat st;’
9232         declaration.
9234 2020-02-10  Bruno Haible  <bruno@clisp.org>
9236         copysignf: Fix link error on HP-UX with cc.
9237         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Require AC_CANONICAL_HOST. On
9238         HP-UX, set COPYSIGNF_LIBM to -lm.
9240 2020-02-10  Bruno Haible  <bruno@clisp.org>
9242         pthread-mutex-tests, pthread-rwlock-tests: Fix link errors on HP-UX.
9243         * modules/pthread-mutex-tests (Makefile.am): Link test-pthread-mutex
9244         with $(LIB_SEMAPHORE).
9245         * modules/pthread-rwlock-tests (Makefile.am): Link test-pthread-rwlock
9246         with $(LIB_SEMAPHORE).
9248 2020-02-10  Bruno Haible  <bruno@clisp.org>
9250         ptsname_r-tests: Avoid unused function warning.
9251         * tests/test-ptsname_r.c: Don't include null-ptr.h if we don't need it.
9253 2020-02-08  Bruno Haible  <bruno@clisp.org>
9255         lchmod: Add tests.
9256         * tests/test-lchmod.c: New file.
9257         * modules/lchmod-tests: New file.
9259 2020-02-08  Bruno Haible  <bruno@clisp.org>
9261         lchmod: Ensure declaration on HP-UX.
9262         * lib/sys_stat.in.h (lchown): Declare also on HP-UX.
9263         * doc/glibc-functions/lchmod.texi: Mention the HP-UX problem.
9265 2020-02-08  Bruno Haible  <bruno@clisp.org>
9267         fchmodat: Strengthen tests.
9268         * tests/test-fchmodat.c (BASE): New macro.
9269         (main): Use it, to avoid conflicts with other unit tests. Verify that
9270         fchmodat changed the file permission bits.
9272 2020-02-08  Bruno Haible  <bruno@clisp.org>
9274         fchmodat: Fix endless recursion on Cygwin (regression from 2020-02-07).
9275         * lib/fchmodat.c (orig_fchmodat): Move definition to immediately after
9276         '#undef __need_system_sys_stat_h'.
9278 2020-02-08  Bruno Haible  <bruno@clisp.org>
9280         fchmodat: Improve cross-compilation guesses.
9281         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Require AC_CANONICAL_HOST. When
9282         cross-compiling, guess depending on the platform.
9283         * doc/posix-functions/fchmodat.texi: Clarify.
9285 2020-02-08  Bruno Haible  <bruno@clisp.org>
9287         Fix compilation errors in a testdir created with --with-c++-tests.
9288         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Do not use __typeof__ (func),
9289         since it does not work any more with g++ >= 4.4.
9291 2020-02-08  Bruno Haible  <bruno@clisp.org>
9293         doc: Update for glibc 2.31.
9294         * doc/glibc-functions/pthread_clockjoin_np.texi: New file.
9295         * doc/gnulib.texi: Include it.
9296         * doc/pastposix-functions/h_errno.texi: Update.
9297         * doc/posix-functions/*.texi: Likewise.
9299 2020-02-08  Kenneth D'souza  <kdsouza@redhat.com>
9301         mountlist: consider smb3 file systems as remote
9302         * lib/mountlist.c (ME_REMOTE): Recognize file systems of type
9303         "smb3" as remote.
9305 2020-02-07  Paul Eggert  <eggert@cs.ucla.edu>
9307         fchmodat: AT_SYMLINK_NOFOLLOW fix for non-symlinks
9308         Fix lchmod, and fchmodat with AT_SYMLINK_NOFOLLOW, so that
9309         they act like chmod on non-symlinks.
9310         * NEWS:
9311         * doc/glibc-functions/lchmod.texi (lchmod):
9312         * doc/posix-functions/fchmodat.texi (fchmodat):
9313         Mention this.
9314         * lib/fchmodat.c: Define __need_system_sys_stat_h before including
9315         config.h, and undef it after including sys/stat.h the first time.
9316         Include fcntl.h, stdio.h, unistd.h, intprops.h, and include
9317         sys/stat.h a second time after defining orig_fchmodat.
9318         (orig_fchmodat) [HAVE_FCHMODAT]: New function.
9319         (fchmodat) [HAVE_FCHMODAT]: Work around the AT_SYMLINK_NOFOLLOW bug.
9320         * lib/lchmod.c: New file.
9321         * lib/sys_stat.in.h (fchmodat, lchmod):
9322         Support replacing these functions.
9323         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): If fchmodat exists,
9324         test that AT_SYMLINK_NOFOLLOW works on non-symlinks.
9325         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Check for lstat.
9326         Test that lchmod works on non-symlinks.
9327         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS):
9328         Default REPLACE_FCHMODAT and REPLACE_LCHMOD to 0.
9329         * modules/fchmodat (Depends-on): Add fstatat, intprops, lchmod, unistd.
9330         (Depends-on, configure.ac): Check REPLACE_FCHMODAT too.
9331         * modules/lchmod (Files): Add lib/lchmod.c.
9332         (Depends-on): Add errno, fcntl-h, fchmodat, intprops, lstat, unistd.
9333         (configure.ac): Compile lchmod.c if needed.
9334         (lib_SOURCES): Add lchmod.c.
9335         * modules/sys_stat (sys/stat.h): Substitute REPLACE_FCHMODAT
9336         and REPLACE_LCHMOD.
9337         * tests/test-fchmodat.c: Include fcntl.h, sys/stat.h.
9338         (main): Test fchmodat with AT_SYMLINK_NOFOLLOW on non-symlinks.
9340 2020-02-05  Marc Dionne  <marc.dionne@auristor.com>  (tiny change)
9342         mountlist: Consider AFS filesystems as remote
9343         df --local relies on the ME_REMOTE macro to determine if a given
9344         mount entry should be considered "local".  There is special logic
9345         for nfs and smb/cifs mounts, but /afs as mounted by OpenAFS, the
9346         kernel's kafs module or AuriStorFS is treated as a local mount.
9347         * lib/mountlist.c (ME_REMOTE): Treat mounts of type 'afs'
9348         (OpenAFS, kernel kafs) and 'auristorfs' (AuriStorFS) as remote.
9350 2020-02-04  Paul Eggert  <eggert@cs.ucla.edu>
9352         Port _Noreturn to older Clang
9353         Problem reported by Jeffery Walton in:
9354         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00013.html
9355         * lib/_Noreturn.h (_Noreturn):
9356         * m4/gnulib-common.m4 (gl_COMMON_BODY):
9357         Assume _Noreturn works in Clang 3.5 and later.
9358         It is documented to work in Clang 3.5:
9359         http://releases.llvm.org/3.5.0/tools/clang/docs/AttributeReference.html
9360         and is not documented in Clang 3.4:
9361         https://releases.llvm.org/3.4/tools/clang/docs/LanguageExtensions.html
9362         Apple sets __clang_version__ to a different value, so use
9363         __apple_build_version__ there.  See:
9364         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00017.html
9366 2020-02-04  Pádraig Brady  <P@draigBrady.com>
9368         test-canonicalize: avoid unused function warning
9369         * tests/test-canonicalize.c: Protect the inclusion of null-ptr.h
9370         with the same guard as that used to protect usage of the null_ptr
9371         function, so that one doesn't get a -Wunused warning.
9372         * tests/test-canonicalize-lgpl.c: Likewise.
9374 2020-02-03  Paul Eggert  <eggert@cs.ucla.edu>
9376         libc-config: port to Apple’s Clang variant
9377         * lib/libc-config.h (__glibc_clang_prereq):
9378         Port to Apple’s Clang variant, which uses a different
9379         numbering scheme for __clang_major__.
9381 2020-02-02  Bruno Haible  <bruno@clisp.org>
9383         Document the new modules list-c++, set-c++, oset-c++, map-c++, omap-c++.
9384         * doc/containers.texi: Document these new modules.
9386 2020-02-02  Bruno Haible  <bruno@clisp.org>
9388         omap-c++: Add tests.
9389         * tests/test-omap-c++.cc: New file.
9390         * modules/omap-c++-tests: New file.
9392         omap-c++: New module.
9393         * lib/gl_omap.hh: New file, based on lib/gl_omap.h.
9394         * modules/omap-c++: New file.
9396 2020-02-02  Bruno Haible  <bruno@clisp.org>
9398         map-c++: Add tests.
9399         * tests/test-map-c++.cc: New file.
9400         * modules/map-c++-tests: New file.
9402         map-c++: New module.
9403         * lib/gl_map.hh: New file, based on lib/gl_map.h.
9404         * modules/map-c++: New file.
9406 2020-02-02  Bruno Haible  <bruno@clisp.org>
9408         oset-c++: Add tests.
9409         * tests/test-oset-c++.cc: New file.
9410         * modules/oset-c++-tests: New file.
9412         oset-c++: New module.
9413         * lib/gl_oset.hh: New file, based on lib/gl_oset.h.
9414         * modules/oset-c++: New file.
9416 2020-02-02  Bruno Haible  <bruno@clisp.org>
9418         set-c++: Add tests.
9419         * tests/test-set-c++.cc: New file.
9420         * modules/set-c++-tests: New file.
9422         set-c++: New module.
9423         * lib/gl_set.hh: New file, based on lib/gl_set.h.
9424         * modules/set-c++: New file.
9426 2020-02-02  Bruno Haible  <bruno@clisp.org>
9428         list-c++: Add tests.
9429         * tests/test-list-c++.cc: New file.
9430         * modules/list-c++-tests: New file.
9432         list-c++: New module.
9433         * lib/gl_list.hh: New file, based on lib/gl_list.h.
9434         * modules/list-c++: New file.
9436 2020-02-02  Bruno Haible  <bruno@clisp.org>
9438         xalloc: Fix compilation error in C++ mode on FreeBSD 12.
9439         * lib/xalloc.h (xalloc_die): Comment out 'extern' keyword before
9440         '_Noreturn'.
9441         * lib/sigpipe-die.h (sigpipe_die): Likewise.
9443 2020-02-02  Pádraig Brady  <P@draigBrady.com>
9445         read-file: reduce max size from SIZE_MAX to PTRDIFF_MAX
9446         On x86_64 with glibc-2.30, gcc 9.2 is giving:
9447           error: argument 2 value '18446744073709551615'
9448           exceeds maximum object size 9223372036854775807
9449           [-Werror=alloc-size-larger-than=]
9450         The details of this restriction are discussed at:
9451         https://stackoverflow.com/q/42574890/4421
9452         * lib/read-file.c: s/SIZE_MAX/PTRDIFF_MAX/
9454 2020-02-02  Pádraig Brady  <P@draigBrady.com>
9456         sysctl.h: avoid including on glibc
9457         * lib/nproc.c: Avoid including deprecated and unneeded header on GLIBC.
9458         * lib/physmem.c: Likewise.
9460 2020-02-02  Bruno Haible  <bruno@clisp.org>
9462         list, set, oset, map, omap: Avoid imperative voice in documentation.
9463         * lib/gl_list.h: Use descriptive sentences instead of imperative voice
9464         in the specification of functions.
9465         * lib/gl_set.h: Likewise.
9466         * lib/gl_oset.h: Likewise.
9467         * lib/gl_map.h: Likewise.
9468         * lib/gl_omap.h: Likewise.
9469         * lib/gl_*.h: Likewise.
9471 2020-02-01  Bruno Haible  <bruno@clisp.org>
9473         ansi-c++-opt: Set CXXFLAGS to "-g -O2" by default.
9474         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Determine CXXFLAGS like AC_PROG_CXX
9475         does.
9477 2020-01-29  Bruno Haible  <bruno@clisp.org>
9479         array-map, hash-map, linkedhash-map: Fix module description.
9480         * modules/array-map (Description): Fix description.
9481         * modules/hash-map (Description): Likewise.
9482         * modules/linkedhash-map (Description): Likewise.
9484 2020-01-29  Paul Eggert  <eggert@cs.ucla.edu>
9486         dfa: do not depend on isblank
9487         This removes a difference between Gawk dfa.c and Gnulib dfa.c.
9488         * lib/dfa.c (isblank): Define if neither system nor Gnulib does.
9489         * modules/dfa (Depends-on): Remove isblank.
9490         * modules/isblank: Add a module indicator, for lib/dfa.c.
9492         dfa: do not assume 64-bit int
9493         Problem reported for VAX/VMS C (!) by Arnold Robbins in:
9494         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00173.html
9495         * lib/dfa.c (CHARCLASS_PAIR): Bring back this macro.
9496         (CHARCLASS_WORD_BITS, charclass_word) [!UINT_LEAST64_MAX]:
9497         Fall back to 32-bit words.
9498         (CHARCLASS_INIT): Go back to having 8 32-bit args instead
9499         of 4 64-bit args.  All uses changed.
9501 2020-01-27  Paul Eggert  <eggert@cs.ucla.edu>
9503         regex: remove limits-h dependency
9504         * modules/regex (Depends-on): Remove limits-h, since the
9505         code no longer depends on ULONG_WIDTH already being defined.
9507         regex: port to non-GCC pre-IEC-60559
9508         Problem reported by Arnold Robbins in:
9509         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00154.html
9510         * lib/regex_internal.h (ULONG_WIDTH): Make this usable in #if.
9512 2020-01-25  Bruno Haible  <bruno@clisp.org>
9514         c32isxdigit: Add tests.
9515         * tests/test-c32isxdigit.c: New file, based on tests/test-iswxdigit.c.
9516         * tests/test-c32isxdigit.sh: New file.
9517         * modules/c32isxdigit-tests: New file.
9519         c32isxdigit: New module.
9520         * lib/c32isxdigit.c: New file.
9521         * modules/c32isxdigit: New file.
9522         * doc/posix-functions/iswxdigit.texi: Mention the new module.
9524 2020-01-25  Bruno Haible  <bruno@clisp.org>
9526         c32isupper: Add tests.
9527         * tests/test-c32isupper.c: New file.
9528         * tests/test-c32isupper.sh: New file.
9529         * modules/c32isupper-tests: New file.
9531         c32isupper: New module.
9532         * lib/c32isupper.c: New file.
9533         * modules/c32isupper: New file.
9534         * doc/posix-functions/iswupper.texi: Mention the new module.
9536 2020-01-25  Bruno Haible  <bruno@clisp.org>
9538         c32isspace: Add tests.
9539         * tests/test-c32isspace.c: New file.
9540         * tests/test-c32isspace.sh: New file.
9541         * modules/c32isspace-tests: New file.
9543         c32isspace: New module.
9544         * lib/c32isspace.c: New file.
9545         * modules/c32isspace: New file.
9546         * doc/posix-functions/iswspace.texi: Mention the new module.
9548 2020-01-25  Bruno Haible  <bruno@clisp.org>
9550         c32ispunct: Add tests.
9551         * tests/test-c32ispunct.c: New file.
9552         * tests/test-c32ispunct.sh: New file.
9553         * modules/c32ispunct-tests: New file.
9555         c32ispunct: New module.
9556         * lib/c32ispunct.c: New file.
9557         * modules/c32ispunct: New file.
9558         * doc/posix-functions/iswpunct.texi: Mention the new module.
9560 2020-01-25  Bruno Haible  <bruno@clisp.org>
9562         c32isprint: Add tests.
9563         * tests/test-c32isprint.c: New file.
9564         * tests/test-c32isprint.sh: New file.
9565         * modules/c32isprint-tests: New file.
9567         c32isprint: New module.
9568         * lib/c32isprint.c: New file.
9569         * modules/c32isprint: New file.
9570         * doc/posix-functions/iswprint.texi: Mention the new module.
9572 2020-01-25  Bruno Haible  <bruno@clisp.org>
9574         c32islower: Add tests.
9575         * tests/test-c32islower.c: New file.
9576         * tests/test-c32islower.sh: New file.
9577         * modules/c32islower-tests: New file.
9579         c32islower: New module.
9580         * lib/c32islower.c: New file.
9581         * modules/c32islower: New file.
9582         * doc/posix-functions/iswlower.texi: Mention the new module.
9584 2020-01-25  Bruno Haible  <bruno@clisp.org>
9586         c32isgraph: Add tests.
9587         * tests/test-c32isgraph.c: New file.
9588         * tests/test-c32isgraph.sh: New file.
9589         * modules/c32isgraph-tests: New file.
9591         c32isgraph: New module.
9592         * lib/c32isgraph.c: New file.
9593         * modules/c32isgraph: New file.
9594         * doc/posix-functions/iswgraph.texi: Mention the new module.
9596 2020-01-25  Bruno Haible  <bruno@clisp.org>
9598         c32isdigit: Add tests.
9599         * tests/test-c32isdigit.c: New file, based on tests/test-iswdigit.c.
9600         * tests/test-c32isdigit.sh: New file.
9601         * modules/c32isdigit-tests: New file.
9603         c32isdigit: New module.
9604         * lib/c32isdigit.c: New file.
9605         * modules/c32isdigit: New file.
9606         * doc/posix-functions/iswdigit.texi: Mention the new module.
9608 2020-01-25  Bruno Haible  <bruno@clisp.org>
9610         c32iscntrl: Add tests.
9611         * tests/test-c32iscntrl.c: New file.
9612         * tests/test-c32iscntrl.sh: New file.
9613         * modules/c32iscntrl-tests: New file.
9615         c32iscntrl: New module.
9616         * lib/c32iscntrl.c: New file.
9617         * modules/c32iscntrl: New file.
9618         * doc/posix-functions/iswcntrl.texi: Mention the new module.
9620 2020-01-25  Bruno Haible  <bruno@clisp.org>
9622         c32isblank: Add tests.
9623         * tests/test-c32isblank.c: New file.
9624         * tests/test-c32isblank.sh: New file.
9625         * modules/c32isblank-tests: New file.
9627         c32isblank: New module.
9628         * lib/c32isblank.c: New file.
9629         * modules/c32isblank: New file.
9630         * doc/posix-functions/iswblank.texi: Mention the new module.
9632 2020-01-25  Bruno Haible  <bruno@clisp.org>
9634         c32isalpha: Add tests.
9635         * tests/test-c32isalpha.c: New file.
9636         * tests/test-c32isalpha.sh: New file.
9637         * modules/c32isalpha-tests: New file.
9639         c32isalpha: New module.
9640         * lib/c32isalpha.c: New file.
9641         * modules/c32isalpha: New file.
9642         * doc/posix-functions/iswalpha.texi: Mention the new module.
9644 2020-01-25  Bruno Haible  <bruno@clisp.org>
9646         c32isalnum: Add tests.
9647         * tests/test-c32isalnum.c: New file.
9648         * tests/test-c32isalnum.sh: New file.
9649         * modules/c32isalnum-tests: New file.
9651         c32isalnum: New module.
9652         * lib/c32isalnum.c: New file.
9653         * lib/c32is-impl.h: New file.
9654         * modules/c32isalnum: New file.
9655         * doc/posix-functions/iswalnum.texi: Mention the new module.
9657 2020-01-25  Bruno Haible  <bruno@clisp.org>
9659         uchar: Preparations for modules c32isalnum, ..., c32isxdigit.
9660         * lib/uchar.in.h (c32isalnum, c32isalpha, c32isblank, c32iscntrl,
9661         c32isdigit, c32isgraph, c32islower, c32isprint, c32ispunct, c32isspace,
9662         c32isupper, c32isxdigit): New declarations.
9663         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32ISALNUM,
9664         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
9665         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
9666         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
9667         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
9668         * modules/uchar (Makefile.am): Substitute GNULIB_C32ISALNUM,
9669         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
9670         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
9671         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
9672         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
9673         * tests/test-uchar-c++.cc: Test the signature of c32isalnum, c32isalpha,
9674         c32isblank, c32iscntrl, c32isdigit, c32isgraph, c32islower, c32isprint,
9675         c32ispunct, c32isspace, c32isupper, c32isxdigit.
9677 2020-01-25  Bruno Haible  <bruno@clisp.org>
9679         mbchar, wctype: Use the corrected iswxdigit function.
9680         * modules/mbchar (Depends-on): Add iswxdigit.
9681         * modules/wctype (Depends-on): Likewise.
9683         iswxdigit: Add tests.
9684         * tests/test-iswxdigit.c: New file.
9685         * tests/test-iswxdigit.sh: New file.
9686         * modules/iswxdigit-tests: New file.
9688         iswxdigit: New module.
9689         * m4/iswxdigit.m4: New file.
9690         * lib/wctype.in.h (iswxdigit): Potentially override.
9691         (iswxdigit, rpl_iswxdigit): Test REPLACE_ISWXDIGIT, not
9692         REPLACE_ISWCNTRL. Rely on ISO C compliant definition.
9693         * lib/iswxdigit.c: New file.
9694         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWXDIGIT,
9695         REPLACE_ISWXDIGIT.
9696         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWXDIGIT,
9697         REPLACE_ISWXDIGIT.
9698         * modules/iswxdigit: New file.
9699         * doc/posix-functions/iswxdigit.texi: Mention the portability problem.
9701 2020-01-25  Bruno Haible  <bruno@clisp.org>
9703         lseek: Fix the override to not undo the effects of AC_SYS_LARGEFILE.
9704         Reported by John Donoghue <john.david.donoghue@gmail.com> in
9705         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00146.html>.
9706         * lib/lseek.c (rpl_lseek): When AC_SYS_LARGEFILE has enabled a 64-bit
9707         off_t on mingw, invoke _lseeki64 instead of lseek.
9709 2020-01-25  Bruno Haible  <bruno@clisp.org>
9711         iswdigit tests: Avoid test failure on Cygwin.
9712         * tests/test-iswdigit.c (for_character): If mbrtowc cannot convert the
9713         byte sequence, return 0.
9715         iswdigit: Fix test failure on native Windows.
9716         * lib/wctype.in.h (rpl_iswdigit): Rely on ISO C compliant definition.
9718         mbchar, wctype: Use the corrected iswdigit function.
9719         * modules/mbchar (Depends-on): Add iswdigit.
9720         * modules/wctype (Depends-on): Likewise.
9722         iswdigit: Add tests.
9723         * tests/test-iswdigit.c: New file.
9724         * tests/test-iswdigit.sh: New file.
9725         * modules/iswdigit-tests: New file.
9727         iswdigit: New module.
9728         * m4/iswdigit.m4: New file.
9729         * lib/wctype.in.h (iswdigit): Potentially override.
9730         (iswdigit, rpl_iswdigit): Test REPLACE_ISWDIGIT, not REPLACE_ISWCNTRL.
9731         * lib/iswdigit.c: New file.
9732         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWDIGIT,
9733         REPLACE_ISWDIGIT.
9734         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWDIGIT,
9735         REPLACE_ISWDIGIT.
9736         * modules/iswdigit: New file.
9737         * doc/posix-functions/iswdigit.texi: Mention the portability problem.
9739 2020-01-25  Bruno Haible  <bruno@clisp.org>
9741         hard-locale tests: Make it easy to reuse the musl test.
9742         * m4/musl.m4: New file, extracted from modules/hard-locale-tests.
9743         * modules/hard-locale-tests (Files): Add it.
9744         (configure.ac): Invoke gl_MUSL_LIBC.
9746 2020-01-24  Paul Eggert  <eggert@cs.ucla.edu>
9748         regex: port to Gawk on nonstandard platforms
9749         * lib/regex_internal.h (ULONG_WIDTH): Define if not already defined.
9750         This is useful for Gawk, which does not use the Gnulib stdlib-h
9751         module.  Problem reported by Arnold Robbins in:
9752         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00138.html
9754 2020-01-21  Paul Eggert  <eggert@cs.ucla.edu>
9756         regex: fix bug with >=16 subexpressions
9757         * lib/regex_internal.h (struct re_backref_cache_entry):
9758         Use bitset_word_t as the type of eps_reachable_subexps_map,
9759         instead of unsigned short int.  This fixes a bug I introduced
9760         to glibc in 2005-09-28T17:33:18Z!drepper@redhat.com (glibc commit
9761         2c05d33f90861d074dc12808dafbde30f487b1a0, BZ #1302).
9762         Remove unused member 'unused'.
9764         regex: simplify definition of BITSET_WORD_BITS
9765         * config/srclist.txt: Remove regex.c, regex_internal.h temporarily.
9766         * lib/regex.c (__STDC_WANT_IEC_60559_BFP_EXT__): Define.
9767         * lib/regex_internal.h (BITSET_WORD_BITS):
9768         * modules/regex (Depends-on): Add limits-h.
9769         Simplify now that we can use ULONG_WIDTH.
9771 2020-01-20  Bruno Haible  <bruno@clisp.org>
9773         mbrtoc32: Add note about FreeBSD 12.
9774         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Guess no also on FreeBSD.
9775         * doc/posix-functions/mbrtoc32.texi: Mention that FreeBSD 12 is also
9776         affected.
9778 2020-01-20  Bruno Haible  <bruno@clisp.org>
9780         unistr/u8-uctomb: Fix warning.
9781         Reported by Andreas Schwab <schwab@suse.de> in
9782         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00127.html>.
9783         * lib/unistr/u8-uctomb.c (FALLTHROUGH): New macro.
9784         (u8_uctomb): Add FALLTHROUGH markers.
9786 2020-01-20  Bruno Haible  <bruno@clisp.org>
9788         lock: Fix test-once1 failure on FreeBSD 11 (regression from 2020-01-19).
9789         * lib/glthread/lock.c (glthread_once_multithreaded): New function.
9790         * lib/glthread/lock.h (glthread_once_multithreaded): New declaration.
9791         (glthread_once): Use it.
9793 2020-01-19  Bruno Haible  <bruno@clisp.org>
9795         threadlib: Disable use of weak symbols on FreeBSD 11.
9796         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
9797         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00061.html>.
9798         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): Require AC_CANONICAL_HOST. Test
9799         against a bug in FreeBSD 11.
9801 2020-01-19  Bruno Haible  <bruno@clisp.org>
9803         iconv_open: Improve z/OS support.
9804         * lib/iconv_open-zos.gperf: Choose better aliases. Add mapping for
9805         ISO-8859-3, KOI8-R, KOI8-U, CP775, CP857, CP865, CP1129, CP1131, CP1257.
9806         Remove mapping for EUC-TW.
9808 2020-01-18  Bruno Haible  <bruno@clisp.org>
9810         Rename ~~gnulib.m4 to zzgnulib.m4.
9811         Suggested by Paul Eggert.
9812         * m4/zzgnulib.m4: Renamed from m4/~~gnulib.m4.
9813         * gnulib-tool (func_get_filelist): Update.
9814         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
9816 2020-01-18  Bruno Haible  <bruno@clisp.org>
9818         doc: Update license notices.
9819         * doc/*.texi: Reference the GFDL 1.3 through a URL, rather than by
9820         reference to a section or to a "file as part of this distribution".
9822 2020-01-18  Bruno Haible  <bruno@clisp.org>
9824         Avoid error "m4_require: circular dependency of AC_LANG_COMPILER(C)".
9825         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
9826         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00109.html>.
9827         * m4/00gnulib.m4 (gl_COMPILER_CLANG): Use _AC_COMPILE_IFELSE, not
9828         AC_EGREP_CPP.
9830 2020-01-18  Bruno Haible  <bruno@clisp.org>
9832         Ensure Automake does not drop ~~gnulib.m4.
9833         * m4/~~gnulib.m4 (gl_ZZGNULIB): New macro.
9834         * m4/gnulib-common.m4 (gl_COMMON): Require it.
9836 2020-01-18  Bruno Haible  <bruno@clisp.org>
9838         Fix major regression from 2020-01-10.
9839         Reported by Paul Eggert in
9840         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00079.html>.
9841         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
9842         Don't AC_REQUIRE anything.
9843         (gl_COMPILER_PREPARE_CHECK_DECL): Define through AC_DEFUN, not
9844         AC_DEFUN_ONCE. Use _AC_COMPILE_IFELSE, not AC_COMPILE_IFELSE.
9845         (_AC_CHECK_DECL_BODY): If ac_compile_for_check_decl has not been set,
9846         use ac_compile instead.
9847         (AC_CHECK_DECL): Remove override.
9848         * m4/~~gnulib.m4: New file.
9849         * gnulib-tool (func_get_filelist): Add also ~~gnulib.m4.
9850         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
9852 2020-01-17  Bruno Haible  <bruno@clisp.org>
9853             Paul Eggert  <eggert@cs.ucla.edu>
9855         glob: Fix use-after-free bug.
9856         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
9857         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00102.html>.
9858         * lib/glob.c (__glob): Delay freeing dirname until after the use of
9859         end_name.
9861 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9863         vcs-to-changelog: Fix parsing of fndecl without args.
9864         * build-aux/vcstocl/frontend_c.py (FNDECL_RE): Fix regular expression
9865         for empty arguments.
9867 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9869         vcs-to-changelog: Add documentation.
9870         * doc/vcs-to-changelog.texi: New file.
9871         * doc/gnulib.texi (Build Infrastructure Modules): Add vcs-to-changelog
9872         section.
9874 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9876         vcs-to-changelog: Allow loading of custom quirks file.
9877         * build-aux/vcs_to_changelog.py: New commandline option -q.
9879 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9881         vcs-to-changelog: Fix formatting of ChangeLog output.
9882         * build-aux/vcstocl/vcs_git.py (list_changes): Add newline in print
9883         output.
9885 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9887         vcs-to-changelog: Drop python3 shebang from frontend_c.py.
9888         Reported in
9889         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00050.html>.
9890         * build-aux/vcstocl/frontend_c.py: Remove shebang.
9892 2020-01-15  Simon Josefsson  <simon@josefsson.org>
9894         crypto/gc-pbkdf2: New module.
9895         * MODULES.html.sh (func_all_modules): Add gc-pbkdf2.
9896         * NEWS: Deprecated gc-pbkdf2-sha1 in favor of gc-pbkdf2.
9897         * lib/gc-pbkdf2.c: New file.
9898         * lib/gc-pbkdf2-sha1.c: Use new interface.
9899         * lib/gc.h (GC_MAX_DIGEST_SIZE, gc_pbkdf2_hmac): Add.
9900         * modules/crypto/gc-pbkdf2: New file.
9901         * modules/crypto/gc-pbkdf2-tests: New file.
9902         * tests/test-gc-pbkdf2.c: New file.
9904 2020-01-12  Bruno Haible  <bruno@clisp.org>
9906         c32stombs: Add tests.
9907         * tests/test-c32stombs.c: New file, based on tests/test-c32srtombs.c.
9908         * tests/test-c32stombs-1.sh: New file, based on
9909         tests/test-c32srtombs-1.sh.
9910         * tests/test-c32stombs-2.sh: New file, based on
9911         tests/test-c32srtombs-2.sh.
9912         * tests/test-c32stombs-3.sh: New file, based on
9913         tests/test-c32srtombs-3.sh.
9914         * tests/test-c32stombs-4.sh: New file, based on
9915         tests/test-c32srtombs-4.sh.
9916         * modules/c32stombs-tests: New file, based on modules/c32srtombs-tests.
9918         c32stombs: New module.
9919         * lib/uchar.in.h (c32stombs): New declaration.
9920         * lib/c32stombs.c: New file.
9921         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32STOMBS.
9922         * modules/uchar (Makefile.am): Substitute GNULIB_C32STOMBS.
9923         * modules/c32stombs: New file.
9924         * tests/test-uchar-c++.cc: Test the signature of c32stombs.
9925         * doc/posix-functions/wcstombs.texi: Mention the new module.
9927 2020-01-11  Jim Meyering  <meyering@fb.com>
9929         perl: require the "warnings" module
9930         * m4/perl.m4: Also "use warnings", so we reject the perl found
9931         on at least one IRIX 6.5 system. Reported by Bruno Haible in
9932         https://lists.gnu.org/r/sed-devel/2020-01/msg00004.html
9934 2020-01-10  Bruno Haible  <bruno@clisp.org>
9936         Fix major regression from 2020-01-04.
9937         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
9938         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00072.html>.
9939         * m4/00gnulib.m4 (gl_COMPILER_PREPARE_CHECK_DECL): Define through
9940         AC_DEFUN_ONCE.
9941         (AC_CHECK_DECL): Invoke, not require, it.
9943 2020-01-10  Bruno Haible  <bruno@clisp.org>
9945         c32snrtombs: Add tests.
9946         * tests/test-c32snrtombs.c: New file, based on tests/test-wcsnrtombs.c.
9947         * tests/test-c32snrtombs-1.sh: New file, based on
9948         tests/test-wcsnrtombs1.sh.
9949         * tests/test-c32snrtombs-2.sh: New file, based on
9950         tests/test-wcsnrtombs2.sh.
9951         * tests/test-c32snrtombs-3.sh: New file, based on
9952         tests/test-wcsnrtombs3.sh.
9953         * tests/test-c32snrtombs-4.sh: New file, based on
9954         tests/test-wcsnrtombs4.sh.
9955         * modules/c32snrtombs-tests: New file, based on
9956         modules/wcsnrtombs-tests.
9958         c32snrtombs: New module.
9959         * lib/uchar.in.h (c32snrtombs): New declaration.
9960         * lib/wcsnrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
9961         INTERNAL_STATE, WCRTOMB.
9962         * lib/wcsnrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
9963         * lib/c32snrtombs.c: New file.
9964         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SNRTOMBS.
9965         * modules/uchar (Makefile.am): Substitute GNULIB_C32SNRTOMBS.
9966         * modules/c32snrtombs: New file.
9967         * tests/test-uchar-c++.cc: Test the signature of c32snrtombs.
9968         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
9970 2020-01-09  Bruno Haible  <bruno@clisp.org>
9972         c32srtombs: Add tests.
9973         * tests/test-c32srtombs.c: New file, based on tests/test-wcsrtombs.c.
9974         * tests/test-c32srtombs-1.sh: New file, based on
9975         tests/test-wcsrtombs1.sh.
9976         * tests/test-c32srtombs-2.sh: New file, based on
9977         tests/test-wcsrtombs2.sh.
9978         * tests/test-c32srtombs-3.sh: New file, based on
9979         tests/test-wcsrtombs3.sh.
9980         * tests/test-c32srtombs-4.sh: New file, based on
9981         tests/test-wcsrtombs4.sh.
9982         * modules/c32srtombs-tests: New file, based on modules/wcsrtombs-tests.
9984         c32srtombs: New module.
9985         * lib/uchar.in.h (c32srtombs): New declaration.
9986         * lib/wcsrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
9987         INTERNAL_STATE, WCRTOMB.
9988         * lib/wcsrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
9989         * lib/c32srtombs.c: New file.
9990         * lib/c32srtombs-state.c: New file, based on lib/wcsrtombs-state.c.
9991         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SRTOMBS.
9992         * modules/uchar (Makefile.am): Substitute GNULIB_C32SRTOMBS.
9993         * modules/c32srtombs: New file.
9994         * tests/test-uchar-c++.cc: Test the signature of c32srtombs.
9995         * doc/posix-functions/wcsrtombs.texi: Mention the new module.
9997 2020-01-08  Bruno Haible  <bruno@clisp.org>
9999         c32tob: Make consistent with mbrtoc32.
10000         * lib/c32tob.c: Include <stdio.h>, <string.h>, <wchar.h>.
10001         (c32tob): If the char32_t encoding and the wchar_t encoding may differ,
10002         use c32rtomb, not wctob.
10003         * modules/c32tob (Files): Add m4/mbrtoc32.m4.
10004         (Depends-on): Add c32rtomb.
10005         (configure.ac): Require gl_MBRTOC32_SANITYCHECK.
10007 2020-01-08  Bruno Haible  <bruno@clisp.org>
10009         c32rtomb: Add tests.
10010         * tests/test-c32rtomb.c: New file, based on tests/test-wcrtomb.c.
10011         * tests/test-c32rtomb.sh: New file, based on tests/test-wcrtomb.sh.
10012         * tests/test-c32rtomb-w32.c: New file, based on
10013         tests/test-wcrtomb-w32.c.
10014         * tests/test-c32rtomb-w32-1.sh: New file, based on
10015         tests/test-wcrtomb-w32-1.sh.
10016         * tests/test-c32rtomb-w32-2.sh: New file, based on
10017         tests/test-wcrtomb-w32-2.sh.
10018         * tests/test-c32rtomb-w32-3.sh: New file, based on
10019         tests/test-wcrtomb-w32-3.sh.
10020         * tests/test-c32rtomb-w32-4.sh: New file, based on
10021         tests/test-wcrtomb-w32-4.sh.
10022         * tests/test-c32rtomb-w32-5.sh: New file, based on
10023         tests/test-wcrtomb-w32-5.sh.
10024         * tests/test-c32rtomb-w32-6.sh: New file, based on
10025         tests/test-wcrtomb-w32-6.sh.
10026         * tests/test-c32rtomb-w32-7.sh: New file, based on
10027         tests/test-wcrtomb-w32-7.sh.
10028         * modules/c32rtomb-tests: New file.
10030         c32rtomb: New module.
10031         * lib/uchar.in.h (c32rtomb): New declaration.
10032         * lib/c32rtomb.c: New file, based on lib/unistr/u8-uctomb-aux.c.
10033         * m4/c32rtomb.m4: New file.
10034         * m4/uchar.m4 (gl_UCHAR_H): Test whether c32rtomb is declared.
10035         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32RTOMB, HAVE_C32RTOMB,
10036         REPLACE_C32RTOMB.
10037         * modules/uchar (Makefile.am): Substitute GNULIB_C32RTOMB,
10038         HAVE_C32RTOMB, REPLACE_C32RTOMB.
10039         * modules/c32rtomb: New file.
10040         * tests/test-uchar-c++.cc: Test the signature of c32rtomb.
10041         * doc/posix-functions/c32rtomb.texi: Document the new module.
10042         * doc/posix-functions/wcrtomb.texi: Mention the new module.
10044 2020-01-08  Bruno Haible  <bruno@clisp.org>
10046         mbrtoc32: Use the system's mbrtoc32 if it exists and basically works.
10047         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): New macro.
10048         (gl_FUNC_MBRTOC32): Require it. Set REPLACE_MBRTOC32 if mbrtoc32 exists
10049         but is not working.
10050         * lib/mbrtoc32.c: Include hard-locale.h, <locale.h>.
10051         (mbrtoc32): If the char32_t encoding and the wchar_t encoding may
10052         differ, use the system's mbrtoc32, adding workarounds.
10053         * modules/mbrtoc32 (Depends-on): Add hard-locale.
10054         * doc/posix-functions/mbrtoc32.texi: Mention the Solaris and native
10055         Windows problem.
10056         * lib/btoc32.c: Include <stdio.h>, <string.h>.
10057         (btoc32): If the char32_t encoding and the wchar_t encoding may differ,
10058         use mbrtoc32, not btowc.
10059         * modules/btoc32 (Depends-on): Add mbrtoc32.
10060         * lib/mbsrtoc32s.c (mbsrtoc32s): If the char32_t encoding and the
10061         wchar_t encoding may differ, use mbrtoc32, not mbsrtowcs.
10062         * modules/mbsrtoc32s (Depends-on): Update conditions.
10063         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
10064         * lib/mbsnrtoc32s.c (mbsnrtoc32s): If the char32_t encoding and the
10065         wchar_t encoding may differ, use mbrtoc32, not mbsnrtowcs.
10066         * modules/mbsnrtoc32s (Depends-on): Update conditions.
10067         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
10069 2020-01-07  Bruno Haible  <bruno@clisp.org>
10071         wcrtomb: Make multithread-safe, except possibly on IRIX.
10072         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Don't set REPLACE_WCRTOMB to 1 when
10073         REPLACE_MBSTATE_T is set. Define WCRTOMB_C_LOCALE_BUG and
10074         WCRTOMB_RETVAL_BUG.
10075         * lib/wcrtomb.c (wcrtomb): Use original wcrtomb whenever available. Use
10076         wctomb only on IRIX.
10078 2020-01-05  Jim Meyering  <meyering@fb.com>
10080         tests: skip thread-using tests when threading is disabled
10081         sed's configure.ac specifies gl_DISABLE_THREADS, and that caused three
10082         thread-using gnulib tests to fail. Add an #if-guarded exit (77) to each
10083         of those, so they are skipped in this case.
10084         * tests/test-nl_langinfo-mt.c (main): Exit 77 when threading is disabled.
10085         * tests/test-setlocale_null-mt-all.c (main): Likewise.
10086         * tests/test-setlocale_null-mt-one.c (main): Likewise.
10088 2020-01-05  Bruno Haible  <bruno@clisp.org>
10090         tests: Avoid GCC over-optimization caused by _GL_ARG_NONNULL attributes.
10091         Reported by Jim Meyering in
10092         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00040.html>.
10093         * lib/stdlib.in.h (GNULIB_defined_canonicalize_file_name): New macro.
10094         (GNULIB_defined_ptsname_r): New macro.
10095         * tests/test-canonicalize.c (_GL_ARG_NONNULL): Define to empty.
10096         (main): Disable the NULL argument test if canonicalize_file_name does
10097         not come from gnulib.
10098         * tests/test-canonicalize-lgpl.c (_GL_ARG_NONNULL): Define to empty.
10099         (main): Disable the NULL argument test if canonicalize_file_name does
10100         not come from gnulib.
10101         * tests/test-ptsname_r.c (_GL_ARG_NONNULL): Define to empty.
10102         (test_errors): Disable the NULL argument test if ptsname_r does not come
10103         from gnulib.
10105 2020-01-04  Jim Meyering  <meyering@fb.com>
10107         update-copyright: reenable its always-skipped test
10108         * tests/test-update-copyright.sh: Restore the "-pi" options removed
10109         on 2019-06-15. Without those, an internal preliminary test would
10110         fail, causing this test always to be skipped.
10111         Verify that the test is now run and passes via this:
10112           ./gnulib-tool --test --dir /tmp/x --with-tests update-copyright
10114 2020-01-05  Bruno Haible  <bruno@clisp.org>
10116         mbstoc32s: Add tests.
10117         * tests/test-mbstoc32s.c: New file, based on tests/test-mbsrtoc32s.c.
10118         * tests/test-mbstoc32s-1.sh: New file, based on
10119         tests/test-mbsrtoc32s-1.sh.
10120         * tests/test-mbstoc32s-2.sh: New file, based on
10121         tests/test-mbsrtoc32s-2.sh.
10122         * tests/test-mbstoc32s-3.sh: New file, based on
10123         tests/test-mbsrtoc32s-3.sh.
10124         * tests/test-mbstoc32s-4.sh: New file, based on
10125         tests/test-mbsrtoc32s-4.sh.
10126         * modules/mbstoc32s-tests: New file, based on modules/mbsrtoc32s-tests.
10128         mbstoc32s: New module.
10129         * lib/uchar.in.h (mbstoc32s): New declaration.
10130         * lib/mbstoc32s.c: New file.
10131         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSTOC32S.
10132         * modules/uchar (Makefile.am): Substitute GNULIB_MBSTOC32S.
10133         * modules/mbstoc32s: New file.
10134         * tests/test-uchar-c++.cc: Test the signature of mbstoc32s.
10135         * doc/posix-functions/mbstowcs.texi: Mention the new module.
10137 2020-01-05  Bruno Haible  <bruno@clisp.org>
10139         Tweak recently added tests.
10140         * tests/test-mbrtoc32.c: Make signature consistent with uchar.in.h.
10141         * tests/test-mbsrtoc32s.c: Likewise.
10142         * tests/test-mbsnrtoc32s.c: Likewise.
10144 2020-01-04  Bruno Haible  <bruno@clisp.org>
10146         mbsnrtoc32s: Add tests.
10147         * tests/test-mbsnrtoc32s.c: New file, based on tests/test-mbsnrtowcs.c.
10148         * tests/test-mbsnrtoc32s-1.sh: New file, based on
10149         tests/test-mbsnrtowcs1.sh.
10150         * tests/test-mbsnrtoc32s-2.sh: New file, based on
10151         tests/test-mbsnrtowcs2.sh.
10152         * tests/test-mbsnrtoc32s-3.sh: New file, based on
10153         tests/test-mbsnrtowcs3.sh.
10154         * tests/test-mbsnrtoc32s-4.sh: New file, based on
10155         tests/test-mbsnrtowcs4.sh.
10156         * modules/mbsnrtoc32s-tests: New file, based on
10157         modules/mbsnrtowcs-tests.
10159         mbsnrtoc32s: New module.
10160         * lib/uchar.in.h (mbsnrtoc32s): New declaration.
10161         * lib/mbsnrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
10162         INTERNAL_STATE, MBRTOWC.
10163         * lib/mbsnrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
10164         * lib/mbsnrtoc32s.c: New file.
10165         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOC32S.
10166         * modules/uchar (Makefile.am): Substitute GNULIB_MBSNRTOC32S.
10167         * modules/mbsnrtoc32s: New file.
10168         * tests/test-uchar-c++.cc: Test the signature of mbsnrtoc32s.
10169         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module.
10171 2020-01-04  Bruno Haible  <bruno@clisp.org>
10173         mbsrtoc32s tests: Enhance test.
10174         * tests/test-mbsrtoc32s.c (main): Include a non-BMP character in the
10175         test strings for UTF-8 and GB18030.
10177 2020-01-04  Bruno Haible  <bruno@clisp.org>
10179         mbsrtoc32s: Fix bug.
10180         * modules/mbsrtoc32s (configure.ac): Require gl_UCHAR_H, to make sure
10181         that SMALL_WCHAR_T is defined.
10183 2020-01-04  Bruno Haible  <bruno@clisp.org>
10185         mbsrtoc32s: Add tests.
10186         * tests/test-mbsrtoc32s.c: New file, based on tests/test-mbsrtowcs.c.
10187         * tests/test-mbsrtoc32s-1.sh: New file, based on
10188         tests/test-mbsrtowcs1.sh.
10189         * tests/test-mbsrtoc32s-2.sh: New file, based on
10190         tests/test-mbsrtowcs2.sh.
10191         * tests/test-mbsrtoc32s-3.sh: New file, based on
10192         tests/test-mbsrtowcs3.sh.
10193         * tests/test-mbsrtoc32s-4.sh: New file, based on
10194         tests/test-mbsrtowcs4.sh.
10195         * modules/mbsrtoc32s-tests: New file, based on modules/mbsrtowcs-tests.
10197         mbsrtoc32s: New module.
10198         * lib/uchar.in.h (mbsrtoc32s): New declaration.
10199         * lib/mbsrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
10200         INTERNAL_STATE, MBRTOWC.
10201         * lib/mbsrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
10202         * lib/mbsrtoc32s.c: New file.
10203         * lib/mbsrtoc32s-state.c: New file, based on lib/mbsrtowcs-state.c.
10204         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOC32S.
10205         * modules/uchar (Makefile.am): Substitute GNULIB_MBSRTOC32S.
10206         * modules/mbsrtoc32s: New file.
10207         * tests/test-uchar-c++.cc: Test the signature of mbsrtoc32s.
10208         * doc/posix-functions/mbsrtowcs.texi: Mention the new module.
10210 2020-01-04  Bruno Haible  <bruno@clisp.org>
10212         mbrtowc, mbrtoc32: Tighten dependendies.
10213         * modules/mbrtowc (Depends-on): Disable hard-locale, mbsinit if
10214         REPLACE_MBSTATE_T is 1.
10215         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
10216         REPLACE_MBSTATE_T is 0.
10217         * modules/mbrtoc32 (Depends-on): Remove hard-locale, mbsinit. Disable
10218         mbrtowc dependency if REPLACE_MBSTATE_T is 1.
10219         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
10220         REPLACE_MBSTATE_T is 0.
10222 2020-01-04  Bruno Haible  <bruno@clisp.org>
10224         uchar: Decide about _GL_LARGE_CHAR32_T at configure time.
10225         * m4/uchar.m4 (gl_UCHAR_H): Set SMALL_WCHAR_T.
10226         * modules/uchar (Files): Add stdint.m4.
10227         (Makefile.am): Substitute SMALL_WCHAR_T.
10228         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): Rely on SMALL_WCHAR_T.
10230 2020-01-04  Bruno Haible  <bruno@clisp.org>
10232         Fix AC_CHECK_DECL so that it deactivates clang's built-in declarations.
10233         Reported by Martin Storsjö <martin@martin.st> in
10234         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00016.html>.
10235         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
10236         New macros.
10237         (_AC_CHECK_DECL_BODY, AC_CHECK_DECL): Augment.
10239 2020-01-04  Bruno Haible  <bruno@clisp.org>
10241         btoc32: Add tests.
10242         * tests/test-btoc32.c: New file, based on tests/test-btowc.c.
10243         * tests/test-btoc32-1.sh: New file, based on tests/test-btowc1.sh.
10244         * tests/test-btoc32-2.sh: New file, based on tests/test-btowc2.sh.
10245         * modules/btoc32-tests: New file, based on modules/btowc-tests.
10247         btoc32: New module.
10248         * lib/uchar.in.h (btoc32): New declaration.
10249         * lib/btoc32.c: New file.
10250         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_BTOC32.
10251         * modules/uchar (Makefile.am): Substitute GNULIB_BTOC32.
10252         * modules/btoc32: New file.
10253         * tests/test-uchar-c++.cc: Test the signature of btoc32.
10254         * doc/posix-functions/btowc.texi: Mention the new module.
10256 2020-01-03  Bruno Haible  <bruno@clisp.org>
10258         uchar tests: Avoid compilation error with HP cc.
10259         * tests/test-uchar.c: Disable a test when HP cc is in use.
10261 2020-01-03  Bruno Haible  <bruno@clisp.org>
10263         mbrtoc32: Add tests.
10264         * tests/test-mbrtoc32.c: New file, based on tests/test-mbrtowc.c.
10265         * tests/test-mbrtoc32-1.sh: New file, based on tests/test-mbrtowc1.sh.
10266         * tests/test-mbrtoc32-2.sh: New file, based on tests/test-mbrtowc2.sh.
10267         * tests/test-mbrtoc32-3.sh: New file, based on tests/test-mbrtowc3.sh.
10268         * tests/test-mbrtoc32-4.sh: New file, based on tests/test-mbrtowc4.sh.
10269         * tests/test-mbrtoc32-5.sh: New file, based on tests/test-mbrtowc5.sh.
10270         * tests/test-mbrtoc32-w32.c: New file, based on tests/test-mbrtowc-w32.c.
10271         * tests/test-mbrtoc32-w32-1.sh: New file, based on
10272         tests/test-mbrtowc-w32-1.sh.
10273         * tests/test-mbrtoc32-w32-2.sh: New file, based on
10274         tests/test-mbrtowc-w32-2.sh.
10275         * tests/test-mbrtoc32-w32-3.sh: New file, based on
10276         tests/test-mbrtowc-w32-3.sh.
10277         * tests/test-mbrtoc32-w32-4.sh: New file, based on
10278         tests/test-mbrtowc-w32-4.sh.
10279         * tests/test-mbrtoc32-w32-5.sh: New file, based on
10280         tests/test-mbrtowc-w32-5.sh.
10281         * tests/test-mbrtoc32-w32-6.sh: New file, based on
10282         tests/test-mbrtowc-w32-6.sh.
10283         * tests/test-mbrtoc32-w32-7.sh: New file, based on
10284         tests/test-mbrtowc-w32-7.sh.
10285         * modules/mbrtoc32-tests: New file, based on modules/mbrtowc-tests.
10287         mbrtoc32: New module.
10288         * lib/uchar.in.h (mbrtoc32): New declaration.
10289         * lib/mbrtoc32.c: New file, based on lib/mbrtowc.c.
10290         * m4/mbrtoc32.m4: New file, based on m4/mbrtowc.m4.
10291         * m4/uchar.m4 (gl_UCHAR_H): Test whether mbrtoc32 is declared.
10292         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOC32, HAVE_MBRTOC32,
10293         REPLACE_MBRTOC32.
10294         * modules/uchar (Makefile.am): Substitute GNULIB_MBRTOC32,
10295         HAVE_MBRTOC32, REPLACE_MBRTOC32.
10296         * modules/mbrtoc32: New file, based on modules/mbrtowc.
10297         * tests/test-uchar-c++.cc (mbrtoc32): Verify the signature.
10298         * modules/uchar-c++-tests (Makefile.am): Link test-uchar-c++ with
10299         $(LIB_MBRTOWC).
10300         * doc/posix-functions/mbrtoc32.texi: Document the new module.
10301         * doc/posix-functions/mbrtowc.texi: Mention the new module.
10303 2020-01-03  Bruno Haible  <bruno@clisp.org>
10305         mbrtowc: Refactor to share code with mbrtoc32.
10306         * lib/mbrtowc-impl.h: New file, extracted from lib/mbrtowc.c.
10307         * lib/mbrtowc-impl-utf8.h: Likewise.
10308         * lib/mbrtowc.c (mbrtowc): Define macro FITS_IN_CHAR_TYPE. Include
10309         mbrtowc-impl.h.
10310         * modules/mbrtowc (Files): Add the new files.
10312 2020-01-03  Jim Meyering  <meyering@fb.com>
10314         doc: fix time.texi wording
10315         * doc/posix-headers/time.texi (time.h): Typo.
10317 2020-01-03  Bruno Haible  <bruno@clisp.org>
10319         mbrtowc: Refactor locale charset dispatching.
10320         * lib/lc-charset-dispatch.h: New file, extracted from lib/mbrtowc.c.
10321         * lib/lc-charset-dispatch.c: New file, extracted from lib/mbrtowc.c.
10322         * lib/mbrtowc.c: Include lc-charset-dispatch.h. Don't include
10323         localcharset.h, streq.h.
10324         (enc_t): Remove type.
10325         (locale_enc): Remove function.
10326         (cached_locale_enc): Remove variable.
10327         (locale_enc_cached): Remove function.
10328         (mbrtowc): Invoke locale_encoding_classification.
10329         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Update comment.
10330         * modules/mbrtowc (Files): Add lc-charset-dispatch.h,
10331         lc-charset-dispatch.c.
10332         (configure.ac): Arrange to compile lc-charset-dispatch.c.
10334 2020-01-03  Paul Eggert  <eggert@cs.ucla.edu>
10336         doc: mention 32-bit time_t issue
10337         * doc/posix-headers/sys_stat.texi (sys/stat.h):
10338         * doc/posix-headers/time.texi (time.h): Mention 2038.
10340 2020-01-03  Bruno Haible  <bruno@clisp.org>
10342         mbrtowc: Ensure the mbtowc_lock is unique.
10343         * lib/mbtowc-lock.c: New file, based on lib/setlocale-lock.c.
10344         * lib/mbtowc-lock.h: New file, extracted from lib/mbrtowc.c and
10345         lib/setlocale_null.c.
10346         * lib/mbrtowc.c: Include headers needed for mbtowc-lock.h. Don't include
10347         glthread/lock.h. Include mbtowc-lock.h.
10348         (mbtowc_lock): Remove declaration.
10349         (mbrtowc): Use mbtowc_with_lock.
10350         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Require gl_PTHREADLIB. Check for
10351         threads.h. Set LIB_MBRTOWC.
10352         (gl_PREREQ_MBTOWC_LOCK): New macro.
10353         * modules/mbrtowc (Files): Add lib/mbtowc-lock.h, lib/mbtowc-lock.c,
10354         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
10355         (Depends-on): Remove lock.
10356         (configure.ac): Arrange to compile mbtowc-lock.c.
10357         (Link): Mention $(LIB_MBRTOWC) instead of $(LIBTHREAD).
10358         * modules/acl (Link): Likewise.
10359         * modules/argmatch (Link): Likewise.
10360         * modules/backup-rename (Link): Likewise.
10361         * modules/backupfile (Link): Likewise.
10362         * modules/closein (Link): Likewise.
10363         * modules/closeout (Link): Likewise.
10364         * modules/copy-file (Link): Likewise.
10365         * modules/csharpcomp (Link): Likewise.
10366         * modules/csharpexec (Link): Likewise.
10367         * modules/dfa (Link): Likewise.
10368         * modules/exclude (Link): Likewise.
10369         * modules/fnmatch (Link): Likewise.
10370         * modules/fnmatch-gnu (Link): Likewise.
10371         * modules/fnmatch-posix (Link): Likewise.
10372         * modules/glob (Link): Likewise.
10373         * modules/human (Link): Likewise.
10374         * modules/javacomp (Link): Likewise.
10375         * modules/javaexec (Link): Likewise.
10376         * modules/javaversion (Link): Likewise.
10377         * modules/mbfile (Link): Likewise.
10378         * modules/mbiter (Link): Likewise.
10379         * modules/mbmemcasecmp (Link): Likewise.
10380         * modules/mbmemcasecoll (Link): Likewise.
10381         * modules/mbrlen (Link): Likewise.
10382         * modules/mbscasecmp (Link): Likewise.
10383         * modules/mbscasestr (Link): Likewise.
10384         * modules/mbschr (Link): Likewise.
10385         * modules/mbscspn (Link): Likewise.
10386         * modules/mbsinit (Link): Likewise.
10387         * modules/mbslen (Link): Likewise.
10388         * modules/mbsncasecmp (Link): Likewise.
10389         * modules/mbsnlen (Link): Likewise.
10390         * modules/mbsnrtowcs (Link): Likewise.
10391         * modules/mbspbrk (Link): Likewise.
10392         * modules/mbspcasecmp (Link): Likewise.
10393         * modules/mbsrchr (Link): Likewise.
10394         * modules/mbsrtowcs (Link): Likewise.
10395         * modules/mbssep (Link): Likewise.
10396         * modules/mbsspn (Link): Likewise.
10397         * modules/mbsstr (Link): Likewise.
10398         * modules/mbstok_r (Link): Likewise.
10399         * modules/mbswidth (Link): Likewise.
10400         * modules/mbuiter (Link): Likewise.
10401         * modules/mkdir-p (Link): Likewise.
10402         * modules/propername (Link): Likewise.
10403         * modules/quote (Link): Likewise.
10404         * modules/quotearg (Link): Likewise.
10405         * modules/quotearg-simple (Link): Likewise.
10406         * modules/regex-quote (Link): Likewise.
10407         * modules/rpmatch (Link): Likewise.
10408         * modules/sh-quote (Link): Likewise.
10409         * modules/system-quote (Link): Likewise.
10410         * modules/trim (Link): Likewise.
10411         * modules/unistdio/ulc-asnprintf (Link): Likewise.
10412         * modules/unistdio/ulc-fprintf (Link): Likewise.
10413         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
10414         * modules/unistdio/ulc-vasprintf (Link): Likewise.
10415         * modules/unistdio/ulc-vfprintf (Link): Likewise.
10416         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
10417         * modules/unistdio/ulc-vsprintf (Link): Likewise.
10418         * modules/xfreopen (Link): Likewise.
10419         * modules/xmemcoll (Link): Likewise.
10420         * modules/yesno (Link): Likewise.
10421         * modules/regex (Link): Add $(LIB_MBRTOWC).
10422         * modules/acl-tests (Makefile.am): Link the programs with $(LIB_MBRTOWC)
10423         instead of $(LIBTHREAD).
10424         * modules/argmatch-tests (Makefile.am): Likewise.
10425         * modules/closein-tests (Makefile.am): Likewise.
10426         * modules/copy-file-tests (Makefile.am): Likewise.
10427         * modules/dfa-tests (Makefile.am): Likewise.
10428         * modules/fnmatch-tests (Makefile.am): Likewise.
10429         * modules/glob-tests (Makefile.am): Likewise.
10430         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
10431         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
10432         * modules/mbrtowc-tests (Makefile.am): Likewise.
10433         * modules/mbscasecmp-tests (Makefile.am): Likewise.
10434         * modules/mbscasestr-tests (Makefile.am): Likewise.
10435         * modules/mbschr-tests (Makefile.am): Likewise.
10436         * modules/mbscspn-tests (Makefile.am): Likewise.
10437         * modules/mbsinit-tests (Makefile.am): Likewise.
10438         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
10439         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
10440         * modules/mbspbrk-tests (Makefile.am): Likewise.
10441         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
10442         * modules/mbsrchr-tests (Makefile.am): Likewise.
10443         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
10444         * modules/mbsspn-tests (Makefile.am): Likewise.
10445         * modules/mbsstr-tests (Makefile.am): Likewise.
10446         * modules/quotearg-simple-tests (Makefile.am): Likewise.
10447         * modules/quotearg-tests (Makefile.am): Likewise.
10448         * modules/readtokens-tests (Makefile.am): Likewise.
10449         * modules/sh-quote-tests (Makefile.am): Likewise.
10450         * modules/system-quote-tests (Makefile.am): Likewise.
10451         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
10452         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
10453         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
10454         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
10455         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
10456         * modules/yesno-tests (Makefile.am): Likewise.
10457         * modules/exclude-tests (Makefile.am): Link the programs with
10458         $(LIB_MBRTOWC).
10459         * modules/regex-tests (Makefile.am): Likewise.
10460         * modules/regex-quote-tests (Makefile.am): Likewise.
10462 2020-01-03  Bruno Haible  <bruno@clisp.org>
10464         getopt-posix: Fix compilation failure in testdirs.
10465         * lib/unistd.in.h: Include <getopt-cdefs.h> and <getopt-pfx-core.h> only
10466         when the gnulib module 'getopt-posix' is enabled.
10467         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETOPT_POSIX.
10468         * modules/getopt-posix (configure.ac): Set GNULIB_GETOPT_POSIX as a
10469         module indicator.
10470         * modules/unistd (Makefile.am): Substitute GNULIB_GETOPT_POSIX.
10472 2020-01-03  Bruno Haible  <bruno@clisp.org>
10474         doc: Mention the 64-bit inode number problem.
10475         * m4/largefile.m4 (AC_SYS_LARGEFILE): Mention that this macro fixes the
10476         64-bit inode number problem.
10477         * doc/posix-functions/stat.texi: Mention that this module fixes the
10478         64-bit inode number problem.
10479         * doc/posix-functions/lstat.texi: Likewise.
10480         * doc/posix-functions/fstat.texi: Likewise.
10481         * doc/posix-functions/readdir.texi: Add more details.
10482         * doc/posix-functions/readdir_r.texi: Likewise.
10484 2020-01-02  Bruno Haible  <bruno@clisp.org>
10486         wcrtomb: Add more tests.
10487         * tests/test-wcrtomb-w32.c: Include localcharset.h.
10488         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
10489         locale_charset() returns the expected value; otherwise, skip the test.
10490         * tests/test-wcrtomb-w32-6.sh: Remove old comment.
10491         * tests/test-wcrtomb-w32-7.sh: Likewise.
10492         * modules/wcrtomb-tests (Files): Add these files.
10493         (Depends-on): Add localcharset.
10494         (TESTS): Add test-wcrtomb-w32-6.sh, test-wcrtomb-w32-7.sh.
10496 2020-01-02  Bruno Haible  <bruno@clisp.org>
10498         mbrtowc: Add more tests.
10499         * tests/test-mbrtowc-w32.c: Include localcharset.h.
10500         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
10501         locale_charset() returns the expected value; otherwise, skip the test.
10502         * tests/test-mbrtowc-w32-6.sh: Remove old comment.
10503         * tests/test-mbrtowc-w32-7.sh: Likewise.
10504         * modules/mbrtowc-tests (Files): Add these files.
10505         (Depends-on): Add localcharset.
10506         (TESTS): Add test-mbrtowc-w32-6.sh, test-mbrtowc-w32-7.sh.
10508 2020-01-02  Bruno Haible  <bruno@clisp.org>
10510         mbrtowc: Fix test failures on MSVC (regression by previous commit).
10511         * m4/mbrtowc.m4 (gl_MBRTOWC_STORES_INCOMPLETE): New macro.
10512         (gl_FUNC_MBRTOWC): Invoke it. Define MBRTOWC_STORES_INCOMPLETE_BUG.
10513         * lib/mbrtowc.c (rpl_mbrtowc): Add workaround for
10514         MBRTOWC_STORES_INCOMPLETE_BUG.
10515         * doc/posix-functions/mbrtowc.texi: Mention the MSVC bug.
10517 2020-01-02  Paul Eggert  <eggert@cs.ucla.edu>
10519         doc: mention glibc bug 24269
10520         * doc/regex.texi (Back-reference Operator): Add glibc bug 24269.
10521         Reformat slightly so that it looks nicer in the Grep manual.
10523 2020-01-02  Bruno Haible  <bruno@clisp.org>
10525         mbrtowc: Don't replace mbstate_t on MSVC.
10526         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN): Require AC_CANONICAL_HOST. Ignore
10527         a missing mbsinit function on native Windows.
10528         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Likewise.
10529         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Strengthen the test, to detect an
10530         MSVC bug.
10531         * doc/posix-functions/wcrtomb.texi: Mention the MSVC bug.
10533 2020-01-02  Bruno Haible  <bruno@clisp.org>
10535         setlocale-null: Avoid crashing the MSVC linker.
10536         * lib/setlocale-lock.c: Don't define IMP(gl_get_setlocale_null_lock) on
10537         MSVC.
10539 2020-01-02  Bruno Haible  <bruno@clisp.org>
10541         wchar: Make the HP-UX workaround work on HP-UX 11.31.
10542         * modules/wchar (Depends-on): Add inttypes-incomplete.
10543         * lib/inttypes.in.h: Define _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H.
10544         * lib/wchar.in.h: Test _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H instead
10545         of strtoimax.
10547 2020-01-02  Bruno Haible  <bruno@clisp.org>
10549         mbrtowc: Fix compilation error on IRIX (regression from 2019-12-26).
10550         * lib/mbrtowc.c: Include <stdint.h>.
10551         * modules/mbrtowc (Depends-on): Add stdint.
10553 2020-01-01  Pádraig Brady  <P@draigBrady.com>
10555         md5, sha1, sha256, sha512: support --with-openssl=auto-gpl-compat
10556         * m4/gl-openssl.m4: Add a new "auto-gpl-compat" mode,
10557         which will auto enable use of openssl, only for >= version 3,
10558         which is newly licensed under the Apache Software License.
10560 2020-01-01  Bruno Haible  <bruno@clisp.org>
10562         mbrtowc: Include function name in macro names.
10563         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Define
10564         MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not C_LOCALE_MAYBE_EILSEQ.
10565         (gl_MBRTOWC_C_LOCALE): Change cache variable name to
10566         gl_cv_func_mbrtowc_C_locale_sans_EILSEQ.
10567         * lib/mbrtowc.c: Test MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not
10568         C_LOCALE_MAYBE_EILSEQ.
10570 2020-01-01  Bruno Haible  <bruno@clisp.org>
10572         c32tob: New module.
10573         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): New macro.
10574         (c32tob): New declaration.
10575         * lib/c32tob.c: New file.
10576         * m4/uchar.m4 (gl_UCHAR_MODULE_INDICATOR, gl_UCHAR_H_DEFAULTS): New
10577         macros.
10578         (gl_UCHAR_H): Require gl_UCHAR_H_DEFAULTS.
10579         * modules/uchar (Depends-on): Add snippet/c++defs.
10580         (Makefile.am): Include c++defs.h and substitute GNULIB_C32TOB in
10581         uchar.h.
10582         * modules/c32tob: New file.
10583         * tests/test-uchar.c: Verify that _GL_LARGE_CHAR32_T is correctly
10584         defined.
10585         * tests/test-uchar-c++.cc: Include signature.h. Test the signature of
10586         c32tob.
10587         * modules/uchar-c++-tests (Files): Add tests/signature.h.
10588         * doc/posix-functions/wctob.texi: Mention the new module.
10590 2020-01-01  Bruno Haible  <bruno@clisp.org>
10592         locale C++ tests: Fix link error on AIX (regression from 2019-12-18).
10593         * modules/locale-c++-tests (Makefile.am): Link test-locale-c++ with
10594         $(LIB_SETLOCALE).
10596 2020-01-01  Bruno Haible  <bruno@clisp.org>
10598         hard-locale tests: Fix a conflict with the C++ tests.
10599         * modules/hard-locale-tests (Makefile.am): Build a program named
10600         'current-locale', not 'locale'.
10602 2020-01-01  Bruno Haible  <bruno@clisp.org>
10604         doc: Update documentation about wchar_t.
10605         * doc/*/*wc*.texi: Clarify that 64-bit AIX does not have a too small
10606         wchar_t type.
10608 2020-01-01  Bruno Haible  <bruno@clisp.org>
10610         mbrtowc tests: Fix typos.
10611         * tests/test-mbrtowc.c (main): Fix typo.
10612         * tests/test-mbrtowc-w32.c (test_one_locale): Likewise.
10614 2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>
10616         maint: update copyright notices
10617         Before doing the following changes done by hand, I also ran ‘make
10618         update-copyright’ and ‘config/srclist-update <config/srclist.txt’
10619         to do most of the copyright years automatically.  A few upstream
10620         sources are still in 2019 but these should eventually be changed
10621         automatically too.
10622         * build-aux/declared.sh (func_version):
10623         * build-aux/libtool-next-version (func_version):
10624         * build-aux/run-test (func_version):
10625         Update these notices by hand.  Put just the last year
10626         in output of programs, as per GNU coding standards.
10628 2019-12-31  Bruno Haible  <bruno@clisp.org>
10630         uchar: Add C++ tests.
10631         * tests/test-uchar-c++.cc: New file.
10632         * tests/test-uchar-c++2.cc: New file.
10633         * modules/uchar-c++-tests: New file.
10635         uchar: Add tests.
10636         * tests/test-uchar.c: New file.
10637         * modules/uchar-tests: New file.
10639         uchar: New module.
10640         * lib/uchar.in.h: New file.
10641         * m4/uchar.m4: New file.
10642         * modules/uchar: New file.
10643         * doc/posix-headers/uchar.texi: Mention the new module.
10645 2019-12-30  Jim Meyering  <meyering@fb.com>
10647         localeinfo: ->simple would be wrong for LC_ALL=C
10648         That would lead to using unnecessary and expensive code paths in dfa.c.
10649         * lib/localeinfo.c (using_simple_locale): Fix recently-introduced logic
10650         error that would have made grep many times slower in the C locale.
10651         With this change, and a file created like this:
10652           yes 00 | head -10000000 > in
10653         Running grep as follows becomes more than 40 times faster:
10654           LC_ALL=C grep -Fw 0 in
10656 2019-12-30  Paul Eggert  <eggert@cs.ucla.edu>
10658         doc: document trouble with back-references
10659         * doc/regex.texi (Back-reference Operator): Mention bugs etc.
10661 2019-12-29  Paul Eggert  <eggert@cs.ucla.edu>
10663         doc: use “back-reference” for \1 etc.
10664         * doc/regex.texi: Consistently spell “back-reference” with
10665         a hyphen, since that’s how POSIX does it.
10667 2019-12-26  Jim Meyering  <meyering@fb.com>
10669         test-framework-sh: tighten an internal grep regexp
10670         * tests/init.sh (gl_shell_test_script_): Tighten the grep regexp
10671         that helps test for a working printf.
10673 2019-12-26  Bruno Haible  <bruno@clisp.org>
10675         test-framework-sh: Avoid /bin/sh on AIX 7.2 due to its printf built-in.
10676         Reported by Paul Eggert in
10677         <https://lists.gnu.org/archive/html/grep-devel/2019-12/msg00020.html>.
10678         Simplification by Jim Meyering.
10679         * tests/init.sh (gl_shell_test_script_): Add a test of printf of an
10680         octal escape sequence in a UTF-8 locale.
10682 2019-12-26  Paul Eggert  <eggert@cs.ucla.edu>
10684         mbrtowc: port better to narrow-wchar_t platforms
10685         * lib/mbrtowc.c (mbrtowc): On platforms like AIX 7.2, where
10686         wchar_t is too narrow to represent all the Unicode characters,
10687         consider a byte sequence for an out-of-wchar_t-range character to
10688         be an encoding error.  This fixes grep’s surrogate-pair test
10689         failure on AIX 7.2.
10691 2019-12-24  Bruno Haible  <bruno@clisp.org>
10693         localcharset: Avoid referencing rpl_setlocale on native Windows.
10694         * lib/localcharset.c (setlocale): Undefine.
10696 2019-12-24  Bruno Haible  <bruno@clisp.org>
10698         lock tests: Fix link error on HP-UX/hppa (regression from 2019-12-21).
10699         * m4/semaphore.m4: New file.
10700         * modules/lock-tests (Files): Add it.
10701         (configure.ac): Require gl_SEMAPHORE.
10702         (Makefile.am): Link test-lock with $(LIB_SEMAPHORE).
10704 2019-12-24  Paul Eggert  <eggert@cs.ucla.edu>
10706         strptime: fix typo in previous patch
10707         Problem and fix reported by Bruno Haible in:
10708         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00202.html
10709         * lib/strptime.c (day_of_the_week): Fix paren bug.
10711 2019-12-24  Bruno Haible  <bruno@clisp.org>
10713         setlocale-null: Make it easy to rely on the lock in another library.
10714         * lib/setlocale-lock.c: Do not define anything if OMIT_SETLOCALE_LOCK is
10715         defined.
10717 2019-12-23  Paul Eggert  <eggert@cs.ucla.edu>
10719         gethrxtime, mktime, nstrftime, strptime: tweak division performance
10720         Performanced analyzed by Bruno Haible in:
10721         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00200.html
10722         * config/srclist.txt: Do not sync mktime.c for now.
10723         * lib/mktime.c (shr, ydhms_diff):
10724         * lib/nstrftime.c (SHR, tm_diff, __strftime_internal):
10725         * lib/strptime.c (day_of_the_week):
10726         * lib/xtime.h (xtime_sec):
10727         Redo with neither ‘%’ nor conditional branches.
10729 2019-12-23  Bruno Haible  <bruno@clisp.org>
10731         setlocale-null: Export the lock function also on non-Windows platforms.
10732         * lib/setlocale-lock.c (DLL_EXPORTED): New macro.
10733         (gl_get_setlocale_null_lock): Declare as DLL_EXPORTED.
10734         * m4/setlocale_null.m4 (gl_PREREQ_SETLOCALE_LOCK): New macro.
10735         * modules/setlocale-null (configure.ac): Invoke it.
10736         (Files): Add m4/visibility.m4.
10738 2019-12-22  Paul Eggert  <eggert@cs.ucla.edu>
10740         gethrxtime: fix rounding bug with negative args
10741         Problem reported by Bruno Haible in:
10742         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00192.html
10743         * lib/xtime.h (xtime_sec): Simplify calculation and correct bug
10744         with negative rounding.  Common platforms can compute / and % with
10745         a single instruction, so the simplified code should be shorter and
10746         faster on these platforms anyway.
10748 2019-12-22  Bruno Haible  <bruno@clisp.org>
10750         gethrxtime: remove incorrect overflow detection
10751         * lib/xtime.h (xtime_make): Remove attempt to prevent internal
10752         integer overflow, as it didn’t suffice.  This reverts the xtime.h
10753         part of 2018-10-12T04:46:09Z!akim.demaille@gmail.com, which I
10754         cannot now see the need for anyway (even in cases where it works),
10755         as the patch is helpful only when the signs of S and NS disagree,
10756         and all callers pass nonnegative values for S and NS.
10758 2019-12-22  Bruno Haible  <bruno@clisp.org>
10760         setlocale-null: Add standalone include file.
10761         * lib/setlocale_null.h: New file, extracted from lib/locale.in.h.
10762         * lib/locale.in.h: Include setlocale_null.h.
10763         (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX, setlocale_null_r,
10764         setlocale_null): Remove declarations.
10765         * lib/setlocale_null.c: Include setlocale_null.h.
10766         * lib/localename.c: Likewise.
10767         * modules/setlocale-null (Files): Add lib/setlocale_null.h.
10768         (Depends-on): Add snippet/arg-nonnull.
10769         (Include): Allow either "setlocale_null.h" or <locale.h>.
10771 2019-12-22  Bruno Haible  <bruno@clisp.org>
10773         strfmon_l: Fix test failures on FreeBSD and Cygwin.
10774         * m4/strfmon_l.m4 (gl_FUNC_STRFMON_L): Require gt_LOCALE_FR_UTF8. Add an
10775         AC_RUN_IFELSE test.
10776         * modules/strfmon_l (Files): Add locale-fr.m4, codeset.m4.
10777         * doc/posix-functions/strfmon_l.texi: Mention the FreeBSD and Cygwin
10778         problem.
10780 2019-12-22  Bruno Haible  <bruno@clisp.org>
10782         Prefer lib_SOURCES to unconditional AC_LIBOBJ.
10783         * modules/at-internal: Prefer a lib_SOURCES augmentation to an
10784         unconditional AC_LIBOBJ.
10785         * modules/selinux-at: Likewise.
10786         * modules/xmemdup0: Likewise.
10787         * modules/xstrtoll: Likewise.
10789 2019-12-22  Bruno Haible  <bruno@clisp.org>
10791         longlong: Mark module obsolete.
10792         * modules/longlong (Status, Notice): New sections.
10794         stdint: Assume that the compiler supports 'long long'.
10795         * lib/stdint.in.h (int64_t, uint64_t, intmax_t, uintmax_t, INT64_C,
10796         UINT64_C, INTMAX_C, UINTMAX_C): Assume HAVE_LONG_LONG_INT and
10797         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
10798         * m4/stdint.m4 (gl_STDINT_H): Don't require AC_TYPE_LONG_LONG_INT,
10799         AC_TYPE_UNSIGNED_LONG_LONG_INT.
10800         * modules/stdint (Files): Remove longlong.m4.
10801         (Makefile.am): Don't substitute HAVE_LONG_LONG_INT,
10802         HAVE_UNSIGNED_LONG_LONG_INT.
10804         inttypes-incomplete: Assume that the compiler supports 'long long'.
10805         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
10806         _SCNu64_PREFIX): Assume HAVE_LONG_LONG_INT and
10807         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
10808         * m4/inttypes.m4 (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): Assume
10809         HAVE_LONG_LONG_INT to be 1.
10810         * modules/inttypes-incomplete (Makefile.am): Don't substitute
10811         HAVE_LONG_LONG_INT, HAVE_UNSIGNED_LONG_LONG_INT.
10813         malloca: Assume that the compiler supports 'long long'.
10814         * lib/malloca.h: Assume HAVE_LONG_LONG_INT to be 1.
10815         * m4/malloca.m4 (gl_MALLOCA): Don't require AC_TYPE_LONG_LONG_INT.
10816         * modules/malloca (Files): Remove longlong.m4.
10817         * modules/relocatable-prog-wrapper (Files): Likewise.
10819         atoll: Assume that the compiler supports 'long long'.
10820         * m4/atoll.m4 (gl_FUNC_ATOLL): Don't require AC_TYPE_LONG_LONG_INT.
10821         * modules/atoll (Files): Remove longlong.m4.
10823         strtoll: Assume that the compiler supports 'long long'.
10824         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Don't require AC_TYPE_LONG_LONG_INT.
10825         * modules/strtoll (Files): Remove longlong.m4.
10827         strtoull: Assume that the compiler supports 'long long'.
10828         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Don't require
10829         AC_TYPE_UNSIGNED_LONG_LONG_INT.
10830         * modules/strtoull (Files): Remove longlong.m4.
10832         strtoimax, strtoumax: Assume that the compiler supports 'long long'.
10833         * lib/strtoimax.c: Assume HAVE_LONG_LONG_INT and
10834         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
10835         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Don't require
10836         AC_TYPE_LONG_LONG_INT.
10837         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't require
10838         AC_TYPE_UNSIGNED_LONG_LONG_INT.
10839         * modules/strtoimax (Files): Remove longlong.m4.
10840         * modules/strtoumax (Files): Likewise.
10842         xstrtoll: Assume that the compiler supports 'long long'.
10843         * lib/xstrtol.h (xstrtoll, xstrtoull): Declare unconditionally.
10844         * modules/xstrtoll (configure.ac): Don't invoke AC_TYPE_LONG_LONG_INT.
10846         vasnprintf: Assume that the compiler supports 'long long'.
10847         * lib/printf-args.h: Assume HAVE_LONG_LONG_INT to be 1.
10848         * lib/printf-args.c (PRINTF_FETCHARGS): Likewise.
10849         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
10850         * lib/vasnprintf.c (MAX_ROOM_NEEDED, VASNPRINTF): Likewise.
10851         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Don't
10852         require AC_TYPE_LONG_LONG_INT.
10853         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
10854         gl_PREREQ_VASNPRINTF): Likewise.
10855         * modules/vasnprintf (Files): Remove longlong.m4.
10856         * modules/c-vasnprintf (Files): Likewise.
10857         * modules/unistdio/u8-vasnprintf (Files): Likewise.
10858         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
10859         * modules/unistdio/u16-vasnprintf (Files): Likewise.
10860         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
10861         * modules/unistdio/u32-vasnprintf (Files): Likewise.
10862         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
10863         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
10865         gethrxtime: Assume that the compiler supports 'long long'.
10866         * lib/xtime.h (xtime_t): Define to 'long long int' always.
10867         (XTIME_PRECISION): Define to 1000000000 always.
10868         (xtime_make, xtime_sec): Optimize accordingly.
10869         * m4/gethrxtime.m4 (gl_XTIME): Don't require AC_TYPE_LONG_LONG_INT.
10870         * modules/gethrxtime (Files): Remove longlong.m4.
10872         integer_length*: Assume that the compiler supports 'long long'.
10873         * lib/integer_length.h (integer_length_ll): Declare unconditionally.
10874         * modules/integer_length (Files): Remove longlong.m4.
10875         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
10876         * modules/integer_length_l (Files): Remove longlong.m4.
10877         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
10878         * modules/integer_length_ll (Files): Remove longlong.m4.
10879         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
10881         count-one-bits: Assume that the compiler supports 'long long'.
10882         * lib/count-one-bits.h (count_one_bits_ll): Define unconditionally.
10883         * m4/count-one-bits.m4: Remove file.
10884         * modules/count-one-bits (Files): Remove it.
10885         (configure.ac): Don't invoke gl_COUNT_ONE_BITS.
10886         * tests/test-count-one-bits.c (main): Test count_one_bits_ll
10887         unconditionally.
10889         count-trailing-zeros: Assume that the compiler supports 'long long'.
10890         * lib/count-trailing-zeros.h (count_trailing_zeros_ll): Define
10891         unconditionally.
10892         * m4/count-trailing-zeros.m4: Remove file.
10893         * modules/count-trailing-zeros (Files): Remove it.
10894         (configure.ac): Don't invoke gl_COUNT_TRAILING_ZEROS.
10895         * tests/test-count-trailing-zeros.c (main): Test count_trailing_zeros_ll
10896         unconditionally.
10898         count-leading-zeros: Assume that the compiler supports 'long long'.
10899         * lib/count-leading-zeros.h (count_leading_zeros_ll): Define
10900         unconditionally.
10901         * m4/count-leading-zeros.m4: Remove file.
10902         * modules/count-leading-zeros (Files): Remove it.
10903         (configure.ac): Don't invoke gl_COUNT_LEADING_ZEROS.
10904         * tests/test-count-leading-zeros.c (main): Test count_leading_zeros_ll
10905         unconditionally.
10907 2019-12-22  Bruno Haible  <bruno@clisp.org>
10909         localcharset: Update support for OpenBSD.
10910         * lib/localcharset.c (alias_table): Map "US-ASCII" to "ASCII".
10912 2019-12-21  Bruno Haible  <bruno@clisp.org>
10914         pthread_sigmask: Avoid test failure on NetBSD 8.0.
10915         * tests/test-pthread_sigmask2.c (main): Skip the error handling test on
10916         NetBSD.
10917         * doc/posix-functions/pthread_sigmask.texi: Mention the NetBSD problem.
10919 2019-12-21  Bruno Haible  <bruno@clisp.org>
10921         threadlib: Improve code structure.
10922         * m4/threadlib.m4: Reorder macros. Add comments.
10924 2019-12-21  Bruno Haible  <bruno@clisp.org>
10926         threadlib: Fix LIBMULTITHREAD on FreeBSD with --enable-threads=isoc.
10927         * m4/threadlib.m4 (gl_STDTHREADLIB_BODY): New macro (some code moved
10928         here from m4/threads.m4).
10929         (gl_THREADLIB_BODY): Don't test whether mtx_lock and cnd_timedwait exist
10930         in libc. Instead, rely on gl_STDTHREADLIB_BODY.
10931         (gl_STDTHREADLIB): New macro.
10932         * m4/threads.m4 (gl_THREADS_H): Require gl_STDTHREADLIB instead of
10933         gl_THREADLIB_BODY and gl_YIELD. Don't set LIBSTDTHREAD here.
10935 2019-12-21  Bruno Haible  <bruno@clisp.org>
10937         sched_yield: Don't depend on threadlib and yield.
10938         * m4/threadlib.m4 (gl_PTHREADLIB): Document that it sets
10939         LIB_SCHED_YIELD.
10940         (gl_PTHREADLIB_BODY): Set LIB_SCHED_YIELD (code moved here from
10941         m4/yield.m4).
10942         * m4/sched_yield.m4 (gl_FUNC_SCHED_YIELD): Require gl_PTHREADLIB, not
10943         gl_THREADLIB and gl_YIELD.
10944         * m4/yield.m4 (gl_YIELD): Require gl_PTHREADLIB. Determine YIELD_LIB
10945         based on $(LIB_SCHED_YIELD).
10946         * m4/threads.m4 (gl_THREADS_H): Don't require gl_YIELD. Use
10947         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
10948         * modules/sched_yield (Files): Remove yield.m4. Add threadlib.m4.
10949         (Depends-on): Remove threadlib.
10950         (Link): Mention $(LIB_SCHED_YIELD), not $(YIELD_LIB).
10951         * modules/threads-h (Files): Remove m4/yield.m4.
10952         * modules/pthread-cond-tests (Makefile.am): Link the programs against
10953         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
10954         * modules/pthread-mutex-tests (Makefile.am): Likewise.
10955         * modules/pthread-once-tests (Makefile.am): Likewise.
10956         * modules/pthread-rwlock-tests (Makefile.am): Likewise.
10957         * modules/pthread-tss-tests (Makefile.am): Likewise.
10959 2019-12-21  Bruno Haible  <bruno@clisp.org>
10961         threads-h: Don't depend on threadlib.
10962         * modules/threads-h (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY,
10963         not gl_THREADLIB_EARLY.
10965 2019-12-21  Bruno Haible  <bruno@clisp.org>
10967         nl_langinfo tests: Fix link error (regression from 2019-12-18).
10968         * modules/nl_langinfo-tests (Makefile.am): Link also test-nl_langinfo
10969         with $(LIB_SETLOCALE).
10971 2019-12-21  Bruno Haible  <bruno@clisp.org>
10973         threadlib: Remove unused dependency (left over from 2019-07-06).
10974         * modules/threadlib (Depends-on): Remove havelib.
10976 2019-12-21  Bruno Haible  <bruno@clisp.org>
10978         New convention for multithread-safety tests.
10979         * tests/test-setlocale_null-mt-one.c: Renamed from
10980         tests/test-setlocale_null-one.c.
10981         * tests/test-setlocale_null-mt-all.c: Renamed from
10982         tests/test-setlocale_null-all.c.
10983         * modules/setlocale-null-tests (Files, Makefile.am): Update.
10985 2019-12-21  Bruno Haible  <bruno@clisp.org>
10987         quotearg tests: Fix conflict with hard-locale tests.
10988         * tests/testlocale: Renamed from tests/locale.
10989         * modules/quotearg-tests (Files): Update.
10990         * tests/test-quotearg.sh (LOCALEDIR): Likewise.
10992 2019-12-21  Bruno Haible  <bruno@clisp.org>
10994         pthread-thread, lock: On z/OS, use PTHREAD_RWLOCK_INITIALIZER_NP.
10995         Reported by Daniel Richard G. in
10996         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>
10997         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00167.html>
10998         * lib/pthread.in.h (PTHREAD_RWLOCK_INITIALIZER): Define to
10999         PTHREAD_RWLOCK_INITIALIZER_NP when possible.
11000         * lib/glthread/lock.h: Allow PTHREAD_RWLOCK_INITIALIZER_NP as an
11001         alternative to PTHREAD_RWLOCK_INITIALIZER.
11002         * lib/glthread/lock.c: Likewise.
11004 2019-12-21  Bruno Haible  <bruno@clisp.org>
11006         memcmp tests: Work around the clang bug.
11007         * tests/test-memcmp.c (main): Use a volatile function pointer to disable
11008         the clang optimization.
11010 2019-12-20  Bruno Haible  <bruno@clisp.org>
11012         localcharset: Add support for z/OS encoding names.
11013         * lib/localcharset.h: Mention which encodings are used as locale
11014         encodings on z/OS.
11016 2019-12-20  Bruno Haible  <bruno@clisp.org>
11018         iconv_open: Add support for z/OS encoding names.
11019         Reported by Daniel Richard G. in
11020         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00172.html>.
11021         * lib/iconv_open-zos.gperf: New file.
11022         * modules/iconv_open (Files): Add iconv_open-zos.gperf.
11023         (Makefile.am): Add rules for generating iconv_open-zos.h from it.
11024         * lib/iconv_open.c (ICONV_FLAVOR_ZOS): New macro.
11025         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): On z/OS, use ICONV_FLAVOR_ZOS.
11026         * doc/posix-functions/iconv_open.texi: Mention z/OS.
11028 2019-12-20  Bruno Haible  <bruno@clisp.org>
11030         doc: Document the problem of the per-thread locale functions on z/OS.
11031         * doc/posix-functions/uselocale.texi: Document the z/OS problem.
11032         * doc/posix-functions/newlocale.texi: Likewise.
11033         * doc/posix-functions/duplocale.texi: Likewise.
11034         * doc/posix-functions/freelocale.texi: Likewise.
11036 2019-12-20  Bruno Haible  <bruno@clisp.org>
11038         localename, gettext: Fix host_os value for z/OS.
11039         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Fix host_os value in
11040         cross-configuration code.
11042 2019-12-19  Jim Meyering  <meyering@fb.com>
11044         nstrftime: avoid a shadowing warning
11045         * lib/nstrftime.c (libc_hidden_def): Rename inner "i" to "j",
11046         to avoid shadowing an "i" declared hundreds of lines above.
11048 2019-12-19  Paul Eggert  <eggert@cs.ucla.edu>
11050         dfa: struct dfamust now uses flexible array
11051         * lib/dfa.c: Include flexmember.h.
11052         (dfamust, dfamustfree): Adjust to struct dfamust change.
11053         This saves a call to malloc+free.
11054         * lib/dfa.h (struct dfamust): Make the final member a
11055         flexible array member.
11056         * modules/dfa (Depends-on): Add flexmember.
11058         dfa: fast->small for array elements
11059         * lib/dfa.c (charclass_word): Use uint_least64_t not uint_fast64_t,
11060         since this type is used in arrays.  This change is more for
11061         documentation than for any practical effect, since the two types
11062         are the same on all known platforms.
11064 2019-12-19  Bruno Haible  <bruno@clisp.org>
11066         iconv tests: Test canonicalized, not system-dependent, encoding names.
11067         * tests/test-iconv.c (main): Revert part of the 2016-08-17 patch.
11068         * modules/iconv-tests (Depends-on): Add iconv_open.
11070 2019-12-18  Bruno Haible  <bruno@clisp.org>
11072         localename: Fix test failure on AIX 7.2.
11073         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Enable nameless
11074         locales on AIX.
11075         * lib/localename.c (gl_locale_name_thread_unsafe): Handle nameless
11076         locales on AIX.
11078 2019-12-18  Paul Eggert  <eggert@cs.ucla.edu>
11080         Improve port of AC_C_RESTRICT to Oracle C++
11081         Problem reported by Christian Biesinger in:
11082         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00159.html
11083         * m4/gnulib-common.m4 (AC_C_RESTRICT): Port better to
11084         Oracle Developer Studio C++ 12.5 or later.
11086 2019-12-18  Bruno Haible  <bruno@clisp.org>
11088         wchar: Fix test failures on AIX and MSVC (regression from 2019-12-07).
11089         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Do define on AIX and MSVC.
11091 2019-12-18  Bruno Haible  <bruno@clisp.org>
11093         localename: Ensure multithread-safety in future changes.
11094         * lib/localename.c (setlocale): Reference the system's setlocale().
11095         (get_locale_t_name): Invoke setlocale_null instead of setlocale.
11096         (gl_locale_name_posix): Likewise.
11097         * modules/localename (Depends-on): Add setlocale-null.
11099 2019-12-18  Bruno Haible  <bruno@clisp.org>
11101         setlocale-null: Make API more useful.
11102         * lib/locale.in.h (setlocale_null_r): Renamed from setlocale_null. All
11103         callers changed.
11104         (setlocale_null): New declaration.
11105         * lib/setlocale_null.c (setlocale_null_androidfix): New function,
11106         extracted from setlocale_null_unlocked.
11107         (setlocale_null_unlocked): Invoke it.
11108         (setlocale_null_r): Renamed from setlocale_null.
11109         (setlocale_null): New function, extracted from setlocale_mtsafe in
11110         setlocale.c.
11111         * lib/setlocale.c: Don't include <errno.h>.
11112         (setlocale_mtsafe): Invoke setlocale_null.
11113         * lib/setlocale-lock.c: Update comments.
11114         * doc/posix-functions/setlocale.texi: Mention both functions.
11116 2019-12-18  Bruno Haible  <bruno@clisp.org>
11118         localename: Optimize code for native Windows.
11119         * lib/localename.c (gl_locale_name_posix): Remove handling of LC_ALL
11120         category (not allowed here).
11122 2019-12-18  Bruno Haible  <bruno@clisp.org>
11124         setlocale: Make calls with NULL argument multithread-safe.
11125         * lib/setlocale.c: Include <errno.h>.
11126         (setlocale_mtsafe): New function.
11127         (setlocale_unixlike): Invoke setlocale_mtsafe instead of setlocale.
11128         (setlocale_improved): Renamed from rpl_setlocale.
11129         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Require gl_FUNC_SETLOCALE_NULL.
11130         Set and define NEED_SETLOCALE_IMPROVED and NEED_SETLOCALE_MTSAFE. Set
11131         LIB_SETLOCALE.
11132         * modules/setlocale (Depends-on): Add setlocale-null. Update conditions.
11133         (Link): New section.
11134         * tests/locale.c: Undefine setlocale.
11135         * tests/test-setlocale_null-one.c: Likewise.
11136         * tests/test-setlocale_null-all.c: Likewise.
11137         * modules/setlocale-tests (Makefile.am): Link the test programs with
11138         $(LIB_SETLOCALE).
11139         * modules/astrxfrm-tests (Makefile.am): Likewise.
11140         * modules/btowc-tests (Makefile.am): Likewise.
11141         * modules/c-ctype-tests (Makefile.am): Likewise.
11142         * modules/c-snprintf-tests (Makefile.am): Likewise.
11143         * modules/c-strcase-tests (Makefile.am): Likewise.
11144         * modules/c-vasprintf-tests (Makefile.am): Likewise.
11145         * modules/c-vsnprintf-tests (Makefile.am): Likewise.
11146         * modules/c-xvasprintf-tests (Makefile.am): Likewise.
11147         * modules/dfa-tests (Makefile.am): Likewise.
11148         * modules/duplocale-tests (Makefile.am): Likewise.
11149         * modules/hard-locale-tests (Makefile.am): Likewise.
11150         * modules/localcharset-tests (Makefile.am): Likewise.
11151         * modules/localename-tests (Makefile.am): Likewise.
11152         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
11153         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
11154         * modules/mbrtowc-tests (Makefile.am): Likewise.
11155         * modules/mbscasecmp-tests (Makefile.am): Likewise.
11156         * modules/mbscasestr-tests (Makefile.am): Likewise.
11157         * modules/mbschr-tests (Makefile.am): Likewise.
11158         * modules/mbscspn-tests (Makefile.am): Likewise.
11159         * modules/mbsinit-tests (Makefile.am): Likewise.
11160         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
11161         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
11162         * modules/mbspbrk-tests (Makefile.am): Likewise.
11163         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
11164         * modules/mbsrchr-tests (Makefile.am): Likewise.
11165         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
11166         * modules/mbsspn-tests (Makefile.am): Likewise.
11167         * modules/mbsstr-tests (Makefile.am): Likewise.
11168         * modules/nl_langinfo-tests (Makefile.am): Likewise.
11169         * modules/quotearg-tests (Makefile.am): Likewise.
11170         * modules/regex-tests (Makefile.am): Likewise.
11171         * modules/strfmon_l-tests (Makefile.am): Likewise.
11172         * modules/strtod-tests (Makefile.am): Likewise.
11173         * modules/strtold-tests (Makefile.am): Likewise.
11174         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
11175         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
11176         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
11177         * modules/unigbrk/ulc-grapheme-breaks-tests (Makefile.am): Likewise.
11178         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
11179         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
11180         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
11181         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
11182         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
11183         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
11184         * modules/wcrtomb-tests (Makefile.am): Likewise.
11185         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
11186         * modules/wcsrtombs-tests (Makefile.am): Likewise.
11187         * modules/wcwidth-tests (Makefile.am): Likewise.
11188         * doc/posix-functions/setlocale.texi: Mention that the multithread-
11189         safety fix is also available in module 'setlocale'.
11191 2019-12-18  Bruno Haible  <bruno@clisp.org>
11193         hard-locale: Make multithread-safe.
11194         * lib/hard-locale.h (hard_locale): Move documentation to here.
11195         * lib/hard-locale.c: Don't include <stdlib.h>.
11196         (GLIBC_VERSION): Remove macro.
11197         (hard_locale): Assume that all systems name the "C" and "POSIX" locales
11198         "C" or "POSIX". Invoke setlocale_null instead of setlocale.
11199         * modules/hard-locale (Depends-on): Remove strdup. Add setlocale-null.
11200         (configure.ac): Require gl_FUNC_SETLOCALE_NULL. Set LIB_HARD_LOCALE.
11201         (Link): New section.
11202         * modules/hard-locale-tests (Makefile.am): Link test-hard-locale against
11203         $(LIB_HARD_LOCALE).
11205 2019-12-18  Bruno Haible  <bruno@clisp.org>
11207         hard-locale: Avoid test failure on Haiku.
11208         * tests/test-hard-locale.c (test_one): Treat Haiku like recent OpenBSD.
11210 2019-12-18  Bruno Haible  <bruno@clisp.org>
11212         setlocale-null: Handle NULL result from setlocale.
11213         * lib/locale.in.h (setlocale_null): Document EINVAL return value.
11214         * lib/setlocale_null.c (setlocale_null_unlocked): Handle NULL result
11215         from setlocale or _wsetlocale.
11217 2019-12-18  Bruno Haible  <bruno@clisp.org>
11219         hard-locale: Add test.
11220         * tests/test-hard-locale.c: New file.
11221         * tests/locale.c: New file.
11222         * modules/hard-locale-tests: New file.
11224 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
11226         dfa: do not match invalid UTF-8
11227         * lib/dfa.c (struct dfa): Grow utf8_anychar_classes member array
11228         from 5 to 9 tokens; this is needed due to the changes to
11229         add_utf8_anychar.
11230         (charclass_index): 2nd arg is now pointer-to-const.
11231         (add_utf8_anychar): Match only valid UTF-8 byte sequences
11232         instead of allowing overlong encodings or surrogate halves.
11234         dfa: simplify charclass by assuming C99
11235         * lib/dfa.c (CHARCLASS_WORD_BITS): Now always 64.
11236         (charclass_word): Now always uint_fast64_t.
11237         (CHARCLASS_PAIR): Remove.
11238         (CHARCLASS_INIT): Take 4 arguments instead of 8.  All uses changed.
11240         fts: tune via calloc
11241         * lib/fts.c (fts_open): Prefer calloc to malloc + memset.
11243         dfa: tune via xzalloc
11244         * lib/dfa.c (dfaoptimize): Prefer xzalloc to xmalloc + memset.
11246 2019-12-17  Bruno Haible  <bruno@clisp.org>
11248         localcharset: Fix multithread-safety bug on Windows and OS/2.
11249         * lib/localcharset.h (locale_charset): Clarify when the result becomes
11250         invalid.
11251         * lib/localcharset.c (locale_charset): Use a stack-allocated buffer to
11252         assemble the result.
11254 2019-12-17  Bruno Haible  <bruno@clisp.org>
11256         localcharset: Optimize code for native Windows.
11257         * lib/localcharset.c (locale_charset): Don't bother calling
11258         setlocale (LC_ALL, NULL) since we're not interested in its result.
11260 2019-12-17  Bruno Haible  <bruno@clisp.org>
11262         nl_langinfo: Fix multithread-safety bug on OpenBSD 3.8.
11263         * lib/nl_langinfo.c (ctype_codeset): Invoke setlocale_null instead of
11264         setlocale.
11265         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require
11266         gl_FUNC_SETLOCALE_NULL. Set LIB_NL_LANGINFO.
11267         * modules/nl_langinfo (Depends-on): Add setlocale-null.
11269 2019-12-17  Bruno Haible  <bruno@clisp.org>
11271         nl_langinfo: Fix multithread-safety bug on mingw and MSVC.
11272         * lib/nl_langinfo.c (ctype_codeset, rpl_nl_langinfo): Use a
11273         stack-allocated buffer to assemble each result and different static
11274         buffers to return it.
11275         * tests/test-nl_langinfo-mt.c: New file.
11276         * modules/nl_langinfo-tests (Files): Add it.
11277         (Depends-on): Add thread, nanosleep.
11278         (Makefile.am): Build test-nl_langinfo-mt test.
11280 2019-12-17  Bruno Haible  <bruno@clisp.org>
11282         langinfo: Document more details.
11283         * doc/posix-headers/langinfo.texi: List platform details.
11284         * doc/posix-functions/nl_langinfo.texi: Likewise.
11286 2019-12-17  Bruno Haible  <bruno@clisp.org>
11288         mbsinit: Fix compilation error in mingw-w64 7.0 with _UCRT defined.
11289         Reported by Tom Kacvinsky <tom.kacvinsky@vector.com>
11290         and Martin Storsjö <martin@martin.st>
11291         in <https://savannah.gnu.org/bugs/?57406>.
11292         * lib/mbsinit.c: Accommodate an MSVC-like mbstate_t definition with
11293         mingw.
11295 2019-12-17  Bruno Haible  <bruno@clisp.org>
11297         glob: Avoid warning on mingw.
11298         Reported by Christian Biesinger <cbiesinger@google.com> in
11299         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00122.html>.
11300         * lib/glob.c (__stat64): Undefine first.
11302 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
11304         xalloc: tune xzalloc for fresh allocations
11305         * lib/xmalloc.c (xzalloc): Use xcalloc rather than xmalloc+memset,
11306         because when the memory is freshly allocated from the OS via sbrk
11307         or mmap, calloc can avoid doing the memset.
11309         dfa: new function dfacopysyntax
11310         * lib/dfa.c (struct dfa): Move syntax member later so
11311         that dfacopysyntax can easily clear earlier members.
11312         (dfacopysyntax): New function, used by Gawk.
11314 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
11316         dfa: port _GL_ATTRIBUTE_MALLOC to Gawk
11317         Gawk does not use Gnulib, and does not define _GL_ATTRIBUTE_MALLOC.
11318         * lib/dfa.h (_GL_ATTRIBUTE_MALLOC): Define to empty
11319         if not already defined.
11321         dfa: remove one dependency on MB_CUR_MAX
11322         * lib/dfa.c (dfamust): No need to refer to MB_CUR_MAX here.
11324         dfa: remove struct lexer_state.cur_mb_len
11325         * lib/dfa.c (struct lexer_state): Remove cur_mb_len member,
11326         as it’s not needed and the code is simpler without it.
11327         All uses removed.
11329 2019-12-16  Bruno Haible  <bruno@clisp.org>
11331         setlocale-null: Remove need for -lpthread on musl libc, *BSD, Haiku.
11332         Reported by Arnold Robbins <arnold@skeeve.com>.
11333         * lib/setlocale_null.c (c11_threads_in_use, pthread_in_use): New macros,
11334         copied from lib/glthread/lock.h.
11335         (pthread_mutex_lock, pthread_mutex_unlock): Mark as weak.
11336         (setlocale_null_with_lock): If pthread_in_use() is false, use
11337         setlocale_null_unlocked directly.
11338         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): New macro, extracted from
11339         gl_THREADLIB_BODY. Define HAVE_WEAK_SYMBOLS.
11340         (gl_THREADLIB_BODY): Invoke gl_WEAK_SYMBOLS.
11341         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Invoke gl_WEAK_SYMBOLS.
11342         Set LIB_SETLOCALE_NULL to empty if weak symbols are supported.
11343         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Add comment.
11345 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
11347         dfa: make dfasyntax thread-safe
11348         Problem reported by Bruno Haible in:
11349         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00099.html
11350         * lib/dfa.c: Do not include locale.h.
11351         (struct dfa): Remove simple_locale member.
11352         All uses replaced by localeinfo.simple.
11353         (using_simple_locale): Remove; now present (with some
11354         changes) in localeinfo.c.
11355         (dfasyntax): No need to initialize removed member.
11357         localeinfo: record whether locale is simple
11358         * lib/localeinfo.c (using_simple_locale): New function,
11359         copied here from lib/dfa.c but with a change: it uses
11360         strcoll for its heuristic, instead of using setlocale.
11361         This lets it be thread-safe.
11362         * lib/localeinfo.h (struct localeinfo): New member ‘simple’.
11364 2019-12-15  Bruno Haible  <bruno@clisp.org>
11366         duplocale: Fix multithread-safety bug on AIX.
11367         * lib/duplocale.c: Don't include <stdlib.h>.
11368         (rpl_duplocale): Invoke setlocale_null instead of setlocale.
11369         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Require gl_FUNC_SETLOCALE_NULL.
11370         Set LIB_DUPLOCALE.
11371         * modules/duplocale (Depends-on): Add setlocale-null.
11372         (Link): New section.
11373         * modules/duplocale-tests (Makefile.am): Link test-duplocale with
11374         $(LIB_DUPLOCALE).
11376 2019-12-15  Bruno Haible  <bruno@clisp.org>
11378         setlocale-null: Add tests.
11379         * tests/test-setlocale_null.c: New file.
11380         * tests/test-setlocale_null-one.c: New file.
11381         * tests/test-setlocale_null-all.c: New file.
11382         * modules/setlocale-null-tests: New file.
11384         setlocale-null: New module.
11385         * lib/locale.in.h (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX,
11386         setlocale_null): New declarations.
11387         * lib/setlocale_null.c: New file.
11388         * lib/setlocale-lock.c: New file.
11389         * m4/threadlib.m4 (gl_PTHREADLIB_BODY): Define C macro HAVE_PTHREAD_API.
11390         * m4/setlocale_null.m4: New file.
11391         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize
11392         GNULIB_SETLOCALE_NULL.
11393         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE_NULL.
11394         * modules/setlocale-null: New file.
11395         * doc/posix-functions/setlocale.texi: Mention the new module.
11397 2019-12-15  Bruno Haible  <bruno@clisp.org>
11399         lock tests: Skip test when no multithreading is enabled.
11400         * tests/test-rwlock1.c: Skip the test when no multithreading is enabled.
11402 2019-12-14  Bruno Haible  <bruno@clisp.org>
11404         locale, duplocale, localename: Fix last patch.
11405         Reported by Daniel Richard G. in
11406         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00093.html>.
11407         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE):
11408         Don't define if locale_t does not exist.
11410 2019-12-13  Bruno Haible  <bruno@clisp.org>
11412         locale, duplocale, localename: Fix errors if locale_t does not exist.
11413         Reported by Daniel Richard G. in
11414         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00078.html>.
11415         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE): New
11416         macros.
11417         * tests/test-locale.c: Test HAVE_WORKING_NEWLOCALE instead of
11418         HAVE_NEWLOCALE.
11419         * tests/test-localename.c: Likewise.
11420         * tests/test-duplocale.c: Test HAVE_WORKING_DUPLOCALE instead of
11421         HAVE_DUPLOCALE.
11422         * tests/test-locale-c++.cc: Likewise.
11424 2019-12-13  Bruno Haible  <bruno@clisp.org>
11426         wcstok: Fix test failure on HP-UX.
11427         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Set REPLACE_WCSTOK to 1 on HP-UX.
11428         * doc/posix-functions/wcstok.texi: Mention the HP-UX bug.
11430 2019-12-12  Bruno Haible  <bruno@clisp.org>
11432         strtod, strtold tests: Avoid test failure on AIX 7.2.
11433         * tests/test-strtod1.c (main): Allow implementations in which ',' and
11434         '.' both are radix characters.
11435         * tests/test-strtold1.c (main): Likewise.
11437 2019-12-12  Paul Eggert  <eggert@cs.ucla.edu>
11439         dfa: prefer ptrdiff_t for API, too
11440         Also, use ‘idx_t’ for ptrdiff_t values that must be nonnegative,
11441         but do this only for internal use for now.
11442         * NEWS: Mention the API change.
11443         * lib/dfa.c (idx_t, IDX_MAX): New type and max value, for internal
11444         use for now.  Use them instead of ptrdiff_t and PTRDIFF_MAX for
11445         values known to be nonnegative.
11446         (dfaparse, dfaexec_mb, dfaexec_sb, dfaexec_noop, dfaexec):
11447         Prefer idx_t or ptrdiff_t to size_t for API.
11448         * lib/dfa.h (dfaparse, dfacomp, dfaexec):
11449         Prefer ptrdiff_t to size_t for API.
11451         stdalign: port to xlclang 16.01
11452         Problem reportd by Bruno Haible in:
11453         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00064.html
11454         * lib/stdalign.in.h (_Alignas): Do not use __attribute__
11455         ((__aligned__ (...))) with xlclang, as a top-level
11456         ‘char __attribute__ ((__aligned__ (8))) c;’ does not work with
11457         xlclang version 16.01.0000.0001; the alignment directive is ignored.
11459 2019-12-12  Bruno Haible  <bruno@clisp.org>
11461         duplocale: Fix test failure on AIX 7.2 with xlclang.
11462         * lib/duplocale.c: Include <stdlib.h>.
11463         (rpl_duplocale): Use a heap-allocated copy of the first setlocale return
11464         value.
11466 2019-12-12  Bruno Haible  <bruno@clisp.org>
11468         stddef: Document the AIX xlc issue.
11469         * doc/posix-headers/stddef.texi: Document the NULL issue with AIX xlc.
11471 2019-12-12  Bruno Haible  <bruno@clisp.org>
11473         duplocale: Don't attempt to override if locale_t does not exist.
11474         Reported by Daniel Richard G. in
11475         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00039.html>.
11476         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): If locale_t does not exist, set
11477         HAVE_DUPLOCALE to 0.
11479 2019-12-12  Bruno Haible  <bruno@clisp.org>
11481         wcwidth: Avoid test failure on AIX 7.2.
11482         * tests/test-wcwidth.c (main): Don't fail if wcwidth(0x200B) is
11483         negative.
11484         * doc/posix-functions/wcwidth.texi: Mention the AIX issue.
11486 2019-12-12  Bruno Haible  <bruno@clisp.org>
11488         ilogbl: Work around Cygwin bug.
11489         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Test whether ilogbl(0.0L) is
11490         correct.
11491         * doc/posix-functions/ilogbl.texi: Mention the Cygwin bug.
11493 2019-12-12  Bruno Haible  <bruno@clisp.org>
11495         strtold: Work around Cygwin bug.
11496         * m4/strtold.m4 (gl_FUNC_STRTOLD): Add test for the underflow problem.
11497         If it is present, define STRTOLD_HAS_UNDERFLOW_BUG.
11498         * lib/strtod.c (HAVE_UNDERLYING_STRTOD): Set to 0 if
11499         STRTOLD_HAS_UNDERFLOW_BUG is defined.
11500         * doc/posix-functions/strtold.texi: Mention the Cygwin bug.
11502 2019-12-12  Bruno Haible  <bruno@clisp.org>
11504         strtold: Fix autoconf test.
11505         * m4/strtold.m4 (gl_FUNC_STRTOLD): Test strtold, not strtod.
11507 2019-12-11  Bruno Haible  <bruno@clisp.org>
11509         fsync tests: Skip test that is known to fail.
11510         * doc/posix-functions/fsync.texi: Update list of platforms.
11511         * tests/test-fsync.c (main): Skip test with read-only file descriptors
11512         that is known to fail on AIX and Cygwin.
11514 2019-12-11  Bruno Haible  <bruno@clisp.org>
11516         getaddrinfo: Fix calling convention in 32-bit mode on native Windows.
11517         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Test whether getaddrinfo has a
11518         non-POSIX signature. If so, set REPLACE_GETADDRINFO. Define
11519         HAVE_GETADDRINFO as a C macro.
11520         * lib/netdb.in.h (getaddrinfo, freeaddrinfo): If REPLACE_GETADDRINFO,
11521         declare as replacement functions.
11522         * lib/getaddrinfo.c (getaddrinfo, freeaddrinfo): If HAVE_GETADDRINFO,
11523         define as no-op overrides.
11524         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize REPLACE_GETADDRINFO.
11525         * modules/netdb (Makefile.am): Substitute REPLACE_GETADDRINFO.
11526         * modules/getaddrinfo (Depends-on, configure.ac): Test
11527         REPLACE_GETADDRINFO.
11528         * doc/posix-functions/getaddrinfo.texi: Mention calling convention
11529         problem.
11530         * doc/posix-functions/freeaddrinfo.texi: Mention header file and calling
11531         convention problems.
11533 2019-12-11  Paul Eggert  <eggert@cs.ucla.edu>
11535         dfa: prefer signed integers for internals
11536         Signed integers can be checked more easily for integer overflow.
11537         * lib/dfa.c (position, struct lexer_state, struct parser_state)
11538         (struct dfa, mbs_to_wchar, fetch_wc, parse_bracket_exp)
11539         (struct lexptr, lex, addtok_mb, add_utf8_anychar, atom)
11540         (nsubtoks, copytoks, closure, alloc_position_set, delete)
11541         (replace, state_index, epsclosure, charclass_context)
11542         (state_separate_contexts, merge_nfa_state, dfaoptimize)
11543         (dfaanalyze, build_state, dfaexec_main, dfa_supported)
11544         (maybe_disable_superset_dfa, dfassbuild, dfafree, enlist)
11545         (comsubs, inboth, allocmust):
11546         Prefer a signed to an unsigned integer when calculating indexes,
11547         unless the integer is part of the external API (a bigger deal,
11548         and to be done later).
11550         dfa: fix index overflow
11551         * lib/dfa.c (compare): Avoid integer overflow when analyzing
11552         very large regular expressions.
11554         dfa: update commentary for previous change
11555         * NEWS: Mention the change.
11556         * lib/dfa.c, lib/dfa.h (dfaparse, dfamust, dfacomp): Update comments.
11558 2019-12-11  Norihiro Tanaka  <noritnk@kcn.ne.jp>
11560         dfa: separate parse and compile phase
11561         ‘dfamust’ must be called after parsing and before tokens are
11562         reordered, but both are executed in the compilation phase.
11563         Token reordering was introduced in Gnulib commit
11564         2018-10-22T15:01:08Z!noritnk@kcn.ne.jp
11565         (5c7a0371823876cca7a1347fa09ca26bbbff0c98).
11566         * lib/dfa.c (dfaparse): Change it to global function.
11567         (dfacomp): If first argument is NULL, skip parse.
11568         * lib/dfa.h: (dfaparse): Add a prototype.
11570 2019-12-11  Bruno Haible  <bruno@clisp.org>
11572         unistd tests: Fix link error on MSVC.
11573         * modules/unistd-c++-tests (Makefile.am): Link test-unistd-c++ against
11574         $(LIB_GETLOGIN).
11576 2019-12-11  Bruno Haible  <bruno@clisp.org>
11578         doc: Document that ISO C or POSIX substitutes are supported in C++ mode.
11579         * doc/gnulib-intro.texi (Various Kinds of Modules): Document that ISO C
11580         and POSIX substitutes are supported in C++ mode.
11581         * NEWS: Likewise.
11583 2019-12-11  Bruno Haible  <bruno@clisp.org>
11585         stddef: Fix compilation error in C++ mode on MSVC.
11586         * lib/stddef.in.h (max_align_t): With MSVC in C++ mode, don't define it;
11587         instead, include <cstddef>.
11589 2019-12-11  Bruno Haible  <bruno@clisp.org>
11591         unistd: Fix compilation error in C++ mode on MSVC.
11592         * lib/unistd.in.h: Don't do include[_next] <unistd.h> if the platform
11593         does not have <unistd.h>.
11595 2019-12-11  Bruno Haible  <bruno@clisp.org>
11597         locale: Fix compilation error in C++ mode on MSVC.
11598         * m4/locale_h.m4 (gl_LOCALE_H): Don't set REPLACE_STRUCT_LCONV on MSVC.
11599         * lib/locale.in.h (int_p_cs_precedes, int_p_sign_posn,
11600         int_p_sep_by_space, int_n_cs_precedes, int_n_sign_posn,
11601         int_n_sep_by_space): Define as macros on MSVC.
11603 2019-12-11  Bruno Haible  <bruno@clisp.org>
11605         wchar: Fix compilation error in C++ mode on MSVC.
11606         * lib/wchar.in.h (mbstate_t): Don't override on MSVC.
11608 2019-12-11  Bruno Haible  <bruno@clisp.org>
11610         pthread-thread: Fix compilation error in C++ mode on MSVC.
11611         * lib/pthread.in.h (pthread_exit): Don't use _Noreturn in the
11612         _GL_CXXALIAS_RPL invocation.
11614 2019-12-08  Bruno Haible  <bruno@clisp.org>
11616         Fix compilation errors in C++ mode on Haiku.
11617         * lib/stdio.in.h (vdprintf): Disable _GL_CXXALIASWARN invocation on
11618         non-glibc systems.
11619         * lib/spawn.in.h (posix_spawnattr_getschedpolicy,
11620         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
11621         posix_spawnattr_setschedparam): Likewise.
11622         * lib/stdlib.in.h (random, initstate_r, setstate_r): Use
11623         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
11624         * lib/unistd.in.h (usleep): Likewise.
11626 2019-12-08  Bruno Haible  <bruno@clisp.org>
11628         Fix compilation errors in 32-bit C++ mode on HP-UX 11/ia64.
11629         * m4/largefile.m4 (gl_SET_LARGEFILE_SOURCE): New macro.
11630         * modules/fseeko (configure.ac-early): Require it instead of
11631         AC_FUNC_FSEEKO.
11632         * modules/ftello (configure.ac-early): Likewise.
11633         * modules/fflush (configure.ac-early): Likewise.
11635 2019-12-08  Bruno Haible  <bruno@clisp.org>
11637         Fix compilation error in C++ mode on HP-UX 11.
11638         * lib/unistd.in.h (getpagesize): Declare on HP-UX.
11639         * doc/glibc-functions/getpagesize.texi: Mention the HP-UX problem.
11641 2019-12-08  Bruno Haible  <bruno@clisp.org>
11643         Fix compilation errors on HP-UX 11/ia64.
11644         * lib/math.in.h (copysignf, fmaf, fma): Undefine before
11645         _GL_FUNCDECL_SYS.
11647 2019-12-08  Bruno Haible  <bruno@clisp.org>
11649         Fix compilation error in C++ mode on OpenBSD.
11650         * lib/signal.in.h (signal): Declare on OpenBSD.
11652 2019-12-08  Bruno Haible  <bruno@clisp.org>
11654         math tests: Don't fail if isfinite, isinf, isnan, signbit is a macro.
11655         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Use #warning
11656         instead of #error.
11658 2019-12-08  Bruno Haible  <bruno@clisp.org>
11660         Fix compilation errors in C++ mode on FreeBSD.
11661         * lib/pthread.in.h (pthread_exit): Remove _Noreturn from prototype.
11662         * tests/test-pthread-c++.cc (GNULIB_NAMESPACE::pthread_exit): Likewise.
11663         * lib/threads.in.h (thrd_exit): Likewise.
11664         * tests/test-threads-c++.cc (GNULIB_NAMESPACE::thrd_exit): Likewise.
11666 2019-12-08  Bruno Haible  <bruno@clisp.org>
11668         Fix compilation errors in C++ mode on macOS and FreeBSD.
11669         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on macOS
11670         or FreeBSD with clang, use the approach without C preprocessor macro.
11672 2019-12-07  Bruno Haible  <bruno@clisp.org>
11674         Fix compilation errors in C++ mode on AIX with xlclang++.
11675         Reported by Christian Biesinger <cbiesinger@google.com> in
11676         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
11677         * lib/wchar.in.h (mbstate_t): Don't override on AIX.
11679 2019-12-07  Bruno Haible  <bruno@clisp.org>
11681         Document compilation error in C++ mode on NetBSD 8.0.
11682         * doc/posix-headers/monetary.texi: Mention the NetBSD bug.
11684 2019-12-07  Bruno Haible  <bruno@clisp.org>
11686         Fix compilation errors in C++ mode on Solaris 10.
11687         * m4/stdbool.m4 (AM_STDBOOL_H): Require AC_CANONICAL_HOST. Set STDBOOL_H
11688         to non-empty on Solaris with a non-GCC compiler.
11689         * doc/posix-headers/stdbool.texi: Mention the Solaris issue.
11691 2019-12-07  Bruno Haible  <bruno@clisp.org>
11693         Reword NEWS entry.
11694         * NEWS: Reword the latest NEWS entry.
11696 2019-12-05  Pino Toscano  <ptoscano@redhat.com>
11698         Move xstrtol_fatal to a new xstrtol-error module.
11699         * lib/xstrtol.h: Stop including <getopt.h>.
11700         (xstrtol_fatal): Move ...
11701         * lib/xstrtol-error.h: ... here.  New file.
11702         * lib/xstrtol-error.c: Include xstrtol-error.h instead of xstrtol.h.
11703         * tests/test-xstrtol.c: Likewise.
11704         * modules/xstrtol (Files): Remove lib/xstrtol-error.c.
11705         (Depends-on): Remove exitfail, error, getopt-gnu, and gettext-h.
11706         (Makefile.am): Remove xstrtol-error.c from lib_SOURCES.
11707         * modules/xstrtol-error: New file.
11708         * modules/xstrtol-tests (Depends-on): Add xstrtol-error.
11709         * MODULES.html.sh: Add xstrtol-error.
11710         * NEWS: Document the change.
11712 2019-12-06  Paul Eggert  <eggert@cs.ucla.edu>
11714         nstrftime: better width support for %N, %z
11715         * lib/nstrftime.c (width_add, width_add1, width_cpy):
11716         New macros, which generalize ‘add’, ‘add1’, ‘cpy’ by adding
11717         a new WIDTH parameter.
11718         (add, add1, cpy): Use these macros.
11719         (width_add): Do not treat digits == 0 as a special case,
11720         do not pad if padding is ‘-’, and do not use a negative width.
11721         (__strftime_internal): Redo formatting of nanoseconds and numeric
11722         timezones to avoid buffer misuse in unusual cases, and so that
11723         widths make more sense.  Add support for widths greater than 9 to
11724         the %N format; they are zero filled on the right.
11725         * tests/test-nstrftime.c (posixtm_test): Add a %12N test.
11727 2019-12-05  Bruno Haible  <bruno@clisp.org>
11729         Fix compilation errors in C++ mode on Solaris 10 and Solaris 11.
11730         * m4/isfinite.m4 (gl_ISFINITE): Require AC_CANONICAL_HOST. On Solaris,
11731         set REPLACE_ISFINITE to 1.
11732         * m4/isinf.m4 (gl_ISINF): Require AC_CANONICAL_HOST. On Solaris, set
11733         REPLACE_ISINF to 1.
11734         * m4/signbit.m4 (gl_SIGNBIT): On Solaris, set REPLACE_SIGNBIT to 1.
11735         * lib/pthread.in.h (pthread_create, pthread_once, pthread_key_create):
11736         Use _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
11737         * lib/threads.in.h (call_once): Likewise.
11738         * lib/iconv.in.h (iconv): Likewise.
11740 2019-12-05  Bruno Haible  <bruno@clisp.org>
11742         wchar: Add more C++ tests.
11743         Reported by Christian Biesinger <cbiesinger@google.com> in
11744         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
11745         * tests/test-wchar-c++3.cc: New file.
11746         * modules/wchar-c++-tests (Files): Add it.
11747         (Makefile.am): Compile it.
11749 2019-12-05  Bruno Haible  <bruno@clisp.org>
11751         Add more C++ tests.
11753         assert-h: Add C++ tests.
11754         * tests/test-assert-h-c++.cc: New file.
11755         * tests/test-assert-h-c++2.cc: New file.
11756         * modules/assert-h-c++-tests: New file.
11757         * modules/assert-h-tests: New file.
11759         ctype: Add C++ tests.
11760         * tests/test-ctype-c++.cc: New file.
11761         * tests/test-ctype-c++2.cc: New file.
11762         * modules/ctype-c++-tests: New file.
11763         * modules/ctype-tests (Depends-on): Add ctype-c++-tests.
11765         errno: Add C++ tests.
11766         * tests/test-errno-c++.cc: New file.
11767         * tests/test-errno-c++2.cc: New file.
11768         * modules/errno-c++-tests: New file.
11769         * modules/errno-tests (Depends-on): Add errno-c++-tests.
11771         float: Add C++ tests.
11772         * tests/test-float-c++.cc: New file.
11773         * tests/test-float-c++2.cc: New file.
11774         * modules/float-c++-tests: New file.
11775         * modules/float-tests (Depends-on): Add float-c++-tests.
11777         inttypes: Add more C++ tests.
11778         * tests/test-inttypes-c++2.cc: New file.
11779         * modules/inttypes-c++-tests (Files): Add it.
11780         (Makefile.am): Compile it.
11782         limits-h: Add C++ tests.
11783         * tests/test-limits-h-c++.cc: New file.
11784         * tests/test-limits-h-c++2.cc: New file.
11785         * modules/limits-h-c++-tests: New file.
11786         * modules/limits-h-tests (Depends-on): Add limits-h-c++-tests.
11788         stdarg: Add C++ tests.
11789         * tests/test-stdarg-c++.cc: New file.
11790         * tests/test-stdarg-c++2.cc: New file.
11791         * modules/stdarg-c++-tests: New file.
11792         * modules/stdarg-tests: New file.
11794         stdbool: Add C++ tests.
11795         * tests/test-stdbool-c++.cc: New file.
11796         * tests/test-stdbool-c++2.cc: New file.
11797         * modules/stdbool-c++-tests: New file.
11798         * modules/stdbool-tests (Depends-on): Add stdbool-c++-tests.
11800         stddef: Add C++ tests.
11801         * tests/test-stddef-c++.cc: New file.
11802         * tests/test-stddef-c++2.cc: New file.
11803         * modules/stddef-c++-tests: New file.
11804         * modules/stddef-tests (Depends-on): Add stddef-c++-tests.
11806         stdint: Add C++ tests.
11807         * tests/test-stdint-c++.cc: New file.
11808         * tests/test-stdint-c++2.cc: New file.
11809         * modules/stdint-c++-tests: New file.
11810         * modules/stdint-tests (Depends-on): Add stdint-c++-tests.
11812         wchar: Add more C++ tests.
11813         * tests/test-wchar-c++2.cc: New file.
11814         * modules/wchar-c++-tests (Files): Add it.
11815         (Makefile.am): Compile it.
11817         wctype-h: Add more C++ tests.
11818         * tests/test-wctype-h-c++2.cc: New file.
11819         * modules/wctype-h-c++-tests (Files): Add it.
11820         (Makefile.am): Compile it.
11822 2019-12-04  Bruno Haible  <bruno@clisp.org>
11824         Fix compilation errors in C++ mode with xlclang++ on AIX.
11825         * lib/math.in.h (expm1l, fmal, remainderl, roundl): Don't redeclare in
11826         C++ mode on AIX.
11827         (isfinite, signbit): In C++ mode on AIX with clang, use the approach
11828         without C preprocessor macro.
11829         * lib/pthread.in.h (pthread_exit): Use _GL_CXXALIAS_SYS_CAST instead of
11830         _GL_CXXALIAS_SYS.
11831         * lib/threads.in.h (thrd_exit): Likewise.
11833 2019-12-04  Bruno Haible  <bruno@clisp.org>
11835         Fix compilation error in C++ mode on Solaris 11 OpenIndiana.
11836         * lib/wchar.in.h (wcsnrtombs): Force declaration in C++ mode on Solaris.
11837         * doc/posix-functions/wcsnrtombs.texi: Mention the issue.
11839 2019-12-04  Bruno Haible  <bruno@clisp.org>
11841         Disable more _GL_CXXALIASWARN on all platforms other than glibc systems.
11842         * lib/wchar.in.h (wcsnrtombs, wcwidth, wcswidth): Disable
11843         _GL_CXXALIASWARN invocation on non-glibc systems.
11844         * lib/wctype.in.h (iswalnum, iswalpha, iswcntrl, iswdigit, iswgraph,
11845         iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit, wctype,
11846         iswctype, towlower, towupper): Likewise.
11848 2019-12-03  Bruno Haible  <bruno@clisp.org>
11850         Avoid hassles caused by [[noreturn]] in C++.
11851         Reported by Christian Biesinger <cbiesinger@google.com> in
11852         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00010.html>.
11853         * m4/gnulib-common.m4 (gl_COMMON_BODY): Disable the use of [[noreturn]].
11854         * lib/_Noreturn.h: Likewise.
11856 2019-12-02  Bruno Haible  <bruno@clisp.org>
11858         Fix mistakes in --enable-threads=isoc fixes from 2019-12-01.
11859         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Use LIBPMULTITHREAD, not
11860         LIBMULTITHREAD.
11861         * m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Likewise.
11862         * m4/pthread-thread.m4 (gl_PTHREAD_THREAD): Likewise.
11863         * m4/timer_time.m4 (gl_TIMER_TIME): Likewise. Require gl_PTHREADLIB, not
11864         gl_THREADLIB.
11865         * modules/timer-time (Depends-on): Add pthread-h. Remove threadlib.
11867 2019-12-02  Bruno Haible  <bruno@clisp.org>
11869         Fix some more link errors with --enable-threads=isoc.
11870         * modules/pthread-mutex (Depends-on): Test $gl_threads_api differently.
11871         * modules/pthread-rwlock (Depends-on): Likewise.
11873 2019-12-02  Bruno Haible  <bruno@clisp.org>
11875         Fix link errors with --enable-threads=posix on AIX.
11876         * modules/string-c++-tests (Makefile.am): Link the test-string-c++
11877         program with $(LIBTHREAD).
11878         * modules/wchar-c++-tests (Makefile.am): Link the test-wchar-c++
11879         program with $(LIBTHREAD).
11881 2019-12-02  Bruno Haible  <bruno@clisp.org>
11883         Fix link errors with --enable-threads=posix on AIX.
11884         * modules/mbrtowc (Link): New section.
11885         * modules/acl (Link): Likewise.
11886         * modules/argmatch (Link): Likewise.
11887         * modules/backup-rename (Link): Likewise.
11888         * modules/backupfile (Link): Likewise.
11889         * modules/closein (Link): Likewise.
11890         * modules/closeout (Link): Likewise.
11891         * modules/copy-file (Link): Likewise.
11892         * modules/csharpcomp (Link): Likewise.
11893         * modules/csharpexec (Link): Likewise.
11894         * modules/dfa (Link): Likewise.
11895         * modules/exclude (Link): Likewise.
11896         * modules/fnmatch (Link): Likewise.
11897         * modules/fnmatch-gnu (Link): Likewise.
11898         * modules/fnmatch-posix (Link): Likewise.
11899         * modules/glob (Link): Likewise.
11900         * modules/human (Link): Likewise.
11901         * modules/javacomp (Link): Likewise.
11902         * modules/javaexec (Link): Likewise.
11903         * modules/javaversion (Link): Likewise.
11904         * modules/mbfile (Link): Likewise.
11905         * modules/mbiter (Link): Likewise.
11906         * modules/mbmemcasecmp (Link): Likewise.
11907         * modules/mbmemcasecoll (Link): Likewise.
11908         * modules/mbrlen (Link): Likewise.
11909         * modules/mbscasecmp (Link): Likewise.
11910         * modules/mbscasestr (Link): Likewise.
11911         * modules/mbschr (Link): Likewise.
11912         * modules/mbscspn (Link): Likewise.
11913         * modules/mbsinit (Link): Likewise.
11914         * modules/mbslen (Link): Likewise.
11915         * modules/mbsncasecmp (Link): Likewise.
11916         * modules/mbsnlen (Link): Likewise.
11917         * modules/mbsnrtowcs (Link): Likewise.
11918         * modules/mbspbrk (Link): Likewise.
11919         * modules/mbspcasecmp (Link): Likewise.
11920         * modules/mbsrchr (Link): Likewise.
11921         * modules/mbsrtowcs (Link): Likewise.
11922         * modules/mbssep (Link): Likewise.
11923         * modules/mbsspn (Link): Likewise.
11924         * modules/mbsstr (Link): Likewise.
11925         * modules/mbstok_r (Link): Likewise.
11926         * modules/mbswidth (Link): Likewise.
11927         * modules/mbuiter (Link): Likewise.
11928         * modules/mkdir-p (Link): Likewise.
11929         * modules/propername (Link): Likewise.
11930         * modules/quote (Link): Likewise.
11931         * modules/quotearg (Link): Likewise.
11932         * modules/quotearg-simple (Link): Likewise.
11933         * modules/regex-quote (Link): Likewise.
11934         * modules/rpmatch (Link): Likewise.
11935         * modules/sh-quote (Link): Likewise.
11936         * modules/system-quote (Link): Likewise.
11937         * modules/trim (Link): Likewise.
11938         * modules/unistdio/ulc-asnprintf (Link): Likewise.
11939         * modules/unistdio/ulc-fprintf (Link): Likewise.
11940         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
11941         * modules/unistdio/ulc-vasprintf (Link): Likewise.
11942         * modules/unistdio/ulc-vfprintf (Link): Likewise.
11943         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
11944         * modules/unistdio/ulc-vsprintf (Link): Likewise.
11945         * modules/xfreopen (Link): Likewise.
11946         * modules/xmemcoll (Link): Likewise.
11947         * modules/yesno (Link): Likewise.
11948         * modules/acl-tests (Makefile.am): Link the programs with $(LIBTHREAD).
11949         * modules/argmatch-tests (Makefile.am): Likewise.
11950         * modules/closein-tests (Makefile.am): Likewise.
11951         * modules/copy-file-tests (Makefile.am): Likewise.
11952         * modules/dfa-tests (Makefile.am): Likewise.
11953         * modules/fnmatch-tests (Makefile.am): Likewise.
11954         * modules/glob-tests (Makefile.am): Likewise.
11955         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
11956         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
11957         * modules/mbrtowc-tests (Makefile.am): Likewise.
11958         * modules/mbscasecmp-tests (Makefile.am): Likewise.
11959         * modules/mbscasestr-tests (Makefile.am): Likewise.
11960         * modules/mbschr-tests (Makefile.am): Likewise.
11961         * modules/mbscspn-tests (Makefile.am): Likewise.
11962         * modules/mbsinit-tests (Makefile.am): Likewise.
11963         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
11964         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
11965         * modules/mbspbrk-tests (Makefile.am): Likewise.
11966         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
11967         * modules/mbsrchr-tests (Makefile.am): Likewise.
11968         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
11969         * modules/mbsspn-tests (Makefile.am): Likewise.
11970         * modules/mbsstr-tests (Makefile.am): Likewise.
11971         * modules/quotearg-tests (Makefile.am): Likewise.
11972         * modules/quotearg-simple-tests (Makefile.am): Likewise.
11973         * modules/readtokens-tests (Makefile.am): Likewise.
11974         * modules/regex-quote-tests (Makefile.am): Likewise.
11975         * modules/sh-quote-tests (Makefile.am): Likewise.
11976         * modules/system-quote-tests (Makefile.am): Likewise.
11977         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
11978         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
11979         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
11980         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
11981         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
11982         * modules/yesno-tests (Makefile.am): Likewise.
11984 2019-12-02  Bruno Haible  <bruno@clisp.org>
11986         Simplify link sections.
11987         * modules/threadlib (Link): Stop mentioning LTLIBTHREAD.
11988         * modules/lock (Link): Likewise.
11989         * modules/cond (Link): Likewise.
11990         * modules/tls (Link): Likewise.
11991         * modules/yield (Link): Likewise.
11992         * modules/regex (Link): Likewise.
11993         * modules/localename (Link): Likewise.
11994         * modules/unicase/locale-language (Link): Likewise.
11995         * modules/thread (Link): Stop mentioning LTLIBMULTITHREAD.
11997 2019-12-02  Bruno Haible  <bruno@clisp.org>
11999         thread tests: Avoid link error with --enable-threads=isoc+posix on AIX.
12000         * tests/test-thread_self.c (main): Disable test on AIX.
12002 2019-12-01  Bruno Haible  <bruno@clisp.org>
12004         pthread-h: Fix link errors with --enable-threads=isoc on AIX.
12005         * m4/threadlib.m4 (gl_ANYTHREADLIB_EARLY): New macro, extracted from
12006         gl_THREADLIB_EARLY_BODY.
12007         (gl_THREADLIB_EARLY_BODY): Invoke it.
12008         (gl_PTHREADLIB_BODY): New macro, extracted from gl_THREADLIB_BODY.
12009         (gl_THREADLIB_BODY): Invoke it.
12010         (gl_PTHREADLIB): New macro.
12011         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_PTHREADLIB. Require
12012         gl_THREADLIB and test $gl_threads_api only if module 'threadlib' is
12013         present. Define LIB_PTHREAD using LIBPMULTITHREAD, not LIBMULTITHREAD.
12014         * modules/pthread-h (Files): Add threadlib.m4.
12015         (Depends-on): Remove threadlib.
12016         (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY. Don't set _REENTRANT
12017         and _THREAD_SAFE here.
12018         (Link): Use LIBPTHREAD, not LIBTHREAD.
12019         * modules/pthread-thread (Link): Use LIBPMULTITHREAD, not
12020         LIBMULTITHREAD.
12021         * modules/pthread-once (Link): Likewise.
12022         * modules/pthread-mutex (Link): Likewise.
12023         * modules/pthread-rwlock (Link): Likewise.
12024         * modules/pthread-cond (Link): Likewise.
12025         * modules/pthread-tss (Link): Likewise.
12026         * modules/pthread-spin (Link): Likewise.
12027         * modules/pthread (Link): Likewise.
12028         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Likewise.
12029         * modules/pthread-thread-tests (test_pthread_thread_LDADD): Likewise.
12030         * modules/pthread-once-tests (test_pthread_once1_LDADD,
12031         test_pthread_once2_LDADD): Likewise.
12032         * modules/pthread-mutex-tests (test_pthread_mutex_LDADD): Likewise.
12033         * modules/pthread-rwlock-tests (test_pthread_rwlock_LDADD): Likewise.
12034         * modules/pthread-cond-tests (test_pthread_cond_LDADD): Likewise.
12035         * modules/pthread-tss-tests (test_pthread_tss_LDADD): Likewise.
12037 2019-12-01  Bruno Haible  <bruno@clisp.org>
12039         cond: State linking requirements.
12040         * modules/cond (Link): New section.
12042 2019-12-01  Bruno Haible  <bruno@clisp.org>
12044         threadlib: Remove unnecessary file (left over from 2019-07-06).
12045         * modules/threadlib (Files): Remove config.rpath.
12047 2019-11-29  Tim Rühsen  <tim.ruehsen@gmx.de>
12049         gnulib-tool.py: Fix libgnu_la_LDFLAGS section in generated Makefile.am.
12050         Reported by Dagobert Michelsen <dam@opencsw.org> in
12051         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00086.html>.
12052         * pygnulib/GLModuleSystem.py (getLink): Don't join the parts. Return a
12053         list of strings instead of one string.
12054         * pygnulib/GLEmiter.py (lib_Makefile_am): Adapt accordingly.
12055         * pygnulib/GLImport.py (execute): Likewise.
12057 2019-11-27  Bruno Haible  <bruno@clisp.org>
12059         openpty, forkpty: Fix build error on Solaris 11.4.
12060         * m4/pty_h.m4 (gl_PTY_H): Test for termios.h. Look for the declarations
12061         also in <termios.h>.
12062         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Look for the declaration
12063         of the function also in <termios.h>.
12064         * doc/glibc-functions/openpty.texi: Mention the Solaris 11.4 problems.
12065         * doc/glibc-functions/forkpty.texi: Likewise.
12067 2019-11-27  Bruno Haible  <bruno@clisp.org>
12069         New options --enable-threads=isoc and --enable-threads=isoc+posix.
12070         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Accept the options
12071         --enable-threads=isoc and --enable-threads=isoc+posix.
12072         (gl_THREADLIB_BODY): Test whether the ISO C threads API is available.
12073         When both the ISO C and the POSIX threads API are available, choose
12074         USE_ISOC_AND_POSIX_THREADS instead of USE_POSIX_THREADS if
12075         --enable-threads=isoc+posix was specified. When only the ISO C threads
12076         API is available and --enable-threads=iso was specified, choose
12077         USE_ISOC_THREADS.
12078         * lib/glthread/lock.h: Add new code for USE_ISOC_THREADS ||
12079         USE_ISOC_AND_POSIX_THREADS.
12080         * lib/glthread/lock.c: Likewise.
12081         * lib/glthread/cond.h: Likewise.
12082         * lib/glthread/cond.c: Likewise.
12083         * lib/glthread/tls.h: Likewise.
12084         * lib/glthread/tls.c: Likewise.
12085         * lib/glthread/yield.h: Likewise.
12086         * lib/glthread/thread.h: Add new code for USE_ISOC_THREADS. Treat
12087         USE_ISOC_AND_POSIX_THREADS like USE_POSIX_THREADS.
12088         * lib/glthread/thread.c: Likewise.
12089         * lib/glthread/threadlib.c: Likewise.
12090         * tests/test-lock.c: Save and restore the values of USE_ISOC_THREADS and
12091         USE_ISOC_AND_POSIX_THREADS.
12092         * tests/test-cond.c: Consider USE_ISOC_THREADS and
12093         USE_ISOC_AND_POSIX_THREADS.
12094         * tests/test-tls.c: Likewise.
12095         * tests/test-thread_create.c (main): Likewise.
12096         * tests/test-pthread-cond.c: Likewise.
12097         * tests/test-pthread-mutex.c: Likewise.
12098         * tests/test-pthread-once2.c: Likewise.
12099         * tests/test-pthread-rwlock.c: Likewise.
12100         * tests/test-pthread-tss.c: Likewise.
12101         * tests/test-pthread_sigmask2.c: Treat USE_ISOC_AND_POSIX_THREADS like
12102         USE_POSIX_THREADS.
12104 2019-11-24  Bruno Haible  <bruno@clisp.org>
12106         mbrtowc: Modernize autoconf test.
12107         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Require
12108         gt_LOCALE_FR_UTF8. If a traditional Japanese locale is not available,
12109         try a UTF-8 locale.
12110         * doc/posix-functions/mbrtowc.texi: Update info about AIX.
12112 2019-11-24  Bruno Haible  <bruno@clisp.org>
12114         Fix errors in C++ mode on mingw.
12115         * lib/arpa_inet.in.h (inet_ntop, inet_pton): Use _GL_CXXALIAS_SYS_CAST
12116         instead of _GL_CXXALIAS_SYS.
12117         * lib/signal.in.h (pthread_sigmask): Likewise.
12118         * lib/spawn.in.h (posix_spawn_file_actions_addopen,
12119         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
12120         Likewise.
12121         * lib/wchar.in.h (btowc): Likewise.
12123 2019-11-24  Bruno Haible  <bruno@clisp.org>
12125         sys_time: Fix errors in C++ mode on mingw.
12126         * lib/sys_time.in.h (timeval): Restore the redirection
12127         '#define timeval rpl_timeval', for when the symbol timeval is being used
12128         outside the 'gnulib' namespace.
12129         * lib/sys_select.in.h (select): In C++, write 'timeval', not
12130         'struct timeval'.
12132 2019-11-24  Bruno Haible  <bruno@clisp.org>
12134         iswctype: Fix errors in C++ mode on mingw.
12135         * lib/wctype.in.h (rpl_iswctype): Override if GNULIB_OVERRIDES_WINT_T
12136         is 1.
12137         * lib/iswctype.c (iswctype): Add another implementation, for the
12138         GNULIB_defined_wint_t case.
12139         * modules/iswctype (configure.ac): Compile iswctype.c also if
12140         GNULIB_OVERRIDES_WINT_T is 1.
12142 2019-11-24  Bruno Haible  <bruno@clisp.org>
12144         windows-timedmutex: Fix errors in C++ mode on mingw.
12145         * lib/windows-timedmutex.h: Add closing brace.
12147 2019-11-24  Bruno Haible  <bruno@clisp.org>
12149         Fix errors in C++ mode on Cygwin.
12150         * lib/sys_wait.in.h (waitpid): Use _GL_CXXALIAS_SYS_CAST instead of
12151         _GL_CXXALIAS_SYS.
12153 2019-11-24  Bruno Haible  <bruno@clisp.org>
12155         time_r: Fix for mingw (regression from 2019-11-16).
12156         * m4/time_r.m4 (gl_TIME_R): Revert to using AC_CHECK_FUNCS_ONCE. Use the
12157         AC_LINK_IFELSE test only if the function does not appear to exist.
12159 2019-11-24  Bruno Haible  <bruno@clisp.org>
12161         wcstok: Add tests.
12162         * tests/test-wcstok.c: New file.
12163         * modules/wcstok-tests: New file.
12165 2019-11-24  Bruno Haible  <bruno@clisp.org>
12167         wcstok: Work around wrong signature on native Windows.
12168         * lib/wchar.in.h (wcstok): Override when REPLACE_WCSTOK is 1.
12169         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Check for signature of wcstok. Set
12170         REPLACE_WCSTOK.
12171         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSTOK.
12172         * modules/wchar (Makefile.am): Substitute REPLACE_WCSTOK.
12173         * modules/wcstok (Depends-on, configure.ac): Consider REPLACE_WCSTOK.
12174         * doc/posix-functions/wcstok.texi: Mention the problem.
12176 2019-11-22  Paul Eggert  <eggert@cs.ucla.edu>
12178         intprops: INT_MULTIPLY_WRAPV speedup for GCC 8.4+
12179         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 8.x where 4 <= x,
12180         remove workaround for GCC bug 91450 as the bug should be fixed
12181         there too.
12183 2019-11-21  Bruno Haible  <bruno@clisp.org>
12185         Disable many _GL_CXXALIASWARN on all platforms other than glibc systems.
12186         Reported by Christian Biesinger <cbiesinger@google.com> in
12187         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00066.html>.
12188         * lib/fnmatch.in.h (fnmatch): Disable _GL_CXXALIASWARN invocation on
12189         non-glibc systems.
12190         * lib/locale.in.h (localeconv, setlocale): Likewise.
12191         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
12192         frexp, hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder,
12193         rint, round, trunc): Likewise.
12194         * lib/monetary.in.h (strfmon_l): Likewise.
12195         * lib/pthread.in.h (pthread_mutexattr_getrobust,
12196         pthread_mutexattr_setrobust, pthread_mutex_lock, pthread_spin_init,
12197         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock,
12198         pthread_spin_destroy): Likewise.
12199         * lib/signal.in.h (raise, signal): Likewise.
12200         * lib/stdio.in.h (fclose, fflush, fgetc, fgets, fopen, fprintf, fputc,
12201         fputs, fread, freopen, fscanf, fseek, ftell, fwrite, getc, getchar,
12202         perror, printf, putc, putchar, puts, remove, rename, scanf, sprintf,
12203         tmpfile, vfprintf, vprintf, vsprintf): Likewise.
12204         * lib/stdlib.in.h (calloc, malloc, mbtowc, realloc, strtod, wctomb):
12205         Likewise.
12206         * lib/string.in.h (memchr, strncat, strpbrk, strstr, strerror):
12207         Likewise.
12208         * lib/time.in.h (mktime, localtime, ctime, strftime): Likewise.
12209         * lib/wchar.in.h (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs,
12210         wcrtomb, wcsrtombs, wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset,
12211         wcslen, wcscpy, wcsncpy, wcscat, wcsncat, wcscmp, wcsncmp, wcscoll,
12212         wcsxfrm, wcschr, wcsrchr, wcscspn, wcsspn, wcspbrk, wcsstr, wcstok,
12213         wcsftime): Likewise.
12214         * lib/wctype.in.h (iswblank, wctrans, towctrans): Likewise.
12216 2019-11-21  Bruno Haible  <bruno@clisp.org>
12218         Fix various errors in _GL_CXXALIAS_SYS invocations.
12219         * lib/locale.in.h (freelocale): Use _GL_CXXALIAS_SYS_CAST instead of
12220         _GL_CXXALIAS_SYS.
12221         * lib/pthread.in.h (pthread_mutexattr_gettype,
12222         pthread_mutexattr_getrobust): Likewise.
12223         * lib/stdlib.in.h (srandom, initstate, setstate): Likewise.
12224         * lib/sys_socket.in.h (recv, send): Likewise.
12225         * lib/unistd.in.h (getdtablesize): Likewise.
12226         * lib/sys_select.in.h (select): In C++, write 'timeval' instead of
12227         'struct timeval'.
12229 2019-11-21  Bruno Haible  <bruno@clisp.org>
12231         math tests: Update after 2019-08-28 change.
12232         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Expect a
12233         return type of 'bool', not 'int'.
12235 2019-11-21  Bruno Haible  <bruno@clisp.org>
12237         pthread-spin: Fix errors in C++ mode.
12238         * m4/pthread-spin.m4 (gl_PTHREAD_SPIN): Mark the pthread_spin_*
12239         functions as nonexistent when <pthread.h> exists but does not define
12240         the pthread_spinlock_t type.
12242 2019-11-21  Bruno Haible  <bruno@clisp.org>
12244         pthread-mutex: Fix errors in C++ mode.
12245         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Test whether
12246         pthread_mutexattr_getrobust exists. If not, define
12247         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
12248         * lib/pthread-mutex.c (pthread_mutexattr_getrobust,
12249         pthread_mutexattr_setrobust): Define also if <pthread.h> exists but
12250         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
12251         * modules/pthread-mutex (configure.ac): Compile pthread-mutex.c also
12252         when <pthread.h> exists but pthread_mutexattr_getrobust needs a gnulib
12253         definition.
12255 2019-11-19  Bruno Haible  <bruno@clisp.org>
12257         threads-h tests: Fix typo.
12258         * tests/test-threads-c++.cc: Fix references to undefined type 'mtx'.
12260 2019-11-19  Bruno Haible  <bruno@clisp.org>
12262         pthread-thread: Fix prototype of pthread_attr_getdetachstate.
12263         * lib/pthread.in.h (pthread_attr_getdetachstate): Change first parameter
12264         to 'const pthread_attr_t *'.
12265         * lib/pthread-thread.c (pthread_attr_getdetachstate): Likewise.
12266         * tests/test-pthread-c++.cc (pthread_attr_getdetachstate): Likewise.
12268 2019-11-19  Paul Eggert  <eggert@cs.ucla.edu>
12270         intprops: speed up INT_MULTIPLY_WRAPV in GCC 9.3
12271         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 9.3 or later, do not
12272         work around GCC bug 91450 as the bug should be fixed there.
12274 2019-11-18  Paul Eggert  <eggert@cs.ucla.edu>
12276         glob: get closer to glibc glob.c
12277         Omit differences from glibc when the differences don’t matter.
12278         * lib/glob.c [_LIBC]: Include shlib-compat.h.
12279         (__glob) [!_LIBC]: New macro.  All uses of glob changed to __glob.
12280         (glob_lstat): New function.
12281         (glob_in_dir): Use it.
12282         (GLOB_ATTRIBUTE): Define to empty if not already defined.
12283         Use changed.
12285 2019-11-18  Bruno Haible  <bruno@clisp.org>
12287         stdint: Define [u]intptr_t correctly on 64-bit native Windows.
12288         * lib/stdint.in.h (gl_intptr_t, gl_uintptr_t, INTPTR_MIN, INTPTR_MAX,
12289         UINTPTR_MAX): Consider _WIN64.
12290         * tests/test-stdint.c: Verify that [u]intptr_t is large enough to hold
12291         a pointer.
12293 2019-11-18  Bruno Haible  <bruno@clisp.org>
12295         stdint: Fix value of WINT_MAX when we override wint_t.
12296         * lib/stdint.in.h (WINT_MIN, WINT_MAX): Don't override a second time
12297         when GNULIB_OVERRIDES_WINT_T is 1.
12299 2019-11-18  Bruno Haible  <bruno@clisp.org>
12301         vcs-to-changelog: New module.
12302         * modules/vcs-to-changelog: New file.
12303         * MODULES.html.sh (func_all_modules): Add it.
12305 2019-11-01  Siddhesh Poyarekar  <siddhesh@gotplt.org>
12307         vcs-to-changelog: New script to generate ChangeLog-like output.
12308         Discussion:
12309         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00062.html>
12310         * build-aux/vcs_to_changelog.py: New file.
12311         * build-aux/vcstocl/frontend_c.py: New file.
12312         * build-aux/vcstocl/misc_util.py: New file.
12313         * build-aux/vcstocl/vcs_git.py: New file.
12315 2019-11-18  Bruno Haible  <bruno@clisp.org>
12317         stdint: Avoid triggering a "conflicting types" error on mingw 5.22.
12318         Reported by Keith Marshall <keith@users.osdn.me> in
12319         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00044.html>
12320         and <https://osdn.net/projects/mingw/ticket/39677>.
12321         * lib/stdint.in.h (intptr_t, uintptr_t): Don't define if the types have
12322         already been defined by mingw's <crtdefs.h>.
12324 2019-11-18  Bruno Haible  <bruno@clisp.org>
12326         gnulib-tool: Fix build error on macOS with --conditional-dependencies.
12327         * gnulib-tool (func_modules_add_dummy): Ignore modules that are
12328         conditionally enabled.
12330 2019-11-18  Bruno Haible  <bruno@clisp.org>
12332         gc: Mirror libgcrypt.m4 from libgcrypt.
12333         * config/srclistvars.sh (LIBGCRYPT): New variable.
12334         * config/srclist.txt: Use it to fetch m4/libgcrypt.m4.
12336 2019-11-17  Bruno Haible  <bruno@clisp.org>
12338         locale, localename: Improve z/OS support.
12339         Reported by Daniel Richard G. in
12340         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>.
12341         * m4/locale_h.m4 (gl_LOCALE_T): New macro, partially extracted from
12342         gl_LOCALE_H.
12343         (gl_LOCALE_H): Require it.
12344         * m4/localename.m4 (gl_LOCALENAME): Likewise. If locale_t is not
12345         defined, don't even check for newlocale, duplocale, freelocale.
12346         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Make the test fail when
12347         locale_t is not defined.
12349 2019-11-17  Bruno Haible  <bruno@clisp.org>
12351         havelib: Make libdirstems processing more flexible.
12352         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Set 3 libdirstem
12353         variables: Consider 'lib' always, also on Solaris. Look for lib32 in
12354         addition to lib64. Don't invoke /usr/bin/gcc (reverting the second
12355         patch from 2017-02-19).
12356         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Consider up to 3 additional
12357         libdirs, even when the first one exists as a directory.
12359 2019-11-17  Bruno Haible  <bruno@clisp.org>
12361         havelib: Match the bitness when searching for libraries.
12362         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Define a function
12363         acl_is_expected_elfclass.
12364         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When testing whether a library
12365         file exists, in ELF, also test whether it has the ELF class that
12366         corresponds to the host's bitness.
12368 2019-11-17  Bruno Haible  <bruno@clisp.org>
12370         host-cpu-c-abi: Add support for unknown CPUs.
12371         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): Set
12372         gl_cv_host_cpu_c_abi_32bit to 'unknown' if we don't know whether it's
12373         32-bit or 64-bit.
12375 2019-11-17  Bruno Haible  <bruno@clisp.org>
12377         havelib: Remove redundant code.
12378         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Remove Solaris specific
12379         test for 64-bit host. Use gl_HOST_CPU_C_ABI_32BIT result instead.
12381 2019-11-17  Bruno Haible  <bruno@clisp.org>
12383         havelib: Fix a bug in dependency processing.
12384         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): During dependency processing
12385         of .la files, don't overwrite the value of additional_libdir for the
12386         next rounds.
12388 2019-11-16  Bruno Haible  <bruno@clisp.org>
12390         wctype-h: When overriding wint_t, override also the related functions.
12391         Reported by Christian Biesinger <cbiesinger@google.com> in
12392         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00027.html>.
12393         * m4/wctype_h.m4 (gl_WCTYPE_H): When GNULIB_OVERRIDES_WINT_T is 1, set
12394         REPLACE_ISWCNTRL to 1.
12395         * lib/wctype.in.h (rpl_iswalnum, rpl_iswalpha, rpl_iswblank,
12396         rpl_iswcntrl, rpl_iswdigit, rpl_iswgraph, rpl_iswlower, rpl_iswprint,
12397         rpl_iswpunct, rpl_iswspace, rpl_iswupper, rpl_iswxdigit, rpl_towlower,
12398         rpl_towupper): New definitions when GNULIB_OVERRIDES_WINT_T is 1.
12399         * doc/posix-headers/wchar.texi: Mention that wint_t is also overridden
12400         on mingw.
12401         * doc/posix-headers/wctype.texi: Likewise.
12403 2019-11-16  Bruno Haible  <bruno@clisp.org>
12405         time_r: Fix for mingw.
12406         Reported by Christian Biesinger <cbiesinger@google.com> in
12407         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00014.html>.
12408         * lib/time.in.h: On mingw, include <unistd.h>.
12409         * m4/time_r.m4 (gl_TIME_R): On mingw, include <unistd.h> before
12410         <time.h>. Test for localtime_r in a way that works when it is defined
12411         as an inline function.
12413 2019-11-13  Bruno Haible  <bruno@clisp.org>
12415         havelib: Revert last change.
12416         * build-aux/config.rpath: Revert last change. We can add msys2 support
12417         when it has been added to libtool.m4 upstream.
12419 2019-11-09  Paul Eggert  <eggert@cs.ucla.edu>
12421         config: add msys support
12422         Requested by Arnold Robbins in:
12423         https://lists.gnu.org/r/bug-gnulib/2019-11/msg00008.html
12424         He also requested a change to config.guess, which I’ll forward
12425         upstream.
12426         * build-aux/ar-lib (func_file_conv):
12427         * build-aux/compile (func_file_conv):
12428         * build-aux/config.rpath (wl, with_gnu_ld)
12429         (hardcode_libdir_flag_spec, libext, shrext, library_names_spec):
12430         Treat msys like cygwin.
12432 2019-11-06  Paul Eggert  <eggert@cs.ucla.edu>
12434         regex: now back in sync with glibc
12435         * config/srclist.txt: regcomp.c, regex_internal.c, regex_internal.h,
12436         regexec.c got merged into glibc and are now copies again.
12438 2019-10-27  Bruno Haible  <bruno@clisp.org>
12440         host-cpu-c-abi: Recognize i386 and a couple of other CPUs as 32-bit.
12441         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Include i386 in the case
12442         statement.
12443         (gl_HOST_CPU_C_ABI_32BIT): Likewise. Also recognize a couple of other
12444         32-bit CPUs.
12446 2019-10-24  Paul Eggert  <eggert@cs.ucla.edu>
12448         timespec-add, timespec-sub: simplify
12449         * lib/timespec-add.c (timespec_add):
12450         * lib/timespec-sub.c (timespec_sub):
12451         Simplify, now that INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
12452         work on unsigned integers.
12454 2019-10-23  Paul Eggert  <eggert@cs.ucla.edu>
12456         nstrftime: speed up integer overflow checking
12457         * lib/nstrftime.c: Include intprops.h.
12458         (INT_STRLEN_BOUND): Remove, as we can use intprops.h’s defn.
12459         (__strftime_internal): Use INT_MULTIPLY_WRAPV and INT_ADD_WRAPV
12460         instead of doing it by hand.
12461         * modules/nstrftime (Depends-on): Add intprops.
12463         Port better to GCC under macOS
12464         Work around macOS header that has ‘#define __has_builtin(x) 0’
12465         when compiled by GCC.  Apple really, really doesn’t want you to
12466         use GCC, apparently.  Rroblem reported by Akim Demaille in:
12467         https://lists.gnu.org/r/bug-bison/2019-10/msg00071.html
12468         The fix is to not trust __has_builtin when being compiled by
12469         recent-enough GCC.
12470         * lib/intprops.h (__has_builtin)
12471         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
12472         * lib/verify.h (__has_builtin, _GL_HAS___builtin_unreachable)
12473         (_GL_HAS___builtin_trap, _GL_TEMPDEF___has_builtin):
12474         Remove.  All uses removed.
12475         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Use __has_builtin
12476         directly, if defined and if not newer GCC.
12477         * lib/verify.h (_GL_HAS_BUILTIN_TRAP, _GL_HAS_BUILTIN_UNREACHABLE):
12478         New macro, that use __has_builtin directly, if defined and if
12479         not newer GCC.
12480         (assume): Use them.
12482 2019-10-22  Akim Demaille  <akim@lrde.epita.fr>
12484         maintainer-makefile: update rule for argmatch.
12485         * top/maint.mk (sc_prohibit_argmatch_without_use): Add ARGMATCH_DEFINE_GROUP.
12487 2019-10-21  Akim Demaille  <akim@lrde.epita.fr>
12489         bitset: let freeing functions accept NULL.
12490         * lib/bitset.c (bitset_free, bitset_obstack_free): Do nothing if
12491         given NULL.
12492         * lib/bitset.h: Document that.
12493         * doc/bitset.texi: Fix the example, and demonstrate bitset_free.
12495 2019-10-15  Paul Eggert  <eggert@cs.ucla.edu>
12497         inttypes: use more-robust test for int range
12498         This fixes Bison 3.4.2 when built with Oracle Solaris Studio 12.3.
12499         Problem reported by Dagobert Michelsen in:
12500         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00042.html
12501         * lib/inttypes.in.h: Rely only on limits.h when checking
12502         int range.
12504 2019-10-15  Bruno Haible  <bruno@clisp.org>
12506         libtextstyle-optional: Sync with current not-yet-released libtextstyle.
12507         * libtextstyle-optional (styled_ostream_get_hyperlink_ref,
12508         styled_ostream_get_hyperlink_id, styled_ostream_set_hyperlink,
12509         term_ostream_get_hyperlink_ref, term_ostream_get_hyperlink_id,
12510         term_ostream_set_hyperlink): New functions.
12511         (term_styled_ostream_get_hyperlink_ref,
12512         term_styled_ostream_get_hyperlink_id,
12513         term_styled_ostream_set_hyperlink): New function aliases.
12515 2019-10-14  Paul Eggert  <eggert@cs.ucla.edu>
12517         update-copyright: use en dashes in .texi ranges
12518         * build-aux/update-copyright: Match year ranges like "1998--2019",
12519         which are used in the Autoconf manual.  Also, update ranges in
12520         .tex, .texi, and .texinfo files to use en dashes instead of
12521         hyphens.
12523 2019-10-13  Paul Eggert  <eggert@cs.ucla.edu>
12525         * config/srclist.txt: Remove posix/regex_internal.c for now.
12527 2019-10-13  Bruno Haible  <bruno@clisp.org>
12529         git-version-gen: Allow 'snapshot' as .tarball-version contents.
12530         * build-aux/git-version-gen: Don't map non-numeric .tarball-version
12531         contents to the empty string.
12533 2019-10-12  Bruno Haible  <bruno@clisp.org>
12535         intprops tests: Fix compilation errors on HP-UX/ia64 with cc.
12536         * tests/test-intprops.c (main): Disable two more tests when using
12537         HP-UX cc.
12539 2019-10-11  Paul Eggert  <eggert@cs.ucla.edu>
12541         Simplify and regularize regex use of ‘assert’
12542         Also, tell GCC about the asserts even when compiling without
12543         debugging, to give it further optimization opportunities.
12544         * lib/regex_internal.h (DEBUG_ASSERT): New macro.
12545         * lib/regcomp.c (link_nfa_nodes, calc_eclosure)
12546         (parse_expression, parse_bracket_exp):
12547         * lib/regex_internal.c (build_wcs_buffer)
12548         (build_wcs_upper_buffer, re_string_reconstruct)
12549         (re_string_context_at):
12550         * lib/regexec.c (re_search_stub, re_copy_regs)
12551         (re_search_internal, prune_impossible_nodes, check_matching)
12552         (check_halt_state_context, set_regs, sift_states_backward)
12553         (build_sifted_states, transit_state_mb, transit_state_bkref)
12554         (check_arrival_add_next_nodes, check_arrival_expand_ecl)
12555         (match_ctx_add_subtop):
12556         Use it instead of plain ‘assert’.
12558 2019-10-09  Paul Eggert  <eggert@cs.ucla.edu>
12560         regex: omit debug assignment when not debugging
12561         * lib/regexec.c (re_search_internal) [!DEBUG]:
12562         Remove unnecessary assignment.
12564         regex: tell compiler there’s at most 256 arcs out
12565         Partly this is to help the reader (and maybe help GCC);
12566         partly this is to pacify Coverity.
12567         * lib/regex_internal.h: Include verify.h.
12568         * lib/regexec.c (group_nodes_into_DFAstates):
12569         Tell the compiler that ndests cannot exceed SBC_MAX.
12570         * modules/regex (Depends-on): Add ‘verify’.
12572         regex: simplify by assuming C99
12573         * config/srclist.txt: Comment out regex_internal.h and regexec.c
12574         temporarily.
12575         * lib/regex_internal.h (lock_define, re_match_context_t):
12576         Simplify by assuming C99 macros and const.
12577         * lib/regexec.c (re_search_internal): Simplify by assuming C99
12578         initializers.  Remove unnecessary assignment, as mctx is now
12579         safely initialized earlier.
12581         regex: avoid copying of uninitialized storage
12582         * config/srclist.txt: Comment out regcomp.c temporarily.
12583         * lib/regcomp.c (build_charclass_op, create_tree) [! (GCC_LINT||lint)]:
12584         Initialize even when not checking for lint, as the behavior is
12585         arguably undefined otherwise and Coverity warns about it.
12587 2019-10-06  Bruno Haible  <bruno@clisp.org>
12589         access tests: Fix test failure when run as root.
12590         * tests/test-access.c: Include root-uid.h.
12591         (geteuid): Define fallback.
12592         (main): Don't expect that writing to a read-only file would fail when
12593         running as root. Also, remove the created files at the end.
12594         * modules/access-tests (Depends-on): Add root-uid.
12595         (configure.ac): Test whether geteuid exists.
12597 2019-10-06  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
12599         users.txt: add GNU nano
12600         Nano has been making use of gnulib since March 2017, version 2.8.0.
12602 2019-10-05  Paul Eggert  <eggert@cs.ucla.edu>
12604         bootstrap: simplify debugging of wget failures
12605         Problem reported by Tim Rühsen in:
12606         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00000.html
12607         * build-aux/bootstrap (po_download_command_format):
12608         Invoke wget with -nv instead of -q, to make debugging easier.
12610 2019-09-29  Bruno Haible  <bruno@clisp.org>
12612         avltree-list: Fix compilation warning (introduced on 2014-09-16).
12613         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Remove
12614         'const' attribute.
12616 2019-09-29  Bruno Haible  <bruno@clisp.org>
12618         fbufmode: Fix compilation error on glibc >= 2.28 systems.
12619         * lib/stdio-impl.h (_IO_UNBUFFERED): Define fallback on glibc >= 2.28.
12621 2019-09-28  Bruno Haible  <bruno@clisp.org>
12623         Update comments that refer to POSIX.
12624         * lib/creat.c, lib/fopen.c, lib/open.c, lib/openat.c: Cite the relevant
12625         sentence about trailing slashes.
12626         * lib/fflush.c: Clarify the reasoning.
12627         * tests/test-fflush2.c: Cite the relevant sentence.
12629 2019-09-28  Bruno Haible  <bruno@clisp.org>
12631         access: Document limitations on Windows.
12632         Suggested by Zaretskii <eliz@gnu.org>.
12633         * doc/posix-functions/access.texi: Mention two limitations on Windows.
12635 2019-09-28  Bruno Haible  <bruno@clisp.org>
12637         findprog-in: Fix comment.
12638         Reported by Eli Zaretskii <eliz@gnu.org>.
12639         * lib/findprog.h (find_in_given_path): Extend description of EACCES
12640         condition.
12641         * lib/stat.c (rpl_stat): Fix typo in comment.
12642         * lib/utime.c (_gl_utimens_windows): Likewise.
12644 2019-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12646         Update URLs and associated text
12647         (Thanks to Bruno Haible for proofreading this patch.)
12648         Prefer https: to http: in URLs where either will do, for the usual
12649         security reasons.  I also updated broken and/or moved URLs
12650         discovered during the process. In a few places I had to resort to
12651         archive.org, since I didn't find the originals elsewhere.
12653 2019-09-15  Paul Smith  <psmith@gnu.org>
12654             Bruno Haible  <bruno@clisp.org>
12656         findprog-in: Set errno when the search fails.
12657         * lib/findprog-in.c: Include <errno.h>.
12658         (find_in_given_path): Set errno before returning NULL.
12659         * lib/findprog.h (find_in_given_path): Update comment accordingly.
12660         Define the term "slash".
12662 2019-09-15  Bruno Haible  <bruno@clisp.org>
12664         findprog, findprog-lgpl, findprog-in: Fix crash on MSVC.
12665         * modules/findprog (Depends-on): Add access.
12666         * modules/findprog-lgpl (Depends-on): Likewise.
12667         * modules/findprog-in (Depends-on): Likewise.
12669 2019-09-15  Bruno Haible  <bruno@clisp.org>
12671         access: Add tests.
12672         * tests/test-access.c: New file.
12673         * modules/access-tests: New file.
12675         access: New module.
12676         * lib/unistd.in.h (access): New declaration.
12677         * lib/access.c: New file.
12678         * m4/access.m4: New file.
12679         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether access is declared.
12680         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ACCESS, REPLACE_ACCESS.
12681         * modules/unistd (Makefile.am): Substitute GNULIB_ACCESS,
12682         REPLACE_ACCESS.
12683         * modules/access: New file.
12684         * tests/test-unistd-c++.cc (access): Check signature.
12685         * doc/posix-functions/access.texi: Mention the new module.
12687 2019-09-15  Bruno Haible  <bruno@clisp.org>
12689         fcntl-h: Fix compilation error of creat.c on MSVC.
12690         * lib/fcntl.in.h: Include <io.h> also when __need_system_fcntl_h is
12691         defined.
12693 2019-09-15  Bruno Haible  <bruno@clisp.org>
12695         creat: Add tests.
12696         * tests/test-creat.c: New file, based on tests/test-open.h.
12697         * modules/creat-tests: New file.
12699         creat: New module.
12700         * lib/fcntl.in.h (creat): New declaration.
12701         * lib/creat.c: New file, based on lib/open.c.
12702         * m4/creat.m4: New file.
12703         * m4/open-slash.m4: New file, extracted from m4/open.m4.
12704         * m4/open.m4 (gl_FUNC_OPEN): Move trailing-slash test to open-slash.m4.
12705         Invoke gl_OPEN_TRAILING_SLASH_BUG.
12706         * modules/open (Files): Add m4/open-slash.m4.
12707         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_CREAT,
12708         REPLACE_CREAT.
12709         * modules/fcntl-h (Makefile.am): Substitute GNULIB_CREAT, REPLACE_CREAT.
12710         * modules/creat: New file.
12711         * tests/test-fcntl-h-c++.cc (creat): Check signature.
12712         * doc/posix-functions/creat.texi: Mention the new module.
12714 2019-09-15  Bruno Haible  <bruno@clisp.org>
12716         open tests: Enhance test.
12717         * tests/test-open.h (test_open): Test the creation of an executable
12718         regular file. Also improve initial cleanup.
12720 2019-09-15  Bruno Haible  <bruno@clisp.org>
12722         intprops tests: Avoid build failure with HP-UX cc.
12723         * tests/test-intprops.c: Disable a check that makes HP cc choke with
12724         "error 4018: Macro param too large after substitution - use -H option.".
12726 2019-09-14  Bruno Haible  <bruno@clisp.org>
12728         Make autoconf tests work with -Werror=implicit-function-declaration.
12729         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Include <wctype.h>, for
12730         towupper() declaration.
12731         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Include <stdlib.h>, for ptsname()
12732         declaration.
12734 2019-09-14  Bruno Haible  <bruno@clisp.org>
12736         findprog-in: Better mimic the system on native Windows.
12737         Reported by Paul Smith <psmith@gnu.org>.
12738         * lib/findprog-in.c (find_in_given_path): On native Windows, don't try
12739         non-empty suffixes when the file name already contains a '.'.
12741 2019-09-10  Bruno Haible  <bruno@clisp.org>
12743         wctob: Fix autoconf test.
12744         Based on patch by Florian Weimer <fweimer@redhat.com>.
12745         * m4/wctob.m4 (gl_FUNC_WCTOB): Include <stdlib.h> before using mbtowc.
12747 2019-09-09  Akim Demaille  <akim@lrde.epita.fr>
12749         xhash: provide hash_xinitialize.
12750         Suggested by Egor Pugin <egor.pugin@gmail.com>
12751         https://lists.gnu.org/archive/html/bison-patches/2019-09/msg00026.html
12752         * modules/xhash, lib/xhash.c: New.
12753         * lib/hash.h (hash_xinitialize): New.
12755 2019-09-09  Bruno Haible  <bruno@clisp.org>
12757         findprog-in: Make exec optimization optional.
12758         * lib/findprog.h: Add double-inclusion guard. Include <stdbool.h>.
12759         (find_in_given_path): Add optimize_for_exec parameter.
12760         * lib/findprog-in.c (find_in_given_path): Likewise.
12762 2019-09-08  Bruno Haible  <bruno@clisp.org>
12764         Add option to assume the best, not the worst, when cross-compiling.
12765         Suggested by Jonas Termansen <sortie@maxsi.org>.
12766         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add --enable-cross-guesses=...
12767         option. Set gl_cross_guess_normal and gl_cross_guess_inverted.
12768         * m4/argz.m4 (gl_FUNC_ARGZ): Obey --enable-cross-guesses for
12769         lt_cv_sys_argz_works.
12770         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Obey --enable-cross-guesses for
12771         ac_cv_func_calloc_0_nonnull.
12772         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Obey
12773         --enable-cross-guesses for gl_cv_func_realpath_works.
12774         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Obey --enable-cross-guesses for
12775         gl_cv_func_cbrtl_ieee.
12776         * m4/ceil.m4 (gl_FUNC_CEIL): Obey --enable-cross-guesses for
12777         gl_cv_func_ceil_ieee.
12778         * m4/ceilf.m4 (gl_FUNC_CEILF): Obey --enable-cross-guesses for
12779         gl_cv_func_ceilf_ieee.
12780         * m4/ceill.m4 (gl_FUNC_CEILL): Obey --enable-cross-guesses for
12781         gl_cv_func_ceill_ieee.
12782         * m4/chown.m4 (AC_FUNC_CHOWN): Obey --enable-cross-guesses for
12783         ac_cv_func_chown_works.
12784         (gl_FUNC_CHOWN): Obey --enable-cross-guesses for
12785         gl_cv_func_chown_slash_works, gl_cv_func_chown_ctime_works.
12786         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Obey
12787         --enable-cross-guesses for gl_cv_struct_dirent_d_ino.
12788         * m4/exp2l.m4 (gl_FUNC_EXP2L): Obey --enable-cross-guesses for
12789         gl_cv_func_exp2l_works, gl_cv_func_exp2l_ieee.
12790         * m4/expl.m4 (gl_FUNC_EXPL): Obey --enable-cross-guesses for
12791         gl_cv_func_expl_works.
12792         * m4/expm1.m4 (gl_FUNC_EXPM1): Obey --enable-cross-guesses for
12793         gl_cv_func_expm1_ieee.
12794         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Obey --enable-cross-guesses for
12795         gl_cv_func_expm1l_works.
12796         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Obey --enable-cross-guesses for
12797         gl_cv_func_open_directory_works.
12798         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Obey
12799         --enable-cross-guesses for gl_cv_func_fchownat_nofollow_works.
12800         (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Obey --enable-cross-guesses for
12801         gl_cv_func_fchownat_empty_filename_works.
12802         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Obey --enable-cross-guesses for
12803         gl_cv_func_fdopendir_works.
12804         * m4/floor.m4 (gl_FUNC_FLOOR): Obey --enable-cross-guesses for
12805         gl_cv_func_floor_ieee.
12806         * m4/floorf.m4 (gl_FUNC_FLOORF): Obey --enable-cross-guesses for
12807         gl_cv_func_floorf_ieee.
12808         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Obey --enable-cross-guesses for
12809         gl_cv_func_fma_works.
12810         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Obey --enable-cross-guesses for
12811         gl_cv_func_fmaf_works.
12812         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Obey --enable-cross-guesses for
12813         gl_cv_func_fmal_works.
12814         * m4/fmod.m4 (gl_FUNC_FMOD): Obey --enable-cross-guesses for
12815         gl_cv_func_fmod_ieee.
12816         * m4/fmodf.m4 (gl_FUNC_FMODF): Obey --enable-cross-guesses for
12817         gl_cv_func_fmodf_ieee.
12818         * m4/fmodl.m4 (gl_FUNC_FMODL): Obey --enable-cross-guesses for
12819         gl_cv_func_fmodl_ieee.
12820         * m4/fpurge.m4 (gl_FUNC_FPURGE): Obey --enable-cross-guesses for
12821         gl_cv_func_fpurge_works.
12822         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Obey
12823         --enable-cross-guesses for gl_cv_func_getcwd_path_max.
12824         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Obey --enable-cross-guesses for
12825         gl_cv_func_getcwd_null.
12826         (gl_FUNC_GETCWD): Update for getcwd-path-max.m4 change.
12827         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Obey --enable-cross-guesses for
12828         gl_cv_func_working_getdelim.
12829         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Obey --enable-cross-guesses for
12830         ac_cv_func_getgroups_works. Keep this macro also in Autoconf >= 2.70.
12831         (gl_FUNC_GETGROUPS): Obey --enable-cross-guesses for
12832         gl_cv_func_getgroups_works.
12833         * m4/getline.m4 (gl_FUNC_GETLINE): Obey --enable-cross-guesses for
12834         am_cv_func_working_getline.
12835         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Obey --enable-cross-guesses
12836         for gl_cv_func_getopt_gnu.
12837         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Obey
12838         --enable-cross-guesses for gl_cv_func_gettimeofday_clobber.
12839         * m4/hypot.m4 (gl_FUNC_HYPOT): Obey --enable-cross-guesses for
12840         gl_cv_func_hypot_ieee.
12841         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Obey --enable-cross-guesses for
12842         gl_cv_func_hypotf_ieee.
12843         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Obey --enable-cross-guesses for
12844         gl_cv_func_hypotl_ieee.
12845         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Obey
12846         --enable-cross-guesses for gl_cv_func_iconv_supports_utf.
12847         * m4/link.m4 (gl_FUNC_LINK): Obey --enable-cross-guesses for
12848         gl_cv_func_link_works.
12849         * m4/linkat.m4 (gl_FUNC_LINKAT): Obey --enable-cross-guesses for
12850         gl_cv_func_linkat_slash.
12851         * m4/log.m4 (gl_FUNC_LOG): Obey --enable-cross-guesses for
12852         gl_cv_func_log_ieee.
12853         * m4/logf.m4 (gl_FUNC_LOGF): Obey --enable-cross-guesses for
12854         gl_cv_func_logf_ieee.
12855         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Obey --enable-cross-guesses for
12856         gl_cv_func_logl_works.
12857         * m4/log10.m4 (gl_FUNC_LOG10): Obey --enable-cross-guesses for
12858         gl_cv_func_log10_ieee.
12859         * m4/log10f.m4 (gl_FUNC_LOG10F): Obey --enable-cross-guesses for
12860         gl_cv_func_log10f_ieee.
12861         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Obey --enable-cross-guesses for
12862         gl_cv_func_log10l_works.
12863         * m4/log1p.m4 (gl_FUNC_LOG1P): Obey --enable-cross-guesses for
12864         gl_cv_func_log1p_ieee.
12865         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Obey --enable-cross-guesses for
12866         gl_cv_func_log1pf_ieee.
12867         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Obey --enable-cross-guesses for
12868         gl_cv_func_log1pl_ieee.
12869         * m4/log2.m4 (gl_FUNC_LOG2): Obey --enable-cross-guesses for
12870         gl_cv_func_log2_ieee.
12871         * m4/log2f.m4 (gl_FUNC_LOG2F): Obey --enable-cross-guesses for
12872         gl_cv_func_log2f_ieee.
12873         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Obey
12874         --enable-cross-guesses for
12875         gl_cv_func_lstat_dereferences_slashed_symlink.
12876         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Obey --enable-cross-guesses for
12877         ac_cv_func_malloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
12878         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Obey --enable-cross-guesses for
12879         gl_cv_C_locale_sans_EILSEQ.
12880         * m4/memchr.m4 (gl_FUNC_MEMCHR): Obey --enable-cross-guesses for
12881         gl_cv_func_memchr_works.
12882         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Obey --enable-cross-guesses for
12883         gl_cv_func_memmem_works_always.
12884         (gl_FUNC_MEMMEM): Obey --enable-cross-guesses for
12885         gl_cv_func_memmem_works_fast.
12886         * m4/mkdir.m4 (gl_FUNC_MKDIR): Obey --enable-cross-guesses for
12887         gl_cv_func_mkdir_trailing_slash_works,
12888         gl_cv_func_mkdir_trailing_dot_works.
12889         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Obey --enable-cross-guesses for
12890         gl_cv_func_mkfifo_works.
12891         * m4/mknod.m4 (gl_FUNC_MKNOD): Obey --enable-cross-guesses for
12892         gl_cv_func_mknod_works.
12893         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Obey --enable-cross-guesses for
12894         gl_cv_func_working_mkstemp.
12895         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Obey --enable-cross-guesses for
12896         gl_cv_func_working_mktime.
12897         * m4/modf.m4 (gl_FUNC_MODF): Obey --enable-cross-guesses for
12898         gl_cv_func_modf_ieee.
12899         * m4/modff.m4 (gl_FUNC_MODFF): Obey --enable-cross-guesses for
12900         gl_cv_func_modff_ieee.
12901         * m4/modfl.m4 (gl_FUNC_MODFL): Obey --enable-cross-guesses for
12902         gl_cv_func_modfl_ieee.
12903         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Obey --enable-cross-guesses for
12904         gl_cv_func_nanosleep.
12905         * m4/perror.m4 (gl_FUNC_PERROR): Obey --enable-cross-guesses for
12906         gl_cv_func_perror_works.
12907         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Obey --enable-cross-guesses for
12908         gl_cv_func_printf_sizes_c99.
12909         (gl_PRINTF_INFINITE): Obey --enable-cross-guesses for
12910         gl_cv_func_printf_infinite.
12911         (gl_PRINTF_INFINITE_LONG_DOUBLE): Obey --enable-cross-guesses for
12912         gl_cv_func_printf_infinite_long_double.
12913         (gl_PRINTF_DIRECTIVE_A): Obey --enable-cross-guesses for
12914         gl_cv_func_printf_directive_a.
12915         (gl_PRINTF_DIRECTIVE_F): Obey --enable-cross-guesses for
12916         gl_cv_func_printf_directive_f.
12917         (gl_PRINTF_FLAG_ZERO): Obey --enable-cross-guesses for
12918         gl_cv_func_printf_flag_zero.
12919         (gl_PRINTF_ENOMEM): Obey --enable-cross-guesses for
12920         gl_cv_func_printf_enomem.
12921         (gl_SNPRINTF_TRUNCATION_C99): Obey --enable-cross-guesses for
12922         gl_cv_func_snprintf_truncation_c99.
12923         (gl_SNPRINTF_RETVAL_C99): Obey --enable-cross-guesses for
12924         gl_cv_func_snprintf_retval_c99.
12925         (gl_SNPRINTF_DIRECTIVE_N): Obey --enable-cross-guesses for
12926         gl_cv_func_snprintf_directive_n.
12927         (gl_VSNPRINTF_ZEROSIZE_C99): Obey --enable-cross-guesses for
12928         gl_cv_func_vsnprintf_zerosize_c99.
12929         * m4/pselect.m4 (gl_FUNC_PSELECT): Obey --enable-cross-guesses for
12930         gl_cv_func_pselect_detects_ebadf.
12931         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
12932         Obey --enable-cross-guesses for
12933         gl_cv_pthread_rwlock_rdlock_prefer_writer.
12934         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Obey --enable-cross-guesses for
12935         gl_cv_func_ptsname_sets_errno.
12936         * m4/putenv.m4 (gl_FUNC_PUTENV): Obey --enable-cross-guesses for
12937         gl_cv_func_svid_putenv.
12938         * m4/readlink.m4 (gl_FUNC_READLINK): Obey --enable-cross-guesses for
12939         gl_cv_func_readlink_works.
12940         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Obey --enable-cross-guesses for
12941         ac_cv_func_realloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
12942         * m4/regex.m4 (gl_REGEX): Obey --enable-cross-guesses for
12943         gl_cv_func_re_compile_pattern_working.
12944         * m4/remainder.m4 (gl_FUNC_REMAINDER): Obey --enable-cross-guesses for
12945         gl_cv_func_remainder_ieee.
12946         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Obey --enable-cross-guesses for
12947         gl_cv_func_remainderf_ieee.
12948         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Obey --enable-cross-guesses for
12949         gl_cv_func_remainderl_ieee.
12950         * m4/rintl.m4 (gl_FUNC_RINTL): Obey --enable-cross-guesses for
12951         gl_cv_func_rintl_works.
12952         * m4/rmdir.m4 (gl_FUNC_RMDIR): Obey --enable-cross-guesses for
12953         gl_cv_func_rmdir_works.
12954         * m4/round.m4 (gl_FUNC_ROUND): Obey --enable-cross-guesses for
12955         gl_cv_func_round_ieee.
12956         * m4/roundf.m4 (gl_FUNC_ROUNDF): Obey --enable-cross-guesses for
12957         gl_cv_func_roundf_ieee.
12958         * m4/roundl.m4 (gl_FUNC_ROUNDL): Obey --enable-cross-guesses for
12959         gl_cv_func_roundl_ieee.
12960         * m4/select.m4 (gl_FUNC_SELECT): Obey --enable-cross-guesses for
12961         gl_cv_func_select_detects_ebadf.
12962         * m4/setenv.m4 (gl_FUNC_SETENV): Obey --enable-cross-guesses for
12963         gl_cv_func_setenv_works.
12964         (gl_FUNC_UNSETENV): Obey --enable-cross-guesses for
12965         gl_cv_func_unsetenv_works.
12966         * m4/signbit.m4 (gl_SIGNBIT): Obey --enable-cross-guesses for
12967         gl_cv_func_signbit, gl_cv_func_signbit_gcc.
12968         * m4/sleep.m4 (gl_FUNC_SLEEP): Obey --enable-cross-guesses for
12969         gl_cv_func_sleep_works.
12970         * m4/stat.m4 (gl_FUNC_STAT): Obey --enable-cross-guesses for
12971         gl_cv_func_stat_file_slash.
12972         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Obey --enable-cross-guesses for
12973         gl_cv_func_stpncpy.
12974         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Obey
12975         --enable-cross-guesses for gl_cv_func_strcasestr_works_always.
12976         (gl_FUNC_STRCASESTR): Obey --enable-cross-guesses for
12977         gl_cv_func_strcasestr_linear.
12978         * m4/strerror.m4 (gl_FUNC_STRERROR): Obey --enable-cross-guesses for
12979         gl_cv_func_working_strerror.
12980         (gl_FUNC_STRERROR_0): Obey --enable-cross-guesses for
12981         gl_cv_func_strerror_0_works.
12982         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Obey
12983         --enable-cross-guesses for gl_cv_func_strerror_r_works.
12984         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Obey --enable-cross-guesses for
12985         gl_cv_func_strstr_works_always.
12986         (gl_FUNC_STRSTR): Obey --enable-cross-guesses for
12987         gl_cv_func_strstr_linear.
12988         * m4/strtod.m4 (gl_FUNC_STRTOD): Obey --enable-cross-guesses for
12989         gl_cv_func_strtod_works.
12990         * m4/strtold.m4 (gl_FUNC_STRTOLD): Obey --enable-cross-guesses for
12991         gl_cv_func_strtold_works.
12992         * m4/symlink.m4 (gl_FUNC_SYMLINK): Obey --enable-cross-guesses for
12993         gl_cv_func_symlink_works.
12994         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Obey --enable-cross-guesses for
12995         gl_cv_func_symlinkat_works.
12996         * m4/trunc.m4 (gl_FUNC_TRUNC): Obey --enable-cross-guesses for
12997         gl_cv_func_trunc_ieee.
12998         * m4/truncf.m4 (gl_FUNC_TRUNCF): Obey --enable-cross-guesses for
12999         gl_cv_func_truncf_ieee.
13000         * m4/truncl.m4 (gl_FUNC_TRUNCL): Obey --enable-cross-guesses for
13001         gl_cv_func_truncl_ieee.
13002         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Obey --enable-cross-guesses for
13003         gl_cv_func_tzset_clobber.
13004         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Obey --enable-cross-guesses for
13005         gl_cv_func_ungetc_works.
13006         * m4/unlink.m4 (gl_FUNC_UNLINK): Obey --enable-cross-guesses for
13007         gl_cv_func_unlink_honors_slashes, gl_cv_func_unlink_parent_fails.
13008         * m4/usleep.m4 (gl_FUNC_USLEEP): Obey --enable-cross-guesses for
13009         gl_cv_func_usleep_works.
13010         * m4/utimens.m4 (gl_UTIMENS): Obey --enable-cross-guesses for
13011         gl_cv_func_futimesat_works.
13012         * m4/utimes.m4 (gl_FUNC_UTIMES): Obey --enable-cross-guesses for
13013         gl_cv_func_working_utimes.
13014         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Obey --enable-cross-guesses for
13015         gl_cv_func_wcwidth_works.
13016         * m4/glob.m4 (gl_GLOB): When cross-compiling, don't create symlinks for
13017         testing. Obey --enable-cross-guesses for gl_cv_glob_lists_symlinks.
13018         * m4/rename.m4 (gl_FUNC_RENAME): When cross-compiling, don't create
13019         links for testing. Obey --enable-cross-guesses for
13020         gl_cv_func_rename_slash_dst_works, gl_cv_func_rename_slash_src_works,
13021         gl_cv_func_rename_link_works, gl_cv_func_rename_dest_works.
13023 2019-09-08  Bruno Haible  <bruno@clisp.org>
13025         Clarify that cross-compilation guesses are guesses.
13026         * m4/threads.m4 (gl_THREADS_H): Say "guessing yes" or "guessing no" when
13027         cross-compiling.
13029 2019-09-08  Bruno Haible  <bruno@clisp.org>
13031         chown: Fix configure output (regression from 2019-03-23).
13032         * m4/chown.m4 (gl_FUNC_CHOWN): Fix reference to
13033         gl_cv_func_chown_follows_symlink variable.
13035 2019-09-08  Bruno Haible  <bruno@clisp.org>
13037         findprog-in: New module.
13038         Suggested by Paul Smith <psmith@gnu.org>.
13039         * lib/findprog.h (find_in_given_path): New declaration.
13040         * lib/findprog-in.c: New file, based on lib/findprog.c.
13041         * m4/findprog-in.m4: New file, based on m4/findprog.m4.
13042         * modules/findprog-in: New file.
13044 2019-09-08  Bruno Haible  <bruno@clisp.org>
13046         findprog: Remove unused dependency.
13047         * modules/findprog (Depends-on): Remove strdup.
13049 2019-09-08  Bruno Haible  <bruno@clisp.org>
13051         findprog: Remove test that is obsolete since 2006-04-24.
13052         * m4/findprog.m4 (gl_FINDPROG): Don't test for unistd.h.
13054 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
13056         bitset: style changes
13057         * lib/bitset/vector.c (vbitset_resize): Factor computation.
13058         * lib/bitset.c, lib/bitset/stats.c, lib/bitsetv.c: Prefer
13059         xzalloc to xcalloc.
13060         Suggested by Paul Eggert.
13062 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
13064         bitset: check memory allocation
13065         Reported by 江 祖铭 (Zu-Ming Jiang).
13066         With help from Paul Eggert.
13067         https://lists.gnu.org/archive/html/bug-bison/2019-08/msg00016.html
13068         * lib/bitset/table.c (tbitset_resize): When growing, use xrealloc
13069         instead of realloc.
13070         When shrinking, accept failures.
13071         * lib/bitset/vector.c (vbitset_resize): Likewise.
13073 2019-09-07  Paul Eggert  <eggert@cs.ucla.edu>
13075         scratch_buffer: sync from glibc
13076         * config/srclist.txt: Add the scratch_buffer source
13077         code from glibc, since these should be in sync.
13078         Autoupdate.
13080 2019-09-07  Bruno Haible  <bruno@clisp.org>
13082         doc: Update for glibc 2.30.
13083         * doc/glibc-functions/gettid.texi: New file.
13084         * doc/glibc-functions/pthread_cond_clockwait.texi: New file.
13085         * doc/glibc-functions/pthread_mutex_clocklock.texi: New file.
13086         * doc/glibc-functions/pthread_rwlock_clockrdlock.texi: New file.
13087         * doc/glibc-functions/pthread_rwlock_clockwrlock.texi: New file.
13088         * doc/glibc-functions/sem_clockwait.texi: New file.
13089         * doc/glibc-functions/tgkill.texi: New file.
13090         * doc/glibc-functions/twalk_r.texi: New file.
13091         * doc/gnulib.texi: Include them.
13092         (Glibc semaphore.h): New section.
13093         * doc/pastposix-functions/h_errno.texi: Update.
13094         * doc/posix-functions/*.texi: Likewise.
13096 2019-09-06  Bruno Haible  <bruno@clisp.org>
13098         symlink tests: Avoid test failure on Linux with Lustre file system.
13099         Reported by Thomas C Oppe <Thomas.C.Oppe@erdc.dren.mil>
13100         at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37312>.
13101         * tests/test-symlink.h (test_symlink): Accept errno value ENOENT.
13103 2019-09-01  Bruno Haible  <bruno@clisp.org>
13105         gitsub.sh: Add support for shallow-cloning of subdirectories.
13106         * top/gitsub.sh (func_usage): Document allowed git options with
13107         'git pull'.
13108         (func_pull): Accept GIT_OPTIONS argument.
13109         (pull): Parse git options before complaining about too many arguments.
13110         Pass the git options to func_pull.
13112 2019-08-29  Bruno Haible  <bruno@clisp.org>
13114         lock: Fix cross-compilation guesses.
13115         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
13116         Require AC_CANONICAL_HOST. When cross-compiling, guess no on most
13117         platforms.
13119 2019-08-28  Bruno Haible  <bruno@clisp.org>
13121         isfinite, isinf, isnan, signbit: Fix error in C++ mode on mingw.
13122         Reported by Martin Storsjö <martin@martin.st> in
13123         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00075.html>.
13124         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Add more arguments.
13125         (isfinite, isinf, isnan, signbit): On platforms that use C++ include
13126         files from GCC 6 or newer, use an override through '#define', because
13127         the inline definitions in the platform's <cmath> cannot be overridden
13128         in another way.
13130 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
13132         Revert macOS INT_MULTIPLY_WRAPV patch
13133         Problem reported by Bruno Haible in:
13134         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00076.html
13135         * lib/intprops.h (_GL_HAS___builtin_mul_overflow): Remove.
13136         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
13137         Go back to working around the Clang bug on macOS.
13139 2019-08-27  Bruno Haible  <bruno@clisp.org>
13141         libtool-next-version: Fix error output.
13142         * build-aux/libtool-next-version (func_fatal_error): Fix the program
13143         name.
13145 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
13147         Speed up INT_MULTIPLY_WRAPV on macOS
13148         Assume that __builtin_mul_overflow works OK with Clang on macOS.
13149         Mattias Engdegård says it’s safe to assume the relevant library
13150         is always available there.
13151         * lib/intprops.h (_GL_HAS___builtin_mul_overflow):
13152         New temporary internal macro.
13153         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
13154         No need to work around the Clang bug on macOS.
13156 2019-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13158         intprops.h, verify.h: port better to clang
13159         Improve code generated by INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
13160         with Clang.  Problem reported privately by Mattias Engdegård.
13161         Also, insulate intprops.h and verify.h better against each other’s
13162         definitions of __has_builtin on non-Clang hosts.
13163         * lib/intprops.h (__has_builtin): Define a temporary substitute
13164         if __has_builtin is not already defined.
13165         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
13166         New temporary internal macros.
13167         (_GL_HAS_BUILTIN_ADD_OVERFLOW, _GL_HAS_BUILTIN_MUL_OVERFLOW):
13168         Now two separate macros, replacing the old
13169         _GL_HAS_BUILTIN_OVERFLOW, since we no longer assume that
13170         __builtin_mul_overflow is like the rest.  All uses changed.
13171         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV):
13172         Adjust to above changes.
13173         (_GL_INT_OP_WRAPV): Remove ‘builtin’ arg, since it’s no
13174         longer relevant.  All uses changed.
13175         * lib/verify.h (__has_builtin): Treat like intprops.h,
13176         so that the two .h files do not collide with each other.
13177         (_GL_HAS___builtin_unreachable, _GL_HAS___builtin_trap)
13178         (_GL_TEMPDEF___has_builtin): New temporary internal macros.
13180 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13182         intprops: say why not Clang __builtin_add_overflow
13183         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW):
13184         Mention Clang in comment, responding to a query from
13185         Mattias Engdegård.
13187 2019-08-24  Bruno Haible  <bruno@clisp.org>
13189         doc: Document most of the files outside of modules.
13190         * doc/gnulib.texi (Build Infrastructure Files,
13191         Release Management Files): New chapters.
13193 2019-08-24  Bruno Haible  <bruno@clisp.org>
13195         bootstrap: Keep in sync with the 'gettext' module.
13196         Reported by Assaf Gordon in
13197         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00045.html>.
13198         * build-aux/po/Makefile.in.in: Update to gettext 0.20.
13199         * build-aux/po/remove-potcdate.sin: Likewise.
13201 2019-08-24  Bruno Haible  <bruno@clisp.org>
13203         crypto/gc-sha512: Add tests.
13204         * tests/test-gc-sha512.c: New file, based on tests/test-gc-sha1.c.
13205         * modules/crypto/gc-sha512-tests: New file.
13207         crypto/gc-sha256: Add tests.
13208         * tests/test-gc-sha256.c: New file, based on tests/test-gc-sha1.c.
13209         * modules/crypto/gc-sha256-tests: New file.
13211         crypto/gc-sha256, crypto/gc-sha512: New modules.
13212         * lib/gc.h (gc_sha256, gc_sha512): New declarations.
13213         * lib/gc-gnulib.c: Include sha256.h, sha512.h.
13214         (MAX_DIGEST_SIZE): Set to 64.
13215         (_gc_hash_ctx, gc_hash_open, gc_hash_digest_length, gc_hash_write,
13216         gc_hash_read, gc_hash_buffer): Add support for sha256 and sha512.
13217         (gc_sha256, gc_sha512): New functions.
13218         * lib/gc-libgcrypt.c (gc_sha256, gc_sha512): New functions.
13219         * modules/crypto/gc-sha256: New file, based on modules/crypto/gc-sha1.
13220         * modules/crypto/gc-sha512: New file, based on modules/crypto/gc-sha1.
13222 2019-08-24  Bruno Haible  <bruno@clisp.org>
13224         crypto/gc-sha1 tests: Improve output when the test fails.
13225         * tests/test-gc-sha1.c (main): In case of mismatch, print the entire
13226         output.
13228 2019-08-24  Bruno Haible  <bruno@clisp.org>
13230         crypto/gc-sm3: Fix compilation error with --with-libgcrypt.
13231         * m4/gc-sm3.m4 (gl_GC_SM3): Test whether libgcrypt supports SM3. Define
13232         LIBGCRYPT_HAS_MD_SM3.
13233         * lib/gc-libgcrypt.c: Include sm3.h.
13234         (_gc_hash_ctx, gc_hash_open, gc_hash_hmac_setkey, gc_hash_write,
13235         gc_hash_read, gc_hash_close, gc_hash_buffer, gc_sm3): Use the gnulib
13236         implementation if libgcrypt does not support SM3.
13238 2019-08-24  Bruno Haible  <bruno@clisp.org>
13240         crypto/gc-md2: Optimize and clarify code.
13241         * lib/gc-gnulib.c (gc_hash_open): Comment out md2_init_ctx invocation.
13242         * lib/gc-libgcrypt.c (gc_hash_open): Clarify why md2_init_ctx invocation
13243         is not needed.
13245 2019-08-24  Bruno Haible  <bruno@clisp.org>
13247         crypto/gc-md2: Add comment.
13248         * lib/gc-libgcrypt.c: Add comment.
13250 2019-08-24  Bruno Haible  <bruno@clisp.org>
13252         crypto/gc-{md[24],rijndael} tests: Fix link error with --with-libgcrypt.
13253         * modules/crypto/gc-md2-tests (test_gc_md2_LDADD): New variable.
13254         * modules/crypto/gc-md4-tests (test_gc_md4_LDADD): New variable.
13255         * modules/crypto/gc-rijndael-tests (test_gc_rijndael_LDADD): New
13256         variable.
13258 2019-08-24  Bruno Haible  <bruno@clisp.org>
13260         crypto/gc: Fix link error with --with-libgcrypt.
13261         * m4/gc.m4 (gl_GC): Set LIB_CRYPTO to the value found by the
13262         AC_LIB_HAVE_LINKFLAGS invocation.
13264 2019-08-24  Bruno Haible  <bruno@clisp.org>
13266         crypto/gc: Access the module indicators correctly.
13267         * lib/gc-gnulib.c: Use '#if GNULIB_GC_*', not '#ifdef GNULIB_GC_*'.
13268         * lib/gc-libgcrypt.c: Likewise.
13270 2019-08-24  Bruno Haible  <bruno@clisp.org>
13272         crypto/gc: Fix configuration with --with-libgcrypt.
13273         * m4/libgcrypt.m4: New file, copied from libgcrypt/src/libgcrypt.m4.
13274         * modules/crypto/gc (Files): Add it.
13275         * m4/gc.m4 (gl_GC): Assume AM_PATH_LIBGCRYPT is defined.
13277 2019-08-24  Bruno Haible  <bruno@clisp.org>
13279         Remove unused file.
13280         * m4/stat-macros.m4: Remove file.
13282 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
13284         New strip-trailing-space option for srclist-update
13285         * config/srclist-update (fixfile): Support new option.
13286         * config/srclist.txt (texinfo.tex, maintain.texi, standards.texi):
13287         Use it.
13289 2019-08-20  Eric Blake  <eblake@redhat.com>
13291         accept4: Support SOCK_NONBLOCK, if defined
13292         * lib/accept4.c (accept4): If SOCK_NONBLOCK is defined, honor it.
13294         accept4: Fix compilation when native accept4() exists.
13295         Reported by Richard W.M. Jones <rjones@redhat.com> in
13296         https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00029.html
13297         * lib/accept4.c (accept4): Match witness symbol to m4 file update.
13299 2019-08-18  Bruno Haible  <bruno@clisp.org>
13301         Defeat -flto GCC optimization in math autoconf tests.
13302         Reported by Tomasz Kłoczko <kloczko.tomasz@gmail.com>
13303         at <https://savannah.gnu.org/bugs/?56109>.
13304         * m4/mathfunc.m4 (gl_MATHFUNC): Mark function pointer as 'volatile'.
13305         * m4/acosl.m4 (gl_FUNC_ACOSL): Likewise.
13306         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
13307         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
13308         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
13309         * m4/exp2.m4 (gl_FUNC_EXP2): Likewise.
13310         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
13311         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
13312         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
13313         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
13314         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
13315         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
13317 2019-08-17  Bruno Haible  <bruno@clisp.org>
13319         windows-spin: Implement declared functions.
13320         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
13321         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00024.html>.
13322         * lib/windows-spin.c (glwthread_spin_trylock): Fix typo in function
13323         name.
13325 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
13327         intprops: port to Oracle Developer Studio 12.6
13328         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix recently-introduced
13329         typos that were in a section not compiled by GCC.
13331 2019-08-14  Paul Eggert  <eggert@cs.ucla.edu>
13333         intprops: support uchar, ushort _WRAPV dests
13334         * lib/intprops.h (_GL_INT_OP_WRAPV_SMALLISH): New macro, defined
13335         when __builtin_add_overflow etc. and _Generic are not used.
13336         (_GL_INT_OP_WRAPV): Use it to support destinations that
13337         are unsigned char or unsigned short, even in compilers
13338         that lack __typeof__ and are not C11-compatible.
13340         intprops: pacify picky GCC
13341         * lib/intprops.h (_GL_BUILTIN_MUL_OVERFLOW):
13342         Pacify GCC’s complaints about ignoring __builtin_mul_overflow’s
13343         possibly-incorrect result.
13344         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): Pacify GCC’s complaints
13345         about (A) used as a boolean, when A is an expression like 3 * 4.
13347         intprops: support unsigned *_WRAPV results
13348         Add support for unsigned, unsigned long, and unsigned long long
13349         results to INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, and
13350         INT_MULTIPLY_WRAPV.  Also, work around GCC bug 91450, and fix a
13351         bug with unsigned inputs reported by Eli Zaretskii in:
13352         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00012.html
13353         * config/srclist.txt: Break the glibc connection for intprops.h
13354         temporarily, while more testing is done in Gnulib-using apps.
13355         * lib/intprops.h (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
13356         (INT_MULTIPLY_WRAPV, _GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH):
13357         Support unsigned results no narrower than unsigned int.  Report
13358         overflow correctly if some arguments are unsigned.
13359         (_GL_BUILTIN_MUL_OVERFLOW): New macro, to work around GCC bug 91450.
13360         (_GL_INT_OP_CALC): Simplify now that the OVERFLOW argument does
13361         the right thing with narrow args.
13362         (_GL_INT_OP_CALC1): Remove.  All callers removed.
13363         (_GL_INT_ADD_RANGE_OVERFLOW, _GL_INT_SUBTRACT_RANGE_OVERFLOW)
13364         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): New macros.
13365         * tests/test-intprops.c: Check for bugs and test new behavior.
13367 2019-08-14  Bruno Haible  <bruno@clisp.org>
13369         get_progname_of: New module.
13370         * lib/get_progname_of.h: New file.
13371         * lib/get_progname_of.c: New file, based on lib/getprogname.c.
13372         * lib/getprogname.c (getprogname): Tweak coding style.
13373         * lib/vma-iter.c (vma_iterate_bsd): Update comment.
13374         * modules/get_progname_of: New file.
13376 2019-08-14  Bruno Haible  <bruno@clisp.org>
13378         get_ppid_of: New module.
13379         * lib/get_ppid_of.h: New file.
13380         * lib/get_ppid_of.c: New file.
13381         * modules/get_ppid_of: New file.
13383 2019-08-13  Bruno Haible  <bruno@clisp.org>
13385         libtextstyle-optional tests: Support the NO_COLOR environment variable.
13386         * tests/test-libtextstyle.c (main): Do not emit styling when the
13387         environment variable NO_COLOR is set.
13389 2019-08-12  Paul Eggert  <eggert@cs.ucla.edu>
13391         verify: improve diagnostic quality in recent GCC
13392         If ‘verify’ fails in a deeply-nested macro, GCC does not output a
13393         useful line number containing the top-level caller of the macro.
13394         So, bring back the older way of issuing a diagnostic containing
13395         the top-level call’s arg, so that it is easier to diagnose
13396         ‘verify’ failures with recent GCC.
13397         * lib/verify.h (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE):
13398         Bring back DIAGNOSTIC arg.  All callers changed.
13399         (verify): Just use _GL_VERIFY.
13401 2019-08-11  Bruno Haible  <bruno@clisp.org>
13403         localcharset: Add more aliases for OS/2.
13404         Based on patch by KO Myung-Hun <komh78@gmail.com> in
13405         <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2019-08/msg00004.html>.
13406         * lib/localcharset.c (alias_table) [OS2]: Add more aliases.
13408 2019-08-10  Eric Blake  <eblake@redhat.com>
13410         configmake: Update advice on usage.
13411         * modules/configmake (Include): No longer necessary to include
13412         last, since configmake.h itself worries about collision avoidance.
13414 2019-08-10  Assaf Gordon <assafgordon@gmail.com>
13416         parse-datetime: fix 'T' military timezone handling
13417         * lib/parse-datetime.y (zone):
13418         follow-up to the previous commit: the 'T' case is handled outside the
13419         conversion table (used as either military timezone UTC-7 or ISO8601
13420         separator). Change it from "HOUR(7)" to "-HOUR(7)" to match other
13421         timezone letters.
13423 2019-08-09  Paul Eggert  <eggert@cs.ucla.edu>
13425         parse-datetime: fix military timezone letters
13426         Problem and trivial fix reported by Neil Hoggarth in:
13427         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00005.html
13428         * lib/parse-datetime.y (military_table):
13429         Do it the right way, not the RFC 822 way.
13431 2019-08-08  Eric Blake  <eblake@redhat.com>
13433         configmake: Avoid namespace pollution issue on mingw.
13434         * modules/configmake (Makefile.am): If the project uses
13435         <winsock2.h>, include that header before defining DATADIR.
13437 2019-07-28  Bruno Haible  <bruno@clisp.org>
13439         mbrtowc tests: Fix regression on mingw (regression from 2018-02-24).
13440         * tests/test-mbrtowc.c (main): Fix expected value of wc.
13442 2019-07-24  Bruno Haible  <bruno@clisp.org>
13444         pthread-h: Fix definitions of types and macros on mingw.
13445         * lib/pthread.in.h (pthread_t, pthread_attr_t, PTHREAD_CREATE_JOINABLE,
13446         PTHREAD_CREATE_DETACHED): Define also when module 'pthread-thread' is
13447         not in use.
13448         (pthread_once_t, PTHREAD_ONCE_INIT): Define also when module
13449         'pthread-once' is not in use.
13450         (pthread_mutex_t, pthread_mutexattr_t, PTHREAD_MUTEX_INITIALIZER,
13451         PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_ERRORCHECK,
13452         PTHREAD_MUTEX_RECURSIVE): Define also when module 'pthread-mutex' is not
13453         in use.
13454         (pthread_rwlock_t, pthread_rwlockattr_t, PTHREAD_RWLOCK_INITIALIZER):
13455         Define also when module 'pthread-rwlock' is not in use.
13456         (pthread_cond_t, pthread_condattr_t, PTHREAD_COND_INITIALIZER): Define
13457         also when module 'pthread-cond' is not in use.
13458         (pthread_key_t, PTHREAD_DESTRUCTOR_ITERATIONS): Define also when module
13459         'pthread-tss' is not in use.
13460         (pthread_spinlock_t): Define also when module 'pthread-spin' is not in
13461         use.
13463 2019-07-24  Simon Josefsson  <simon@josefsson.org>
13465         crypto/gc: Cope with libgcrypt without SM3.
13466         * lib/gc-libgcrypt.c (gc_hash_open): Guard SM3 usage.
13468 2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>
13470         backupfile: fix resource leak on memory failure
13471         Problem found by Coverity (CID 1484214).
13472         * lib/backupfile.c (backupfile_internal): Don’t leak dirp.
13474 2019-07-22  Bruno Haible  <bruno@clisp.org>
13476         Avoid missing-declarations warning in various tests.
13477         * tests/test-argp.c (fail, test1, test2, test_file, test3, test4, test5,
13478         test6, test_optional, test7, test8, test9, test10, test11, test12,
13479         test13, test14, test15, test_fun): Declare static.
13480         * tests/test-cnd.c (test_cnd_wait): Likewise.
13481         * tests/test-cond.c (test_cond): Likewise.
13483 2019-07-22  Bernhard Voelker  <mail@bernhard-voelker.de>
13485         pthread tests: Avoid missing-declarations warning.
13486         * tests/test-pthread-cond.c (test_pthread_cond_wait): Declare static.
13488 2019-07-19  Bruno Haible  <bruno@clisp.org>
13490         parse-datetime: Avoid warnings from bison versions >= 3.3.
13491         Reported by Bernhard Voelker <mail@bernhard-voelker.de>.
13492         * modules/parse-datetime (Makefile.am): Don't pass option '-y' to bison.
13494 2019-07-19  Bruno Haible  <bruno@clisp.org>
13496         parse-datetime: Require Bison 2.4 or newer.
13497         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Set PARSE_DATETIME_BISON.
13498         Code taken from gettext's intl.m4.
13499         * modules/parse-datetime (Makefile.am): Use PARSE_DATETIME_BISON instead
13500         of YACC.
13502 2019-07-19  Bruno Haible  <bruno@clisp.org>
13504         areadlink-with-size, xgethostname, xgetdomainname: Fix GCC warning.
13505         * lib/areadlink-with-size.c: Include <string.h>.
13506         * lib/areadlinkat-with-size.c: Likewise.
13507         * lib/xgethostname.c: Likewise.
13508         * lib/xgetdomainname.c: Likewise.
13510 2019-07-19  Bernhard Voelker  <mail@bernhard-voelker.de>
13512         parse-datetime: avoid "%pure-parser" deprecation warning from Bison 3.4
13513         * lib/parse-datetime.y: Use "%define api.pure" rather than obsolescent
13514         "%pure-parser".  The former is available since Bison 2.3b (2008),
13515         while the latter is marked as obsolete since version 3.4 (May 2019).
13517 2019-07-16  Bruno Haible  <bruno@clisp.org>
13519         update-copyright: Make it work again (regression from 2019-06-15).
13520         Reported by Brian C. Lane <bcl@redhat.com>.
13521         * build-aux/update-copyright: Add back the -0777, -p, -i options.
13523 2019-07-14  Bruno Haible  <bruno@clisp.org>
13525         doc: Update info about <pthread.h>.
13526         * doc/posix-headers/pthread.texi: Mention the module 'pthread-h' instead
13527         of 'pthread'.
13529 2019-07-14  Bruno Haible  <bruno@clisp.org>
13531         pthread_sigmask tests: Use new multithread modules.
13532         * tests/test-pthread_sigmask2.c: Include <pthread.h> instead of
13533         glthread/thread.h.
13534         (main_thread, killer_thread): Change type to pthread_t.
13535         (main): Update accordingly.
13536         * modules/pthread_sigmask-tests (Depends-on): Add pthread-thread. Remove
13537         thread.
13539 2019-07-14  Bruno Haible  <bruno@clisp.org>
13541         pthread-tss: Add tests.
13542         * tests/test-pthread-tss.c: New file, based on tests/test-tls.c and
13543         tests/test-tss.c.
13544         * modules/pthread-tss-tests: New file.
13546 2019-07-14  Bruno Haible  <bruno@clisp.org>
13548         pthread-cond: Add tests.
13549         * tests/test-pthread-cond.c: New file, based on tests/test-cond.c and
13550         tests/test-cnd.c.
13551         * modules/pthread-cond-tests: New file.
13553 2019-07-14  Bruno Haible  <bruno@clisp.org>
13555         pthread-rwlock: Add tests.
13556         * tests/test-pthread-rwlock.c: New file, based on tests/test-lock.c.
13557         * modules/pthread-rwlock-tests: New file.
13559 2019-07-14  Bruno Haible  <bruno@clisp.org>
13561         pthread-mutex: Add tests.
13562         * tests/test-pthread-mutex.c: New file, based on tests/test-lock.c and
13563         tests/test-mtx.c.
13564         * modules/pthread-mutex-tests: New file.
13566 2019-07-14  Bruno Haible  <bruno@clisp.org>
13568         pthread-once: Add tests.
13569         * tests/test-pthread-once1.c: New file, based on tests/test-once.c and
13570         tests/test-call_once.c.
13571         * tests/test-pthread-once2.c: New file, based on tests/test-lock.c and
13572         tests/test-mtx.c.
13573         * modules/pthread-once-tests: New file.
13575 2019-07-14  Bruno Haible  <bruno@clisp.org>
13577         pthread-thread: Add tests.
13578         * tests/test-pthread-thread.c: New file, based on
13579         tests/test-thread_create.c and tests/test-thrd_create.c.
13580         * modules/pthread-thread-tests: New file.
13582 2019-07-14  Bruno Haible  <bruno@clisp.org>
13584         pthread: Turn into a convenience module.
13585         * lib/pthread.in.h: Remove declarations for extern inline functions.
13586         * lib/pthread.c: Remove file.
13587         * modules/pthread (Files): Remove it.
13588         (Depends-on): Add pthread-thread, pthread-once, pthread-mutex,
13589         pthread-rwlock, pthread-cond, pthread-tss, pthread-spin.
13590         (configure.ac): Don't compile lib/pthread.c. Don't set GNULIB_PTHREAD.
13591         * m4/pthread_h.m4 (gl_PTHREAD_H_DEFAULTS): Don't initialize
13592         GNULIB_PTHREAD.
13593         * modules/pthread-h (Makefile.am): Don't substitute GNULIB_PTHREAD.
13595 2019-07-14  Bruno Haible  <bruno@clisp.org>
13597         pthread-spin: New module.
13598         * lib/pthread.in.h (pthread_spin_init, pthread_spin_destroy,
13599         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock): Remove
13600         inline definitions.
13601         * lib/pthread-spin.c: New file.
13602         * m4/pthread-spin.m4: New file.
13603         * modules/pthread-spin: New file.
13604         * doc/posix-functions/pthread_spin_init.texi: Mention the new module.
13605         * doc/posix-functions/pthread_spin_lock.texi: Likewise.
13606         * doc/posix-functions/pthread_spin_trylock.texi: Likewise.
13607         * doc/posix-functions/pthread_spin_unlock.texi: Likewise.
13608         * doc/posix-functions/pthread_spin_destroy.texi: Likewise.
13610 2019-07-14  Bruno Haible  <bruno@clisp.org>
13612         pthread-tss: New module.
13613         * lib/pthread-tss.c: New file.
13614         * m4/pthread-tss.m4: New file.
13615         * modules/pthread-tss: New file.
13616         * doc/posix-functions/pthread_key_create.texi: Mention the new module.
13617         * doc/posix-functions/pthread_setspecific.texi: Likewise.
13618         * doc/posix-functions/pthread_getspecific.texi: Likewise.
13619         * doc/posix-functions/pthread_key_delete.texi: Likewise.
13621 2019-07-14  Bruno Haible  <bruno@clisp.org>
13623         pthread-cond: New module.
13624         * lib/pthread.in.h (pthread_cond_destroy, pthread_cond_init,
13625         pthread_cond_signal, pthread_cond_wait): Remove inline definitions.
13626         * lib/pthread-cond.c: New file.
13627         * m4/pthread-cond.m4: New file.
13628         * modules/pthread-cond: New file.
13629         * doc/posix-functions/pthread_cond_init.texi: Mention the new module.
13630         * doc/posix-functions/pthread_condattr_init.texi: Likewise.
13631         * doc/posix-functions/pthread_condattr_destroy.texi: Likewise.
13632         * doc/posix-functions/pthread_cond_wait.texi: Likewise.
13633         * doc/posix-functions/pthread_cond_timedwait.texi: Likewise.
13634         * doc/posix-functions/pthread_cond_signal.texi: Likewise.
13635         * doc/posix-functions/pthread_cond_broadcast.texi: Likewise.
13636         * doc/posix-functions/pthread_cond_destroy.texi: Likewise.
13638 2019-07-14  Bruno Haible  <bruno@clisp.org>
13640         pthread-rwlock: New module.
13641         * lib/pthread-rwlock.c: New file, based on lib/glthread/lock.c.
13642         * m4/pthread-rwlock.m4: New file.
13643         * modules/pthread-rwlock: New file.
13644         * doc/posix-functions/pthread_rwlock_init.texi: Mention the new module
13645         and the Android problem.
13646         * doc/posix-functions/pthread_rwlockattr_init.texi: Likewise.
13647         * doc/posix-functions/pthread_rwlockattr_destroy.texi: Likewise.
13648         * doc/posix-functions/pthread_rwlock_rdlock.texi: Likewise.
13649         * doc/posix-functions/pthread_rwlock_wrlock.texi: Likewise.
13650         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likewise.
13651         * doc/posix-functions/pthread_rwlock_trywrlock.texi: Likewise.
13652         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
13653         * doc/posix-functions/pthread_rwlock_timedwrlock.texi: Likewise.
13654         * doc/posix-functions/pthread_rwlock_unlock.texi: Likewise.
13655         * doc/posix-functions/pthread_rwlock_destroy.texi: Likewise.
13657 2019-07-14  Bruno Haible  <bruno@clisp.org>
13659         pthread-mutex: New module.
13660         * lib/pthread.in.h (pthread_mutexattr_destroy, pthread_mutexattr_init,
13661         pthread_mutexattr_settype, pthread_mutex_destroy, pthread_mutex_init,
13662         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_timedlock,
13663         pthread_mutex_unlock): Remove inline definitions.
13664         * lib/pthread-mutex.c: New file.
13665         * m4/pthread-mutex.m4: New file.
13666         * modules/pthread-mutex: New file.
13667         * doc/posix-functions/pthread_mutex_init.texi: Mention the new module.
13668         * doc/posix-functions/pthread_mutexattr_init.texi: Likewise.
13669         * doc/posix-functions/pthread_mutexattr_gettype.texi: Likewise.
13670         * doc/posix-functions/pthread_mutexattr_settype.texi: Likewise.
13671         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
13672         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
13673         * doc/posix-functions/pthread_mutexattr_destroy.texi: Likewise.
13674         * doc/posix-functions/pthread_mutex_lock.texi: Likewise.
13675         * doc/posix-functions/pthread_mutex_trylock.texi: Likewise.
13676         * doc/posix-functions/pthread_mutex_timedlock.texi: Likewise.
13677         * doc/posix-functions/pthread_mutex_unlock.texi: Likewise.
13678         * doc/posix-functions/pthread_mutex_destroy.texi: Likewise.
13680 2019-07-14  Bruno Haible  <bruno@clisp.org>
13682         pthread-once: New module.
13683         * lib/pthread-once.c: New file.
13684         * m4/pthread-once.m4: New file.
13685         * modules/pthread-once: New file.
13686         * doc/posix-functions/pthread_once.texi: Mention the new module.
13688 2019-07-14  Bruno Haible  <bruno@clisp.org>
13690         pthread-thread: New module.
13691         * lib/pthread.in.h (pthread_create, pthread_exit, pthread_join): Remove
13692         inline definitions.
13693         * lib/pthread-thread.c: New file.
13694         * m4/pthread-thread.m4: New file.
13695         * modules/pthread-thread: New file.
13696         * doc/posix-functions/pthread_create.texi: Mention the new module.
13697         * doc/posix-functions/pthread_attr_init.texi: Likewise.
13698         * doc/posix-functions/pthread_attr_getdetachstate.texi: Likewise.
13699         * doc/posix-functions/pthread_attr_setdetachstate.texi: Likewise.
13700         * doc/posix-functions/pthread_attr_destroy.texi: Likewise.
13701         * doc/posix-functions/pthread_self.texi: Likewise.
13702         * doc/posix-functions/pthread_equal.texi: Likewise.
13703         * doc/posix-functions/pthread_detach.texi: Likewise.
13704         * doc/posix-functions/pthread_join.texi: Likewise.
13705         * doc/posix-functions/pthread_exit.texi: Likewise.
13707 2019-07-14  Bruno Haible  <bruno@clisp.org>
13709         pthread-h: Prepare for adding new modules.
13710         * lib/pthread.in.h: Define the types and macros for each of the
13711         facilities separately.
13712         * m4/pthread_h.m4 (gl_PTHREAD_H): Set HAVE_PTHREAD_CREATE_DETACHED,
13713         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
13714         HAVE_PTHREAD_PROCESS_SHARED.
13715         (gl_PTHREAD_H_DEFAULTS): Initialize HAVE_PTHREAD_CREATE_DETACHED,
13716         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
13717         HAVE_PTHREAD_PROCESS_SHARED.
13718         * modules/pthread-h (Makefile.am): Substitute
13719         HAVE_PTHREAD_CREATE_DETACHED, HAVE_PTHREAD_MUTEX_RECURSIVE,
13720         HAVE_PTHREAD_MUTEX_ROBUST, HAVE_PTHREAD_PROCESS_SHARED.
13722 2019-07-14  Bruno Haible  <bruno@clisp.org>
13724         pthread-h: Add declarations of essential pthread functions.
13725         * lib/pthread.in.h: Include snippets.
13726         (pthread_create, pthread_attr_init, pthread_attr_getdetachstate,
13727         pthread_attr_setdetachstate, pthread_attr_destroy, pthread_self,
13728         pthread_equal, pthread_detach, pthread_join, pthread_exit, pthread_once,
13729         pthread_mutex_init, pthread_mutexattr_init, pthread_mutexattr_gettype,
13730         pthread_mutexattr_settype, pthread_mutexattr_getrobust,
13731         pthread_mutexattr_setrobust, pthread_mutexattr_destroy,
13732         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_unlock,
13733         pthread_mutex_destroy, pthread_rwlock_init, pthread_rwlockattr_init,
13734         pthread_rwlockattr_destroy, pthread_rwlock_rdlock,
13735         pthread_rwlock_wrlock, pthread_rwlock_tryrdlock,
13736         pthread_rwlock_trywrlock, pthread_rwlock_timedrdlock,
13737         pthread_rwlock_timedwrlock, pthread_rwlock_unlock,
13738         pthread_rwlock_destroy, pthread_cond_init, pthread_condattr_init,
13739         pthread_condattr_destroy, pthread_cond_wait, pthread_cond_timedwait,
13740         pthread_cond_signal, pthread_cond_broadcast, pthread_cond_destroy,
13741         pthread_key_create, pthread_setspecific, pthread_getspecific,
13742         pthread_key_delete, pthread_spin_init, pthread_spin_lock,
13743         pthread_spin_trylock, pthread_spin_unlock, pthread_spin_destroy): New
13744         declarations.
13745         (pthread_mutex_timedlock): Move declaration.
13746         * m4/pthread_h.m4 (gl_PTHREAD_H): Check whether the new functions are
13747         declared.
13748         (gl_PTHREAD_H_DEFAULTS): Initialize GNULIB_PTHREAD_THREAD,
13749         GNULIB_PTHREAD_ONCE, GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK,
13750         GNULIB_PTHREAD_COND, GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the
13751         HAVE_* and REPLACE_* variables for the new functions.
13752         * modules/pthread-h (Depends-on): Add snippet/c++defs,
13753         snippet/_Noreturn, snippet/arg-nonnull, snippet/warn-on-use.
13754         (Makefile.am): Substitute GNULIB_PTHREAD_THREAD, GNULIB_PTHREAD_ONCE,
13755         GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK, GNULIB_PTHREAD_COND,
13756         GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the HAVE_* and REPLACE_*
13757         variables for the new functions. Split the sed script, to avoid the
13758         limit of 99 commands of HP-UX sed.
13759         * tests/test-pthread-c++.cc: Check the signature of the new functions.
13761 2019-07-14  Bruno Haible  <bruno@clisp.org>
13763         pthread-h: Respect --enable-threads={posix|windows} option on mingw.
13764         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_THREADLIB. Set
13765         HAVE_PTHREAD_H if gl_threads_api is 'windows'.
13766         (LIB_PTHREAD): Rely on $LIBMULTITHREAD from threadlib.m4.
13767         * modules/pthread (Link): Change to $(LIBMULTITHREAD).
13768         * modules/pthread-h (Depends-on): Add threadlib.
13769         (Link): Change to $(LIBTHREAD).
13770         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Use
13771         $(LIBMULTITHREAD) instead of $(LIB_PTHREAD).
13773 2019-07-14  Bruno Haible  <bruno@clisp.org>
13775         pthread-h: Add C++ tests.
13776         * tests/test-pthread-c++.cc: New file.
13777         * modules/pthread-h-c++-tests: New file.
13779 2019-07-14  Bruno Haible  <bruno@clisp.org>
13781         pthread-h: Add tests.
13782         * tests/test-pthread.c: New file.
13783         * modules/pthread-h-tests: New file.
13785 2019-07-14  Bruno Haible  <bruno@clisp.org>
13787         pthread-h: New module.
13788         * lib/pthread.in.h: Define replacement functions only if GNULIB_PTHREAD
13789         is 1.
13790         * m4/pthread_h.m4: Renamed from m4/pthread.m4.
13791         (gl_PTHREAD_H): Renamed from gl_PTHREAD_CHECK. Don't test whether
13792         <pthread.h> pollutes the namespace; instead, prepare for generating a
13793         pthread.h always. Substitute HAVE_PTHREAD_H here.
13794         (gl_PTHREAD_H_DEFAULTS): Renamed from gl_PTHREAD_DEFAULTS. Initialize
13795         GNULIB_PTHREAD. Don't initialize HAVE_PTHREAD_H here.
13796         * modules/pthread-h: New file, based on modules/pthread.
13797         * modules/pthread: Rely on 'pthread-h'.
13798         * m4/pthread_mutex_timedlock.m4 (gl_FUNC_PTHREAD_MUTEX_TIMEDLOCK):
13799         Update.
13800         * modules/pthread_mutex_timedlock (Depends-on): Add pthread-h. Remove
13801         pthread.
13803 2019-07-14  Bruno Haible  <bruno@clisp.org>
13805         sched_yield: New module.
13806         * lib/sched.in.h: Add _GL_FUNCDECL_RPL, _GL_WARN_ON_USE placeholders.
13807         (sched_yield): New declaration.
13808         * lib/sched_yield.c: New file.
13809         * m4/sched_yield.m4: New file.
13810         * m4/sched_h.m4 (gl_SCHED_H): Require gl_SCHED_H_DEFAULTS. Arrange to
13811         provide a replacement sched.h always. Test whether sched_yield is
13812         declared.
13813         (gl_SCHED_MODULE_INDICATOR, gl_SCHED_H_DEFAULTS): New macros.
13814         * modules/sched (Depends-on): Add snippet/c++defs, snippet/warn-on-use.
13815         (Makefile.am): Provide a replacement sched.h always. Substitute
13816         GNULIB_SCHED_YIELD, HAVE_SCHED_YIELD, REPLACE_SCHED_YIELD,
13817         _GL_FUNCDECL_RPL, _GL_WARN_ON_USE.
13818         * modules/sched_yield: New file.
13819         * doc/posix-functions/sched_yield.texi: Mention the new module.
13821 2019-07-14  Bruno Haible  <bruno@clisp.org>
13823         windows-spin: New module.
13824         * lib/windows-spin.h: New file.
13825         * lib/windows-spin.c: New file.
13826         * modules/windows-spin: New file.
13828 2019-07-14  Bruno Haible  <bruno@clisp.org>
13830         windows-timedrwlock: New module.
13831         * lib/windows-timedrwlock.h: New file, based on windows-rwlock.h.
13832         * lib/windows-timedrwlock.c: New file, based on windows-rwlock.c and
13833         windows-cond.c.
13834         * lib/windows-cond.h (struct glwthread_waitqueue_link): Protect against
13835         redefinition conflict with windows-timedrwlock.h.
13836         * modules/windows-timedrwlock: New file.
13838 2019-07-14  Bruno Haible  <bruno@clisp.org>
13840         windows-rwlock: New module.
13841         * lib/windows-rwlock.h: New file, extracted from lib/glthread/lock.h.
13842         * lib/windows-rwlock.c: New file, extracted from lib/glthread/lock.c.
13843         * lib/glthread/lock.h: Include windows-rwlock.h. Don't include
13844         windows-initguard.h.
13845         (gl_rwlock_t): Define using glwthread_rwlock_t.
13846         (gl_rwlock_initializer): Define using GLWTHREAD_RWLOCK_INIT.
13847         (glthread_rwlock_init): Define using glwthread_rwlock_init.
13848         (glthread_rwlock_rdlock): Define using glwthread_rwlock_rdlock.
13849         (glthread_rwlock_wrlock): Define using glwthread_rwlock_wrlock.
13850         (glthread_rwlock_unlock): Define using glwthread_rwlock_unlock.
13851         (glthread_rwlock_destroy): Define using glwthread_rwlock_destroy.
13852         (glthread_rwlock_init_func, glthread_rwlock_rdlock_func,
13853         glthread_rwlock_wrlock_func, glthread_rwlock_unlock_func,
13854         glthread_rwlock_destroy_func): Remove declarations.
13855         * lib/glthread/lock.c (gl_waitqueue_t): Remove type.
13856         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_notify_first,
13857         gl_waitqueue_notify_all, glthread_rwlock_init_func,
13858         glthread_rwlock_rdlock_func, glthread_rwlock_wrlock_func,
13859         glthread_rwlock_unlock_func, glthread_rwlock_destroy_func): Remove
13860         functions.
13861         * modules/windows-rwlock: New file.
13862         * modules/lock (Depends-on): Add windows-rwlock.
13864 2019-07-14  Bruno Haible  <bruno@clisp.org>
13866         windows-thread: Add support for creating a thread in detached state.
13867         * lib/windows-thread.h (GLWTHREAD_ATTR_DETACHED): New macro.
13868         (glwthread_thread_create): Add attr argument.
13869         * lib/windows-thread.c (glwthread_thread_create): Likewise.
13870         * lib/glthread/thread.h (glthread_create): Update.
13871         * lib/thrd.c (thrd_create): Update.
13873 2019-07-14  Bruno Haible  <bruno@clisp.org>
13875         windows-*: Rename glwthread_spinlock_t to glwthread_initguard_t.
13876         * lib/windows-initguard.h: Renamed from lib/windows-spinlock.h.
13877         (glwthread_initguard_t): Renamed from glwthread_spinlock_t.
13878         (GLWTHREAD_INITGUARD_INIT): Renamed from GLWTHREAD_SPINLOCK_INIT.
13879         * lib/windows-mutex.h: Update.
13880         * lib/windows-recmutex.h: Likewise.
13881         * lib/windows-timedmutex.h: Likewise.
13882         * lib/windows-timedrecmutex.h: Likewise.
13883         * lib/windows-cond.h: Likewise.
13884         * lib/glthread/lock.h: Likewise.
13885         * modules/windows-mutex (Files): Add lib/windows-initguard.h. Remove
13886         lib/windows-spinlock.h.
13887         * modules/windows-recmutex (Files): Likewise.
13888         * modules/windows-timedmutex (Files): Likewise.
13889         * modules/windows-timedrecmutex (Files): Likewise.
13890         * modules/windows-cond (Files): Likewise.
13891         * modules/threads-h (Files): Likewise.
13893 2019-07-14  Bruno Haible  <bruno@clisp.org>
13895         doc: Fix info about pthread API in HP-UX.
13896         * doc/posix-functions/pthread_*.texi: Fix info about HP-UX 11.
13898 2019-07-14  Bruno Haible  <bruno@clisp.org>
13900         threads-h: Fix generation of threads.h.
13901         * modules/threads-h (Makefile.am): Insert the required header file
13902         snippets.
13904 2019-07-09  Bruno Haible  <bruno@clisp.org>
13906         striconveh test: Fix a compilation failure when iconv is not available.
13907         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13908         * tests/test-striconveh.c (main): Move iconv_close invocations inside
13909         HAVE_ICONV.
13911 2019-07-07  Akim Demaille  <akim@lrde.epita.fr>
13913         argmatch: adjust columns for help2man.
13914         * lib/argmatch.h (argmatch_##Name##_doc_col): If some argument
13915         requires column 20 or more, return 20.
13917 2019-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13919         areadlink-with-size: avoid realloc when size==0
13920         * lib/areadlink-with-size.c (areadlink_with_size):
13921         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
13922         Reallocate at the end to the actual size, to avoid memory waste,
13923         as suggested by Bruno Haible.  But when the guessed size is zero -
13924         useful when the size is unknown - do the initial small readlink
13925         into the stack, to avoid that realloc in the usual case.
13927 2019-07-06  Pádraig Brady  <P@draigBrady.com>
13929         areadlink-with-size: guess a buffer size with 0 size
13930         The size is usually taken from st_size, which can be zero,
13931         resulting in inefficient operation.
13932         Instead let zero select an initial memory allocation
13933         of 128 bytes, which most symlinks fit within.
13934         * lib/areadlink-with-size.c (areadlink_with_size):
13935         Start with a 128 byte buffer, for SIZE == 0.
13936         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Likewise.
13938 2019-07-06  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
13940         Replace manually crafted hex regexes with [:xdigit:]
13941         * build-aux/gitlog-to-changelog (parse_amend_file)
13942         (git_dir_option):
13943         Replace various combinations of [0-9a-fA-F] with [[:xdigit:]].
13944         This patch is backported from Emacs (Bug#36167).
13946 2019-07-06  Bruno Haible  <bruno@clisp.org>
13948         error: Fix documentation.
13949         * doc/glibc-functions/error_at_line.texi: Document what the 'error'
13950         module provides.
13951         * doc/glibc-functions/error_message_count.texi: Likewise.
13952         * doc/glibc-functions/error_one_per_line.texi: Likewise.
13953         * doc/glibc-functions/error_print_progname.texi: Likewise.
13955 2019-07-06  Bruno Haible  <bruno@clisp.org>
13957         doc: Remove documentation of glibc <= 2.1.x as a supported platform.
13958         * doc/gnulib-intro.texi (Target Platforms): Mention that glibc 2.1.x
13959         and older is unsupported.
13960         * doc/**/*.texi: Update.
13962 2019-07-06  Bruno Haible  <bruno@clisp.org>
13964         doc: Remove documentation of Linux libc5 as a supported platform.
13965         * doc/posix-functions/iswalnum.texi: Don't mention workarounds specific
13966         to Linux libc5.
13967         * doc/posix-functions/iswalpha.texi: Likewise.
13968         * doc/posix-functions/iswblank.texi: Likewise.
13969         * doc/posix-functions/iswcntrl.texi: Likewise.
13970         * doc/posix-functions/iswdigit.texi: Likewise.
13971         * doc/posix-functions/iswgraph.texi: Likewise.
13972         * doc/posix-functions/iswlower.texi: Likewise.
13973         * doc/posix-functions/iswprint.texi: Likewise.
13974         * doc/posix-functions/iswpunct.texi: Likewise.
13975         * doc/posix-functions/iswspace.texi: Likewise.
13976         * doc/posix-functions/iswupper.texi: Likewise.
13977         * doc/posix-functions/iswxdigit.texi: Likewise.
13978         * doc/posix-functions/snprintf.texi: Likewise.
13979         * doc/posix-functions/vsnprintf.texi: Likewise.
13981 2019-07-06  Bruno Haible  <bruno@clisp.org>
13983         doc: Remove documentation of Tandem/NSK as a supported platform.
13984         * doc/posix-headers/stdlib.texi: Don't mention workarounds specific to
13985         Tandem/NSK.
13986         * doc/**/*.texi: Update.
13988 2019-07-06  Bruno Haible  <bruno@clisp.org>
13990         doc: Remove documentation of Mac OS X <= 10.4 as a supported platform.
13991         * doc/gnulib-intro.texi (Target Platforms): Mention that Mac OS X 10.4
13992         and older is unsupported.
13993         * doc/posix-functions/acosl.texi: Don't mention workarounds specific to
13994         Mac OS X 10.4 and older.
13995         * doc/posix-functions/asinl.texi: Likewise.
13996         * doc/posix-functions/atanl.texi: Likewise.
13997         * doc/posix-functions/cosl.texi: Likewise.
13998         * doc/posix-functions/expl.texi: Likewise.
13999         * doc/posix-functions/frexpl.texi: Likewise.
14000         * doc/posix-functions/gettimeofday.texi: Likewise.
14001         * doc/posix-functions/logl.texi: Likewise.
14002         * doc/posix-functions/mkstemp.texi: Likewise.
14003         * doc/posix-functions/sinl.texi: Likewise.
14004         * doc/posix-functions/sqrtl.texi: Likewise.
14005         * doc/posix-functions/tanl.texi: Likewise.
14006         * doc/posix-functions/wcswidth.texi: Likewise.
14007         * doc/**/*.texi: Update.
14009 2019-07-06  Bruno Haible  <bruno@clisp.org>
14011         doc: Remove documentation of AIX 4 as a supported platform.
14012         * doc/gnulib-intro.texi (Target Platforms): Mention that AIX 4 is
14013         unsupported.
14014         * doc/posix-functions/nanosleep.texi: Don't mention AIX 4 specific
14015         workarounds.
14016         * doc/posix-functions/strnlen.texi: Likewise.
14017         * doc/posix-headers/inttypes.texi: Likewise.
14018         * doc/**/*.texi: Update.
14020 2019-07-06  Bruno Haible  <bruno@clisp.org>
14022         doc: Remove documentation of HP-UX 10 as a supported platform.
14023         * doc/gnulib-intro.texi (Target Platforms): Mention that HP-UX 10 is
14024         unsupported.
14025         * doc/*-functions/*printf.texi: Don't mention HP-UX 10 specific
14026         workarounds.
14027         * doc/posix-functions/gmtime_r.texi: Likewise.
14028         * doc/posix-functions/localtime_r.texi: Likewise.
14029         * doc/posix-functions/mkstemp.texi: Likewise.
14030         * doc/**/*.texi: Update.
14032 2019-07-06  Bruno Haible  <bruno@clisp.org>
14034         doc: Remove documentation of Interix 3.5 as a supported platform.
14035         * doc/gnulib-intro.texi (Target Platforms): Mention that Interix is
14036         unsupported.
14037         * doc/posix-functions/select.texi: Don't mention Interix specific
14038         workarounds.
14039         * doc/posix-headers/signal.texi: Likewise.
14040         * doc/**/*.texi: Update.
14042 2019-07-06  Bruno Haible  <bruno@clisp.org>
14044         doc: Remove documentation of IRIX 6.4 and older as supported platforms.
14045         * doc/gnulib-intro.texi (Target Platforms): Mention that IRIX <= 6.4 is
14046         unsupported.
14047         * doc/pastposix-functions/usleep.texi: Don't mention IRIX specific
14048         workarounds.
14049         * doc/posix-functions/nl_langinfo.texi: Likewise.
14050         * doc/posix-functions/remainder.texi: Likewise.
14051         * doc/posix-functions/towlower.texi: Likewise.
14052         * doc/posix-functions/towupper.texi: Likewise.
14053         * doc/posix-functions/vsnprintf.texi: Likewise.
14054         * doc/posix-functions/wcscat.texi: Likewise.
14055         * doc/posix-functions/wcschr.texi: Likewise.
14056         * doc/posix-functions/wcscmp.texi: Likewise.
14057         * doc/posix-functions/wcscpy.texi: Likewise.
14058         * doc/posix-functions/wcscspn.texi: Likewise.
14059         * doc/posix-functions/wcslen.texi: Likewise.
14060         * doc/posix-functions/wcsncat.texi: Likewise.
14061         * doc/posix-functions/wcsncmp.texi: Likewise.
14062         * doc/posix-functions/wcsncpy.texi: Likewise.
14063         * doc/posix-functions/wcspbrk.texi: Likewise.
14064         * doc/posix-functions/wcsrchr.texi: Likewise.
14065         * doc/posix-functions/wcsspn.texi: Likewise.
14066         * doc/posix-headers/langinfo.texi: Likewise.
14067         * doc/posix-headers/signal.texi: Likewise.
14068         * doc/posix-headers/wchar.texi: Likewise.
14069         * doc/posix-headers/wctype.texi: Likewise.
14070         * doc/**/*.texi: Update.
14072 2019-07-05  Bruno Haible  <bruno@clisp.org>
14074         doc: Remove documentation of OSF/1 as supported platform.
14075         * doc/gnulib-intro.texi (Target Platforms): Mention that OSF/1 is
14076         unsupported.
14077         * doc/glibc-functions/getdomainname.texi: Don't mention OSF/1 specific
14078         workarounds.
14079         * doc/glibc-functions/pthread_setname_np.texi: Likewise.
14080         * doc/glibc-functions/ptsname_r.texi: Likewise.
14081         * doc/posix-functions/ceil.texi: Likewise.
14082         * doc/posix-functions/ceilf.texi: Likewise.
14083         * doc/posix-functions/ceill.texi: Likewise.
14084         * doc/posix-functions/fchdir.texi: Likewise.
14085         * doc/posix-functions/floor.texi: Likewise.
14086         * doc/posix-functions/floorf.texi: Likewise.
14087         * doc/posix-functions/fmod.texi: Likewise.
14088         * doc/posix-functions/fmodf.texi: Likewise.
14089         * doc/posix-functions/fmodl.texi: Likewise.
14090         * doc/posix-functions/log.texi: Likewise.
14091         * doc/posix-functions/logf.texi: Likewise.
14092         * doc/posix-functions/logl.texi: Likewise.
14093         * doc/posix-functions/log10.texi: Likewise.
14094         * doc/posix-functions/log10f.texi: Likewise.
14095         * doc/posix-functions/log10l.texi: Likewise.
14096         * doc/posix-functions/log2.texi: Likewise.
14097         * doc/posix-functions/log2f.texi: Likewise.
14098         * doc/posix-functions/log2l.texi: Likewise.
14099         * doc/posix-functions/mbrtowc.texi: Likewise.
14100         * doc/posix-functions/recv.texi: Likewise.
14101         * doc/posix-functions/recvfrom.texi: Likewise.
14102         * doc/posix-functions/remainder.texi: Likewise.
14103         * doc/posix-functions/remainderf.texi: Likewise.
14104         * doc/posix-functions/remainderl.texi: Likewise.
14105         * doc/posix-functions/round.texi: Likewise.
14106         * doc/posix-functions/roundf.texi: Likewise.
14107         * doc/posix-functions/roundl.texi: Likewise.
14108         * doc/posix-functions/send.texi: Likewise.
14109         * doc/posix-functions/sendto.texi: Likewise.
14110         * doc/posix-functions/setenv.texi: Likewise.
14111         * doc/posix-functions/snprintf.texi: Likewise.
14112         * doc/posix-functions/tcgetsid.texi: Likewise.
14113         * doc/posix-functions/trunc.texi: Likewise.
14114         * doc/posix-functions/truncf.texi: Likewise.
14115         * doc/posix-functions/truncl.texi: Likewise.
14116         * doc/posix-functions/ttyname_r.texi: Likewise.
14117         * doc/posix-functions/unsetenv.texi: Likewise.
14118         * doc/posix-functions/wcsrtombs.texi: Likewise.
14119         * doc/posix-headers/sys_select.texi: Likewise.
14120         * doc/posix-headers/wchar.texi: Likewise.
14121         * doc/posix-headers/wctype.texi: Likewise.
14122         * doc/**/*.texi: Update.
14124 2019-07-05  Bruno Haible  <bruno@clisp.org>
14126         doc: Remove documentation of BSDI and BSD/OS as supported platforms.
14127         * doc/**/*.texi: Update.
14129 2019-07-05  Bruno Haible  <bruno@clisp.org>
14131         doc: Remove documentation of Solaris 8 and older as supported platforms.
14132         * doc/gnulib-intro.texi (Target Platforms): Mention that Solaris <= 8 is
14133         unsupported.
14134         * doc/posix-functions/mbrtowc.texi: Don't mention Solaris specific
14135         workarounds.
14136         * doc/posix-functions/memcmp.texi: Likewise.
14137         * doc/posix-functions/rename.texi: Likewise.
14138         * doc/posix-functions/tzset.texi: Likewise.
14139         * doc/posix-headers/wctype.texi: Likewise.
14140         * doc/**/*.texi: Update.
14142 2019-07-05  Bruno Haible  <bruno@clisp.org>
14144         doc: Remove documentation of Interix 3.5 as a supported platform.
14145         * doc/**/*.texi: Update.
14147 2019-07-05  Bruno Haible  <bruno@clisp.org>
14149         doc: Remove documentation of BeOS as a supported platform.
14150         * doc/gnulib-intro.texi (Target Platforms): Mention that BeOS is
14151         unsupported.
14152         * doc/*-functions/*printf.texi: Don't mention BeOS specific workarounds.
14153         * doc/posix-functions/getdelim.texi: Likewise.
14154         * doc/**/*.texi: Update.
14156 2019-07-05  Bruno Haible  <bruno@clisp.org>
14158         thread, lock, cond, tls: Remove support for Pth threads.
14159         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
14160         --enable-threads=pth any more.
14161         (gl_THREADLIB_BODY): Don't set USE_PTH_THREADS any more.
14162         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Update comment.
14163         * m4/threads.m4 (gl_THREADS_H): Remove test for conflict between Pth
14164         threads and ISO C11 threads.
14165         * lib/glthread/thread.h: Remove code for USE_PTH_THREADS.
14166         * lib/glthread/lock.h: Likewise.
14167         * lib/glthread/lock.c: Likewise.
14168         * lib/glthread/cond.h: Likewise.
14169         * lib/glthread/cond.c: Likewise.
14170         * lib/glthread/tls.h: Likewise.
14171         * lib/glthread/tls.c: Likewise.
14172         * lib/glthread/yield.h: Likewise.
14173         * lib/regex_internal.h: Likewise.
14174         * tests/test-thread_create.c: Likewise.
14175         * tests/test-lock.c: Likewise.
14176         * tests/test-cond.c: Likewise.
14177         * tests/test-tls.c: Likewise.
14178         * tests/test-rwlock1.c: Don't include glthread/yield.h.
14179         (main): Sleep without calling gl_thread_yield.
14181 2019-07-05  Bruno Haible  <bruno@clisp.org>
14183         thread, lock, cond, tls: Remove support for old Solaris threads.
14184         Solaris >= 2.5.1 has POSIX threads.
14185         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
14186         --enable-threads=solaris any more.
14187         (gl_THREADLIB_BODY): Don't set USE_SOLARIS_THREADS any more.
14188         * lib/glthread/thread.c: Update comment.
14189         * lib/glthread/thread.h: Remove code for USE_SOLARIS_THREADS.
14190         * lib/glthread/lock.h: Likewise.
14191         * lib/glthread/lock.c: Likewise.
14192         * lib/glthread/cond.h: Likewise.
14193         * lib/glthread/cond.c: Likewise.
14194         * lib/glthread/tls.h: Likewise.
14195         * lib/glthread/tls.c: Likewise.
14196         * lib/glthread/yield.h: Likewise.
14197         * lib/regex_internal.h: Likewise.
14198         * tests/test-thread_create.c: Likewise.
14199         * tests/test-lock.c: Likewise.
14200         * tests/test-cond.c: Likewise.
14201         * tests/test-tls.c: Likewise.
14203 2019-07-05  Bruno Haible  <bruno@clisp.org>
14205         getcwd-lgpl, getcwd: Don't call realloc when it is pointless.
14206         * lib/getcwd-lgpl.c (rpl_getcwd): Don't call realloc if the result's
14207         needed size is equal to the allocated size.
14208         * lib/getcwd.c (__getcwd): Likewise.
14210 2019-07-05  Bruno Haible  <bruno@clisp.org>
14212         xgetdomainname: Don't return an excessive memory allocation.
14213         * lib/xgetdomainname.c (xgetdomainname): Shrink the domainname buffer
14214         before returning it.
14216 2019-07-05  Bruno Haible  <bruno@clisp.org>
14218         xgethostname: Don't return an excessive memory allocation.
14219         * lib/xgethostname.c (xgethostname): Shrink the hostname buffer before
14220         returning it.
14222 2019-07-05  Bruno Haible  <bruno@clisp.org>
14224         areadlinkat-with-size: Don't return an excessive memory allocation.
14225         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Shrink the buffer
14226         before returning it.
14228 2019-07-05  Bruno Haible  <bruno@clisp.org>
14230         areadlink-with-size: Don't return an excessive memory allocation.
14231         Reported by Andreas Dilger <adilger@whamcloud.com>.
14232         * lib/areadlink-with-size.c (areadlink_with_size): Shrink the buffer
14233         before returning it.
14235 2019-07-03  Bruno Haible  <bruno@clisp.org>
14237         renameatu: Fix test failure on MSVC.
14238         * lib/at-func2.c (at_func2): Fail with ENOENT if file1 or file2 is the
14239         empty string.
14241 2019-07-03  Bruno Haible  <bruno@clisp.org>
14243         mbrtowc: Fix invalid use of mbtowc() on MSVC.
14244         * lib/mbrtowc.c: Include glthread/lock.h.
14245         (mbtowc_lock): New variable.
14246         (mbrtowc): Treat UTF-8 encoding without locking. For the other
14247         encodings, explicitly reset the internal state of mbtowc, and protect
14248         this through a lock.
14249         * modules/mbrtowc (Depends-on): Add lock.
14251 2019-07-03  Akim Demaille  <akim@lrde.epita.fr>
14253         argmatch: don't define _ in the header.
14254         Reported by Jim Meyering.
14255         * lib/argmatch.h (N_, _): Don't define.
14256         Use gettext instead.
14257         * lib/argmatch.h (_): Define.
14258         * tests/test-argmatch.c (N_): Define.
14260 2019-07-02  Paul Eggert  <eggert@cs.ucla.edu>
14262         verify: document ‘assume’ better
14263         * lib/verify.h: Reword doc (Bug#36370).
14265 2019-07-02  Bruno Haible  <bruno@clisp.org>
14267         localcharset, nl_langinfo: Fix return value for UTF-8 locales on MSVC.
14268         * lib/localcharset.c (locale_charset): Return "UTF-8" instead of
14269         "CPutf8".
14270         * lib/nl_langinfo.c (ctype_codeset): Likewise.
14272 2019-07-02  Bruno Haible  <bruno@clisp.org>
14274         getcwd: Fix crash when invoked with size = 0 on MSVC.
14275         * lib/getcwd.c: Include msvc-inval.h.
14276         (getcwd_nothrow): New function/macro.
14277         (getcwd_system): New macro.
14278         (__getcwd): Use it instead of getcwd.
14279         * modules/getcwd (Depends-on): Add msvc-inval.
14280         * doc/posix-functions/getcwd.texi: Mention the MSVC issue.
14282 2019-07-02  Bruno Haible  <bruno@clisp.org>
14284         nonblocking-pipe tests: Fix test failure on MSVC.
14285         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE): Set to 10000 on
14286         native Windows.
14288 2019-07-02  Bruno Haible  <bruno@clisp.org>
14290         usleep: Implement with millisecond resolution on native Windows.
14291         * lib/usleep.c (usleep): On native Windows, implement using Sleep().
14292         * doc/pastposix-functions/usleep.texi: Update accordingly.
14294 2019-07-02  Bruno Haible  <bruno@clisp.org>
14296         lstat tests: Fix test failure on MSVC.
14297         * tests/test-lstat.h (test_lstat_func): Don't test SAME_INODE values on
14298         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
14300 2019-07-02  Bruno Haible  <bruno@clisp.org>
14302         stat tests: Fix test failure on MSVC.
14303         * tests/test-stat.h (test_stat_func): Don't test SAME_INODE values on
14304         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
14306 2019-07-02  Bruno Haible  <bruno@clisp.org>
14308         getaddrinfo tests: Fix test failure on MSVC.
14309         * tests/test-getaddrinfo.c: Include sockets.h.
14310         (main): Invoke gl_sockets_startup.
14311         * modules/getaddrinfo-tests (Depends-on): Add sockets.
14313 2019-07-01  Hannes Müller  <h.c.f.mueller@gmx.de>
14315         poll: Fix type of timeout pointer passed to select() on mingw x86_64.
14316         * lib/poll.c: Call Windows native select() with Windows native timeval.
14318 2019-06-30  Bruno Haible  <bruno@clisp.org>
14320         argmatch: Fix compilation errors.
14321         * lib/argmatch.h: Include <limits.h>, for INT_MAX.
14322         * tests/test-argmatch.c (main): Update after last-minute function names
14323         change.
14325 2019-06-30  Bruno Haible  <bruno@clisp.org>
14327         Include <stdlib.h> when needed.
14328         * lib/cnd.c: Include <stdlib.h>, needed for abort().
14329         * lib/fcntl.c: Likewise.
14330         * lib/mbscasestr.c: Likewise.
14331         * lib/mbssep.c: Likewise.
14332         * lib/mbsstr.c: Likewise.
14333         * lib/openat.c: Include <stdlib.h>, needed for free().
14334         * lib/windows-tls.c: Include <stdlib.h>, needed for malloc(), free(),
14335         abort().
14337 2019-06-30  Bruno Haible  <bruno@clisp.org>
14339         Include <stdlib.h> when needed.
14340         * lib/areadlinkat.c: Include <stdlib.h>, needed for free() in at-func.c.
14341         * lib/faccessat.c: Likewise.
14342         * lib/fchmodat.c: Likewise.
14343         * lib/fchownat.c: Likewise.
14344         * lib/fstatat.c: Likewise.
14345         * lib/mkfifoat.c: Likewise.
14346         * lib/mknodat.c: Likewise.
14347         * lib/readlinkat.c: Likewise.
14348         * lib/symlinkat.c: Likewise.
14349         * lib/utimensat.c: Likewise.
14350         * lib/mkdirat.c: Likewise. Include also the specification header.
14352 2019-06-30  Bruno Haible  <bruno@clisp.org>
14354         inet_ntop, inet_pton: Avoid conflict with native Windows functions.
14355         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WS2TCPIP): New macro, extracted
14356         from gl_PREREQ_SYS_H_SOCKET.
14357         (gl_PREREQ_SYS_H_SOCKET): Invoke it.
14358         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Invoke
14359         gl_PREREQ_SYS_H_WS2TCPIP.
14360         * modules/arpa_inet (Files): Add m4/sys_socket_h.m4, m4/socklen.m4.
14361         (Makefile.am): Substitute HAVE_WS2TCPIP_H.
14362         * lib/arpa_inet.in.h: Include <ws2tcpip.h>.
14364 2019-06-30  Bruno Haible  <bruno@clisp.org>
14366         inet_ntop, inet_pton: Forward-compatibility with newer Windows versions.
14367         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): On native Windows, set
14368         REPLACE_INET_NTOP to 1 always.
14369         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): On native Windows, set
14370         REPLACE_INET_PTON to 1 always.
14372 2019-06-30  Bruno Haible  <bruno@clisp.org>
14374         inet_pton: Fix link error on mingw with _WIN32_WINNT >= 0x0600.
14375         * modules/inet_pton (Depends-on, configure.ac): Test REPLACE_INET_PTON,
14376         not REPLACE_INET_NTOP.
14378 2019-06-30  Bruno Haible  <bruno@clisp.org>
14380         poll: Add comment.
14381         * lib/poll.c: Add comment about WSAPoll.
14383 2019-06-30  Bruno Haible  <bruno@clisp.org>
14385         poll-h: Fix compilation error on mingw with _WIN32_WINNT >= 0x0600.
14386         Reported by Hannes Müller <h.c.f.mueller@gmx.de>.
14387         * lib/poll.in.h: Include <winsock2.h>.
14388         (POLL*, pollfd): Override on native Windows.
14389         * m4/poll_h.m4 (gl_POLL_H): Invoke gl_PREREQ_SYS_H_WINSOCK2.
14390         * modules/poll-h (Files): Add m4/sys_socket_h.m4.
14391         (Makefile.am): Substitute HAVE_WINSOCK2_H.
14393 2019-06-28  Bruno Haible  <bruno@clisp.org>
14395         accept4: Fix compilation error on OpenIndiana.
14396         Reported by Michal Nowak <mnowak@startmail.com>
14397         via Mark H Weaver <mhw@netris.org>.
14398         * m4/accept.m4 (gl_FUNC_ACCEPT4): Test whether accept4 is declared, not
14399         whether it exists as a function.
14401 2019-06-26  Paul Eggert  <eggert@cs.ucla.edu>
14403         strverscmp: sync from glibc
14404         * lib/strverscmp.c: Sync from glibc, except use UTF-8 encoding in
14405         comments, include libc-config.h, define __strverscmp to be
14406         strverscmp, and don’t assume types line uint8_t and int8_t that
14407         that C99 doesn’t guarantee.
14408         [!_LIBC]: Include libc-config.h; define __strverscmp.
14409         Include stdint.h.
14410         (__strverscmp): Assume C99.  Use uint_least8_t
14411         and int_least8_t instead of unsigned char and signed char.
14412         * modules/strverscmp (Depends-on): Add libc-config, stdint.
14414 2019-06-25  Bruno Haible  <bruno@clisp.org>
14416         tss tests: Add tests for destructors and races.
14417         * tests/test-tss.c (worker_thread): Fix typo in debug message.
14418         (test_tss_dtorcheck1, test_tss_dtorcheck2, test_tss_racecheck): New
14419         functions.
14420         (main): Invoke them.
14421         * modules/tls-tests (Depends-on): Add mtx.
14423 2019-06-25  Bruno Haible  <bruno@clisp.org>
14425         tls tests: Add tests for destructors and races.
14426         * tests/test-tls.c: Include glthread/lock.h.
14427         (test_tls_dtorcheck1, test_tls_dtorcheck2, test_tls_racecheck): New
14428         functions.
14429         (main): Invoke them.
14430         * modules/tls-tests (Depends-on): Add lock.
14432 2019-06-25  Bruno Haible  <bruno@clisp.org>
14434         windows-tls: Implement TLS key destructors for native Windows.
14435         * lib/windows-tls.h (glwthread_tls_process_destructors): New
14436         declaration.
14437         (GLWTHREAD_DESTRUCTOR_ITERATIONS): New macro.
14438         * lib/windows-tls.c: Include <limits.h>, windows-once.h.
14439         (dtor_table_init_once, dtor_table_lock: New variables.
14440         (struct dtor): New type.
14441         (dtor_table, dtors_count, dtors_used, dtors_allocated,
14442         dtor_processing_threads): New variables.
14443         (dtor_table_initialize, dtor_table_ensure_initialized,
14444         dtor_table_shrink_used, glwthread_tls_process_destructors): New
14445         functions.
14446         (glwthread_tls_key_create, glwthread_tls_key_delete): Rewritten to
14447         handle non-NULL destructors.
14448         * modules/windows-tls (Depends-on): Add windows-once.
14449         * lib/glthread/tls.h (glthread_tls_key_init, glthread_tls_key_destroy):
14450         Use the functions declared in windows-tls.h.
14451         * lib/threads.in.h (TSS_DTOR_ITERATIONS): Define using
14452         GLWTHREAD_DESTRUCTOR_ITERATIONS.
14453         * lib/windows-thread.c: Include windows-tls.h.
14454         (wrapper_func, glwthread_thread_exit): Invoke
14455         glwthread_tls_process_destructors.
14456         * modules/windows-thread (Depends-on): Add windows-tls.
14458 2019-06-25  Bruno Haible  <bruno@clisp.org>
14460         threadlib: Avoid autoconf warning "was expanded before it was required".
14461         * modules/threadlib (configure.ac): Require gl_THREADLIB.
14463 2019-06-25  Akim Demaille  <akim@lrde.epita.fr>
14465         argmatch: remove duplicate const qualifier
14466         * lib/argmatch.h (ARGMATCH_DEFINE_GROUP): Here.
14468 2019-06-24  Paul Eggert  <eggert@cs.ucla.edu>
14470         unistd: stddef.h and sys/types.h namespace cleanup
14471         * lib/unistd.in.h [__GLIBC__]:
14472         Do not include stddef.h or sys/types.h.
14473         [!__GLIBC__]: Always include sys/types.h, since unistd.h is
14474         supposed to declare off_t and ssize_t.  Problem found when looking
14475         at why @GNULIB_PWRITE@ was different from the newly-added
14476         @GNULIB_COPY_FILE_RANGE@ with respect to ssize_t.
14478 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
14480         maintainer-makefile: restore portability to non-GNU awks
14481         Reported by Tim Rühsen.
14482         * top/maint.mk (AWK): New variable.  Use it.
14483         (sc_prohibit_gnu_make_extensions): Skip if $(AWK) is not gawk.
14485 2019-06-23  Paul Eggert  <eggert@cs.ucla.edu>
14487         Document setvbuf _IOLBF problem
14488         * doc/posix-functions/setvbuf.texi (setvbuf):
14489         Document MS-Windows portability problem with _IOLBF.
14491         Document lseek SEEK_DATA/SEEK_HOLE
14492         * doc/posix-functions/lseek.texi (lseek):
14493         Document some systems that do not support SEEK_DATA and SEEK_HOLE.
14495 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
14497         argmatch: put all the docs member last.
14498         Reported by Bruno Haible.
14499         * lib/argmatch.h (argmatch_##Name##_group_type): Put the args
14500         member before the docs done.
14501         * doc/argmatch.texi, tests/test-argmatch.c: Adjust.
14503 2019-06-21  Akim Demaille  <akim@lrde.epita.fr>
14505         argmatch: add support to generate the usage message.
14506         * lib/argmatch.c: Move some #includes and gettext support to...
14507         * lib/argmatch.h: here.
14508         (ARGMATCH_DEFINE_GROUP): New macro.
14509         * tests/test-argmatch.c (argmatch_backup_docs, argmatch_backup_args)
14510         (argmatch_backup_group): New.
14511         (CHECK): New.
14512         (main): Check argmatch_backup_value, argmatch_backup_xvalue,
14513         argmatch_backup_argument and argmatch_backup_usage.
14514         * modules/argmatch: We depend on c99.
14515         * doc/argmatch.texi (Recognizing Option Arguments): New.
14516         * doc/gnulib.texi: Use it.
14518 2019-06-21  Bruno Haible  <bruno@clisp.org>
14520         thrd: Add comment.
14521         * lib/thrd.c (pthread_main_func): Add comment.
14523 2019-06-21  Bruno Haible  <bruno@clisp.org>
14525         threads-h: Define 'thread_local' if and only if it actually works.
14526         * m4/threads.m4 (gl_THREAD_LOCAL_DEFINITION): New macro.
14527         (gl_THREADS_H): Define _Thread_local to __thread also for ARM C, IBM C,
14528         Oracle Solaris Studio C. Compile a simple program, to see whether
14529         _Thread_local basically works. Set HAVE_THREAD_LOCAL and LIBTHREADLOCAL.
14530         (gl_THREADS_H_DEFAULTS): Initialize HAVE_THREAD_LOCAL.
14531         * lib/threads.in.h (thread_local): Undefine if it does not work.
14532         * modules/threads-h (Makefile.am): Substitute HAVE_THREAD_LOCAL.
14533         (Link): Mention LIBTHREADLOCAL.
14534         * tests/test-threads.c: Don't check that thread_local is defined.
14535         * tests/test-thread_local.c: New file.
14536         * modules/threads-h-tests (Files): Add it and macros.h.
14537         (Depends-on): Add thrd and stdint.
14538         (configure.ac): Test whether 'alarm' is declared.
14539         (Makefile.am): Arrange to build and link test-thread_local.
14540         * doc/posix-headers/threads.texi: Mention the platforms that don't
14541         support 'thread_local'.
14543 2019-06-20  Bruno Haible  <bruno@clisp.org>
14545         threads-h: Simplify link dependencies.
14546         * m4/threads.m4 (gl_THREADS_H): Bail out if Pth threading is requested.
14547         Don't set LTLIBSTDTHREAD.
14548         * modules/thrd (Link): Simplify accordingly.
14549         * modules/mtx (Link): Likewise.
14550         * modules/cnd (Link): Likewise.
14551         * modules/tss (Link): Likewise.
14552         * modules/threads (Link): Likewise.
14554 2019-06-20  Bruno Haible  <bruno@clisp.org>
14556         threads-h: Fix link error on FreeBSD 11.
14557         * m4/threads.m4 (gl_THREADS_H): When linking with -lstdthreads, link
14558         also with -lpthread.
14560 2019-06-20  Bruno Haible  <bruno@clisp.org>
14562         threadlib: Fix typo (regression from today).
14563         * m4/threadlib.m4 (gl_THREADLIB_BODY): Fix typo in comment marker.
14565 2019-06-20  Bruno Haible  <bruno@clisp.org>
14567         windows-thread, windows-tls: Fix compilation error on 32-bit mingw.
14568         * lib/windows-thread.c: Include <errno.h>.
14569         * lib/windows-tls.c: Likewise.
14571 2019-06-20  Bruno Haible  <bruno@clisp.org>
14573         tss tests: Small improvement.
14574         * tests/test-tss.c (test_tss): Pass a different id to each thread.
14576 2019-06-20  Bruno Haible  <bruno@clisp.org>
14578         threads: New module.
14579         * modules/threads: New file.
14581 2019-06-20  Bruno Haible  <bruno@clisp.org>
14583         tss: Add tests.
14584         * tests/test-tss.c: New file, based on tests/test-tls.c.
14585         * modules/tss-tests: New file.
14587 2019-06-20  Bruno Haible  <bruno@clisp.org>
14589         cnd: Add tests.
14590         * tests/test-cnd.c: New file, based on tests/test-cond.c.
14591         * modules/cnd-tests: New file.
14593 2019-06-20  Bruno Haible  <bruno@clisp.org>
14595         mtx: Add tests.
14596         * tests/test-mtx.c: New file, based on tests/test-lock.c.
14597         * tests/test-call_once.c: New file, based on tests/test-once.c.
14598         * modules/mtx-tests: New file.
14600 2019-06-20  Bruno Haible  <bruno@clisp.org>
14602         thrd: Add tests.
14603         * tests/test-thrd_create.c: New file, based on
14604         tests/test-thread_create.c.
14605         * tests/test-thrd_current.c: New file, based on
14606         tests/test-thread_self.c.
14607         * modules/thrd-tests: New file.
14609 2019-06-20  Bruno Haible  <bruno@clisp.org>
14611         tss: New module.
14612         * lib/tss.c: New file.
14613         * modules/tss: New file.
14614         * doc/posix-functions/tss_create.texi: Mention the new module.
14615         * doc/posix-functions/tss_set.texi: Likewise.
14616         * doc/posix-functions/tss_get.texi: Likewise.
14617         * doc/posix-functions/tss_delete.texi: Likewise.
14619 2019-06-20  Bruno Haible  <bruno@clisp.org>
14621         cnd: New module.
14622         * lib/cnd.c: New file.
14623         * modules/cnd: New file.
14624         * doc/posix-functions/cnd_init.texi: Mention the new module.
14625         * doc/posix-functions/cnd_wait.texi: Likewise.
14626         * doc/posix-functions/cnd_timedwait.texi: Likewise.
14627         * doc/posix-functions/cnd_signal.texi: Likewise.
14628         * doc/posix-functions/cnd_broadcast.texi: Likewise.
14629         * doc/posix-functions/cnd_destroy.texi: Likewise.
14631 2019-06-20  Bruno Haible  <bruno@clisp.org>
14633         mtx: New module.
14634         * lib/mtx.c: New file.
14635         * modules/mtx: New file.
14636         * doc/posix-functions/call_once.texi: Mention the new module.
14637         * doc/posix-functions/mtx_init.texi: Likewise.
14638         * doc/posix-functions/mtx_lock.texi: Likewise.
14639         * doc/posix-functions/mtx_trylock.texi: Likewise.
14640         * doc/posix-functions/mtx_timedlock.texi: Likewise.
14641         * doc/posix-functions/mtx_unlock.texi: Likewise.
14642         * doc/posix-functions/mtx_destroy.texi: Likewise.
14644 2019-06-20  Bruno Haible  <bruno@clisp.org>
14646         thrd: New module.
14647         * lib/thrd.c: New file.
14648         * m4/thrd.m4: New file.
14649         * modules/thrd: New file.
14650         * doc/posix-functions/thrd_current.texi: Mention the new module.
14651         * doc/posix-functions/thrd_detach.texi: Likewise.
14652         * doc/posix-functions/thrd_equal.texi: Likewise.
14653         * doc/posix-functions/thrd_exit.texi: Likewise.
14654         * doc/posix-functions/thrd_sleep.texi: Likewise.
14655         * doc/posix-functions/thrd_yield.texi: Likewise.
14656         * doc/posix-functions/thrd_create.texi: Mention the new module and the
14657         AIX bug.
14658         * doc/posix-functions/thrd_join.texi: Mention the new module and the
14659         AIX and Solaris bugs.
14661 2019-06-20  Bruno Haible  <bruno@clisp.org>
14663         threads-h: Add tests.
14664         * tests/test-threads.c: New file.
14665         * modules/threads-h-tests: New file.
14666         * tests/test-threads-c++.cc: New file.
14667         * modules/threads-h-c++-tests: New file.
14669 2019-06-20  Bruno Haible  <bruno@clisp.org>
14671         threads-h: New module.
14672         * lib/threads.in.h: New file.
14673         * m4/threads.m4: New file.
14674         * m4/yield.m4 (gl_YIELD): Update comment.
14675         * modules/threads-h: New file.
14676         * modules/yields (configure.ac): Use AC_REQUIRE.
14677         * doc/posix-headers/threads.texi: Mention the new module and the AIX
14678         bugs.
14680 2019-06-20  Bruno Haible  <bruno@clisp.org>
14682         windows-thread: New module.
14683         * lib/windows-thread.h: New file, based on lib/glthread/thread.h.
14684         * lib/windows-thread.c: New file, based on lib/glthread/thread.c.
14685         * lib/glthread/thread.h: Include windows-thread.h.
14686         (gl_thread_t): Define using glwthread_thread_t.
14687         (glthread_create): Define using glwthread_thread_create.
14688         (glthread_join): Define using glwthread_thread_join.
14689         (gl_thread_self): Define using glwthread_thread_self.
14690         (gl_thread_exit): Define using glwthread_thread_exit.
14691         (glthread_create_func, glthread_join_func, gl_thread_self_func,
14692         gl_thread_exit_func): Remove declarations.
14693         * lib/glthread/thread.c (self_key): Remove variable.
14694         (do_init_self_key, init_self_key): Remove functions.
14695         (struct gl_thread_struct): Remove type.
14696         (get_current_thread_handle, gl_thread_self_func, wrapper_func,
14697         glthread_create_func, glthread_join_func, gl_thread_exit_func): Remove
14698         functions.
14699         * modules/windows-thread: New file.
14700         * modules/thread (Depends-on): Add windows-thread.
14702 2019-06-20  Bruno Haible  <bruno@clisp.org>
14704         windows-tls: New module.
14705         * lib/windows-tls.h: New file, based on lib/glthread/tls.h.
14706         * lib/windows-tls.c: New file, based on lib/glthread/tls.h.
14707         * lib/glthread/tls.h: Include windows-tls.h.
14708         (gl_tls_key_t): Define using glwthread_tls_key_t.
14709         * modules/windows-tls: New file.
14710         * modules/tls (Depends-on): Add windows-tls.
14712 2019-06-20  Bruno Haible  <bruno@clisp.org>
14714         windows-cond: New module.
14715         * lib/windows-cond.h: New file, based on lib/glthread/cond.h.
14716         * lib/windows-cond.c: New file, based on lib/glthread/cond.c.
14717         * lib/glthread/cond.h: Include windows-cond.h.
14718         (struct gl_waitqueue_link, gl_linked_waitqueue_t): Remove types.
14719         (gl_cond_t): Define using glwthread_cond_t.
14720         (gl_cond_initializer): Define using GLWTHREAD_COND_INIT.
14721         (glthread_cond_init): Define using glwthread_cond_init.
14722         (glthread_cond_wait): Define using glwthread_cond_wait.
14723         (glthread_cond_timedwait): Define using glwthread_cond_timedwait.
14724         (glthread_cond_signal): Define using glwthread_cond_signal.
14725         (glthread_cond_broadcast): Define using glwthread_cond_broadcast.
14726         (glthread_cond_destroy): Define using glwthread_cond_destroy.
14727         (glthread_cond_init_func, glthread_cond_wait_func,
14728         glthread_cond_timedwait_func, glthread_cond_signal_func,
14729         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
14730         declarations.
14731         * lib/glthread/cond.c (gl_waitqueue_t, gl_waitqueue_element): Remove
14732         types.
14733         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
14734         gl_waitqueue_notify_first, gl_waitqueue_notify_all,
14735         glthread_cond_init_func, glthread_cond_wait_func,
14736         glthread_cond_timedwait_func, glthread_cond_signal_func,
14737         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
14738         functions.
14739         * modules/windows-cond: New file.
14740         * modules/cond (Depends-on): Add windows-cond. Remove gettimeofday.
14742 2019-06-20  Bruno Haible  <bruno@clisp.org>
14744         windows-timedrecmutex: New module.
14745         * lib/windows-timedrecmutex.h: New file, based on windows-recmutex.h.
14746         * lib/windows-timedrecmutex.c: New file, based on windows-recmutex.c.
14747         * modules/windows-timedrecmutex: New file.
14749 2019-06-20  Bruno Haible  <bruno@clisp.org>
14751         windows-timedmutex: New module.
14752         * lib/windows-timedmutex.h: New file, based on windows-mutex.h.
14753         * lib/windows-timedmutex.c: New file, based on windows-mutex.c.
14754         * modules/windows-timedmutex: New file.
14756 2019-06-20  Bruno Haible  <bruno@clisp.org>
14758         windows-recmutex: New module.
14759         * lib/windows-recmutex.h: New file, extracted from lib/glthread/lock.h.
14760         * lib/windows-recmutex.c: New file, extracted from lib/glthread/lock.c.
14761         * lib/glthread/lock.h: Include windows-recmutex.h.
14762         (gl_recursive_lock_t): Define using glwthread_recmutex_t.
14763         (gl_recursive_lock_initializer): Define using GLWTHREAD_RECMUTEX_INIT.
14764         (glthread_recursive_lock_init): Define using glwthread_recmutex_init.
14765         (glthread_recursive_lock_lock): Define using glwthread_recmutex_lock.
14766         (glthread_recursive_lock_unlock): Define using
14767         glwthread_recmutex_unlock.
14768         (glthread_recursive_lock_destroy): Define using
14769         glwthread_recmutex_destroy.
14770         (glthread_recursive_lock_init_func, glthread_recursive_lock_lock_func,
14771         glthread_recursive_lock_unlock_func,
14772         glthread_recursive_lock_destroy_func): Remove declarations.
14773         * lib/glthread/lock.c (glthread_recursive_lock_init_func,
14774         glthread_recursive_lock_lock_func, glthread_recursive_lock_unlock_func,
14775         glthread_recursive_lock_destroy_func): Remove functions.
14776         * modules/windows-recmutex: New file.
14777         * modules/lock (Depends-on): Add windows-recmutex.
14779 2019-06-20  Bruno Haible  <bruno@clisp.org>
14781         windows-mutex: New module.
14782         * lib/windows-mutex.h: New file, extracted from lib/glthread/lock.h.
14783         * lib/windows-mutex.c: New file, extracted from lib/glthread/lock.c.
14784         * lib/windows-spinlock.h: New file, extracted from lib/glthread/lock.h.
14785         * lib/glthread/lock.h: Include windows-spinlock.h, windows-mutex.h.
14786         (gl_spinlock_t): Remove type.
14787         (gl_lock_t): Define using glwthread_mutex_t.
14788         (gl_lock_initializer): Define using GLWTHREAD_MUTEX_INIT.
14789         (glthread_lock_init): Define using glwthread_mutex_init.
14790         (glthread_lock_lock): Define using glwthread_mutex_lock.
14791         (glthread_lock_unlock): Define using glwthread_mutex_unlock.
14792         (glthread_lock_destroy): Define using glwthread_mutex_destroy.
14793         (glthread_lock_init_func, glthread_lock_lock_func,
14794         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
14795         declarations.
14796         Use glwthread_spinlock_t instead of gl_spinlock_t.
14797         (gl_rwlock_initializer, gl_recursive_lock_initializer): Define using
14798         GLWTHREAD_SPINLOCK_INIT.
14799         * lib/glthread/lock.c (glthread_lock_init_func, glthread_lock_lock_func,
14800         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
14801         functions.
14802         * lib/glthread/cond.h: Use glwthread_spinlock_t instead of
14803         gl_spinlock_t.
14804         * modules/windows-mutex: New file.
14805         * modules/lock (Depends-on): Add windows-mutex.
14807 2019-06-20  Bruno Haible  <bruno@clisp.org>
14809         windows-once: New module.
14810         * lib/windows-once.h: New file, extracted from lib/glthread/lock.h.
14811         * lib/windows-once.c: New file, extracted from lib/glthread/lock.c.
14812         * lib/glthread/lock.h: Include windows-once.h.
14813         (gl_once_t): Define using glwthread_once_t.
14814         (gl_once_define): Define using GLWTHREAD_ONCE_INIT.
14815         (glthread_once): Define using glwthread_once.
14816         (glthread_once_func): Remove declaration.
14817         * lib/glthread/lock.c (glthread_once_func): Remove function.
14818         * modules/windows-once: New file.
14819         * modules/lock (Depends-on): Add windows-once.
14821 2019-06-20  Bruno Haible  <bruno@clisp.org>
14823         lock, cond: Avoid possible counter wraparound on Windows.
14824         * lib/glthread/lock.c (glthread_lock_lock_func): Leave the 'started'
14825         field of the guard unchanged if it was already positive.
14826         (glthread_rwlock_rdlock_func): Likewise.
14827         (glthread_rwlock_wrlock_func): Likewise.
14828         (glthread_recursive_lock_lock_func): Likewise.
14829         * lib/glthread/cond.c (glthread_cond_wait_func): Likewise.
14830         (glthread_cond_timedwait_func): Likewise.
14832 2019-06-20  Bruno Haible  <bruno@clisp.org>
14834         cond: Make glthread_cond_timedwait more reliable on Windows.
14835         * lib/glthread/cond.c (glthread_cond_timedwait_func): Initialize the
14836         condition variable before looking at the current time.
14838 2019-06-20  Bruno Haible  <bruno@clisp.org>
14840         pthread_mutex_timedlock: New module.
14841         * lib/pthread.in.h (pthread_mutex_timedlock): New dummy function and
14842         new declaration.
14843         * lib/pthread_mutex_timedlock.c: New file.
14844         * m4/pthread_mutex_timedlock.m4: New file.
14845         * m4/pthread.m4 (gl_PTHREAD_CHECK): Don't call AC_LIBOBJ here. Test
14846         whether pthread_mutex_timedlock is declared.
14847         (gl_PTHREAD_MODULE_INDICATOR): New macro.
14848         (gl_PTHREAD_DEFAULTS): Initialize GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
14849         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
14850         * modules/pthread (configure.ac): Call AC_LIBOBJ here.
14851         (Makefile.am): Substitute GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
14852         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
14853         * modules/pthread_mutex_timedlock: New file.
14854         * doc/posix-functions/pthread_mutex_timedlock.texi: Mention the new
14855         module.
14857 2019-06-20  Bruno Haible  <bruno@clisp.org>
14859         thread, lock, cond, tls: Recognize C11 multithreaded applications.
14860         * m4/threadlib.m4 (gl_THREADLIB_BODY): Test for <threads.h>.
14861         * lib/glthread/thread.h (c11_threads_in_use): New macro.
14862         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14863         * lib/glthread/lock.h (c11_threads_in_use): New macro.
14864         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14865         * lib/glthread/cond.h (c11_threads_in_use): New macro.
14866         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14867         * lib/glthread/tls.h (c11_threads_in_use): New macro.
14868         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14870 2019-06-20  Bruno Haible  <bruno@clisp.org>
14872         tls tests: Small improvements.
14873         * tests/test-tls.c: Include <stdint.h>.
14874         (worker_thread): Avoid gcc warning on 64-bit mingw.
14875         (test_tls): Pass a different id to each thread.
14876         * modules/tls-tests (Depends-on): Add stdint.
14878 2019-06-20  Bruno Haible  <bruno@clisp.org>
14880         cond tests: Simplify.
14881         * tests/test-cond.c (test_timedcond): Remove redundant assignment.
14883 2019-06-20  Bruno Haible  <bruno@clisp.org>
14885         lock tests: Avoid reference to undefined variable if !ENABLE_LOCKING.
14886         * tests/test-lock.c (test_once): Don't reference fire_signal if
14887         !ENABLE_LOCKING.
14889 2019-06-19  Bruno Haible  <bruno@clisp.org>
14891         nanosleep: Relicense under LGPLv2+.
14892         Approved by Jim Meyering, Paul Eggert, Eric Blake, Pádraig Brady.
14893         * modules/nanosleep (License): Change to LGPLv2+.
14895 2019-06-19  Bruno Haible  <bruno@clisp.org>
14897         Reorder pieces of header in perl scripts.
14898         The desired order is
14899         - Prologue part 1 (2 lines with #!)
14900         - Program short description
14901         - Copyright and license notice
14902         - Written-by notice
14903         - Program short description (optional)
14904         - Program long description (optional)
14905         - Prologue part 2
14906         - Time stamp
14907         - Code
14908         Reported by Paul Eggert.
14909         * build-aux/announce-gen: Reorder header.
14910         * build-aux/gitlog-to-changelog: Likewise.
14911         * build-aux/useless-if-before-free: Likewise.
14912         * build-aux/prefix-gnulib-mk: Add copyright notice and short
14913         description.
14914         * build-aux/update-copyright: Likewise. Add short description. Bump
14915         time-stamp-line-limit to 200.
14917 2019-06-18  Paul Eggert  <eggert@cs.ucla.edu>
14919         verify-tests: work around xlc bug
14920         Problem reported by Bruno Haible in:
14921         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00049.html
14922         * tests/test-verify.c (item): Move the arithmetic inside the
14923         verify_expr, to avoid tickling a bug in IBM AIX xlc V12.1.
14925 2019-06-16  Bruno Haible  <bruno@clisp.org>
14927         Restore Emacs time-stamp hook applicability.
14928         Reported by Darshit Shah <darnir@gnu.org>.
14929         * build-aux/useless-if-before-free: Bump time-stamp-line-limit to 50.
14930         * build-aux/announce-gen: Likewise.
14931         * build-aux/gitlog-to-changelog: Likewise.
14932         * build-aux/prefix-gnulib-mk: Likewise.
14933         * build-aux/update-copyright: Likewise.
14935 2019-06-15  Bruno Haible  <bruno@clisp.org>
14937         Fix scripts to have valid executable format on Alpine Linux.
14938         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
14939         Idea by Paul Eggert.
14940         * build-aux/useless-if-before-free: Use a prologue that starts with
14941         '#!/bin/sh'.
14942         * build-aux/announce-gen: Likewise.
14943         * build-aux/gitlog-to-changelog: Likewise.
14944         * build-aux/prefix-gnulib-mk: Likewise.
14945         * build-aux/update-copyright: Likewise.
14946         * tests/test-update-copyright.sh: Update test program accordingly.
14948 2019-06-10  Bruno Haible  <bruno@clisp.org>
14950         nproc: Ensure nproc(NPROC_ALL) ≥ nproc(NPROC_CURRENT) with glibc ≥ 2.26.
14951         Reported by Nikita Ermakov <arei@altlinux.org> in
14952         <https://lists.gnu.org/archive/html/bug-gnulib/2019-06/msg00003.html>.
14953         * lib/nproc.c (num_processors_ignoring_omp): Treat a return value of
14954         sysconf (_SC_NPROCESSORS_CONF) == 2 like a return value == 1.
14956 2019-06-10  Bruno Haible  <bruno@clisp.org>
14958         posix_spawn_file_actions_addchdir: Fix possible use-after-free bug.
14959         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
14960         * lib/spawn_faction_addchdir.c (posix_spawn_file_actions_addchdir): Make
14961         a copy of the path argument.
14962         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
14963         it.
14965 2019-06-10  Bruno Haible  <bruno@clisp.org>
14967         posix_spawn_file_actions_addopen: Fix possible use-after-free bug.
14968         Reported at <https://sourceware.org/bugzilla/show_bug.cgi?id=17048>.
14969         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
14970         * lib/spawn_faction_addopen.c (posix_spawn_file_actions_addopen): Make
14971         a copy of the path argument.
14972         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
14973         it.
14975 2019-06-10  Bruno Haible  <bruno@clisp.org>
14977         posix_spawn_file_actions_addfchdir: Add tests.
14978         * tests/test-posix_spawn_file_actions_addfchdir.c: New file.
14979         * tests/test-posix_spawn5.c: New file.
14980         * modules/posix_spawn_file_actions_addfchdir-tests: New file.
14982 2019-06-10  Bruno Haible  <bruno@clisp.org>
14984         posix_spawn_file_actions_addfchdir: New module.
14985         * lib/spawn.in.h (posix_spawn_file_actions_addfchdir): New declaration.
14986         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_fchdir' and
14987         union member 'fchdir_action'.
14988         * lib/spawn_faction_addfchdir.c: New file.
14989         * lib/spawni.c (__spawni): Implement the spawn_do_fchdir action.
14990         * m4/posix_spawn_faction_addfchdir.m4: New file.
14991         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
14992         'posix_spawn_file_actions_addfchdir' is present and whether
14993         posix_spawn_file_actions_addfchdir_np exists. Set REPLACE_POSIX_SPAWN.
14994         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
14995         posix_spawn_file_actions_addfchdir is declared.
14996         (gl_SPAWN_H_DEFAULTS): Initialize
14997         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
14998         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
14999         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
15000         * modules/spawn (Makefile.am): Substitute
15001         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
15002         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
15003         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
15004         * modules/posix_spawn_file_actions_addfchdir: New file.
15005         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addfchdir): Check
15006         signature.
15007         * doc/posix-functions/posix_spawn.texi: Mention the new module.
15008         * doc/posix-functions/posix_spawnp.texi: Likewise.
15009         * doc/glibc-functions/posix_spawn_file_actions_addfchdir_np.texi:
15010         Likewise.
15012 2019-06-10  Bruno Haible  <bruno@clisp.org>
15014         doc: Document existence of posix_spawn_file_actions_addchdir module.
15015         * doc/glibc-functions/posix_spawn_file_actions_addchdir_np.texi: Mention
15016         the posix_spawn_file_actions_addchdir module.
15018 2019-06-10  Bruno Haible  <bruno@clisp.org>
15020         posix_spawn-internal: Fix module description.
15021         * modules/posix_spawn (configure.ac): Move request to compile spawni.c
15022         from here...
15023         * modules/posix_spawnp (configure.ac): ... and here...
15024         * modules/posix_spawn-internal (configure.ac): ... to here.
15026 2019-06-10  Bruno Haible  <bruno@clisp.org>
15028         doc: Update and improve documentation of glibc functions.
15029         This is a series of commits that
15030         - updates the documentation to the state of glibc 2.29,
15031         - adds references to Linux man pages and glibc documentation,
15032         - marks Linux specific functions as such.
15033         These are the commits:
15034         doc: Update after removal of crypt functions from glibc 2.28.
15035         doc: Remove mention of function vm86 (does not exist on x86_64).
15036         doc: Remove mention of functions that are gone from glibc.
15037         doc: Mention that glibc no longer provides h_errno.
15038         doc: Mention the availability of specific functions in glibc versions.
15039         doc: Mention eaccess.
15040         doc: Add references to Linux man pages.
15041         doc: Add references to glibc documentation.
15042         doc: Mention inotify_* functions.
15043         doc: Mention ppoll.
15044         doc: Mention sched_getcpu.
15045         doc: Mention sync_file_range.
15046         doc: Mention epoll_pwait.
15047         doc: Mention eventfd, eventfd_read, eventfd_write.
15048         doc: Mention signalfd.
15049         doc: Mention timerfd_create, timerfd_gettime, timerfd_settime.
15050         doc: Mention epoll_create1.
15051         doc: Mention getauxval.
15052         doc: Mention pthread_getattr_default_np, pthread_setattr_default_np.
15053         doc: Mention nextdown, nextup.
15054         doc: Mention more ISO TS 18661-1 <math.h> functions.
15055         doc: Mention ISO TS 18661-1 <fenv.h> functions.
15056         doc: Mention getrandom, getentropy.
15057         doc: Mention strfromf, strfromd, strfroml.
15058         doc: Mention preadv2, pwritev2.
15059         doc: Mention copy_file_range.
15060         doc: Mention memfd_create.
15061         doc: Mention mlock2.
15062         doc: Mention pkey_alloc, pkey_set, pkey_get, pkey_free, pkey_mprotect.
15063         doc: Mention more ISO TS 18661-1 <math.h> functions.
15064         doc: Mention renameat2.
15065         doc: Mention statx.
15066         doc: Mention the ISO C11 multithreading header and functions.
15067         doc: Mention getcpu.
15068         doc: Mention posix_spawn_file_actions_add[f]chdir_np.
15069         doc: Some glibc functions also exist on IRIX 6.5 in 32-bit mode.
15070         doc: Some glibc functions also exist on FreeBSD, AIX, HP-UX, Solaris 11.
15071         doc: Some glibc functions also exist on FreeBSD, Solaris 11.
15072         doc: Some glibc functions also exist on Solaris 11.
15073         doc: Some glibc functions also exist on Solaris 11.4.
15074         doc: Some glibc functions also exist on FreeBSD.
15075         doc: Some glibc functions also exist on BeOS.
15076         doc: Some glibc functions also exist on Haiku.
15077         doc: Mark functions which exist only on Linux.
15078         doc: Mark functions which exist only on Linux and illumos.
15080 2019-06-06  Paul Eggert  <eggert@cs.ucla.edu>
15082         copy-file: fix typo
15083         * lib/copy-file.c (qcopy_file_preserving): Remove unused label.
15085         copy-file-range: simplify into a stub
15086         Based on a comment by Florian Weimer in:
15087         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00007.html
15088         It turns out that Emacs (which will use this module) won’t need an
15089         emulation and I suspect other programs won’t either, because these
15090         programs will need to fall back on read+write anyway.  Perhaps I
15091         am wrong and other programs will be able to use an emulation; if
15092         so, this patch can be reverted.
15093         * lib/copy-file-range.c (COPY_FILE_RANGE): Replace with a stub.
15094         Just call it copy_file_range.
15095         * m4/copy-file-range.m4 (gl_FUNC_COPY_FILE_RANGE):
15096         Check via AC_LINK_IFELSE.
15097         * modules/copy-file-range (Depends-on): Remove modules no longer used.
15099 2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>
15101         copy-file: prefer copy_file_range
15102         * lib/copy-file.c: Do not include xalloc.h.
15103         (qcopy_file_preserving): Allocate a buffer only if
15104         copy_file_range does not suffice.  If the allocation fails
15105         don't give up; just use a small stack-based buffer.
15106         Prefer copy_file_range if it works.
15107         * modules/copy-file (Depends-on): Add copy-file-range.
15108         Remove xalloc.
15110         copy-file-range: new module
15111         * MODULES.html.sh: Add copy-file-range.
15112         * lib/copy-file-range.c, m4/copy-file-range.m4:
15113         * modules/copy-file-range: New files.
15114         * lib/unistd.in.h (copy_file_range): Declare.
15115         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS):
15116         Set up GNULIB_COPY_FILE_RANGE and HAVE_COPY_FILE_RANGE.
15117         * modules/unistd (unistd.h): Substitute them.
15119 2019-05-28  Bruno Haible  <bruno@clisp.org>
15121         binary-io: Attempted use of O_BINARY on consoles no longer fails.
15122         Reported by KO Myung-Hun <komh78@gmail.com> in
15123         <https://lists.gnu.org/archive/html/bug-gnulib/2019-05/msg00124.html>.
15124         * lib/binary-io.h (__gl_setmode_check): Remove function.
15125         (set_binary_mode): Declare as notinline on DJGPP and EMX.
15126         * lib/binary-io.c (__gl_setmode_check): Remove function.
15127         (set_binary_mode): Define here on DJGPP and EMX. Inline
15128         __gl_setmode_check. In case of a tty, don't return an error code.
15130 2019-05-28  James Youngman  <jay@gnu.org>
15132         dirent-safer: Make opendir_safer usable from C++.
15133         * lib/dirent-safer.h: use extern "C".
15135 2019-05-28  James Youngman  <jay@gnu.org>
15137         canonicalize: Make canonicalize_filename_mode usable from C++.
15138         * lib/canonicalize.h: use extern "C".
15140 2019-05-26  Akim Demaille  <akim@lrde.epita.fr>
15142         prefix-gnulib-mk: Fix CPPFLAGS migration.
15143         * build-aux/prefix-gnulib-mk (prefix_assignment): Don't forget the
15144         _a part of the library name.
15146 2019-05-24  Paul Eggert  <eggert@cs.ucla.edu>
15148         flexmember: update comments again
15149         * lib/flexmember.h, m4/flexmember.m4: Improve comments further.
15151         flexmember: update comment
15152         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): Improve comment.
15154 2019-05-20  Bruno Haible  <bruno@clisp.org>
15156         setlocale: Improve fallback on macOS.
15157         * lib/setlocale.c (search): Optimize away a redundant strcmp()
15158         invocation.
15159         (locales_with_principal_territory): New array.
15160         (langcmp, get_main_locale_with_same_language): New functions.
15161         (locales_with_principal_language): New array.
15162         (terrcmp, get_main_locale_with_same_territory): New functions.
15163         (rpl_setlocale): When setlocale_single failed, try again with a locale
15164         that is more likely to exist. Don't warn if the environment variable
15165         SETLOCALE_VERBOSE is not set.
15167 2019-05-19  Bruno Haible  <bruno@clisp.org>
15169         localename: Fix default on macOS.
15170         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Don't test for CFLocaleCopyCurrent.
15171         * lib/localename.c: Remove includes for HAVE_CFLOCALECOPYCURRENT.
15172         (gl_locale_name_environ, gl_locale_name_default): Remove code for
15173         HAVE_CFLOCALECOPYCURRENT.
15174         * lib/localename.h (gl_locale_name_default): Update.
15176 2019-05-19  Karl Berry  <karl@freefriends.org>
15178         * config/srclistvars.sh (TEXINFOTEX): make ftp.gnu.org be the
15179         source for texinfo.tex, replacing TEXINFOSRC, per Texinfo maintainer.
15180         * config/srclist.txt (texinfo.tex): use it. (Also doc changes.)
15182 2019-05-18  Akim Demaille  <akim@lrde.epita.fr>
15184         maintainer-makefile: catch uses of $< in non-implicit rules
15185         * top/maint.mk (sc_prohibit_magic_number_exit): New.
15187 2019-05-18  Bruno Haible  <bruno@clisp.org>
15189         threadlib: Provide an easy way to avoid mingw's winpthreads library.
15190         * m4/threadlib.m4 (gl_AVOID_WINPTHREAD): New macro.
15191         (gl_THREADLIB_EARLY_BODY): Recognize when it was invoked, and set
15192         gl_use_threads accordingly.
15194 2019-05-18  Bruno Haible  <bruno@clisp.org>
15196         pthread_sigmask: Fix compilation error with --enable-threads=windows.
15197         Reported by Tim Rühsen in
15198         <https://lists.gnu.org/archive/html/bug-gnulib/2018-01/msg00018.html>
15199         and Michele Locati in
15200         <https://lists.gnu.org/archive/html/bug-gettext/2019-04/msg00057.html>.
15201         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Revert change from
15202         2015-06-01. Test whether pthread_sigmask is a macro, regardless of
15203         $LIBMULTITHREAD. Consider it regardless whether module 'threadlib' is
15204         in use and regardless which threads API is chosen.
15206 2019-05-14  Paul Eggert  <eggert@cs.ucla.edu>
15208         close-stream, closein, closeout: simplify
15209         I noticed this opportunity for simplification while drafting a
15210         new, related module that I haven’t had time to finish yet.
15211         * m4/close-stream.m4, m4/closein.m4, m4/closeout.m4: Remove.
15212         * modules/close-stream (Files): Remove m4/close-stream.m4.
15213         (configure.ac): Omit gl_CLOSE_STREAM.
15214         * modules/closein (Files): Remove m4/closein.m4
15215         (configure.ac): Omit gl_CLOSEIN.
15216         * modules/closeout (Files): Remove m4/closeout.m4.
15217         (configure.ac): Omit gl_CLOSEOUT.
15219 2019-05-12  Bruno Haible  <bruno@clisp.org>
15221         libtool-next-version: New program.
15222         * build-aux/libtool-next-version: New file.
15224 2019-05-11  John Darrington  <john@darrington.wattle.id.au>
15225             Bruno Haible  <bruno@clisp.org>
15227         version-etc: Ease translation.
15228         * lib/version-etc.c (version_etc_arn, emit_bug_reporting_address): Move
15229         URLs and formatting newlines out of translatable string.
15231 2019-05-11  Bruno Haible  <bruno@clisp.org>
15233         gnupload: Explain how to create symlinks.
15234         * build-aux/gnupload (usage): Add an example that creates symlinks.
15236 2019-05-11  Paul Eggert  <eggert@cs.ucla.edu>
15238         fpucw: port to gcc -pedantic
15239         * lib/fpucw.h (GET_FPUCW, SET_FPUCW):
15240         Use __extension__ if using ({ ... }).
15242         crypto/af_alg: port to strict C compilers
15243         * lib/af_alg.c: Include af_alg.h regardless, so that the
15244         compilation unit is nonempty.
15246 2019-05-10  Bruno Haible  <bruno@clisp.org>
15248         base64: Avoid false positive warning from Coverity.
15249         Reported by Kamil Dudka <kdudka@redhat.com>.
15250         Idea by Paul Eggert.
15251         * lib/base64.c (base64_encode_fast, base64_encode): Add a no-op
15252         '& 0x3f' to the array index expressions. This convinces Coverity that
15253         there is no out-of-bounds array reference, regardless of the input.
15255 2019-05-09  Bruno Haible  <bruno@clisp.org>
15257         gettext: Update to gettext 0.20.
15258         * modules/gettext (Files): Remove m4/codeset.m4, m4/fcntl-o.m4,
15259         m4/glibc2.m4, m4/glibc21.m4, m4/intdiv0.m4, m4/intl.m4, m4/intldir.m4,
15260         m4/intmax.m4, m4/inttypes_h.m4, m4/inttypes-pri.m4, m4/lcmessage.m4,
15261         m4/lock.m4, m4/longlong.m4, m4/printf-posix.m4, m4/size_max.m4,
15262         m4/stdint_h.m4, m4/threadlib.m4, m4/uintmax_t.m4, m4/visibility.m4,
15263         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4. Add m4/host-cpu-c-abi.m4.
15264         (configure.ac): Request infrastructure compatible with gettext 0.20.
15265         * m4/glibc2.m4: Remove file.
15266         * m4/intdiv0.m4: Remove file.
15267         * m4/intl.m4: Remove file.
15268         * m4/intldir.m4: Remove file.
15269         * m4/intmax.m4: Remove file.
15270         * m4/printf-posix.m4: Remove file.
15271         * m4/uintmax_t.m4: Remove file.
15272         * m4/gettext.m4: Update from gettext 0.20.
15273         * m4/po.m4: Likewise.
15275 2019-05-09  Paul Eggert  <eggert@cs.ucla.edu>
15277         verify: remove verify_true
15278         * NEWS: Mention this.
15279         * lib/verify.h (verify_true): Remove.
15280         * tests/test-verify.c (item): Test verify_expr, not verify_true.
15282         Support C2X and C++17 static_assert
15283         C2X and C++17 finally added support for a simple, single-argument
15284         ‘static_assert’ that implements what the Gnulib ‘verify’ macro was
15285         doing back in 2005.  Implement static_assert on older platforms.
15286         The only remaining advantage of ‘verify’ is a shorter name.
15287         * doc/posix-headers/assert.texi (assert.h):
15288         * doc/verify.texi (Compile-time Assertions):
15289         Modernize for C2X and C++17.
15290         * lib/verify.h (_GL_HAVE__STATIC_ASSERT1, _GL_HAVE_STATIC_ASSERT1):
15291         New macros.
15292         (_GL_HAVE__STATIC_ASSERT): Remove.
15293         (_GL_HAVE__STATIC_ASSERT): Rely more heavily on __STDC_VERSION__.
15294         (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE): Remove 2nd arg, the diagnostic
15295         string.  All callers changed.
15296         (_GL_VERIFY): Require 3 or more args, of which only the first 2
15297         are used.  All callers changed.
15298         (_Static_assert): Allow either 1 or 2 args, and define if
15299         !_GL_HAVE__STATIC_ASSERT1 instead of defining if
15300         !_GL_HAVE__STATIC_ASSERT.
15301         (static_assert): Define if !_GL_HAVE_STATIC_ASSERT1 instead
15302         of defining if !_GL_HAVE_STATIC_ASSERT.
15303         (verify_expr, verify): Don’t bother trying to copy the expression
15304         into the diagnostic, since 1-argument static_assert doesn’t.
15305         (verify): Prefer 1-argument _Static_assert if it works.
15306         * m4/assert_h.m4 (gl_ASSERT_H): Check for 1-argument static_assert.
15308 2019-05-08  Paul Eggert  <eggert@cs.ucla.edu>
15310         Fix _GL_HAVE__STATIC_ASSERT typo
15311         * lib/verify.h (_Static_assert): For the FreeBSD workaround,
15312         use _GL_HAVE__STATIC_ASSERT, not _GL_HAVE_STATIC_ASSERT.
15314 2019-05-05  Bruno Haible  <bruno@clisp.org>
15316         wcwidth: Ensure width 1, not 2, for ambiguous characters.
15317         Reported by Kiyoshi KANAZAWA <yoi_no_myoujou@yahoo.co.jp>
15318         via Akim Demaille <akim.demaille@gmail.com>.
15319         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the width of U+2202. Use an
15320         en_US.UTF-8 locale, since that is more likely to be present than an
15321         fr_FR.UTF-8 locale.
15322         * tests/test-wcwidth.c (main): Check the width of U+2202.
15323         * doc/posix-functions/wcwidth.texi: Mention the issue.
15325 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
15327         Port manywarnings to GCC 9
15328         * build-aux/gcc-warning.spec: Sort.  Add -Wattribute-alias,
15329         -Wc11-c2x-compat, -Wcast-result (for the D programming language),
15330         -Wclass-conversion, -Wdeprecated-copy, -Wdeprecated-copy-dtor,
15331         -Winit-list-lifetime, -Wpessimizing-move, -Wprio-ctor-dtor,
15332         -Wredundant-move.  Adjust to minor wording changes in GCC 9’s
15333         --help=warnings output.
15334         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wabsolute-value,
15335         -Waddress-of-packed-member, -Wattribute-warning, -Wcannot-profile,
15336         -Wmissing-profile.  Change -Wattribute-alias to -Wattribute-alias=2.
15338 2019-04-30  Paul Eggert  <eggert@cs.ucla.edu>
15340         Sync lib/mktime-internal.h from glibc
15341         * config/srclist.txt: Add entry for lib/mktime-internal.h.
15342         * lib/mktime-internal.h: Autoupdate.
15344 2019-04-28  Bruno Haible  <bruno@clisp.org>
15346         tls tests: Prevent that the test takes too long.
15347         * tests/test-tls.c: Include <signal.h>, <unistd.h>.
15348         (main): Let the test fail if it takes more than 10 minutes.
15349         * modules/tls-tests (configure.ac): Test whether 'alarm' is declared.
15351 2019-04-27  Bruno Haible  <bruno@clisp.org>
15353         lock tests: Prevent that the test takes too long.
15354         * tests/test-lock.c: Include <signal.h>, <unistd.h>.
15355         (main): Let the test fail if it takes more than 10 minutes.
15356         * modules/lock-tests (configure.ac): Test whether 'alarm' is declared.
15358 2019-04-27  Bruno Haible  <bruno@clisp.org>
15360         localename: Fix crash on mingw (regression from 2018-11-23).
15361         * lib/localename.c (gl_locale_name_posix): Don't attempt to convert a
15362         locale name that is null.
15364 2019-04-27  Bruno Haible  <bruno@clisp.org>
15366         Fix gcc warnings on 64-bit mode mingw.
15367         * lib/clean-temp.c: Include <stdint.h> instead of defining uintptr_t.
15368         * lib/gl_array_list.c: Likewise.
15369         * lib/gl_array_map.c: Likewise.
15370         * lib/gl_array_set.c: Likewise.
15371         * lib/gl_carray_list.c: Likewise.
15372         * lib/gl_sublist.c: Likewise.
15373         * lib/gl_avltreehash_list.c (uintptr_t): Remove definition.
15374         * lib/gl_rbtreehash_list.c (uintptr_t): Likewise.
15375         * lib/gl_hash_map.c (uintptr_t): Likewise.
15376         * lib/gl_hash_set.c (uintptr_t): Likewise.
15377         * lib/gl_linkedhash_list.c (uintptr_t): Likewise.
15378         * lib/gl_linkedhash_map.c (uintptr_t): Likewise.
15379         * lib/gl_linkedhash_set.c (uintptr_t): Likewise.
15380         * lib/iconv.c (uintptr_t): Likewise.
15381         * lib/iconv_close.c (uintptr_t): Likewise.
15382         * tests/test-lock.c: Include <stdint.h>.
15383         (once_contender_thread, test_once): Cast through 'intptr_t' instead of
15384         'long'.
15385         * modules/clean-temp (Depends-on): Add stdint.
15386         * modules/array-list (Depends-on): Likewise.
15387         * modules/array-map (Depends-on): Likewise.
15388         * modules/array-set (Depends-on): Likewise.
15389         * modules/carray-list (Depends-on): Likewise.
15390         * modules/sublist (Depends-on): Likewise.
15391         * modules/lock-tests (Depends-on): Likewise.
15393 2019-04-27  Bruno Haible  <bruno@clisp.org>
15395         error: Tweak indentation.
15396         * lib/error.c: Correct indentation.
15398 2019-04-27  Bruno Haible  <bruno@clisp.org>
15400         term-style-control: Fix gcc warning on mingw.
15401         * lib/term-style-control.c (ensure_other_signal_handlers): Reduce scope
15402         of i.
15404 2019-04-26  Bruno Haible  <bruno@clisp.org>
15406         pipe-filter-gi, pipe-filter-ii: Fix gcc warning.
15407         * lib/pipe-filter-aux.h (read): Undefine before redefinition.
15409 2019-04-26  Bruno Haible  <bruno@clisp.org>
15411         relocatable-prog: Fix gcc warning on mingw.
15412         * lib/progreloc.c (maybe_executable): Don't define on native Windows and
15413         on EMX.
15415 2019-04-02  Bruno Haible  <bruno@clisp.org>
15417         gitsub.sh: New file.
15418         * top/gitsub.sh: New file.
15420 2019-04-18  Akim Demaille  <akim@lrde.epita.fr>
15422         argmatch: use void* for raw memory pointers
15423         * lib/argmatch.h, lib/argmatch.c (argmatch, argmatch_valid)
15424         (__xargmatch_internal, argmatch_to_argument): Use void* for pointers
15425         to "values", keep char* for strings.
15427 2019-04-21  Akim Demaille  <akim@lrde.epita.fr>
15429         prefix-gnulib-mk: fix the support for gnulib-po
15430         * build-aux/prefix-gnulib-mk (prefix_assignment): Remove useless $res.
15431         Don't touch HAVE_* variables.
15432         Map AM_CPPFLAGS and AM_CPPFLAGS to the library's corresponding variables.
15434 2019-04-18  Bernhard Voelker  <mail@bernhard-voelker.de>
15436         di-set: allow free with 'ino_map' being NULL.
15437         * lib/di-set.c (di_set_free): Avoid ino_map_free() when dis->ino_map
15438         is NULL.  Bug introduced in commit 3703dbbe88dd.
15439         * tests/test-di-set.c: Add di_set_free() right after di_set_alloc()
15440         as a test.
15442 2019-04-14  Paul Eggert  <eggert@cs.ucla.edu>
15444         * lib/str-two-way.h: Fix comment typo.
15446 2019-04-13  Bruno Haible  <bruno@clisp.org>
15448         x-to-1: Restore ability to use original calling convention.
15449         * build-aux/x-to-1.in: Add comments. Accept the original form of
15450         HELP2MAN argument as well as the form expected since 2012-12-12.
15452 2019-04-13  Bruno Haible  <bruno@clisp.org>
15454         x-to-1: Avoid failure due to missing perl modules.
15455         * build-aux/x-to-1.in: Test whether all the perl modules that help2man
15456         needs are installed.
15458 2019-04-13  Bruno Haible  <bruno@clisp.org>
15460         openmp-init: New module.
15461         * modules/openmp-init: New file.
15462         * modules/openmp: (Files, Depends-on, configure.ac, Makefile.am): Revert
15463         the changes from 2019-04-09.
15465 2019-04-12  Bruno Haible  <bruno@clisp.org>
15467         signbit: Fix compilation error when gnulib's math.h exists twice.
15468         * lib/math.in.h (GNULIB_defined_signbit): New macro.
15470 2019-04-12  Bruno Haible  <bruno@clisp.org>
15472         openmp: Fix compilation error on platforms without OpenMP.
15473         * lib/omp-init.c: Include <omp.h> only if _OPENMP.
15475 2019-04-09  Bernhard Voelker  <mail@bernhard-voelker.de>
15477         mountlist: make parsing /proc/self/mountinfo more robust
15478         Cater for the following issues with mountinfo parsing (the first
15479         one was reported by Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
15480         in <https://bugs.gnu.org/35137>).
15481         1. The fields source, target, mntroot and fstype may contain characters
15482         like '\r'; sscanf(3) fails to read such values with the %s format
15483         specifier because it would stop at such characters.
15484         Example: "mount -t tmpfs tmpfs /foo^Mbar".
15485         The only true separator in that file is the ' ' character.
15486         2. The source field may be an empty string, which happens e.g. with
15487         "mount -t tmpfs '' /target".
15488         3. The fstype field may contain mangled characters as well which need
15489         unescaping.
15490         * lib/mountlist.c (terminate_at_blank): Add utility function.
15491         (read_file_system_list): In the block trying to read the mountinfo file,
15492         avoid using sscanf(3) with %s format; instead, parse the above fields
15493         separated by spaces one by one.
15494         This also handles the case when the source field is an empty string.
15495         Unescape the fstype field.
15497 2019-04-09  Bruno Haible  <bruno@clisp.org>
15499         openmp: Add workaround for 32-bit programs on AIX.
15500         * lib/omp.in.h: New file.
15501         * lib/omp-init.c: New file, based on lib/nproc.c.
15502         * m4/omp_h.m4: New file.
15503         * modules/openmp (Files): Add them.
15504         (Depends-on): Add include_next, c-ctype, setenv.
15505         (configure.ac): Invoke gl_OMP_H.
15506         (Makefile.am): Add rules to create omp.h and compile omp-init.c.
15507         (Include): Mention <omp.h>.
15509 2019-04-09  Bruno Haible  <bruno@clisp.org>
15511         nproc: Fix return value for privileged processes.
15512         * lib/nproc.c (num_processors_ignoring_omp): Test getuid(), not
15513         getpid().
15515 2019-04-07  Bruno Haible  <bruno@clisp.org>
15517         Add copyright notices in several files.
15518         Reported by <ineiev@gnu.org> in <https://savannah.gnu.org/bugs/?54809>.
15519         * lib/_Noreturn.h: Add LGPLv2+ copyright notice.
15520         * lib/libunistring.valgrind: Likewise.
15521         * lib/iconv_open-*.gperf: Add GPLv2+ copyright notice.
15522         * lib/uniname/gen-uninames.lisp: Add GPLv3+ copyright notice.
15523         * lib/memchr.valgrind: Likewise.
15524         * lib/memchr2.valgrind: Likewise.
15525         * lib/rawmemchr.valgrind: Likewise.
15526         * lib/relocatable.valgrind: Likewise.
15527         * lib/strchrnul.valgrind: Likewise.
15529 2019-03-25  Bruno Haible  <bruno@clisp.org>
15531         term-style-control tests: Fix link error.
15532         Reported by Tom G. Christensen in
15533         <https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00108.html>.
15534         * modules/term-style-control-tests (Makefile.am): Link
15535         test-term-style-control-hello and test-term-style-control-yes against
15536         LIBINTL.
15538 2019-03-24  Bruno Haible  <bruno@clisp.org>
15540         term-style-control: Add tests.
15541         * tests/test-term-style-control-hello.c: New file.
15542         * tests/test-term-style-control-yes.c: New file.
15543         * modules/term-style-control-tests: New file.
15545         term-style-control: New module.
15546         * lib/term-style-control.h: New file, based on libtextstyle's
15547         term-ostream.oo.h and term-ostream.oo.c.
15548         * lib/term-style-control.c: New file, based on libtextstyle's
15549         term-ostream.oo.c.
15550         * modules/term-style-control: New file.
15552 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
15554         _Noreturn: beware of C's _Noreturn in C++ pre C++11.
15555         * lib/_Noreturn.h, m4/gnulib-common.m4: Using C's _Noreturn in
15556         C++98 appears to be supported by Clang, but not by GCC nor ICC.
15558 2019-03-23  Bruno Haible  <bruno@clisp.org>
15560         Support cross-compilation to musl libc.
15561         Reported by Necktwi Ozfguah <necktwi@ferryfair.com>.
15562         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Add cross-compilation guesses for
15563         musl libc.
15564         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
15565         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
15566         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
15567         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
15568         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
15569         * m4/chown.m4 (gl_FUNC_CHOWN): Likewise.
15570         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
15571         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
15572         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
15573         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
15574         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
15575         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
15576         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
15577         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
15578         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
15579         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
15580         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
15581         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
15582         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
15583         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
15584         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
15585         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
15586         * m4/getgroups.m4 (AC_FUNC_GETGROUPS, gl_FUNC_GETGROUPS): Likewise.
15587         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
15588         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
15589         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
15590         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
15591         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
15592         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Likewise.
15593         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
15594         * m4/log.m4 (gl_FUNC_LOG): Likewise.
15595         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
15596         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
15597         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
15598         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
15599         * m4/log10l.m4 (gl_FUNC_LOG10L): Likewise.
15600         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
15601         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
15602         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
15603         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
15604         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
15605         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Likewise.
15606         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
15607         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
15608         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
15609         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
15610         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
15611         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
15612         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_INFINITE,
15613         gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_A,
15614         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO, gl_SNPRINTF_TRUNCATION_C99,
15615         gl_SNPRINTF_RETVAL_C99, gl_SNPRINTF_DIRECTIVE_N,
15616         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
15617         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
15618         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
15619         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
15620         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
15621         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
15622         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
15623         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
15624         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
15625         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
15626         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
15627         * m4/setenv.m4 (gl_FUNC_SETENV): Likewise.
15628         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
15629         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
15630         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
15631         * m4/strerror.m4 (gl_FUNC_STRERROR, gl_FUNC_STRERROR_0): Likewise.
15632         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
15633         * m4/strtold.m4 (gl_FUNC_STRTOLD): Likewise.
15634         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
15635         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
15636         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
15637         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
15638         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
15639         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
15640         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
15641         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
15643 2019-03-23  Bruno Haible  <bruno@clisp.org>
15645         posix_spawn_file_actions_*: Document musl libc bugs.
15646         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
15647         the bug.
15648         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Likewise.
15649         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Likewise.
15650         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): When
15651         cross-compiling to a musl system, guess no.
15652         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): Likewise.
15653         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
15655 2019-03-23  Bruno Haible  <bruno@clisp.org>
15657         futimens: Document musl libc bug.
15658         * doc/posix-functions/futimens.texi: Mention the bug.
15659         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Require AC_CANONICAL_HOST. When
15660         cross-compiling, guess no on glibc and musl systems.
15662 2019-03-23  Bruno Haible  <bruno@clisp.org>
15664         Clarify that cross-compilation guesses are guesses.
15665         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): When cross-compiling, add
15666         prefix 'guessing ' to gl_cv_func_chown_follows_symlink.
15667         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): When cross-compiling, add
15668         prefix 'guessing ' to gl_cv_func_fchownat_nofollow_works.
15669         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): When
15670         cross-compiling, add prefix 'guessing ' to gl_cv_func_getcwd_abort_bug.
15671         * m4/glob.m4 (gl_GLOB): When cross-compiling, add prefix 'guessing ' to
15672         gl_cv_glob_lists_symlinks.
15673         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): When cross-compiling, add prefix
15674         'guessing ' to ac_cv_func_malloc_0_nonnull.
15675         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): When cross-compiling, add prefix
15676         'guessing ' to ac_cv_func_realloc_0_nonnull.
15677         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, add prefix
15678         'guessing ' to gl_cv_func_poll.
15679         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): When cross-
15680         compiling, add prefix 'guessing ' to gl_cv_func_iconv_supports_utf.
15681         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Update accordingly.
15683 2019-03-23  Bruno Haible  <bruno@clisp.org>
15685         strtold: Fix typo.
15686         * m4/strtold.m4 (gl_FUNC_STRTOLD): Fix typo in variable name.
15688 2019-03-23  Bruno Haible  <bruno@clisp.org>
15690         noreturn: In C++ mode with clang, use _Noreturn as fallback.
15691         Reported by Akim Demaille.
15692         * lib/noreturn.h (_GL_NORETURN_FUNC): In C++ mode with clang, when
15693         [[noreturn]] would not work, use _Noreturn instead.
15695 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
15697         libtextstyle-optional: Fix compiler warnings.
15698         * lib/textstyle.in.h (html_styled_ostream_create): Flag arguments
15699         as unused.
15701 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
15703         bitset: fix memory leaks
15704         Reported by Bruno Haible.
15705         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00027.html
15706         * lib/bitset/vector.c (vbitset_free): New.
15707         (vbitset_vtable): Use it.
15709 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
15711         bitset: minor changes
15712         * lib/bitset/base.h (bitset_alloc_type): Remove, unused.
15713         * lib/bitset/table.c: Formatting changes.
15714         Remove useless braces.
15715         Prefer using else in cascades of if/else-if with returns.
15716         * lib/bitset/vector.c: Reduce scopes.
15718 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
15720         bitset: expose bitset_resize
15721         * lib/bitset.h (bitset_resize): Bounce on the polymorphic implementation.
15722         * tests/test-bitset.c (check_attributes): Check bitset_resize.
15723         (main): Use a variable bitset as reference, since fixed does not support resize.
15725 2019-03-19  Bruno Haible  <bruno@clisp.org>
15727         doc: Document the 'stdnoreturn' and 'noreturn' modules.
15728         Reported by Akim Demaille.
15729         * doc/noreturn.texi: New file.
15730         * doc/gnulib.texi: Include it.
15732 2019-03-19  Bruno Haible  <bruno@clisp.org>
15734         doc: Document how to use 'static inline'.
15735         * doc/static-inline.texi: New file.
15736         * doc/gnulib.texi: Include it.
15738 2019-03-19  Bruno Haible  <bruno@clisp.org>
15740         libtextstyle-optional: Add tests.
15741         * tests/test-libtextstyle.c: New file, based on libtextstyle's
15742         adhoc-tests/hello.c.
15743         * tests/test-libtextstyle-default.css: New file, copied from
15744         libtextstyle's adhoc-tests/hello-default.css.
15745         * modules/libtextstyle-optional-tests: New file.
15747         libtextstyle-optional: New module.
15748         * lib/textstyle.in.h: New file, based on libtextstyle's textstyle.h.
15749         * m4/libtextstyle-optional.m4: New file, based on m4/libtextstyle.m4.
15750         * modules/libtextstyle-optional: New file.
15752 2019-03-19  Bruno Haible  <bruno@clisp.org>
15754         c-stack: Make signal handlers more reliable.
15755         * lib/c-stack.c (progname): New variable.
15756         (die): Use it.
15757         (c_stack_action): Initialize it.
15758         (segv_handler): Save and restore errno.
15760 2019-03-19  Bruno Haible  <bruno@clisp.org>
15762         Help making signal handlers more reliable.
15763         * m4/gnulib-common.m4 (gl_COMMON_BODY): Emit definition of
15764         _GL_ASYNC_SAFE into config.h.
15765         * lib/nanosleep.c (sighandler): Mark as _GL_ASYNC_SAFE.
15766         * lib/fatal-signal.h (at_fatal_signal): Add _GL_ASYNC_SAFE marker to
15767         argument.
15768         * lib/fatal-signal.c (action_t, uninstall_handlers,
15769         fatal_signal_handler): Mark as _GL_ASYNC_SAFE.
15770         * lib/clean-temp.c (cleanup_action): Mark as _GL_ASYNC_SAFE.
15771         * lib/wait-process.c (cleanup_slaves, cleanup_slaves_action): Mark as
15772         _GL_ASYNC_SAFE.
15773         * lib/c-stack.h (c_stack_action): Add _GL_ASYNC_SAFE marker to argument.
15774         * lib/c-stack.c: Add _GL_ASYNC_SAFE markers.
15776 2019-03-18  Bruno Haible  <bruno@clisp.org>
15778         _Noreturn: clang and MSVC do support [[noreturn]] in C++11 mode.
15779         * lib/_Noreturn.h: Use [[noreturn]] if __GNUC__ and __GNUC_MINOR__
15780         indicate clang, or if _MSC_VER indicates MSVC++ 14.0 or newer.
15782 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
15784         _Noreturn: GCC 4.7 does not support [[noreturn]] in C++11 mode
15785         * lib/_Noreturn.h, m4/gnulib-common.m4: Don't use [[noreturn]] before
15786         GCC 4.8.
15788 2019-03-17  Paul Eggert  <eggert@cs.ucla.edu>
15790         fts: minor simplification
15791         * lib/fts.c (fts_safe_changedir): Remove redundant assignment.
15793 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
15795         bitset, timevar: Depend on c99.
15796         Reported by Bruno Haible.
15797         * modules/bitset, modules/timevar (Depends-on): Add c99.
15799 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
15801         bitset: a bit (...) more tests
15802         * tests/test-bitset.c (check_attributes): Check zero and ones.
15804 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
15806         bitset: fix overflows.
15807         Reported by Bruno Haible.
15808         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00017.html
15809         * lib/bitset/table.c (tbitset_test): last_bit is the position of
15810         the bit in the array of bitset_word, so be sure to take its modulo
15811         number-of-bits-in-bitset-word (i.e., EBITSET_ELT_WORDS).
15812         * lib/bitset/list.c (lbitset_unused_clear): Likewise.
15814 2019-03-14  Akim Demaille  <akim@lrde.epita.fr>
15816         bitset: style changes.
15817         * lib/bitset/table.c: Use NULL, not 0, for pointers.
15818         Formatting changes.
15819         (tbitset_list): Reduce scopes.
15821 2019-03-16  Bruno Haible  <bruno@clisp.org>
15823         fatal-signal: Pass the signal number to the action.
15824         * lib/fatal-signal.h (at_fatal_signal): Change the signature.
15825         * lib/fatal-signal.c (action_t): Take the signal number as parameter.
15826         (fatal_signal_handler): Pass the signal number to the action.
15827         * lib/clean-temp.c (cleanup_action): Renamed from cleanup. Take the
15828         signal number as parameter.
15829         (create_temp_dir): Update.
15830         * lib/wait-process.c (cleanup_slaves_action): New function.
15831         (register_slave_subprocess): Update at_fatal_signal invocation.
15832         * NEWS: Mention the change.
15834 2019-03-16  Bruno Haible  <bruno@clisp.org>
15836         fatal-signal: Add function that lists the fatal signals.
15837         * lib/fatal-signal.h (get_fatal_signals): New declaration.
15838         * lib/fatal-signal.c (get_fatal_signals): New function.
15840 2019-03-14  Bruno Haible  <bruno@clisp.org>
15842         isatty: Make it return true in Cygwin consoles on native Windows.
15843         * lib/isatty.c: Include <string.h>.
15844         (GetProcAddress): New macro.
15845         (GetNamedPipeClientProcessIdFuncType): New type.
15846         (GetNamedPipeClientProcessIdFunc): New variable.
15847         (QueryFullProcessImageNameFuncType): New type.
15848         (QueryFullProcessImageNameFunc): New variable.
15849         (initialized): New variable.
15850         (initialize): New function.
15851         (IsCygwinConsoleHandle): New function.
15852         (isatty): Invoke it.
15853         * doc/posix-functions/isatty.texi: Mention the issue.
15855 2019-03-14  Bruno Haible  <bruno@clisp.org>
15857         all: Update URLs to msdn.microsoft.com.
15858         * lib/stat-w32.c et al.: Update URLs after most of msdn.microsoft.com
15859         was moved to docs.microsoft.com.
15861 2019-03-13  Bruno Haible  <bruno@clisp.org>
15863         gnulib-tool: Clarify the coding style.
15864         Suggested by Pavel Raiskup <praiskup@redhat.com>.
15865         * gnulib-tool: Add comment about coding style.
15867 2019-03-11  Paul Eggert  <eggert@cs.ucla.edu>
15869         strtod: fix clash with strtold
15870         Problem reported for RHEL 5 by Jesse Caldwell (Bug#34817).
15871         * lib/strtod.c (compute_minus_zero, minus_zero):
15872         Simplify by remving the macro / external variable,
15873         and having just a function.  User changed.  This avoids
15874         the need for an external variable that might clash.
15876 2019-03-10  Bruno Haible  <bruno@clisp.org>
15878         alloca-opt: Fix conflict mingw's new <alloca.h> file.
15879         Reported by Eli Zaretskii <eliz@gnu.org>.
15880         * lib/alloca.in.h: On mingw systems that have <alloca.h>, include that.
15881         * m4/alloca.m4 (gl_FUNC_ALLOCA): Set HAVE_ALLOCA_H.
15882         * modules/alloca-opt (Makefile.am): Substitute HAVE_ALLOCA_H.
15884 2019-03-10  Bruno Haible  <bruno@clisp.org>
15886         tests: Avoid havoc with "gcc -fcheck-pointer-bounds".
15887         * tests/test-fprintf-posix2.c: Skip the test when -fcheck-pointer-bounds
15888         is in use.
15889         * tests/test-printf-posix2.c: Likewise.
15891 2019-03-10  Bruno Haible  <bruno@clisp.org>
15893         uninorm tests: Free allocated memory.
15894         * tests/uninorm/test-u32-normalize-big.h
15895         (struct normalization_test_file): Remove 'const' from allocated member.
15896         (free_normalization_test_file): New declaration.
15897         * tests/uninorm/test-u32-normalize-big.c (test_other): Free allocated
15898         memory.
15899         (free_normalization_test_file): New function.
15900         * tests/uninorm/test-u32-nfc-big.c (main): Free allocated
15901         'struct normalization_test_file' contents.
15902         * tests/uninorm/test-u32-nfd-big.c (main): Likewise.
15903         * tests/uninorm/test-u32-nfkc-big.c (main): Likewise.
15904         * tests/uninorm/test-u32-nfkd-big.c (main): Likewise.
15906 2019-03-10  Bruno Haible  <bruno@clisp.org>
15908         di-set: Fix memory leak.
15909         * lib/di-set.c (di_set_free): Free the ino_map through ino_map_free(),
15910         not free().
15912 2019-03-10  Bruno Haible  <bruno@clisp.org>
15914         tests: Free allocated memory.
15915         Reported by <deltatau@protonmail.com> via Assaf Gordon.
15916         * tests/test-astrxfrm.c (main): Free allocated memory.
15917         * tests/test-bitset.c (compare, check_attributes): Free allocated
15918         bitsets.
15919         * tests/test-filenamecat.c (main): Free allocated memory.
15920         * tests/test-freadahead.c (main): Free allocated memory and close stdin.
15921         * tests/test-freadptr.c (main): Likewise.
15922         * tests/test-freadptr2.c (main): Free allocated memory.
15923         * tests/test-freadseek.c (main): Likewise.
15924         * tests/test-gc-arcfour.c (main): Close allocated context.
15925         * tests/test-gc-arctwo.c (main): Likewise.
15926         * tests/test-gc-des.c (main): Close all allocated contexts.
15927         * tests/test-pipe-filter-gi1.c (main): Free allocated memory.
15928         * tests/test-pipe-filter-ii1.c (main): Likewise.
15929         * tests/test-posix_spawn_file_actions_addchdir.c (main): Destroy the
15930         allocated file actions.
15931         * tests/test-posix_spawn_file_actions_addclose.c (main): Likewise.
15932         * tests/test-posix_spawn_file_actions_adddup2.c (main): Likewise.
15933         * tests/test-posix_spawn_file_actions_addopen.c (main): Likewise.
15934         * tests/test-sameacls.c (main): Free allocated memory and ACLs.
15935         * tests/test-strfmon_l.c (main): Free allocated locales.
15936         * tests/test-striconveh.c (main): Free allocated iconv_t objects.
15937         * tests/uniconv/test-u8-conv-to-enc.c (main): Free allocated memory.
15938         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
15939         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
15940         * tests/unistr/test-chr.h (main): Free input32.
15941         * tests/unistr/test-strchr.h (test_strchr): Likewise.
15943 2019-03-10  Bruno Haible  <bruno@clisp.org>
15945         tests: Prepare for using valgrind.
15946         * tests/*.sh: Invoke all test programs through ${CHECKER}.
15947         * tests/*/*.sh: Likewise.
15948         * tests/test-freadptr.c (main): Update accordingly.
15949         * tests/test-freadseek.c (main): Likewise.
15951 2019-03-09  Bruno Haible  <bruno@clisp.org>
15953         get-rusage-as, pthread_sigmask tests: Fix -fsanitize=thread findings.
15954         * lib/get-rusage-as.c (get_rusage_as): When compiled by
15955         "gcc -fsanitize=thread", don't try get_rusage_as_via_setrlimit.
15956         * tests/test-pthread_sigmask2.c (main): Clean up the killer_thread
15957         before exiting.
15959 2019-03-09  Jim Meyering  <meyering@fb.com>
15961         test-userspec.c: don't print NULL
15962         * tests/test-userspec.c (main): A test release of gcc,
15963         9.0.1 20190310, warned that this test would attempt to
15964         print a NULL pointer via a %s printf format.  Fix that
15965         and remove the unnecessary preceding "!diag" conjunct.
15966         Also add a comment.
15968 2019-03-03  Bruno Haible  <bruno@clisp.org>
15970         getloadavg: Write NULL for the null pointer.
15971         Reported by Michal Privoznik <mprivozn@redhat.com>.
15972         * lib/getloadavg.c (getloadavg): Write NULL instead of 0.
15974 2019-02-28  Michal Privoznik  <mprivozn@redhat.com>
15976         alloca, tsearch-tests: Write NULL for the null pointer.
15977         * lib/alloca.c (i00afunc): Write NULL instead of 0.
15978         * tests/test-tsearch.c (mangle_tree): Likewise.
15980 2019-03-09  Bruno Haible  <bruno@clisp.org>
15982         strfmon_l: Fix -fsanitize=address finding.
15983         * lib/strfmon_l.c: Include <errno.h>, <stdbool.h>, <stdlib.h>,
15984         <string.h>.
15985         (MAX_ARGS): Renamed from MAX_ARG_WORDS.
15986         (directive_t, directives_t): New types.
15987         (fmon_parse): New function.
15988         (rpl_strfmon_l): Don't call va_arg more often than needed for the
15989         format string. Consume 'long double' arguments in places where the
15990         format string indicates so.
15991         * modules/strfmon_l (Depends-on): Add 'stdbool'.
15993 2019-03-09  Bruno Haible  <bruno@clisp.org>
15995         crypto/des: Fix undefined behaviour.
15996         * lib/des.c (READ_64BIT_DATA): Cast bytes to 'unsigned int', to avoid
15997         shift operations on 'int'.
15999 2019-03-09  Bruno Haible  <bruno@clisp.org>
16001         Fix undefined behaviour.
16002         * lib/bitrotate.h (rotl16, rotr16, rotl8, rotr8): Cast x to
16003         'unsigned int', to avoid shift operations on 'int'.
16004         * lib/xmemdup0.c (xmemdup0): Don't invoke memcpy with a zero size.
16005         * tests/test-count-leading-zeros.c (main): Use a random number that has
16006         as many bits as TYPE, not only 2*15 or 2*31 bits.
16007         * tests/test-count-trailing-zeros.c (main): Likewise.
16008         * tests/test-count-one-bits.c (main): Likewise.
16009         * tests/test-memmem.c: Don't include "null-ptr.h".
16010         (main): Use zerosize_ptr() instead of null_ptr().
16011         * modules/memmem-tests (Files): Remove tests/null-ptr.h.
16013 2019-03-08  Bruno Haible  <bruno@clisp.org>
16015         unilbrk/u*-possible-linebreaks: Fix undefined behaviour.
16016         Reported by Jeffrey Walton <noloader@gmail.com>.
16017         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): Don't
16018         invoke memset with a zero size.
16019         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
16020         Likewise.
16021         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
16022         Adjust accordingly.
16024 2019-03-08  Bruno Haible  <bruno@clisp.org>
16026         unistr/*, uniconv/*: Fix undefined behaviour.
16027         Reported by Jeffrey Walton <noloader@gmail.com>.
16028         * lib/unistr/u-cpy.h (FUNC): Don't invoke memcpy with a zero size.
16029         * lib/unistr/u-cpy-alloc.h (FUNC): Likewise.
16030         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
16031         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
16033 2019-03-08  Bruno Haible  <bruno@clisp.org>
16035         unistr/u8-cmp: Fix undefined behaviour.
16036         Reported by Jeffrey Walton <noloader@gmail.com>.
16037         * lib/unistr/u8-cmp.c (u8_cmp): Don't invoke memcmp if n is zero.
16039 2019-03-08  Bruno Haible  <bruno@clisp.org>
16041         unictype/numeric: Fix undefined behaviour.
16042         Reported by Jeffrey Walton <noloader@gmail.com>.
16043         * lib/unictype/numeric.c (uc_numeric_value): Avoid undefined behaviour
16044         on shift overflow, caught by "gcc -fsanitize=undefined".
16045         * lib/unictype/bidi_of.c (uc_bidi_class): Add cast, for clarity.
16046         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
16047         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
16049 2019-03-05  Paul Eggert  <eggert@cs.ucla.edu>
16051         git-version-gen: fix --version copyright year
16052         * build-aux/git-version-gen, build-aux/move-if-change (version):
16053         --version output copyright year is now taken from script year,
16054         so that it no longer needs to be updated by hand.
16056 2019-03-04  Bruno Haible  <bruno@clisp.org>
16058         relocatable-prog: Use wrapper-free installation on Mac OS X, take 2.
16059         This approach supports relocatable installation of shared libraries
16060         which depend on other shared libraries from the same package.
16061         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
16062         If use_macos_tools is true, use reloc-ldflags and set LIBTOOL to be a
16063         wrapper around the original LIBTOOL.
16064         * build-aux/reloc-ldflags: Add support for Mac OS X, which uses the
16065         token '@loader_path' instead of '$ORIGIN'.
16066         * build-aux/libtool-reloc: New file.
16067         * modules/relocatable-prog (Files): Add it.
16068         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
16069         the recent changes. Document the need to set the *_LDFLAGS of libraries.
16070         RELOCATABLE_LIBRARY_PATH and RELOCATABLE_CONFIG_H_DIR should be set in
16071         Makefile.am, not in configure.ac.
16073 2019-03-04  Bruno Haible  <bruno@clisp.org>
16075         relocatable-prog: Revert "Use wrapper-free installation on Mac OS X."
16076         * build-aux/install-reloc: Revert change.
16077         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
16079 2019-02-24  Paul Eggert  <eggert@cs.ucla.edu>
16081         nstrftime: support the ‘+’ flag
16082         * lib/nstrftime.c (add, __strftime_internal):
16083         Add support for the ‘+’ flag introduced in POSIX.1-2017.
16084         (__strftime_internal): New arg ‘width’.  All uses changed.
16085         (DO_YEARISH, DO_MAYBE_SIGNED_NUMBER): New macros.
16087 2019-02-24  Bruno Haible  <bruno@clisp.org>
16089         relocatable-prog: Improve verbose output.
16090         * build-aux/install-reloc (func_verbose): Escape characters that would
16091         be interpreted by the shell.
16093 2019-02-24  Bruno Haible  <bruno@clisp.org>
16095         stat, lstat: Fix conflict with relocatable-prog-wrapper module.
16096         * lib/stat.c: On platforms other than OSF/1, include <sys/stat.h>, not
16097         "sys/stat.h".
16098         * lib/lstat.c: Likewise.
16099         * lib/fstat.c: Likewise.
16100         * lib/fstatat.c: Likewise.
16102 2019-02-23  Bernhard Voelker  <mail@bernhard-voelker.de>
16104         long-options: add parse_gnu_standard_options_only
16105         Discussed in https://bugs.gnu.org/33468 .
16107         * lib/long-options.c (parse_long_options): Use EXIT_SUCCESS instead of 0
16108         (parse_gnu_standard_options_only): Add function to process
16109         the GNU default options --help and --version and fail for
16110         any other unknown long or short option. See
16111         https://gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html
16112         * lib/long-options.h (parse_gnu_standard_options_only): Declare it.
16113         * modules/long-options (depends-on): Add stdbool, exitfail.
16114         * top/maint.mk (sc_prohibit_long_options_without_use): Update
16115         syntax-check rule, add new function name.
16117 2019-02-23  Bruno Haible  <bruno@clisp.org>
16119         relocatable-prog: Update documentation.
16120         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
16121         the recent changes.
16123 2019-02-23  Paul Eggert  <eggert@cs.ucla.edu>
16125         nstrftime: tweak arg order
16126         * lib/nstrftime.c (__strftime_internal): Interchange arg order.
16127         All callers changed.  Suggested by TAMUKI Shoichi in:
16128         https://lists.gnu.org/r/bug-gnulib/2019-02/msg00052.html
16130 2019-02-23  Bruno Haible  <bruno@clisp.org>
16132         relocatable-prog: Use wrapper-free installation also on Mac OS X.
16133         Reported by Paul Smith <psmith@gnu.org>.
16134         * build-aux/install-reloc: Accept a 'mode' argument as first argument.
16135         (func_relativize): New function, from gnulib-tool.
16136         Handle mode 'macosx' through invocations of 'otool' and
16137         'install_name_tool'.
16138         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
16139         If use_macos_tools is true, set INSTALL_PROGRAM_ENV to an
16140         'install-reloc' invocation with mode 'macosx'.
16142 2019-02-23  Bruno Haible  <bruno@clisp.org>
16144         relocatable-prog: Use $ORIGIN trick also on GNU/Hurd.
16145         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
16146         Hurd with glibc >= 2.27.
16148 2019-02-21  Paul Eggert  <eggert@cs.ucla.edu>
16150         nstrftime: merge glibc strftime changes
16151         This incorporates:
16152         2019-02-11 Fix a few whitespace arrangement inconsistencies
16153         2019-01-24 strftime: Pass flags from "%EY" to "%Ey" [BZ #24096]
16154         2019-01-24 Set the default width of "%Ey" to 2 [BZ #23758]
16155         2019-01-11 strftime: use the "L_" macro with character literals
16156         * lib/nstrftime.c (__strftime_internal): New arg yr_spec.  All
16157         callers changed.  Default width of %Ey is now 2.  This is needed
16158         for proper handling of Japanese dates starting on 2019-05-01.
16160 2019-02-19  Bruno Haible  <bruno@clisp.org>
16162         relocatable-prog: Use $ORIGIN trick on more platforms.
16163         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
16164         FreeBSD >= 7.3, DragonFly >= 3.0, NetBSD >= 8.0, OpenBSD >= 5.4,
16165         Solaris >= 10, Haiku. But don't use it on Android.
16166         * build-aux/reloc-ldflags: Allow the use of the $ORIGIN trick also on
16167         Hurd, FreeBSD, DragonFly, NetBSD, OpenBSD, Solaris, Haiku.
16169 2019-02-19  Bruno Haible  <bruno@clisp.org>
16171         progreloc: Speed up executable lookup on various platforms.
16172         * lib/progreloc.c: Include <errno.h>.
16173         (safe_read, full_read): New functions.
16174         (find_executable): On GNU/kFreeBSD, FreeBSD, DragonFly, NetBSD, Solaris,
16175         prefer the information from the /proc file system to a PATH search.
16177 2019-02-19  Bruno Haible  <bruno@clisp.org>
16179         progreloc: Simplify code for Android.
16180         * lib/progreloc.c (executable_fd): Don't define on Android.
16181         (maybe_executable, find_executable): Don't use executable_fd on Android.
16183 2019-02-15  Bruno Haible  <bruno@clisp.org>
16185         gnulib-tool: Support --import with just a few tests, not --with-tests.
16186         * gnulib-tool (func_import): New variable 'gentests'. Use it instead of
16187         'inctests' when generating files; use 'inctests' only for computing the
16188         transitive closure.
16190 2019-02-14  Bruno Haible  <bruno@clisp.org>
16192         gnulib-tool: Improve handling of multiple --local-dir options.
16193         * doc/gnulib.texi (Extending Gnulib): Explain how multiple --local-dir
16194         options work.
16195         * gnulib-tool (func_path_prepend): Remove function.
16196         (func_path_foreach): Make IFS handling more robust.
16197         (local_gnulib_path): Collect --local-dir values using func_path_append,
16198         not func_path_prepend.
16199         (func_determine_path_separator): Make IFS handling more robust.
16200         (func_lookup_file_cb): New function.
16201         (func_lookup_file): Rewritten to use func_lookup_file_cb instead of
16202         func_lookup_local_file. Apply the patches in the reverse order of their
16203         origin in $local_gnulib_path.
16204         (func_count_relative_local_gnulib_path): Make IFS handling more robust.
16205         * NEWS: Mention that the first --local-dir option is the one with
16206         highest priority.
16208 2019-02-10  Bruno Haible  <bruno@clisp.org>
16210         libtextstyle: New module.
16211         * m4/libtextstyle.m4: New file.
16212         * modules/libtextstyle: New file.
16214 2019-02-05  Bruno Haible  <bruno@clisp.org>
16216         declared.sh: Fix bug with variables of pointer type.
16217         * build-aux/declared.sh (sed_extract_extern_declared): Allow the space
16218         before the symbol to be omitted if the preceding character is a '*'.
16220 2019-02-04  Bruno Haible  <bruno@clisp.org>
16222         Add script for running tests under valgrind.
16223         * build-aux/run-test: New file, from GNU libunistring.
16224         * doc/valgrind-tests.texi: Rewritten to mention alternative approaches
16225         as well.
16227 2019-02-04  Bruno Haible  <bruno@clisp.org>
16229         declared.sh: Fix --version output.
16230         * build-aux/declared.sh (func_version): Update package name.
16232 2019-02-03  Bruno Haible  <bruno@clisp.org>
16234         Add script for determining the set of symbols to export from a library.
16235         * build-aux/declared.sh: New file, from GNU libunistring.
16236         * doc/lib-symbol-visibility.texi (Exported Symbols of Shared Libraries):
16237         Mention it.
16239 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
16241         vla: add commentary about VLA_ELEMS
16242         * lib/vla.h (VLA_ELEMS): Add commentary,
16243         some inspired by Bruno Haible’s proposal in:
16244         https://lists.gnu.org/r/bug-gnulib/2019-01/msg00109.html
16246         dtoastr,ftoastr,ldtoastr: port to c-strtod changes
16247         Decouple these modules from c-strtod.  Nowadays it’s reasonable to
16248         assume the C99 signatures for strtod and strtold.  Programs that
16249         require stricter adherence to C99 should also use the strtod and
16250         strtold modules as needed, and we no longer need the
16251         HAVE_C99_STRTOLD macro.
16252         * NEWS: Mention this.
16253         * lib/ftoastr.c (STRTOF) [LENGTH == 3]: Assume strtold.
16254         * m4/c-strtod.m4 (gl_C_STRTOLD): Do not define HAVE_C99_STRTOLD.
16255         * modules/dtoastr, modules/ftoastr, modules/ldtoastr:
16256         (Files): Remove m4/c-strtod.m4.
16257         (configure.ac): Do not require gl_C99_STRTOLD, which no longer
16258         exists.
16260 2019-02-02  Bruno Haible  <bruno@clisp.org>
16262         fma: Improve code style.
16263         * lib/fma.c: Include <limits.h>, for CHAR_BIT.
16265 2019-02-02  Colin Watson  <cjwatson@debian.org>
16267         *-map tests: Fix compilation error.
16268         * tests/test-array_map.c: Include <limits.h>, for CHAR_BIT.
16269         * tests/test-hash_map.c: Likewise.
16270         * tests/test-linkedhash_map.c: Likewise.
16272 2019-01-31  Bruno Haible  <bruno@clisp.org>
16274         c-strtod, c-strtold: Use the bug fixes for strtod, strtold.
16275         * lib/stdlib.in.h (GNULIB_defined_strtod_function,
16276         GNULIB_defined_strtold_function): New macros.
16277         * lib/c-strtod.c (HAVE_GOOD_STRTOD_L): New macro.
16278         (STRTOD): Ignore HAVE_C99_STRTOLD.
16279         (c_locale): Don't define it on platforms where strtod_l/strtold_l is
16280         deemed buggy. But do use it on platforms where uselocale exists and is
16281         usable.
16282         (C_STRTOD): Don't use STRTOD_L on platforms where strtod_l/strtold_l is
16283         deemed buggy. On platforms where uselocale exists and is usable, use
16284         uselocale and strtod/strtold.
16285         * m4/c-strtod.m4 (gl_C99_STRTOLD): Remove macro.
16286         (gl_C_STRTOD): Require gt_FUNC_USELOCALE.
16287         (gl_C_STRTOLD): Likewise. Define HAVE_C99_STRTOLD unconditionally.
16288         * modules/c-strtod (Files): Add m4/intl-thread-locale.m4.
16289         (Depends-on): Add strtod.
16290         * modules/c-strtold (Files): Add m4/intl-thread-locale.m4.
16291         (Depends-on): Add strtold.
16293 2019-01-31  Bruno Haible  <bruno@clisp.org>
16295         strtod, strtold: Use the locale's decimal point.
16296         * lib/strtod.c: Include <locale.h>, <stdio.h>, <langinfo.h>.
16297         (decimal_point_char): New function, copied from lib/vasnprintf.c.
16298         (parse_number): Add a radixchar argument. Use it instead of '.'.
16299         (STRTOD): Invoke decimal_point_char and pass the result to parse_number.
16300         * m4/strtod.m4 (gl_PREREQ_STRTOD): Test whether nl_langinfo exists.
16301         * m4/strtold.m4 (gl_PREREQ_STRTOLD): Likewise.
16302         * tests/test-strtod1.c: New file.
16303         * tests/test-strtod1.sh: New file.
16304         * modules/strtod-tests (Files): Add test-strtod1.{sh,c}. Add
16305         locale-fr.m4 and its dependencies.
16306         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
16307         (Makefile.am): Arrange to compile test-strtod1.c and run
16308         test-strtod1.sh.
16309         * tests/test-strtold1.c: New file.
16310         * tests/test-strtold1.sh: New file.
16311         * modules/strtold-tests (Files): Add test-strtold1.{sh,c}. Add
16312         locale-fr.m4 and its dependencies.
16313         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
16314         (Makefile.am): Arrange to compile test-strtold1.c and run
16315         test-strtold1.sh.
16317 2019-01-31  Bruno Haible  <bruno@clisp.org>
16319         strtod, strtold tests: Simplify tests.
16320         * tests/test-strtod.c (main): Assume no rounding errors for 0.5.
16321         * tests/test-strtold.c (main): Likewise.
16323 2019-01-31  Bruno Haible  <bruno@clisp.org>
16325         strtod, strtold: Avoid unnecessary rounding errors.
16326         * lib/strtod.c (parse_number): Drop trailing zeroes before doing the
16327         decimal to DOUBLE conversion.
16329 2019-01-31  Bruno Haible  <bruno@clisp.org>
16331         strtod, strtold: Work around HP-UX 11.31/ia64 bug.
16332         * lib/strtod.c (STRTOD): When there is an extra character after the
16333         exponent marker 'p', reparse the number.
16334         * doc/posix-functions/strtod.texi: Document the HP-UX 11.31 bug.
16335         * doc/posix-functions/strtold.texi: Likewise.
16337 2019-01-29  Bruno Haible  <bruno@clisp.org>
16339         strtold: Add tests.
16340         * tests/test-strtold.c: New file, based on tests/test-strtod.c.
16341         * modules/strtold-tests: New file.
16343 2019-01-29  Bruno Haible  <bruno@clisp.org>
16345         strtold: New module.
16346         * lib/stdlib.in.h (strtold): New declaration.
16347         * lib/strtold.c: New file.
16348         * lib/strtod.c: Consider USE_LONG_DOUBLE.
16349         (STRTOD, LDEXP, HAVE_UNDERLYING_STRTOD, DOUBLE, MIN, MAX, L_,
16350         USE_LDEXP): New macros.
16351         (LDEXP, scale_radix_exp, parse_number, STRTOD): Adapt for
16352         USE_LONG_DOUBLE.
16353         (underlying_strtod): Remove function. Replace with some macros.
16354         Re-add the code for a missing underlying function that was removed on
16355         2013-02-19.
16356         * m4/strtold.m4: New file.
16357         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether strtold is declared.
16358         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLD, HAVE_STRTOLD,
16359         REPLACE_STRTOLD.
16360         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLD, HAVE_STRTOLD,
16361         REPLACE_STRTOLD.
16362         * modules/strtold: New file.
16363         * doc/posix-functions/strtold.texi: Document the new module.
16365 2019-01-29  Bruno Haible  <bruno@clisp.org>
16367         strtod: Fix compilation error on IRIX 6.5.
16368         * modules/strtod (Depends-on): Add 'math'.
16370 2019-01-28  Bruno Haible  <bruno@clisp.org>
16372         Fix build error when building a shared libunistring on Android.
16373         * tests/uninorm/test-nfc.c (n): Don't define on Android.
16374         (main): Add 'volatile', to defeat a GCC optimization that would
16375         eliminate the reference.
16376         * tests/uninorm/test-nfd.c (n): Don't define on Android.
16377         (main): Add 'volatile', to defeat a GCC optimization that would
16378         eliminate the reference.
16379         * tests/uninorm/test-nfkc.c (n): Don't define on Android.
16380         (main): Add 'volatile', to defeat a GCC optimization that would
16381         eliminate the reference.
16382         * tests/uninorm/test-nfkd.c (n): Don't define on Android.
16383         (main): Add 'volatile', to defeat a GCC optimization that would
16384         eliminate the reference.
16386 2019-01-27  Bruno Haible  <bruno@clisp.org>
16388         Avoid build errors due to wrong references between modules.
16389         * lib/uninorm/canonical-decomposition.c: Include
16390         "uninorm/decomposition-table.h", not "decomposition-table.h".
16391         * lib/uninorm/decomposition.c: Likewise.
16392         * lib/uninorm/u8-normalize.c: Include "uninorm/decompose-internal.h",
16393         not "decompose-internal.h".
16394         * lib/uninorm/u16-normalize.c: Likewise.
16395         * lib/uninorm/u32-normalize.c: Likewise.
16396         * lib/uninorm/uninorm-filter.c: Likewise.
16397         * lib/uninorm/nfkc.c: Likewise.
16398         * lib/uninorm/nfkd.c: Likewise.
16399         * lib/unicase/u8-casemap.c: Include "unicase/caseprop.h", not
16400         "caseprop.h".
16401         * lib/unicase/u8-ct-totitle.c: Likewise.
16402         * lib/unicase/u8-prefix-context.c: Likewise.
16403         * lib/unicase/u8-suffix-context.c: Likewise.
16404         * lib/unicase/u16-casemap.c: Likewise.
16405         * lib/unicase/u16-ct-totitle.c: Likewise.
16406         * lib/unicase/u16-prefix-context.c: Likewise.
16407         * lib/unicase/u16-suffix-context.c: Likewise.
16408         * lib/unicase/u32-casemap.c: Likewise.
16409         * lib/unicase/u32-ct-totitle.c: Likewise.
16410         * lib/unicase/u32-prefix-context.c: Likewise.
16411         * lib/unicase/u32-suffix-context.c: Likewise.
16412         * lib/unicase/u8-tolower.c: Include "unicase/unicasemap.h", not
16413         "unicasemap.h".
16414         * lib/unicase/u8-toupper.c: Likewise.
16415         * lib/unicase/u8-ct-tolower.c: Likewise.
16416         * lib/unicase/u8-ct-toupper.c: Likewise.
16417         * lib/unicase/u16-tolower.c: Likewise.
16418         * lib/unicase/u16-toupper.c: Likewise.
16419         * lib/unicase/u16-ct-tolower.c: Likewise.
16420         * lib/unicase/u16-ct-toupper.c: Likewise.
16421         * lib/unicase/u32-tolower.c: Likewise.
16422         * lib/unicase/u32-toupper.c: Likewise.
16423         * lib/unicase/u32-ct-tolower.c: Likewise.
16424         * lib/unicase/u32-ct-toupper.c: Likewise.
16425         * lib/unicase/u8-ct-casefold.c: Include "unicase/unicasemap.h", not
16426         "unicasemap.h", and "unicase/casefold.h", not "casefold.h".
16427         * lib/unicase/u16-ct-casefold.c: Likewise.
16428         * lib/unicase/u32-ct-casefold.c: Likewise.
16430 2019-01-27  Bruno Haible  <bruno@clisp.org>
16432         gperf: Fix error when this module is required by some test module.
16433         * modules/gperf (Applicability): Set to 'all'.
16435 2019-01-27  Bruno Haible  <bruno@clisp.org>
16437         tmpfile: Add support for Android.
16438         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Add a runtime test whether tmpfile()
16439         works.
16440         * lib/tmpfile.c (tmpfile): Add an alternative implementation for
16441         Android.
16442         * modules/tmpfile (Depends-on): Add 'stdbool'.
16443         * doc/posix-functions/tmpfile.texi: Mention the Android bug.
16444         * modules/argv-iter-tests (Depends-on): Add 'tmpfile'.
16446 2019-01-27  Akim Demaille  <akim@lrde.epita.fr>
16448         bitsetv: allow free on NULL.
16449         * lib/bitsetv.c (bitsetv_free): Do nothing when the bitsetv is NULL.
16451 2019-01-27  Bruno Haible  <bruno@clisp.org>
16453         test-framework-sh: Improve maintainability.
16454         * tests/init.sh: Clarify what belongs together. Reorder definitions.
16456 2019-01-27  Bruno Haible  <bruno@clisp.org>
16458         tests: Don't assume that /tmp exists.
16459         * tests/test-set-mode-acl-1.sh: Skip the test if /tmp does not exist.
16460         * tests/test-copy-acl-1.sh: Likewise.
16461         * tests/test-file-has-acl-1.sh: Likewise.
16462         * tests/test-copy-file-1.sh: Likewise.
16464 2019-01-27  Bruno Haible  <bruno@clisp.org>
16466         tests: Accommodate a shell that is not in /bin/sh.
16467         * tests/init.sh (setup_): Set srcdir and builddir.
16468         (BOURNE_SHELL): New variable.
16469         * modules/acl-tests (Depends-on): Add 'test-framework-sh'.
16470         * modules/file-has-acl-tests (Depends-on): Likewise.
16471         * modules/copy-file-tests (Depends-on): Likewise.
16472         * tests/test-set-mode-acl-1.sh: Use the test framework. Invoke shell
16473         scripts through $BOURNE_SHELL.
16474         * tests/test-set-mode-acl-2.sh: Likewise.
16475         * tests/test-copy-acl-1.sh: Likewise.
16476         * tests/test-copy-acl-2.sh: Likewise.
16477         * tests/test-file-has-acl-1.sh: Likewise.
16478         * tests/test-file-has-acl-2.sh: Likewise.
16479         * tests/test-copy-file-1.sh: Likewise.
16480         * tests/test-copy-file-2.sh: Likewise.
16481         * tests/test-set-mode-acl.sh (builddir): Consider value set by the
16482         invoker.
16483         * tests/test-copy-acl.sh (builddir): Likewise.
16484         * tests/test-file-has-acl.sh (builddir): Likewise.
16485         * tests/test-copy-file.sh (builddir): Likewise.
16486         * tests/test-vc-list-files-cvs.sh: Don't create shims for executables in
16487         build-aux/. Instead, invoke shell scripts through $BOURNE_SHELL.
16488         * tests/test-vc-list-files-git.sh: Likewise.
16490 2019-01-27  Bruno Haible  <bruno@clisp.org>
16492         tests: Fix some "unused variable" warnings.
16493         * tests/test-fts.c (fts_dealloc): Remove unused variable.
16494         * tests/unigbrk/test-uc-grapheme-breaks.c (main): Likewise.
16495         * tests/test-striconveh.c (main): Move some variable into the
16496         '#if HAVE_ICONV'.
16497         * tests/test-striconveha.c (main): Likewise.
16498         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
16499         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
16500         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
16501         * tests/uniconv/test-u8-conv-to-enc.c (main): Likewise.
16502         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
16503         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
16504         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
16505         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
16506         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
16507         * tests/uniconv/test-u8-strconv-to-enc.c (main): Likewise.
16508         * tests/uniconv/test-u16-strconv-to-enc.c (main): Likewise.
16509         * tests/uniconv/test-u32-strconv-to-enc.c (main): Likewise.
16510         * tests/test-tsearch.c (main): Move some variable into the
16511         '#if HAVE_INITSTATE'.
16513 2019-01-27  Bruno Haible  <bruno@clisp.org>
16515         unigbrk/uc-grapheme-breaks: Fix build failure.
16516         * lib/unigbrk/uc-grapheme-breaks.c: Don't include unistr.h.
16517         * modules/unigbrk/uc-grapheme-breaks (Makefile.am): Fix typo.
16519 2019-01-27  Bruno Haible  <bruno@clisp.org>
16521         mountlist: Merge two .m4 files.
16522         * m4/mountlist.m4 (gl_MOUNTLIST): Inline gl_LIST_MOUNTED_FILE_SYSTEMS.
16523         (AC_FUNC_GETMNTENT): Move to here, from m4/ls-mntd-fs.m4.
16524         * m4/ls-mntd-fs.m4: Remove file.
16525         * modules/mountlist (Files): Remove m4/ls-mntd-fs.m4.
16527 2019-01-27  Bruno Haible  <bruno@clisp.org>
16529         tests: Enable Linux specific tests on Android.
16530         * tests/test-flock.c (main): Treat Android like Linux.
16531         * tests/test-openat-safer.c (main): Likewise.
16533 2019-01-27  Bruno Haible  <bruno@clisp.org>
16535         relocatable-prog: Use Linux code on Android.
16536         * lib/progreloc.c: Treat Android like Linux.
16538 2019-01-26  Bruno Haible  <bruno@clisp.org>
16540         getloadavg: Add support for Android.
16541         * lib/getloadavg.c: Treat Android like Linux.
16543 2019-01-26  Bruno Haible  <bruno@clisp.org>
16545         vma-iter: Add support for Android.
16546         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Android as well.
16547         * lib/vma-iter.c: Treat Android like Linux.
16548         * lib/get-rusage-data.c (get_rusage_data): Likewise.
16550 2019-01-26  Bruno Haible  <bruno@clisp.org>
16552         fts: Optimize on Android.
16553         * lib/fts.c: Treat Android like Linux.
16555 2019-01-26  Bruno Haible  <bruno@clisp.org>
16557         fts: Add support for Android.
16558         * m4/fts.m4 (gl_FUNC_FTS_CORE): Avoid conflicts between the symbols
16559         defined by this module and the ones in libc.
16560         * tests/test-fts.c (main): Treat mkdir error EMLINK like EMFILE.
16562 2019-01-26  Bruno Haible  <bruno@clisp.org>
16564         mountlist: Use Linux code on Android.
16565         * lib/mountlist.c (setmntent, endmntent): Define fallbacks.
16566         (unescape_tab, read_file_system_list): Enable Linux code on Android
16567         as well.
16568         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Test for setmntent
16569         and endmntent.
16570         * modules/mountlist (Depends-on): Add 'getline'.
16572 2019-01-26  Bruno Haible  <bruno@clisp.org>
16574         localename tests: Fix test failure on Android.
16575         * modules/localename-tests (Depends-on): Add 'setlocale'.
16577 2019-01-26  Bruno Haible  <bruno@clisp.org>
16579         mountlist: Port better to Android.
16580         * lib/mountlist.c (MOUNTED): Redefine on Android.
16581         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Redefine MOUNTED on
16582         Android.
16584 2019-01-26  Bruno Haible  <bruno@clisp.org>
16586         striconveh: Fix use of uninitialized iconv_t.
16587         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
16588         <https://lists.gnu.org/archive/html/bug-libunistring/2019-01/msg00000.html>.
16589         * lib/striconveh.c (iconveh_open): Correct the iconv_close argument.
16591 2019-01-26  Bruno Haible  <bruno@clisp.org>
16593         nonblocking-socket-tests: Fix test failure on Android 4.3.
16594         * tests/test-nonblocking-socket.h (SOCKET_HAS_LARGE_BUFFER): Define to 1
16595         also on Android.
16597 2019-01-26  Bruno Haible  <bruno@clisp.org>
16599         sh-filename: Add support for Android 4.3.
16600         * m4/sh-filename.m4 (gl_SH_FILENAME): Set to "sh" on Android.
16602 2019-01-26  Bruno Haible  <bruno@clisp.org>
16604         ptsname_r: Work around bug on Android 4.3.
16605         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Define
16606         HAVE_ESSENTIALLY_WORKING_PTSNAME_R. Test whether the return value is
16607         correct.
16608         * lib/ptsname_r.c (__ptsname_r): If HAVE_ESSENTIALLY_WORKING_PTSNAME_R
16609         is defined, just fix the return value.
16610         * doc/glibc-functions/ptsname_r.texi: Mention the Android bug. Reword:
16611         The behaviour of musl libc is nothing to be "fixed", since it is
16612         compliant with the next POSIX standard.
16614 2019-01-26  Bruno Haible  <bruno@clisp.org>
16616         ttyname_r: Work around bug on Android 4.3.
16617         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is a stub.
16618         * lib/ttyname_r.c (ttyname_r): Implement for Android.
16619         * doc/posix-functions/ttyname_r.texi: Mention the Android bug.
16620         * doc/posix-functions/ttyname.texi: Likewise.
16622 2019-01-25  Bruno Haible  <bruno@clisp.org>
16624         getprogname: Port to Android 4.3.
16625         * lib/getprogname.c (getprogname): On Android, take only the last
16626         component of __progname.
16628 2019-01-25  Bruno Haible  <bruno@clisp.org>
16630         wcrtomb: Work around bug on Android 4.3.
16631         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test also whether wcrtomb works in
16632         the C locale.
16633         * lib/wcrtomb.c (wcrtomb): Provide alternate implementation for Android,
16634         which does not have the 'wctomb' function.
16635         * doc/posix-functions/wcrtomb.texi: Mention the Android bug.
16636         * tests/test-wcrtomb.c (main): Accept argument '5'.
16637         * tests/test-wcrtomb.sh: Add tests in the POSIX locale.
16639 2019-01-25  Bruno Haible  <bruno@clisp.org>
16641         setlocale: Work around bug on Android 4.3.
16642         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Test whether setlocale supports
16643         the "C" locale.
16644         * lib/setlocale.c (setlocale_unixlike): New wrapper for Android.
16645         * doc/posix-functions/setlocale.texi: Mention the Android bug.
16647 2019-01-24  Bruno Haible  <bruno@clisp.org>
16649         memchr: Work around bug on Android <= 5.0.
16650         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add test against the Android bug.
16651         * doc/posix-functions/memchr.texi: Mention the Android bug.
16653 2019-01-24  Bruno Haible  <bruno@clisp.org>
16655         random: Fix compilation error on Android 4.3.
16656         * lib/stdlib.in.h (random, srandom): Test also REPLACE_RANDOM.
16657         (initstate): Test REPLACE_INITSTATE and HAVE_INITSTATE, not HAVE_RANDOM.
16658         (setstate): Test REPLACE_SETSTATE and HAVE_SETSTATE, not HAVE_RANDOM.
16659         * m4/random.m4 (gl_FUNC_RANDOM): Set HAVE_INITSTATE, HAVE_SETSTATE,
16660         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
16661         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_INITSTATE,
16662         HAVE_SETSTATE, REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
16663         * modules/stdlib (Makefile.am): Substitute HAVE_INITSTATE, HAVE_SETSTATE,
16664         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
16665         * modules/random (Depends-on, configure.ac): Test also REPLACE_RANDOM,
16666         REPLACE_INITSTATE, REPLACE_SETSTATE.
16667         * doc/posix-functions/random.texi: Correct the description of the
16668         situation on Android.
16669         * doc/posix-functions/srandom.texi: Likewise.
16670         * doc/posix-functions/rand.texi: Likewise.
16671         * doc/posix-functions/srand.texi: Likewise.
16673 2019-01-24  Bruno Haible  <bruno@clisp.org>
16675         mbtowc: Fix compilation error on Android 4.3.
16676         * lib/stdlib.in.h (mbtowc): Test also HAVE_MBTOWC.
16677         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Test whether mbtowc exists. Set
16678         HAVE_MBTOWC.
16679         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether mbtowc is declared.
16680         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MBTOWC.
16681         * modules/stdlib (Makefile.am): Substitute HAVE_MBTOWC.
16682         * modules/mbtowc (Depends-on, configure.ac): Test also HAVE_MBTOWC.
16683         * doc/posix-functions/mbtowc.texi: Mention the change.
16685 2019-01-24  Bruno Haible  <bruno@clisp.org>
16687         fdatasync: Fix compilation error on Android 4.3.
16688         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): On platforms other than Solaris,
16689         test whether fdatasync() exists.
16691 2019-01-24  Bruno Haible  <bruno@clisp.org>
16693         unlinkat: Fix compilation error on Android 4.3.
16694         * lib/unistd.in.h: Include <fcntl.h> when module 'unlinkat' is in use
16695         also on Android.
16696         * doc/posix-functions/unlinkat.texi: Mention the issue.
16698 2019-01-24  Bruno Haible  <bruno@clisp.org>
16700         renameat: Fix compilation error on Android 4.3.
16701         * lib/stdio.in.h: Include <sys/stat.h> when module 'renameat' is in use.
16702         * doc/posix-functions/renameat.texi: Mention the issue.
16704 2019-01-24  Bruno Haible  <bruno@clisp.org>
16706         fchownat: Fix compilation error on Android 4.3.
16707         * lib/unistd.in.h: Include <sys/stat.h> when module 'fchownat' is in
16708         use.
16709         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
16710         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Include also <sys/stat.h>.
16711         * doc/posix-functions/fchownat.texi: Mention the issue.
16713 2019-01-23  Bruno Haible  <bruno@clisp.org>
16715         gnulib-tool: Support running testdirs on Android.
16716         * build-aux/test-driver.diff: New file.
16717         * gnulib-tool (func_create_testdir, func_create_megatestdir): Patch
16718         build-aux/test-driver after running automake.
16720 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
16722         relocatable-prog: avoid warnings from Automake
16723         * modules/relocatable-prog: Don't declare PHONY dependencies in
16724         Automake conditionals.
16726 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
16728         array-list: Pacify warnings about unused arguments (-Wunused-parameter).
16729         * lib/gl_array_list.c (gl_array_iterator_free): "Use" the argument.
16731 2019-01-23  Bruno Haible  <bruno@clisp.org>
16733         threadlib: Revert commit from 2018-06-25. We now have a better fix.
16734         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't attempt to defeat a
16735         preceding -Wl,--as-needed option. Don't check whether the linker
16736         supports --as-needed/--no-as-needed and --push-state/--pop-state.
16738 2019-01-23  Bruno Haible  <bruno@clisp.org>
16740         thread: Force linking with -lpthread, even when --as-needed is in use.
16741         Reported by Richard W.M. Jones <rjones@redhat.com> in
16742         <https://lists.gnu.org/archive/html/bug-gnulib/2019-01/msg00123.html>.
16743         * lib/glthread/thread.h (pthread_create): Don't declare weak.
16745 2019-01-23  Akim Demaille  <akim.demaille@gmail.com>
16746             Bruno Haible  <bruno@clisp.org>
16748         relocatable: avoid compiler warnings (-Wshadow)
16749         * lib/relocatable.c (compute_curr_prefix): Rename local variables
16750         to avoid name collisions with global variables.
16752 2019-01-22  Bruno Haible  <bruno@clisp.org>
16754         vasnprintf: Don't use %n on Android.
16755         Reported and fix suggested by Hugo Beauzée-Luyssen <hugo@beauzee.fr> in
16756         <https://lists.gnu.org/archive/html/bug-gnulib/2018-12/msg00123.html>.
16757         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on Android.
16759 2019-01-22  Bruno Haible  <bruno@clisp.org>
16761         *printf: Support cross-compilation to Android.
16762         * m4/printf.m4: Add cross-compilation guesses for Android.
16764 2019-01-21  Bruno Haible  <bruno@clisp.org>
16766         diacrit: Mark deprecated.
16767         * modules/diacrit (Status, Notice): Mark as deprecated.
16768         * NEWS: Mention it.
16770 2019-01-20  Bruno Haible  <bruno@clisp.org>
16772         rintl: Override broken implementation on NetBSD.
16773         * lib/math.in.h (rintl): Test also REPLACE_RINTL.
16774         * m4/rintl.m4 (gl_FUNC_RINTL): Add test for negative arguments. Set
16775         REPLACE_RINTL.
16776         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_RINTL.
16777         * modules/math (Makefile.in): Substitute REPLACE_RINTL.
16778         * modules/rintl (Depends-on, configure.ac): Test REPLACE_RINTL.
16779         * doc/posix-functions/rintl.texi: Mention the NetBSD bug.
16781 2019-01-20  Bruno Haible  <bruno@clisp.org>
16783         log10l: Work around inaccurate implementation on NetBSD.
16784         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Add test for a certain accuracy.
16785         * lib/log10l.c: Comment out too simplistic override.
16786         * doc/posix-functions/log10l.texi: Mention the NetBSD bug.
16788 2019-01-20  Bruno Haible  <bruno@clisp.org>
16790         logl: Work around inaccurate implementation on NetBSD.
16791         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Add test for a certain accuracy.
16792         * lib/logl.c: Comment out unused code.
16793         * doc/posix-functions/logl.texi: Mention the NetBSD bug.
16795 2019-01-20  Bruno Haible  <bruno@clisp.org>
16797         expm1l: Work around inaccurate implementation on NetBSD.
16798         * lib/math.in.h (expm1l): Test also REPLACE_EXPM1L.
16799         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Add test for a certain accuracy. Set
16800         REPLACE_EXPM1L.
16801         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1L.
16802         * modules/math (Makefile.in): Substitute REPLACE_EXPM1L.
16803         * modules/expm1l (Depends-on, configure.ac): Test REPLACE_EXPM1L.
16804         * doc/posix-functions/expm1l.texi: Mention the NetBSD bug.
16806 2019-01-20  Bruno Haible  <bruno@clisp.org>
16808         expl: Work around inaccurate implementation on NetBSD.
16809         * lib/math.in.h (expl): Test also REPLACE_EXPL.
16810         * m4/expl.m4 (gl_FUNC_EXPL): Add test for a certain accuracy. Set
16811         REPLACE_EXPL.
16812         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPL.
16813         * modules/math (Makefile.in): Substitute REPLACE_EXPL.
16814         * modules/expl (Depends-on, configure.ac): Test REPLACE_EXPL.
16815         * doc/posix-functions/expl.texi: Mention the NetBSD bug.
16817 2019-01-20  Bruno Haible  <bruno@clisp.org>
16819         exp2l: Work around inaccurate implementation on NetBSD.
16820         * m4/exp2l.m4 (gl_FUNC_EXP2L): Add test for a certain accuracy.
16821         * doc/posix-functions/exp2l.texi: Mention the NetBSD bug.
16823 2019-01-20  Bruno Haible  <bruno@clisp.org>
16825         floor, floorl: Avoid autoconf warnings.
16826         * modules/floor (configure.ac): Use AC_REQUIRE.
16827         * modules/floorl (configure.ac): Likewise.
16829 2019-01-20  Bruno Haible  <bruno@clisp.org>
16831         Defeat current GCC optimizations in math autoconf tests.
16832         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Mark function pointer as 'volatile'.
16833         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
16834         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
16835         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
16836         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
16837         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
16838         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
16839         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
16840         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
16841         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
16842         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
16843         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
16844         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
16845         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
16846         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
16847         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
16848         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Likewise.
16849         * m4/log.m4 (gl_FUNC_LOG): Likewise.
16850         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
16851         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
16852         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
16853         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
16854         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
16855         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
16856         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
16857         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
16858         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
16859         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
16860         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
16861         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
16862         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
16863         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
16864         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
16865         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16866         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
16867         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
16868         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16869         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16871 2019-01-19  Pádraig Brady  <P@draigBrady.com>
16873         gettext: support disabling use of VLAs
16874         * lib/gettext.h: Disable use of VLAs if GNULIB_NO_VLA is defined
16876 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
16878         sys_stat: Fix 'implicit declaration of function' warning on OS/2 kLIBC.
16879         * lib/sys_stat.in.h [kLIBC]: Include <unistd.h>.
16881 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
16883         fcntl: Fix syntax error (regression from 2018-10-05).
16884         * lib/fcntl.c (klibc_fcntl): Remove mis-placed ';'.
16886 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
16888         relocatable: improve documentation.
16889         * doc/relocatable-maint.texi (Supporting Relocation): For
16890         substitutions performed by config.status, we need more variables
16891         (for instance datarootdir defaults to '${prefix}/share' so we need
16892         prefix).
16894 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
16896         backup: update dependencies
16897         * modules/backup-rename (Depends-on): It now depends on opendirat
16898         instead of opendir.  It also uses stdint, and xalloc-oversized.
16899         But no longer dirfd.
16900         * modules/backupfile (Depends-on): Add xalloc-oversized.
16902 2019-01-13  Bruno Haible  <bruno@clisp.org>
16904         getcwd: Fix test failure when building on a Linux 9p file system.
16905         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): On Linux, treat error
16906         EINVAL from mkdir like ENAMETOOLONG.
16907         * tests/test-getcwd.c (test_long_name): Likewise.
16909 2019-01-12  Tim Rühsen  <tim.ruehsen@gmx.de>
16911         Fix typos found by codespell.
16912         * lib/*.[hc]: Fix typos in comments.
16913         * pygnulib/*.py: Fix typos in error messages and comments.
16915 2019-01-12  Bruno Haible  <bruno@clisp.org>
16917         doc: Fix documentation about container data types.
16918         Reported by Werner Lemberg <wl@gnu.org>.
16919         * doc/containers.texi (Container data types): Fix typo.
16921 2019-01-10  Bruno Haible  <bruno@clisp.org>
16923         verify: Enable _GL_HAVE_STATIC_ASSERT for recent G++ versions.
16924         Reported by Reuben Thomas <rrt@sc3d.org>.
16925         * lib/verify.h (_GL_HAVE_STATIC_ASSERT): Define for g++ versions >= 6.
16927 2019-01-06  Bruno Haible  <bruno@clisp.org>
16929         maintainer-makefile: Make the configure.ac section optional.
16930         * top/maint.mk (GREP, SED): Define if not defined.
16932 2019-01-06  Bruno Haible  <bruno@clisp.org>
16934         localename: Assume setlocale function.
16935         * lib/localename.c (gl_locale_name_posix): Assume setlocale exists.
16936         * m4/localename.m4 (gl_LOCALENAME): Don't test whether setlocale exists.
16938 2019-01-06  Bruno Haible  <bruno@clisp.org>
16940         doc: Add documentation about container data types.
16941         * doc/containers.texi: New file.
16942         * doc/gnulib.texi (Particular Modules): Include it.
16944 2019-01-06  Bruno Haible  <bruno@clisp.org>
16946         doc: Update documentation about 'progname' module.
16947         * doc/progname.texi: Rename from doc/error.texi. Change node name and
16948         title. Rewrite.
16949         * doc/gnulib.texi (Particular Modules): Update.
16951 2019-01-06  Bruno Haible  <bruno@clisp.org>
16953         doc: Document the xstdopen and *-safer modules.
16954         * doc/xstdopen.texi: New file.
16955         * doc/gnulib.texi (Particular Modules): Include it.
16957 2019-01-06  Bruno Haible  <bruno@clisp.org>
16959         xstdopen: Add tests.
16960         * tests/test-xstdopen.c: New file.
16961         * tests/test-xstdopen.sh: New file.
16962         * modules/xstdopen-tests: New file.
16964         xstdopen: New module.
16965         * lib/xstdopen.h: New file.
16966         * lib/xstdopen.c: New file.
16967         * modules/xstdopen: New file.
16969 2019-01-06  Bruno Haible  <bruno@clisp.org>
16971         stdopen: Fix compilation error with IRIX cc.
16972         * lib/stdopen.c (stdopen): Do not use C99-style decl in loop.
16974 2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>
16976         xfreopen need not include stdio--.h
16977         * lib/xfreopen.c: Do not include stdio--.h.
16979         xfreopen need not depend on freopen-safer
16980         * modules/xfreopen (Depends-on):
16981         Depend on freopen, not freopen-safer.
16983         stdopen: modernize and simplify
16984         * lib/stdopen.c: Update copyright date
16985         Do not include sys/types.h; no longer needed these days.
16986         (stdopen): Use C99-style decl in loop.  Return int errno
16987         value, rather than just a bool.  Do not worry about fd mismatches,
16988         since the caller cares only if 0, 1, 2 are occupied.
16989         * lib/stdopen.h: No need to include <stdbool.h>.
16990         * m4/stdopen.m4: Remove.
16991         * modules/stdopen: New file.
16993         stdopen: copy from last use in coreutils
16994         * lib/stdopen.c, lib/stdopen.h, m4/stdopen.m4:
16995         New files, taken from their last commit in coreutils
16996         2007-07-23T12:35:58Z!jim@meyering.net
16997         71aa3ea88084d17bcb4fc1031ad7b66f8647115e.
16999 2019-01-05  Bruno Haible  <bruno@clisp.org>
17001         argp: Don't pass an invalid argument to dgettext().
17002         Reported by He X <xw897002528@gmail.com>.
17003         * lib/argp-help.c (print_header, argp_doc): Don't pass a NULL doc to
17004         dgettext().
17006 2019-01-05  Bruno Haible  <bruno@clisp.org>
17008         argp: Don't pass an invalid argument to dgettext().
17009         Reported by He X <xw897002528@gmail.com>.
17010         * lib/argp.h (struct argp): Clarify that the args_doc field may be NULL.
17011         * lib/argp-help.c (argp_args_usage): Don't pass a NULL args_doc to
17012         dgettext().
17014 2018-12-22  Paul Eggert  <eggert@cs.ucla.edu>
17016         stdioext: port to newer 32-bit Android
17017         Problem reported by Tom Yan in:
17018         https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00014.html
17019         * lib/stdio-impl.h (_gl_FILE_flags_t) [__ANDROID__]: New macro.
17020         (fp_) [__ANDROID__]: Use it.
17022 2019-01-04  Bruno Haible  <bruno@clisp.org>
17024         lock: Fix link error with --enable-threads=pth.
17025         * lib/glthread/lock.h (pth_cond_init, pth_cond_await, pth_cond_notify):
17026         Mark as weak.
17028 2019-01-04  Bruno Haible  <bruno@clisp.org>
17030         Fix link errors in unit tests.
17031         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17032         * modules/bitset-tests (Makefile.am): Link test-bitset against libintl.
17033         * modules/array-map-tests (Makefile.am): Link test-array_map against
17034         libintl.
17035         * modules/array-set-tests (Makefile.am): Link test-array_set against
17036         libintl.
17037         * modules/hash-map-tests (Makefile.am): Link test-hash_map against
17038         libintl.
17039         * modules/hash-set-tests (Makefile.am): Link test-hash_set against
17040         libintl.
17041         * modules/linkedhash-map-tests (Makefile.am): Link test-linkedhash_map
17042         against libintl.
17043         * modules/linkedhash-set-tests (Makefile.am): Link test-linkedhash_set
17044         against libintl.
17046 2019-01-04  Bruno Haible  <bruno@clisp.org>
17048         Fix incorrect 'Link' sections.
17049         * modules/regex (Link): Mention the link requirement of module 'lock'.
17050         * modules/regex-tests (Makefile.am): Don't use LIB_PTHREAD.
17052 2019-01-04  Bruno Haible  <bruno@clisp.org>
17054         Fix some 'Link' sections.
17055         * modules/c-stack (Link): Add link directive from the 'gettext-h'
17056         dependency.
17057         * modules/getaddrinfo (Link): Likewise.
17059 2019-01-04  Bruno Haible  <bruno@clisp.org>
17061         Remove redundant 'Link' sections.
17062         * modules/canon-host (Link): Remove section.
17063         * modules/timevar (Link): Likewise.
17065 2019-01-04  Bruno Haible  <bruno@clisp.org>
17067         Remove incorrect 'Link' sections.
17068         * modules/acl (Link): Remove section. Use combined 'Link' sections from
17069         the dependencies instead.
17070         * modules/crypto/md5 (Link): Likewise.
17071         * modules/crypto/sha1 (Link): Likewise.
17072         * modules/crypto/sha256 (Link): Likewise.
17073         * modules/crypto/sha512 (Link): Likewise.
17074         * modules/faccessat (Link): Likewise.
17075         * modules/fdutimensat (Link): Likewise.
17076         * modules/iconv_open-utf (Link): Likewise.
17077         * modules/propername (Link): Likewise.
17078         * modules/qacl (Link): Likewise.
17079         * modules/unicodeio (Link): Likewise.
17080         * modules/utimecmp (Link): Likewise.
17081         * modules/utimensat (Link): Likewise.
17082         * modules/xstriconv (Link): Likewise.
17083         * modules/xstriconveh (Link): Likewise.
17085 2019-01-04  Bruno Haible  <bruno@clisp.org>
17087         gnulib-tool: New option --extract-recursive-link-directive.
17088         * gnulib-tool (func_usage): Document the new options
17089         --extract-recursive-dependencies, --extract-recursive-link-directive.
17090         (func_verify_module): Document output variables.
17091         (func_get_dependencies_recursively): New function.
17092         (func_get_link_directive_recursively): New function.
17093         Use them to implement the new options
17094         --extract-recursive-dependencies, --extract-recursive-link-directive.
17095         * doc/gnulib-tool.texi (Link-time requirements): New section.
17097 2019-01-04  Bruno Haible  <bruno@clisp.org>
17099         Clarify meaning of 'Link' section in module description.
17100         * doc/gnulib.texi (Module description): Clarify the meaning of the
17101         'Link' section versus the one of the dependencies.
17102         * NEWS: Mention the change.
17104 2019-01-04  Bruno Haible  <bruno@clisp.org>
17106         pselect: Fix module description.
17107         * modules/pselect (Link): Put one link option per line.
17109 2019-01-04  Bruno Haible  <bruno@clisp.org>
17111         cosl: Fix module description.
17112         * modules/cosl (Link): Fix typo.
17113         * modules/mathl (configure.ac): Likewise.
17115 2019-01-04  Bruno Haible  <bruno@clisp.org>
17117         c-xvasprintf: Fix module dependencies.
17118         * modules/c-xvasprintf (Depends-on): Add 'xalloc-die'.
17120 2019-01-04  Akim Demaille  <akim@lrde.epita.fr>
17122         bootstrap: die when some submodules are not initialized
17123         * build-aux/bootstrap: Make sure all submodules are initialized.
17125 2019-01-04  Bruno Haible  <bruno@clisp.org>
17127         bitsetv: Fix module dependencies.
17128         * lib/bitsetv.c: Include xalloc.h.
17129         * modules/bitsetv (Depends-on): Add 'xalloc'.
17131 2019-01-04  Bruno Haible  <bruno@clisp.org>
17133         xmemdup0: Remove redundant code.
17134         * lib/xmemdup0.h (xalloc_die): Remove declaration.
17136 2019-01-04  Bruno Haible  <bruno@clisp.org>
17138         backupfile: Fix module dependencies.
17139         * modules/backupfile (Depends-on): Add 'xalloc'.
17141 2019-01-03  Paul Eggert  <eggert@cs.ucla.edu>
17143         bitset, crypto/gc: fix conflicts with Solaris 11
17144         * lib/bitset.h (_GL_BITSET_H): Rename from _BITSET_H, to
17145         avoid clash with Solaris 11 <sys/bitset.h>.
17146         * lib/gc.h (_GL_GC_H): Rename from GC_H, to avoid clash
17147         with Solaris 11 <xorg/gc.h>.
17149 2019-01-04  Bruno Haible  <bruno@clisp.org>
17151         safe-read, safe-write: Fix conflict with Illumos-Joyent <sys/limits.h>.
17152         Reported by Andy Fiddaman <andy@omniosce.org>.
17153         * lib/sys-limits.h: Add a '_GL' prefix to the guard symbol.
17155 2019-01-03  Eric Blake  <eblake@redhat.com>
17157         maintainer-makefile: fix typo in previous patch
17158         * top/maint.mk (_sc_search_regexp): Fix my accidental corruption
17159         of Roman's work.
17161 2019-01-02  Roman Bolshakov <r.bolshakov@yadro.com>  (tiny change)
17163         maintainer-makefile: prefer $(GREP) over grep
17164         * modules/maintainer-makefile (configure.ac): Ensure $(GREP) is
17165         defined.
17166         * top/maint.mk: Use it everywhere.
17168         maintainer-makefile: split long argument lines
17169         * top/maint.mk: Use xargs to split $(VC_LIST_EXCEPT) usage where
17170         it would be too long for exec limits on BSD.
17172 2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>
17174         mkfifo: bring back HAVE_MKFIFO macro
17175         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): #define HAVE_MKFIFO as needed.
17176         Problem reported by Andrew Janke in:
17177         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00147.html
17179 2018-12-21  Bruno Haible  <bruno@clisp.org>
17181         Assume Autoconf >= 2.63.
17182         * modules/stdarg (configure.ac-early): Remove comment about Autoconf
17183         versions < 2.60.
17185 2018-12-21  Bruno Haible  <bruno@clisp.org>
17187         memcmp: Mention the clang bug.
17188         * tests/test-memcmp.c: Add comment about a known test failure.
17189         * doc/posix-functions/memcmp.texi: Mention the clang bug.
17191 2018-12-20  Jim Meyering  <meyering@fb.com>
17193         revert v0.1-2213-gae4b73e28 and part of v0.1-2281-g95cd86dd7
17194         v0.1-2213-gae4b73e28 caused a regression in grep-3.2 (no match):
17195           echo '123-x'|LC_ALL=C grep -E '.\bx'
17196         The goal is to revert the first, but reverting it requires to restore
17197         the function deleted in the second. I ran this to restore the deleted
17198         function:
17199           git show v0.1-2281-g95cd86dd7 lib/dfa.c \
17200             | perl -0777 -pe 's/^@@[^\n]*dfaan.*//ms' \
17201             | patch -R -p1
17202         * lib/dfa.c (charclass_context): Restore deleted function.
17203         Reverting the primary commit removes this change:
17204         dfa: Simplify a building state
17205         * lib/dfa.c (build_state): Simplify a building state.
17207 2018-12-20  Paul Eggert  <eggert@cs.ucla.edu>
17209         version-etc: allow zero authors
17210         * lib/version-etc.c (version_etc_arn): If no authors are given,
17211         omit authorship info instead of dumping core.
17213 2018-12-19  Bruno Haible  <bruno@clisp.org>
17215         lchown tests: Be more permissive regarding errno values.
17216         Reported by Ivan Zakharyaschev <imz@altlinux.org>.
17217         * tests/test-lchown.h (test_lchown): Recognize EOPNOTSUPP as an
17218         alternative to ENOSYS.
17219         * modules/lchown-tests (Depends-on): Add 'errno'.
17220         * modules/fchownat-tests (Depends-on): Likewise.
17222 2018-12-18  Bruno Haible  <bruno@clisp.org>
17224         duplocale: Avoid test failure on AIX 7.
17225         * modules/duplocale-tests (Files): Add m4/intl-thread-locale.m4.
17226         (configure.ac): Invoke gt_FUNC_USELOCALE.
17227         * tests/test-duplocale.c: Test HAVE_WORKING_USELOCALE instead of
17228         HAVE_USELOCALE. Assume that nl_langinfo_l only works when uselocale
17229         works.
17231 2018-12-18  Bruno Haible  <bruno@clisp.org>
17233         localename: Fix test failure on AIX 7.
17234         Reported by Assaf Gordon in
17235         <https://lists.gnu.org/archive/html/sed-devel/2018-12/msg00019.html>.
17236         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): New macro.
17237         (gt_INTL_THREAD_LOCALE_NAME): Invoke it. Test gt_cv_func_uselocale_works
17238         instead of ac_cv_func_uselocale.
17239         * lib/localename.c: Test HAVE_WORKING_USELOCALE instead of
17240         HAVE_USELOCALE.
17241         * lib/localename-table.h: Likewise.
17242         * lib/localename-table.c: Likewise.
17243         * tests/test-localename.c: Likewise.
17244         * doc/posix-functions/uselocale.texi: Mention the AIX problem.
17246 2018-12-18  Bruno Haible  <bruno@clisp.org>
17248         localename: Update comments regarding Cygwin.
17249         * lib/localename.c: Update comment.
17250         * doc/posix-functions/uselocale.texi: Update platforms list.
17251         * doc/posix-functions/newlocale.texi: Likewise.
17252         * doc/posix-functions/duplocale.texi: Likewise.
17253         * doc/posix-functions/freelocale.texi: Likewise.
17255 2018-12-16  Bruno Haible  <bruno@clisp.org>
17257         c-stack: Fix for Linux/sparc.
17258         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Set
17259         ac_cv_sys_xsi_stack_overflow_heuristic to 'no' on Linux/sparc.
17261 2018-12-16  Bruno Haible  <bruno@clisp.org>
17263         localename: Avoid test failure on some glibc systems.
17264         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
17265         Unset environment variables that might disturb the first setlocale call,
17266         and verify that this setlocale call succeeds.
17268 2018-12-16  Assaf Gordon  <assafgordon@gmail.com>
17270         random: Fix build error on native Windows (regression from 2018-06-21).
17271         * lib/random.c (__srandom, __initstate, __setstate, __random,
17272         __srandom_r, __initstate_r, __setstate_r, __random_r) [!_LIBC]: Redirect
17273         to the symbols without '__' prefix.
17275 2018-12-16  Bruno Haible  <bruno@clisp.org>
17277         obstack, libc-config: Support HP-UX cc in C99 mode.
17278         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER): Treat HP-UX cc as a pre-C99
17279         compiler, even when in C99 mode.
17280         * lib/cdefs.h (__flexarr): Likewise.
17281         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Update comment.
17283 2018-12-16  Bruno Haible  <bruno@clisp.org>
17285         localename: Fix test failure on OpenBSD >= 6.2.
17286         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Test for fake
17287         locale system. Define HAVE_FAKE_LOCALES in this case.
17288         * lib/localename.c (HAVE_GOOD_USELOCALE): New macro. Use it instead of
17289         HAVE_USELOCALE.
17290         * tests/test-localename.c (HAVE_GOOD_USELOCALE): New macro. Use it
17291         instead of HAVE_NEWLOCALE && HAVE_USELOCALE.
17292         * doc/posix-functions/uselocale.texi: Mention OpenBSD problem. Update
17293         platforms list.
17294         * doc/posix-functions/newlocale.texi: Likewise.
17295         * doc/posix-functions/duplocale.texi: Update platforms list.
17296         * doc/posix-functions/freelocale.texi: Likewise.
17298 2018-12-16  Bruno Haible  <bruno@clisp.org>
17300         duplocale tests: Re-enable the test on platforms without <monetary.h>.
17301         * tests/test-duplocale.c: Use more fine-grained #ifs to re-enable most
17302         of the test, on platforms without <monetary.h>.
17304 2018-12-16  Bruno Haible  <bruno@clisp.org>
17306         localename: Update comments.
17307         * lib/localename.c (HAVE_USELOCALE): Update list of platforms.
17309 2018-12-15  Jim Meyering  <meyering@fb.com>
17311         regex: fix indentation
17312         * m4/regex.m4 (gl_REGEX): Indent with spaces, not TABs.
17314 2018-12-15  Bruno Haible  <bruno@clisp.org>
17316         openat-safer tests: Avoid test failure on NetBSD 8.
17317         * tests/test-openat-safer.c (main): Execute a Linux specific test only
17318         on Linux.
17320 2018-12-15  Jim Meyering  <meyering@fb.com>
17322         regex: work around a bug in glibc-2.27 and prior
17323         * m4/regex.m4 (gl_REGEX): Reject any system regexp that gets a failed
17324         assertion for /0|()0|\1|0/.
17325         * tests/test-regex.c (main): Add the same test here.
17327 2018-12-15  Bruno Haible  <bruno@clisp.org>
17329         localename: Fix use of uninitialized shell variable.
17330         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Initialize
17331         gt_cv_locale_solaris114 always before use. Remove assignment without
17332         effect.
17334 2018-12-15  Bruno Haible  <bruno@clisp.org>
17336         dfa tests: Avoid test failure on Alpine Linux.
17337         * tests/dfa-match.sh (timeout_10): Accommodate the BusyBox 'timeout'
17338         command found on Alpine Linux.
17340 2018-12-15  Jim Meyering  <meyering@fb.com>
17342         dfa: avoid new warnings from gcc
17343         These would prevent building with -Werror and a Dec snapshot of gcc.
17344         * lib/dfa.c (dfaanalyze): Avoid shadowing warnings for "pos".
17345         Rename each inner instance to "p".
17346         (charclass_context): Remove unused static function.
17348 2018-12-14  Paul Eggert  <eggert@cs.ucla.edu>
17350         mkdir-p: improve diagnostic for FUSE mounts
17351         Problem reported by Niklas Hambüchen in:
17352         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00074.html
17353         * lib/mkdir-p.c (make_dir_parents): In diagnostic, prefer stat
17354         errno to mkdir errno if the stat errno is likely more interesting.
17356 2018-12-14  Bruno Haible  <bruno@clisp.org>
17358         hash-map: Add tests.
17359         * tests/test-hash_map.c: New file.
17360         * modules/hash-map-tests: New file.
17362         linkedhash-map: Add tests.
17363         * tests/test-linkedhash_map.c: New file.
17364         * modules/linkedhash-map-tests: New file.
17366         array-map: Add tests.
17367         * tests/test-array_map.c: New file.
17368         * modules/array-map-tests: New file.
17370         xmap: New module.
17371         * lib/gl_xmap.h: New file.
17372         * lib/gl_xmap.c: New file.
17373         * modules/xmap: New file.
17375         hash-map: New module.
17376         * lib/gl_hash_map.h: New file.
17377         * lib/gl_hash_map.c: New file.
17378         * modules/hash-map: New file.
17380         linkedhash-map: New module.
17381         * lib/gl_linkedhash_map.h: New file.
17382         * lib/gl_linkedhash_map.c: New file.
17383         * lib/gl_anyhash1.h: Update comments.
17384         * lib/gl_anyhash2.h: Likewise.
17385         * modules/linkedhash-map: New file.
17387         array-map: New module.
17388         * lib/gl_array_map.h: New file.
17389         * lib/gl_array_map.c: New file.
17390         * modules/array-map: New file.
17392         map: New module.
17393         * lib/gl_map.h: New file.
17394         * lib/gl_map.c: New file.
17395         * lib/gl_omap.h (gl_mapkey_dispose_fn, gl_mapvalue_dispose_fn): Avoid
17396         conflict with gl_map.h.
17397         * modules/map: New file.
17399 2018-12-13  Bruno Haible  <bruno@clisp.org>
17401         select tests: Avoid test failure on Cygwin.
17402         * tests/test-select.h (test_bad_fd): Use an fd < FD_SETSIZE.
17404 2018-12-13  Bruno Haible  <bruno@clisp.org>
17406         localtime-buffer: Avoid endless recursion in localtime and gmtime.
17407         * lib/localtime-buffer.c: Undefine localtime and gmtime before use.
17409 2018-12-13  Bruno Haible  <bruno@clisp.org>
17411         localeconv tests: Avoid test failure on Cygwin.
17412         * tests/test-localeconv.c (main): On Cygwin, skip the 'grouping' and
17413         'mon_grouping' tests.
17415 2018-12-11  Bruno Haible  <bruno@clisp.org>
17417         omap: Don't dispose the old value when the function returns it.
17418         * lib/gl_array_omap.c (gl_array_remove_at): Don't invoke the vdispose_fn
17419         here.
17420         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
17421         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
17422         * lib/gl_omap.h (gl_omap_nx_put, gl_omap_remove): Invoke the vdispose_fn
17423         here.
17425         array-omap, avltree-omap, rbtree-omap: Tweak style.
17426         * lib/gl_anytree_omap.h (gl_tree_nx_getput): Return 1 or 0, not true or
17427         false.
17428         * lib/gl_array_omap.c (gl_array_nx_getput): Likewise.
17430         rbtree-omap: Add tests.
17431         * tests/test-rbtree_omap.c: New file.
17432         * modules/rbtree-omap-tests: New file.
17434         avltree-omap: Add tests.
17435         * tests/test-avltree_omap.c: New file.
17436         * modules/avltree-omap-tests: New file.
17438         array-omap: Add tests.
17439         * tests/test-array_omap.c: New file.
17440         * modules/array-omap-tests: New file.
17442         xomap: New module.
17443         * lib/gl_xomap.h: New file.
17444         * lib/gl_xomap.c: New file.
17445         * modules/xomap: New file.
17447         rbtree-omap: New module.
17448         * lib/gl_rbtree_omap.h: New file.
17449         * lib/gl_rbtree_omap.c: New file.
17450         * lib/gl_rbtree_ordered.h: Code moved to here from lib/gl_rbtree_oset.c.
17451         Parameterize.
17452         * lib/gl_rbtree_oset.c: Include gl_rbtree_ordered.h.
17453         * modules/rbtree-omap: New file.
17454         * modules/rbtree-oset (Files): Add lib/gl_rbtree_ordered.h.
17455         (Makefile.am): Add gl_rbtree_ordered.h to lib_SOURCES.
17457         avltree-omap: New module.
17458         * lib/gl_avltree_omap.h: New file.
17459         * lib/gl_avltree_omap.c: New file.
17460         * lib/gl_avltree_ordered.h: Code moved to here from
17461         lib/gl_avltree_oset.c. Parameterize.
17462         * lib/gl_avltree_oset.c: Include gl_avltree_ordered.h.
17463         * lib/gl_anytree_omap.h: New file.
17464         * modules/avltree-omap: New file.
17465         * modules/avltree-oset (Files): Add lib/gl_avltree_ordered.h.
17466         (Makefile.am): Add gl_avltree_ordered.h to lib_SOURCES.
17468         array-omap: New module.
17469         * lib/gl_array_omap.h: New file.
17470         * lib/gl_array_omap.c: New file.
17471         * modules/array-omap: New file.
17473         omap: New module.
17474         * lib/gl_omap.h: New file.
17475         * lib/gl_omap.c: New file.
17476         * modules/omap: New file.
17478 2018-12-11  Bruno Haible  <bruno@clisp.org>
17480         hash-set, linkedhash-set: Reduce code duplication.
17481         * lib/gl_anyhash1.h: Rename from lib/gl_anyhash_list1.h and
17482         lib/gl_anyhash_set1.h.
17483         * lib/gl_anyhash2.h: Rename from lib/gl_anyhash_list2.h and
17484         lib/gl_anyhash_set2.h. Parameterize.
17485         (hash_resize_after_add): New function, from lib/gl_anyhash_set2.h.
17486         * lib/gl_anytreehash_list1.h (hash_resize_after_add): Remove function.
17487         * lib/gl_avltreehash_list.c: Include gl_anyhash1.h instead of
17488         gl_anyhash_list1.h. Include gl_anyhash2.h instead of gl_anyhash_list2.h.
17489         * lib/gl_rbtreehash_list.c: Likewise.
17490         * lib/gl_linkedhash_list.c: Likewise.
17491         (hash_resize_after_add): Remove function.
17492         * lib/gl_linkedhash_set.c: Include gl_anyhash1.h instead of
17493         gl_anyhash_set1.h. Include gl_anyhash2.h instead of gl_anyhash_set2.h.
17494         * gl_hash_set.c: Likewise.
17495         * modules/avltreehash-list (Files, Makefile.am): Update file list.
17496         * modules/rbtreehash-list (Files, Makefile.am): Likewise.
17497         * modules/linkedhash-list (Files, Makefile.am): Likewise.
17498         * modules/linkedhash-set (Files, Makefile.am): Likewise.
17499         * modules/hash-set (Files, Makefile.am): Likewise.
17501 2018-12-11  Bruno Haible  <bruno@clisp.org>
17503         array-set: Optimize.
17504         * lib/gl_array_set.c (gl_array_search, gl_array_remove): Test equals_fn
17505         outside the loop, not inside the loop.
17507 2018-12-11  Bruno Haible  <bruno@clisp.org>
17509         times: Fix tests.
17510         * tests/test-times.c (doublecmp): Implement a total order.
17512 2018-12-11  Bruno Haible  <bruno@clisp.org>
17514         array-set, linkedhash-set, hash-set: Fix tests.
17515         * tests/test-array_set.c (cmp_objects_in_array): New function.
17516         (check_equals): Use it.
17517         * tests/test-hash_set.c: Likewise.
17518         * tests/test-linkedhash_set.c: Likewise.
17520 2018-12-08  Bruno Haible  <bruno@clisp.org>
17522         Fix comments.
17523         * lib/gl_list.h (gl_list_free): Clarify what it does.
17524         * lib/gl_oset.h (gl_oset_free): Likewise.
17525         * lib/gl_set.h (gl_set_free): Likewise.
17526         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Fix typo in comment.
17527         * lib/gl_array_oset.c (gl_array_search_atleast): Likewise.
17528         * lib/gl_anyavltree_list1.h (MAXHEIGHT): Likewise.
17529         * lib/gl_avltree_oset.c (MAXHEIGHT): Likewise.
17531 2018-12-03  Bruno Haible  <bruno@clisp.org>
17533         hash-set: Add tests.
17534         * tests/test-hash_set.c: New file.
17535         * modules/hash-set-tests: New file.
17537         linkedhash-set: Add tests.
17538         * tests/test-linkedhash_set.c: New file.
17539         * modules/linkedhash-set-tests: New file.
17541         array-set: Add tests.
17542         * tests/test-array_set.c: New file.
17543         * modules/array-set-tests: New file.
17545         xset: New module.
17546         * lib/gl_xset.h: New file.
17547         * lib/gl_xset.c: New file.
17548         * modules/xset: New file.
17550         hash-set: New module.
17551         * lib/gl_hash_set.h: New file.
17552         * lib/gl_hash_set.c: New file.
17553         * modules/hash-set: New file.
17555         linkedhash-set: New module.
17556         * lib/gl_linkedhash_set.h: New file.
17557         * lib/gl_linkedhash_set.c: New file.
17558         * lib/gl_anyhash_set1.h: New file, based on lib/gl_anyhash_list1.h.
17559         * lib/gl_anyhash_set2.h: New file, based on lib/gl_anyhash_list2.h.
17560         * lib/gl_anyhash_primes.h: New file, extracted from
17561         lib/gl_anyhash_list2.h.
17562         * lib/gl_anyhash_list2.h: Include it.
17563         (primes, next_prime): Remove definitions.
17564         * modules/linkedhash-set: New file.
17565         * modules/avltreehash-list (Files): Add lib/gl_anyhash_primes.h.
17566         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
17567         * modules/linkedhash-list (Files): Add lib/gl_anyhash_primes.h.
17568         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
17569         * modules/rbtreehash-list (Files): Add lib/gl_anyhash_primes.h.
17570         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
17572         array-set: New module.
17573         * lib/gl_array_set.h: New file.
17574         * lib/gl_array_set.c: New file.
17575         * modules/array-set: New file.
17577         set: New module.
17578         * lib/gl_set.h: New file.
17579         * lib/gl_set.c: New file.
17580         * lib/gl_oset.h (gl_setelement_dispose_fn): Avoid conflict with
17581         gl_set.h.
17582         * modules/set: New file.
17584 2018-12-07  Akim Demaille  <akim@lrde.epita.fr>
17586         bison: don't force the Yacc mode
17587         Passing -y forces Bison into POSIX YACC mode.  This includes reporting
17588         errors when Bison features are used in the grammar file.  Some of
17589         these features (such as %expect) were flagged non-yacc recently.  Most
17590         of the time, -y is actually used to please Automake's ylwrap which
17591         expects the output to be y.tab.c.
17592         * m4/bison.m4 (gl_BISON): Use `-o y.tab.c` rather than `-y`.
17594 2018-12-01  Bruno Haible  <bruno@clisp.org>
17596         gnupload: Document short options.
17597         * build-aux/gnupload (usage): Document the short options.
17599 2018-11-28  Ben Elliston  <bje@gnu.org>
17601         gnupload: Support option -h as alias of --help.
17602         * build-aux/gnupload: Support -h.
17604 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
17606         memrchr: port better to clang
17607         * lib/memrchr.c (__memrchr): Cast to void * instead of to
17608         longword *, to pacify clang -Wcast-align (Bug#33544).
17610 2018-11-29  Eric Blake  <eblake@redhat.com>
17612         docs: mention printf %m considerations
17613         * doc/glibc-functions/asprintf.texi (asprintf): Document that %m
17614         is not portable, and is easy enough to work around.
17615         * doc/glibc-functions/obstack_printf.texi (obstack_printf): Likewise.
17616         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): Likewise.
17617         * doc/glibc-functions/vasprintf.texi (vasprintf): Likewise.
17618         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
17619         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
17620         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
17621         * doc/posix-functions/printf.texi (printf): Likewise.
17622         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
17623         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
17624         * doc/posix-functions/swprintf.texi (swprintf): Likewise.
17625         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
17626         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
17627         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
17628         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
17629         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
17630         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
17631         * doc/posix-functions/vswprintf.texi (vswprintf): Likewise.
17632         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
17633         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
17635 2018-11-29  Akim Demaille  <akim@lrde.epita.fr>
17637         bitset: rename ebitset/expandable.* as tbitset/table.*
17638         See
17639         https://lists.gnu.org/archive/html/bug-gnulib/2018-11/msg00096.html.
17640         * lib/bitset/expandable.h, lib/bitset/expandable.c: Rename as...
17641         * lib/bitset/table.h, lib/bitset/table.c: these.
17642         Rename all the ebitset* symbols as tbitset*.
17643         Adjust dependencies.
17645 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
17647         bitset: check the operations
17648         * tests/test-bitset.c (bitset_random): New.
17649         Use it.
17650         * lib/bitset/expandable.c (ebitset_not): Fix typo.
17652 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
17654         bitset: properly use false/true instead of 0/1 for Booleans
17655         * lib/bitset/expandable.c, lib/bitset/vector.c: Use false/true, not
17656         0/1, as Booleans.
17658 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
17660         bitset: rename BITSET_VARRAY as BITSET_VECTOR
17661         For consistency with the name of the file.
17662         * doc/bitset.texi, lib/bitset.c, lib/bitset/base.h,
17663         * lib/bitset/stats.c, lib/bitset/vector.c
17664         (BITSET_VARRAY): Rename as...
17665         (BITSET_VECTOR): this.
17667 2018-11-28  Paul Eggert  <eggert@cs.ucla.edu>
17669         strerror_r-posix: memmove, not memcpy
17670         * lib/strerror_r.c (safe_copy): Use memmove, not memcpy,
17671         since the source and destination might overlap in the call
17672         ‘safe_copy (buf, buflen, strerror_r (errnum, buf, buflen))’.
17673         Simplify.
17675 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
17677         bitsetv: new module
17678         * lib/bitsetv.c, lib/bitsetv.h, modules/bitsetv: New.
17680 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
17682         bitset: add tests and doc
17683         First stabs at providing a documentation and test for the bitset
17684         module.
17685         * doc/bitset.texi, modules/test-bitset, tests/bitset-tests.c: New.
17687 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
17689         bitset: new module
17690         * lib/bitset.c, lib/bitset.h, lib/bitset/array.c,
17691         * lib/bitset/array.h, lib/bitset/base.h, lib/bitset/expandable.c,
17692         * lib/bitset/expandable.h, lib/bitset/list.c, lib/bitset/list.h,
17693         * lib/bitset/stats.c, lib/bitset/stats.h, lib/bitset/vector.c,
17694         * lib/bitset/vector.h, modules/bitset:
17695         New.
17697 2018-11-23  Bruno Haible  <bruno@clisp.org>
17699         localename: Fix gettext test failures on mingw.
17700         * lib/localename.c (gl_locale_name_posix): Convert the result of
17701         gl_locale_name_environ to XPG syntax.
17703 2018-11-23  Karl Berry  <karl@freefriends.org>
17705         * config/srclistvars.txt,
17706         * config/srclist.txt: remove all gettext references;
17707         the gettext maintainers will sync as needed.
17709 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
17711         mktime: add libc-config dependency
17712         I missed this when we synced from glibc.
17713         * modules/mktime (Depends-on): Add libc-config.
17715 2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>
17717         longlong: fix comment typo
17718         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Fix typo.
17720 2018-11-11  Bruno Haible  <bruno@clisp.org>
17722         havelib: Remove the need to include asm-underscore.m4.
17723         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): New macro.
17724         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use it instead of
17725         gl_HOST_CPU_C_ABI.
17726         * modules/havelib (Files): Add host-cpu-c-abi.m4.
17727         (Depends-on): Remove host-cpu-c-abi.
17729 2018-11-03  Paul Eggert  <eggert@cs.ucla.edu>
17731         parse-datetime: simplify test for mktime failure
17732         * lib/parse-datetime.y (mktime_ok): Simplify.
17733         Remove args TZ and T; no longer needed.  Callers changed.
17735         posixtm: simplify test for mktime failure
17736         * lib/posixtm.c (posixtime): Simplify.
17738         nstrftime: simplify test for mktime failure
17739         * lib/nstrftime.c (__strftime_internal): Simplify.
17741 2018-11-02  Paul Eggert  <eggert@cs.ucla.edu>
17743         gnulib-common.m4: port _Noreturn to C++
17744         Problem reported by Akim Demaille in:
17745         https://lists.gnu.org/r/bug-bison/2018-10/msg00067.html
17746         * m4/gnulib-common.m4 (gl_COMMON_BODY): If C++, use [[noreturn]].
17747         Merge adjustments from _Noreturn.h and from glibc into the non-C++
17748         version.
17749         * lib/_Noreturn.h: Match gnulib-common.
17751 2018-10-30  Bruno Haible  <bruno@clisp.org>
17753         gnu-make: Fix for NetBSD 8 'make'.
17754         Reported by Reuben Thomas in
17755         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00135.html>.
17756         * m4/gnu-make.m4 (gl_GNU_MAKE): Use a heuristic based on the --version
17757         output, ignoring exit codes.
17759 2018-10-28  Bernhard Voelker  <mail@bernhard-voelker.de>
17761         maintainer-makefile: fix syntax-check rule for "same.h"
17762         * top/maint.mk (sc_prohibit_same_without_use): Adjust regex to check
17763         for 'same_nameat', too.
17765 2018-10-25  Paul Eggert  <eggert@cs.ucla.edu>
17767         havelib: fix nested ‘configure’ chatter
17768         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Don’t nest
17769         AC_CACHE_CHECK calls, which resulted in confusing output like
17770         “checking for the common suffixes of directories in the library
17771         search path... checking for 64-bit host... no lib,lib”.
17773         backupfile: tweak for better code
17774         * lib/backupfile.c: Sort include directives, and remove
17775         unnecessary <limits.h> include.
17776         (FALLTHROUGH): New macro, copied from other modules.
17777         (backupfile_internal): Use it to avoid code duplication.
17778         This lets GCC 8.2.1 generate better code by inlining the
17779         call to check_extension.
17781 2018-10-23  Paul Eggert  <eggert@cs.ucla.edu>
17783         backupfile: new dir_fd args
17784         New module opendirat with code taken from fts.
17785         Use this module to let backupfile use a directory file descriptor.
17786         * NEWS: Document the incompatible change.
17787         * lib/backup-find.c (find_backup_file_name):
17788         * lib/backup-rename.c (backup_file_rename):
17789         New arg DIR_FD.
17790         * lib/backupfile.c: Include stdint.h, for SIZE_MAX.
17791         (SIZE_MAX): Remove.
17792         Include opendirat.h rather than dirent--.h.
17793         (check_extension): New args DIR_FD and BASE_MAX.  All callers changed.
17794         (numbered_backup): New args DIR_FD and PNEW_FD.  All callers changed.
17795         (backupfile_internal): New arg DIR_FD.  All callers changed.
17796         * lib/fts.c: Include opendirat.h.
17797         (opendirat): Move to opendirat.c.
17798         * lib/opendirat.c, lib/opendirat.h, modules/opendirat: New files.
17799         * modules/backupfile (Depends-on): Remove dirfd, opendir.
17800         Add opendirat.
17801         * modules/fts (Depends-on): Remove fdopendir, openat-safer.
17802         Add opendirat.
17804 2018-10-23  Bruno Haible  <bruno@clisp.org>
17806         localename: Simplify support for per-thread locales on Solaris 11.4.
17807         * m4/intl-thread-locale.m4: Renamed from m4/intlsolaris.m4.
17808         (gt_INTL_THREAD_LOCALE_NAME): Renamed from gt_INTL_SOLARIS. Define
17809         HAVE_SOLARIS114_LOCALES instead of HAVE_NAMELESS_LOCALES.
17810         * lib/localename.c: Handle HAVE_SOLARIS114_LOCALES through Solaris
17811         specific code.
17812         * lib/localename-table.h: Update comments.
17813         * lib/localename-table.c: Update comments.
17814         * m4/localename.m4 (gl_LOCALENAME): Require gt_INTL_THREAD_LOCALE_NAME.
17815         Test for 'uselocale'. Don't invoke gt_INTL_SOLARIS.
17816         * m4/intl.m4 (AM_INTL_SUBDIR): Require gt_INTL_THREAD_LOCALE_NAME. Test
17817         for 'uselocale'. Set HAVE_NAMELESS_LOCALES.
17818         (gt_INTL_SUBDIR_CORE): Don't invoke gt_INTL_SOLARIS. Don't set
17819         HAVE_NAMELESS_LOCALES here.
17820         * modules/localename (Files): Add m4/intl-thread-locale.m4. Remove
17821         m4/intlsolaris.m4.
17822         * modules/gettext (Files): Likewise.
17824 2018-10-22  Bruno Haible  <bruno@clisp.org>
17826         std-gnu11: Support Autoconf versions < 2.64.
17827         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO as fallback
17828         when _AC_DO_LIMIT does not exist.
17830 2018-10-22  Bruno Haible  <bruno@clisp.org>
17832         Assume Autoconf >= 2.63.
17833         * DEPENDENCIES: Mention the requirement.
17835         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Bump to 2.63.
17836         (func_get_filelist): Don't list m4/onceonly.m4 any more.
17837         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
17838         * m4/onceonly.m4: Remove file.
17840         * m4/openmp.m4: Remove file.
17841         * modules/openmp (Files): Remove m4/openmp.m4.
17843         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Don't set datarootdir, docdir,
17844         htmldir, dvidir, pdfdir, psdir, localedir.
17845         * m4/po.m4 (AM_PO_SUBDIRS): Don't set localedir.
17847         * m4/gnulib-common.m4 (m4_foreach_w): Remove fallback for
17848         Autoconf < 2.60.
17849         (AC_PROG_MKDIR_P): Remove definition for Autoconf < 2.62.
17850         (AC_PROG_SED): Remove fallback for Autoconf < 2.60.
17852         * m4/errno_h.m4 (AC_COMPUTE_INT): Remove fallback for Autoconf < 2.61.
17853         * m4/size_max.m4 (AC_COMPUTE_INT): Likewise.
17854         * m4/stdint.m4 (AC_COMPUTE_INT): Likewise.
17856         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Assume AC_USE_SYSTEM_EXTENSIONS
17857         exists.
17858         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise,
17860         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Remove workaround for
17861         Autoconf < 2.61.
17863         * m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Remove macro.
17864         (AC_LIB_PREFIX): Use AC_ARG_WITH, assuming semantics of
17865         Autoconf >= 2.52.
17867         * m4/longlong.m4: Require Autoconf >= 2.62. Update comments.
17868         * m4/ls-mntd-fs.m4: Require Autoconf >= 2.60. Update comments.
17869         * m4/gettext.m4 (AM_GNU_GETTEXT): Update comment.
17871 2018-10-22  Bruno Haible  <bruno@clisp.org>
17873         Assume Automake >= 1.11.
17874         * m4/configmake.m4: Update comments.
17875         * m4/lib-link.m4 (AC_LIB_RPATH): Assume AC_REQUIRE_AUX_FILE exists.
17876         * m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Eliminate uses
17877         of 'eval'.
17878         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am,
17879         func_create_testdir, func_create_megatestdir): Emit a Makefile.am that
17880         requires Automake >= 1.11.
17882 2018-10-22  Bruno Haible  <bruno@clisp.org>
17884         localename: Fix typo in comment.
17885         * tests/test-locale-c++.cc (newlocale): Fix typo in comment.
17887 2018-10-22  Bruno Haible  <bruno@clisp.org>
17889         Fix failure of 'gnulib-tool --create-testdir' with all modules.
17890         * gnulib-tool (func_create_testdir): Exclude 'timevar' module.
17892 2018-10-21  Bruno Haible  <bruno@clisp.org>
17894         locale: Ease integration with GNU libintl.
17895         * lib/locale.in.h (GNULIB_defined_newlocale, GNULIB_defined_duplocale,
17896         GNULIB_defined_freelocale): New macros.
17898 2018-10-21  Bruno Haible  <bruno@clisp.org>
17900         localename: Fine-tune support for per-thread locales on Solaris 11.4.
17901         * lib/localename-table.h: New file, extracted from lib/localename.c.
17902         * lib/localename-table.c: Likewise.
17903         * lib/localename.c: Include localename-table.h.
17904         (get_locale_t_name, newlocale, duplocale, freelocale): Invoke
17905         locale_hash_function instead of pointer_hash.
17906         * modules/localename (Files): Add lib/localename-table.h,
17907         lib/localename-table.c.
17908         (lib_SOURCES): Add localename-table.c.
17909         * m4/intlsolaris.m4 (gt_INTL_SOLARIS): Require AC_CANONICAL_HOST. Test
17910         for Solaris 11.4 locale system only on Solaris. Test for it
17911         independently whether getlocalename_l exists.
17912         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for 'uselocale' and
17913         'getlocalename_l'. Instead, invoke gt_INTL_SOLARIS. Set
17914         HAVE_NAMELESS_LOCALES.
17915         * modules/gettext (Files): Add m4/intlsolaris.m4.
17917 2018-10-21  Bruno Haible  <bruno@clisp.org>
17919         Small update from gettext.
17920         * m4/intl.m4: Update from gettext:
17921         - 2018-01-02: Fix 'ar' invocation when cross-compiling and in 64-bit
17922         mode on AIX.
17923         - 2018-01-02: Don't use -lc explicitly when linking with libtool.
17924         - 2017-05-19: (AM_INTL_SUBDIR): Require AC_C_FLEXIBLE_ARRAY_MEMBER.
17926 2018-10-16  Bruno Haible  <bruno@clisp.org>
17928         mountlist: Remove support for Cray with UNICOS 9.
17929         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
17930         MOUNTED_LISTMNTENT.
17931         * lib/mountlist.c: Remove MOUNTED_LISTMNTENT case.
17933 2018-10-16  Bruno Haible  <bruno@clisp.org>
17935         fsusage, mountlist, getloadavg, getgroups: Remove support for Ultrix.
17936         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't define
17937         STAT_STATFS2_FS_DATA.
17938         * lib/fsusage.c: Remove STAT_STATFS2_FS_DATA case.
17939         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
17940         MOUNTED_GETMNT.
17941         * lib/mountlist.c: Remove MOUNTED_GETMNT case.
17942         * lib/getloadavg.c (decstation): Remove definition and case.
17943         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Mention NeXTstep, not Ultrix.
17944         * lib/getgroups.c: Likewise.
17945         * doc/posix-functions/getgroups.texi: Likewise.
17946         * lib/time.in.h: Update comments.
17948 2018-10-16  Bruno Haible  <bruno@clisp.org>
17950         getloadavg: Remove support for ConvexOS.
17951         * lib/getloadavg.c: Remove convex case.
17953 2018-10-16  Bruno Haible  <bruno@clisp.org>
17955         getloadavg: Remove support for Sony NEWS.
17956         * lib/getloadavg.c: Remove sony_news case.
17958 2018-10-16  Bruno Haible  <bruno@clisp.org>
17960         fsusage, mountlist, getloadavg: Remove support for Dynix/ptx.
17961         * lib/fsusage.c: Remove _SEQUENT_ case.
17962         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
17963         * lib/mountlist.c: Don't test for MNTTABNAME.
17964         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Don't test for libseq.
17965         (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't test for MNTTABNAME.
17966         * lib/getloadavg.c: Remove _SEQUENT_ and sequent cases.
17967         * lib/stat-size.h: Don't mention the Sequent bug.
17968         * doc/posix-functions/utime.texi: Don't mention the Dynix bug.
17970 2018-10-16  Bruno Haible  <bruno@clisp.org>
17972         fsusage: Remove support for AIX 3.
17973         * lib/fsusage.c: Remove code for AIX 3.
17974         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Update comments.
17976 2018-10-16  Bruno Haible  <bruno@clisp.org>
17978         fsusage, stat-size, getloadavg: Remove support for AIX PS/2.
17979         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for dustat.h.
17980         * lib/fsusage.c: Remove code for AIX PS/2.
17981         * lib/stat-size.h (ST_NBLOCKSIZE): Likewise.
17982         * lib/getloadavg.c: Likewise.
17984 2018-10-16  Bruno Haible  <bruno@clisp.org>
17986         getloadavg: Remove support for HP-UX on m68k.
17987         * lib/getloadavg.c: Remove hp9000s300 case.
17989 2018-10-16  Bruno Haible  <bruno@clisp.org>
17991         fsusage, mountlist: Remove support for DolphinOS (an SVR3 variant).
17992         * lib/fsusage.c: Remove DOLPHIN case.
17993         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
17994         * lib/mountlist.c: Remove MOUNTED_GETMNTTBL case.
17996 2018-10-16  Bruno Haible  <bruno@clisp.org>
17998         getloadavg: Remove support for Alliant FX/2800.
17999         * lib/getloadavg.c: Remove alliant case.
18001 2018-10-16  Bruno Haible  <bruno@clisp.org>
18003         getloadavg: Remove support for tek4300.
18004         * lib/getloadavg.c: Remove tek4300 case.
18006 2018-10-16  Bruno Haible  <bruno@clisp.org>
18008         getloadavg: Remove support for Ardent.
18009         * lib/getloadavg.c: Remove ardent case.
18011 2018-10-16  Bruno Haible  <bruno@clisp.org>
18013         mountlist: Remove support for SVR2.
18014         Reported by Andrew Borodin <aborodin@vmail.ru> in
18015         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00101.html>.
18016         * lib/mountlist.c: Remove MOUNTED_FREAD case.
18017         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
18018         MOUNTED_FREAD.
18020 2018-10-15  Paul Eggert  <eggert@cs.ucla.edu>
18022         libc-config: merge from glibc
18023         * lib/cdefs.h (__glibc_has_attribute): New macro.
18025         regex: depend on libc-config
18026         * modules/regex (Depends-on): Add libc-config.
18027         This is needed after the recent autoupdate from glibc.
18029 2018-10-14  Bruno Haible  <bruno@clisp.org>
18031         localename: Add support for per-thread locales on Solaris 11.4.
18032         * lib/locale.in.h (newlocale, freelocale): New declarations.
18033         (duplocale): Declare also when the 'localename' module requests it.
18034         * lib/localename.c (struniq_hash_node): Renamed from hash_node.
18035         (STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
18036         (struniq): Update.
18037         (struct locale_categories_names, struct locale_hash_node): New types.
18038         (LOCALE_HASH_TABLE_SIZE): New constant.
18039         (locale_hash_table, locale_lock): New variables.
18040         (pointer_hash, get_locale_t_name): New functions.
18041         (newlocale, duplocale, freelocale): New overridden functions.
18042         (gl_locale_name_thread_unsafe): Use get_locale_t_name.
18043         * m4/intlsolaris.m4: New file.
18044         * m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
18045         gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
18046         REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
18047         * m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
18048         declared.
18049         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
18050         HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
18051         * modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
18052         HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
18053         * modules/localename (Files): Add intlsolaris.m4.
18054         (Depends-on): Add 'locale'.
18055         (configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
18056         * tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
18057         the signatures.
18059 2018-10-14  Akim Demaille  <akim@lrde.epita.fr>
18061         timevar: use gethrxtime to get wall clock time
18062         clock_gettime is not portable.  gethrxtime takes the best available
18063         option to get the wall clock time, including clock_gettime (monotonic
18064         clock), and gettime (non monotonic).
18065         Also, using xtime_t instead of float preserves the precision.
18066         Suggested by Bruno Haible.
18067         * lib/xtime.h (xtime_make): Handle overflows of nanoseconds.
18068         * modules/timevar (Depends-on): We need gethrxtime.
18069         We no longer use times().
18070         (Link): Update.
18071         * lib/timevar.h (timevar_time_def): Use xtime_t.
18072         * lib/timevar.c (set_to_current_time): Use gethrxtime.
18073         (timevar_print): Instead of checking whether the timings themselves
18074         are large enough for the timevar to be printed, check the percentages.
18076 2018-10-14  Bruno Haible  <bruno@clisp.org>
18078         wcsnrtombs: Work around Solaris 11.4 bug.
18079         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE): New
18080         macro.
18081         (gl_FUNC_WCSNRTOMBS): Invoke it.
18082         * doc/posix-functions/wcsnrtombs.texi: Mention the Solaris bug.
18084 2018-10-14  Bruno Haible  <bruno@clisp.org>
18086         mbsnrtowcs: Work around Solaris 11.4 bug.
18087         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE): New
18088         macro.
18089         (gl_FUNC_MBSNRTOWCS): Invoke it.
18090         * doc/posix-functions/mbsnrtowcs.texi: Mention the Solaris bug.
18092 2018-10-14  Bruno Haible  <bruno@clisp.org>
18094         doc: Update for Solaris 11.4.
18095         * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4,
18096         mention Solaris 11.4.
18097         * m4/printf.m4: Update comments about Solaris.
18098         * m4/log.m4: Likewise.
18099         * m4/log10.m4: Likewise.
18100         * m4/logb.m4: Likewise.
18101         * m4/logbf.m4: Likewise.
18102         * m4/logbl.m4: Likewise.
18103         * m4/rename.m4: Likewise.
18104         * m4/wcrtomb.m4: Likewise.
18105         * m4/hostent.m4: Likewise.
18106         * m4/servent.m4: Likewise.
18108 2018-10-14  Bruno Haible  <bruno@clisp.org>
18110         floor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.
18111         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Use 'floor' also through a function
18112         pointer.
18113         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use 'ceil' also through a function
18114         pointer.
18115         * m4/trunc.m4 (gl_FUNC_TRUNC): Use 'trunc' also through a function
18116         pointer.
18117         * m4/truncf.m4 (gl_FUNC_TRUNCF): Use 'truncf' also through a function
18118         pointer.
18119         * m4/truncl.m4 (gl_FUNC_TRUNCL): Use 'truncl' also through a function
18120         pointer.
18122 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
18124         bootstrap: fix wget command for po files.
18125         * build-aux/bootstrap (po_download_command_format): Fix comment,
18126         and adjust callers.
18128 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
18130         timevar: improve the output format
18131         Suggested by Bruno Haible.
18132         See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.
18133         * lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
18134         wall, since its resolution is much higher.
18136 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
18138         timevar: expect that getrusage is available.
18139         Don't keep both times and getrusage as backend: both are guaranteed by
18140         gnulib, a single one suffices.  Using getrusage is open to possibly
18141         tracking other types of resources in the future.
18142         * modules/timevar (Depends-on): Add getrusage.
18143         (configure.ac): Remove gl_TIMEVAR.
18144         (Files): Remove m4/timevar.m4.
18145         * m4/timevar.m4: Remove, rely on gnulib for getrusage.
18146         * lib/timevar.h (timevar_enabled): Clarify documentation.
18147         * lib/timevar.c: Remove all the code about times.
18148         Remove all the CPP guards about getrusage: expect it to be present
18149         (courtesy of gnulib).
18151 2018-10-12  Bruno Haible  <bruno@clisp.org>
18153         mountlist: Improve support for Solaris in 64-bit mode.
18154         Reported by David Wood <David.Wood@deshaw.com> in
18155         <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6816>.
18156         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): On Solaris 8 or
18157         newer, define MOUNTED_GETEXTMNTENT instead of MOUNTED_GETMNTENT2.
18158         * lib/mountlist.c: Add code for MOUNTED_GETEXTMNTENT case.
18160 2018-10-12  Bruno Haible  <bruno@clisp.org>
18162         mountlist: Add support for Minix.
18163         Reported by Assaf Gordon in
18164         <https://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00074.html>.
18165         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use
18166         AC_CHECK_FUNCS to check for 'getmntinfo'.
18167         * lib/mountlist.c: Update comments.
18169 2018-10-12  Bruno Haible  <bruno@clisp.org>
18171         Make better use of Autoconf.
18172         * m4/environ.m4: Use AC_CACHE_CHECK where possible.
18173         * m4/manywarnings.m4: Likewise.
18174         * m4/manywarnings-c++.m4: Likewise.
18175         * m4/socklen.m4: Likewise.
18176         * m4/sockpfaf.m4: Likewise.
18177         * m4/stdarg.m4: Likewise.
18178         * m4/visibility.m4: Likewise.
18179         * m4/fsusage.m4: Use AC_CACHE_CHECK where possible. Modernize
18180         indentation.
18181         * m4/ls-mntd-fs.m4: Likewise.
18183 2018-10-11  Bruno Haible  <bruno@clisp.org>
18185         mountlist: Modernize platform lists.
18186         * m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which
18187         platforms, deemphasizing the obsolete ones.
18188         * lib/mountlist.c: Likewise.
18190 2018-10-11  Bruno Haible  <bruno@clisp.org>
18192         getprogname: Add support for 32-bit programs on HP-UX.
18193         * lib/getprogname.c (getprogname) [HP-UX]: If pstat_getproc fails,
18194         try the similar functions 32-bit programs on 64-bit HP-UX.
18196 2018-10-11  Bruno Haible  <bruno@clisp.org>
18198         getprogname: Work around program name truncation when possible.
18199         * lib/getprogname.c (getprogname) [HP-UX]: When pst_ucomm is truncated,
18200         possibly use pst_cmd instead.
18202 2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>
18204         fts: cleanup after FTS_NOATIME removal
18205         * lib/fts_.h (FTS_VERBATIM, FTS_OPTIONMASK, FTS_NAMEONLY)
18206         (FTS_STOP): Shrink to minimal values.  We don’t need to
18207         worry about binary compatibility in Gnulib, and the old way
18208         of doing things had a hole in the user options that caused
18209         FTS_OPTIONMASK to not work as desired.
18211 2018-10-08  Bernhard Voelker  <mail@bernhard-voelker.de>
18213         fts: remove FTS_NOATIME
18214         This reverts commit da4d6974013c822af1498941e32db774b2031765.
18215         We cannot guarantee that O_NOATIME works: e.g. openat fails
18216         with EPERM if the effective user ID of the caller does not match
18217         the owner of the file and the caller is not privileged.
18218         Downstream findutils has never picked up FTS_NOATIME.  Discussed at
18219         <https://lists.gnu.org/r/bug-gnulib/2018-09/msg00122.html>.
18220         * lib/fts_.h (FTS_NOATIME): Remove bit flag.
18221         (FTS_OPTIONMASK): Adjust.
18222         * lib/fts.c (diropen, fts_open, fts_build): Likewise.
18223         (fd_ring_check): Likewise.
18225 2018-10-08  Bruno Haible  <bruno@clisp.org>
18227         csharpcomp*, csharpexec*: Remove support for pnet.
18228         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Don't test for cscc. Don't set
18229         HAVE_CSCC.
18230         * build-aux/csharpcomp.sh.in (options_cscc): Remove variable.
18231         Don't test HAVE_CSCC.
18232         * lib/csharpcomp.c (compile_csharp_using_pnet): Remove function.
18233         (compile_csharp_class): Don't invoke it.
18234         * m4/csharpexec.m4 (gt_CSHARPEXEC): Don't test for ilrun. Don't set
18235         HAVE_ILRUN.
18236         * build-aux/csharpexec.sh.in (options_ilrun): Remove variable.
18237         Don't test HAVE_ILRUN.
18238         * lib/csharpexec.c (execute_csharp_using_pnet): Remove function.
18239         (execute_csharp_program): Don't invoke it.
18240         * m4/csharp.m4 (gt_CSHARP_CHOICE): Don't recognize --enable-csharp=pnet
18241         any more.
18243 2018-10-07  Andreas Henriksson  <andreas@fatal.se>  (tiny change)
18245         renameatu: prefer renameat2 to syscall
18246         * lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
18247         Use renameat2 instead of syscall (Bug#32796).
18248         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.
18250 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
18252         bootstrap, gnulib-tool: use https instead of insecure rsync
18253         * build-aux/bootstrap (download_po_files, po_download_command_format):
18254         Don't try using rsync; always use wget over https to fetch PO files.
18255         * gnulib-tool (func_import): Likewise.
18256         * pygnulib/GLImport.py (GLImport.execute): Likewise.
18258 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
18260         bootstrap, gnulib-tool: correct the translations wget command
18261         * build-aux/bootstrap (po_download_command_format2): Restrict
18262         recursion to a single level.
18263         * gnulib-tool (func_import): Likewise.
18264         * pygnulib/GLImport.py (GLImport.execute): Likewise.
18266 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
18268         doc: the gnulib snapshots are not maintained
18269         * doc/gnulib-intro.texi (Steady Development): Don't mention them.
18271 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
18273         timevar: add to lib_SOURCES
18274         * modules/timevar (lib_SOURCES): Add timevar.c and timevar.def.
18276 2018-10-07  Bruno Haible  <bruno@clisp.org>
18278         dirent: Update documentation.
18279         * doc/posix-headers/dirent.texi: The MSVC issue is fixed by Gnulib.
18281 2018-10-05  Bruno Haible  <bruno@clisp.org>
18283         strpbrk: Make it possible to namespace the defined symbol.
18284         * lib/strpbrk.c (strpbrk): Don't undefine outside of glibc.
18286 2018-10-05  Bruno Haible  <bruno@clisp.org>
18288         strcspn: Make it possible to namespace the defined symbol.
18289         * lib/strcspn.c (strcspn): Don't undefine outside of glibc.
18291 2018-10-05  Bruno Haible  <bruno@clisp.org>
18293         raise: Make it possible to namespace the defined symbol.
18294         * lib/raise.c (raise): Undefine only after the replacement function has
18295         been defined.
18296         (raise): Renamed from rpl_raise.
18297         (raise_nothrow): Move to the end of the compilation unit.
18299 2018-10-05  Bruno Haible  <bruno@clisp.org>
18301         memcmp: Make it possible to namespace the defined symbol.
18302         * lib/memcmp.c (memcmp): Don't undefine outside of glibc.
18304 2018-10-05  Bruno Haible  <bruno@clisp.org>
18306         explicit_bzero: Make it possible to namespace the defined symbol.
18307         * lib/explicit_bzero.c (explicit_bzero): Don't undefine outside of
18308         glibc.
18310 2018-10-05  Bruno Haible  <bruno@clisp.org>
18312         mkdir-p: Depend on 'mkdir'.
18313         * modules/mkdir-p (Depends-on): Add 'mkdir'.
18315 2018-10-05  Bruno Haible  <bruno@clisp.org>
18317         tempname: Depend on 'mkdir'.
18318         Reported by Maarten Bosmans <mkbosmans@gmail.com>
18319         at <https://savannah.gnu.org/bugs/?33379>.
18320         * modules/tempname (Depends-on): Add 'mkdir'.
18322 2018-10-05  Akim Demaille  <akim@lrde.epita.fr>
18324         timevar: rely on gnulib modules for time portability.
18325         * modules/timevar (Depends-on): Add sys_time, sys_times, and times.
18326         * m4/timevar.m4: Don't check for clock_t and struct tms,
18327         guaranteed by gnulib.
18328         * lib/timevar.h: Use extern "C" protection.
18329         Include <stdio.h> for FILE.
18330         * lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
18331         they are guaranteed by gnulib.
18332         Remove uses of clock as (now useless) fallback.
18334 2018-10-04  Bruno Haible  <bruno@clisp.org>
18336         sh-filename: New module.
18337         * m4/sh-filename.m4: New file.
18338         * modules/sh-filename: New file.
18339         * lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
18340         "/bin/sh".
18341         * tests/test-posix_spawn1.c (main): Likewise.
18342         * tests/test-posix_spawn2.c (main): Likewise.
18343         * lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
18344         is_envjavac_gcj43): Likewise.
18345         * lib/javaexec.c (execute_java_class): Likewise.
18346         * modules/posix_spawn-internal (Depends-on): Add sh-filename.
18347         * modules/posix_spawnp-tests (Depends-on): Likewise.
18348         * modules/javacomp (Depends-on): Likewise.
18349         * modules/javaexec (Depends-on): Likewise.
18351 2018-10-04  Bruno Haible  <bruno@clisp.org>
18353         spawn-pipe tests: Avoid test failure on native Windows.
18354         * tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
18355         that fd 2 is closed.
18357 2018-10-04  Bruno Haible  <bruno@clisp.org>
18359         fcntl: Make it possible to namespace the defined symbol.
18360         * lib/fcntl.c (fcntl): Undefine only after the replacement function has
18361         been defined.
18362         (fcntl): Renamed from rpl_fcntl.
18363         (rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
18364         from fcntl.
18365         (klibc_fcntl): Move to the end of the compilation unit.
18367 2018-10-02  Bruno Haible  <bruno@clisp.org>
18369         vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
18370         * tests/test-vasnprintf.c (test_function): Change the test added on
18371         2018-09-23 to check only the 18 most significant digits.
18373         vasnprintf tests: Avoid test failure on Cygwin.
18374         * tests/test-vasnprintf.c (test_function): Change the test added on
18375         2018-09-23 to check only the 42 most significant digits.
18377 2018-10-01  Bruno Haible  <bruno@clisp.org>
18379         mkostemp, mkostemps: Update documentation.
18380         * doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
18381         * doc/glibc-functions/mkostemps.texi: Likewise.
18383 2018-10-01  Tom Tromey  <tom@tromey.com>
18385         mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
18386         * lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
18387         on OS X.
18389 2018-09-30  Pádraig Brady  <P@draigBrady.com>
18391         hmac-*: refactor to remove repetitive code
18392         * lib/hmac.c: A new parameterized single implementation.
18393         * lib/hmac-md5.c: Define parameters and include implementation.
18394         * lib/hmac-sha1.c: Likewise.
18395         * lib/hmac-sha256.c: Likewise.
18396         * lib/hmac-sha512.c: Likewise.
18397         * modules/crypto/hmac-md5: Reference the new implementation file.
18398         * modules/crypto/hmac-sha1: Likewise.
18399         * modules/crypto/hmac-sha256: Likewise.
18400         * modules/crypto/hmac-sha512: Likewise.
18401         * tests/test-hmac-md5.c: Refactor common code to a single function.
18402         * tests/test-hmac-sha1.c: Likewise.
18403         * tests/test-hmac-sha256.c: Likewise.
18404         * tests/test-hmac-sha512.c: Likewise.
18406 2018-09-30  Zhang Qing  <zhangqingl@126.com>
18408         hmac-sha512: fix hash for keys > blocksize (128 bytes)
18409         * lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
18410         key length to that output by sha512, not the blocksize.
18411         Otherwise uninitialized data from the stack
18412         is used when computing the hash.
18413         * tests/test-hmac-sha512.c: Add a shortened key test case.
18414         Reported at https://github.com/coreutils/gnulib/pull/5
18416 2018-09-30  Bruno Haible  <bruno@clisp.org>
18418         vasnprintf: Avoid warnings from GCC's -Wsign-compare.
18419         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
18420         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.
18421         * lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
18422         'unsigned int' before comparison with an unsigned value.
18424 2018-09-30  Bruno Haible  <bruno@clisp.org>
18426         grantpt: Remove unnecessary dependency.
18427         * modules/grantpt (Depends-on): Remove 'builtin-expect'.
18429 2018-09-30  Bruno Haible  <bruno@clisp.org>
18431         timevar: Small tweaks.
18432         * lib/timevar.h: Fix comments. Add parameter names to function
18433         declarations.
18434         * lib/timevar.c: Include timevar.h immediately after config.h.
18435         * lib/timevar.def: Fix comments.
18436         * modules/timevar (Maintainer): List Akim Demaille.
18438 2018-09-30  Bruno Haible  <bruno@clisp.org>
18440         timevar: Include documentation in gnulib manual.
18441         * doc/timevar.texi: Change node and section name to 'Profiling of
18442         program phases'.
18443         In the code snippets, tweak the #includes and use GNU coding style.
18444         * doc/gnulib.texi: Include timevar.texi.
18446 2018-09-27  Akim Demaille  <akim@lrde.epita.fr>
18448         timevar: import from Bison.
18449         * m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
18450         New files.
18451         * lib/timevar.def: New file.
18452         * doc/timevar.texi: New file.
18454 2018-09-26  Bruno Haible  <bruno@clisp.org>
18456         javacomp-script, javacomp: Add preliminary support for Java 12..17.
18457         * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
18458         * lib/javacomp.c (default_target_version): Likewise.
18460 2018-09-26  Bruno Haible  <bruno@clisp.org>
18462         javacomp-script, javacomp: Add support for Java 11.
18463         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
18464         target-version 11.
18465         * lib/javaversion.h: Update comments.
18466         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
18467         source_version_index, get_goodcode_snippet, get_failcode_snippet,
18468         TARGET_VERSION_BOUND, target_version_index,
18469         corresponding_classfile_version): Accept source_version 11 and
18470         target_version 11.
18471         * lib/javacomp.h: Update comments accordingly.
18473 2018-09-23  Bruno Haible  <bruno@clisp.org>
18475         vasnprintf: Fix heap memory overrun bug.
18476         Reported by Ben Pfaff <blp@cs.stanford.edu> in
18477         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
18478         * lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
18479         memory.
18480         * tests/test-vasnprintf.c (test_function): Add another test.
18482 2018-09-19  Paul Eggert  <eggert@cs.ucla.edu>
18484         maint: mktime.c now shared with glibc
18485         * config/srclist.txt: intprops.h, timegm.c and mktime.c
18486         are now the same in Gnulib and glibc.
18488         mktime: fix _LIBC typo
18489         * lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").
18491 2018-09-19  Norihiro Tanaka  <noritnk@kcn.ne.jp>
18493         dfa: optimization for state merge
18494         * lib/dfa.c (merge2): New function.
18495         (merge_nfa_state): Use it.
18497 2018-09-18  Jim Meyering  <meyering@fb.com>
18499         dfa: trivial comment fix: s/is/if/
18500         * lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.
18502 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
18504         dfa: use more-informative function name
18505         * lib/dfa.c (maybe_disable_superset_dfa):
18506         Rename from dfautf8noss.  Use change.
18508         dfa: tweak allocation performance
18509         * lib/dfa.c (merge_nfa_state, dfaoptimize):
18510         Prefer ptrdiff_t for indexes some more.
18511         Use char for flags, as it’s wide enough.
18512         Allocate queue and flags together, with one malloc call.
18513         No need to use xnmalloc since the multiplication and
18514         addition cannot overflow (it’s already been checked by
18515         earlier allocation).  Prefer memset to open-coding.
18517         dfa: prune states as we go
18518         * lib/dfa.c (prune): Remove.
18519         dfa: reorder enum for efficiency
18520         (merge_nfa_state): Prune as we go instead of at the end.
18521         Prefer ptrdiff_t for indexes, as this helps the compiler a bit.
18523         * lib/dfa.c (END): Now -1 again.  Reorder other elements
18524         of the enumeration to make it easier for GCC to generate
18525         efficient code by using fewer comparisons to check for
18526         ranges of values.
18527         (atom): Take advantage of the reordering.
18529 2018-09-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
18531         dfa: optimize alternation in NFA
18532         Even when similar states exist in alternation, the DFA treats them
18533         as separate items, which may complicate the transition in NFA and
18534         cause slowdown.  This change assembles the states into one.  For
18535         example, ab|ac is changed into a(b|c).  This change speeds-up
18536         matching for many branched patterns.  For example, grep speeds up
18537         more than 30× in:
18539           seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
18540           time -p env LC_ALL=C grep -vf in in
18542         * lib/dfa.c (prune): New function.
18543         (merge_nfa_state): New function.  It merges similar NFA states.
18544         (dfaoptimize): New function.  It seeks merged and removed nodes.
18545         (dfaanalyze): Call new function.
18546         (dfautf8noss): Change name from dfaoptimize because of addition of new
18547         function.
18548         (dfacomp): Update caller.
18550         dfa: simplify initial state
18551         Simplifying the initial state enables easier optimization of the NFA.
18552         * lib/dfa.c (enum token): Add new element BEG.
18553         (prtok): Adjust due to adding element BEG.
18554         (dfaparse): Put BEG at a head of tokens.
18555         (state_index): Adjust due to adding element BEG.
18556         (dfaanalyze): Concatenate BEG to other tokens, and simplify to
18557         build initial state.
18558         (dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.
18560 2018-09-18  Bruno Haible  <bruno@clisp.org>
18562         file-has-acl: Fix test failure on Cygwin 2.9.
18563         * m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
18564         * lib/acl-internal.h: Likewise.
18565         (HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
18566         * lib/acl-internal.c: Update comments regarding Cygwin.
18567         * lib/acl_entries.c: Likewise.
18568         * lib/file-has-acl.c: Likewise.
18569         (file_has_acl): For Cygwin, use a different way to determine whether
18570         the "default" ACL of a directory is nontrivial.
18571         * lib/get-permissions.c: Update comments regarding Cygwin.
18572         * lib/set-permissions.c: Likewise.
18574 2018-09-18  Bruno Haible  <bruno@clisp.org>
18576         stat-time tests: Fix test failure on Cygwin.
18577         * tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.
18579 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
18581         doc: OS X 10.11 lacked ns time functions
18582         According to <https://github.com/zeromq/libzmq/issues/2175>,
18583         nanosecond-resolution timestamp functions were introduced
18584         in macOS 10.12, so document the last version (OS X 10.11)
18585         where they were absent.
18587         gettime: nanotime never existed
18588         Problem reported by Bruno Haible in:
18589         https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
18590         * lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
18591         * m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.
18593 2018-09-18  Bruno Haible  <bruno@clisp.org>
18595         doc: Update statement about target platforms.
18596         Reported by Simon Sobisch.
18597         * doc/gnulib-intro.texi (Target Platforms): Update. Mention
18598         restrictions on MSVC versions.
18600 2018-09-18  Bruno Haible  <bruno@clisp.org>
18602         posix_spawn tests: Fix link error on 64-bit Cygwin.
18603         * tests/test-posix_spawn1.c (environ): Remove declaration.
18604         * tests/test-posix_spawn2.c (environ): Likewise.
18605         * tests/test-posix_spawn3.c (environ): Likewise.
18606         * tests/test-posix_spawn4.c (environ): Likewise.
18607         * modules/posix_spawn-tests (Depends-on): Add 'environ'.
18608         * modules/posix_spawnp-tests (Depends-on): Likewise.
18610 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
18612         timespec: new function current_timespec
18613         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
18614         and don’t worry about it failing on a CLOCK_REALTIME arg.
18615         POSIX requires it to succeed and I don’t know of any
18616         counterexamples where the fallbacks would work.
18617         (current_timespec): New function, taken from Emacs.  It is more
18618         convenient than gettime, and can help register allocation.
18619         * lib/timespec.h: Include arg-nonnull.h.
18620         (current_timespec): New declaration.
18621         (gettime, settime): Declare args to be nonnull.
18622         * modules/timespec (Depends-on): Add snippet/arg-nonnull.
18624 2018-09-16  Bruno Haible  <bruno@clisp.org>
18626         setlocale: Improve locale handling on macOS 10.12 or newer.
18627         * lib/setlocale.c: Include header files for CoreFoundation. Declare
18628         gl_locale_name_canonicalize.
18629         (libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
18630         and LC_MESSAGES.
18631         * m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.
18633 2018-09-16  Bruno Haible  <bruno@clisp.org>
18635         Update list of locale names with scripts on macOS.
18636         * lib/localename.c (gl_locale_name_canonicalize): Update tables to
18637         match Mac OS X 10.13 and recent glibc.
18639 2018-09-16  Bruno Haible  <bruno@clisp.org>
18641         gettext: Use newer macOS APIs when possible.
18642         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
18643         CFLocaleCopyPreferredLanguages.
18645 2018-09-16  Bruno Haible  <bruno@clisp.org>
18647         localename: Revisit macOS specific code.
18648         * lib/localename.c (gl_locale_name_default): Reduce code duplication.
18649         Fix comments about Mac OS X versions.
18651 2018-09-15  Bruno Haible  <bruno@clisp.org>
18653         setlocale: Improve support for locales not supported by libc.
18654         Reported by Dapeng Gao <peter@dpgao.cc> at
18655         <https://savannah.gnu.org/bugs/?54479>.
18656         * gettext-runtime/intl/setlocale.c: Include <stdio.h>.
18657         (libintl_setlocale): Use a more error-tolerant strategy when the locale
18658         to be set is not supported by libc: Emit warnings instead of failing.
18660 2018-09-15  Bruno Haible  <bruno@clisp.org>
18662         strstr, strcasestr: Add workaround against glibc-2.28 bug.
18663         Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.
18664         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
18665         gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
18666         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
18667         gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
18668         * doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
18669         * doc/glibc-functions/strcasestr.texi: Likewise.
18671 2018-09-14  Bruno Haible  <bruno@clisp.org>
18673         doc: Fix bottom of top-level page.
18674         Reported by Akim Demaille <akim.demaille@gmail.com> in
18675         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.
18676         * doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
18677         mode.
18678         * doc/gnulib.texi (Legacy Function Substitutes): Update menu
18679         accordingly.
18681 2018-09-12  Bruno Haible  <bruno@clisp.org>
18683         Add test case from a recent glibc bug.
18684         * tests/test-strstr.c (main): Add test of long needle.
18685         * tests/test-strcasestr.c (main): Likewise.
18686         * tests/test-c-strstr.c (main): Likewise.
18687         * tests/test-c-strcasestr.c (main): Likewise.
18688         * tests/test-memmem.c (main): Likewise.
18690 2018-09-12  Bruno Haible  <bruno@clisp.org>
18692         Apply Eric Blake's improvements from 2011-02-25 to more tests.
18693         * tests/test-c-strstr.c (main): Add the same tests here as well.
18695 2018-09-12  Bruno Haible  <bruno@clisp.org>
18697         Apply Jim Meyering's fix from 2015-01-11 to more tests.
18698         * tests/test-memmem.c (main): Free haystack.
18699         * tests/test-strcasestr.c (main): Likewise.
18700         * tests/test-c-strcasestr.c (main): Likewise.
18702 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
18704         xstrtol: fix missing-TYPE_SIGNED typo
18705         * lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.
18707 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
18709         timespec: fix resolution confusion
18710         In normal usage, clock resolution is given in seconds, but the
18711         code was mistakenly using inverse seconds and calling it
18712         “resolution”.  Fix this, partly by renaming two identifiers.
18713         The old names will be kept for a bit, to ease transition.
18714         * lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
18715         New constants, replacing TIMESPEC_RESOLUTION and
18716         LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
18717         All uses changed.
18719 2018-09-09  Paul Eggert  <eggert@cs.ucla.edu>
18721         mktime: simplify in prep for glibc merge
18722         * lib/mktime.c, lib/timegm.c [_LIBC]:
18723         Include mktime-internal.h (a small file just for glibc)
18724         instead of using a typedef.
18726 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
18728         intprops: minor clarification of code
18729         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW):
18730         Use _GL_INT_CONVERT rather than reinventing it.
18732 2018-09-07  Bruno Haible  <bruno@clisp.org>
18734         Fix a comment.
18735         * tests/test-posix_spawn3.c (parent_main): Fix typo in comment.
18737 2018-09-07  Bruno Haible  <bruno@clisp.org>
18739         posix_spawn_file_actions_addchdir: Add tests.
18740         * tests/test-posix_spawn_file_actions_addchdir.c: New file.
18741         * tests/test-posix_spawn4.c: New file.
18742         * modules/posix_spawn_file_actions_addchdir-tests: New file.
18744 2018-09-07  Bruno Haible  <bruno@clisp.org>
18746         posix_spawn_file_actions_addchdir: New module.
18747         Suggested by Eric Blake in
18748         <https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>.
18749         * lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration.
18750         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and
18751         union member 'chdir_action'.
18752         * lib/spawn_faction_addchdir.c: New file.
18753         * lib/spawni.c (__spawni): Implement the spawn_do_chdir action.
18754         * lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of
18755         HAVE_WORKING_POSIX_SPAWN.
18756         * lib/spawn_faction_adddup2.c: Likewise.
18757         * lib/spawn_faction_addopen.c: Likewise.
18758         * m4/posix_spawn_faction_addchdir.m4: New file.
18759         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
18760         'posix_spawn_file_actions_addchdir' is present and whether
18761         posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN
18762         instead of HAVE_WORKING_POSIX_SPAWN.
18763         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
18764         posix_spawn_file_actions_addchdir is declared.
18765         (gl_SPAWN_H_DEFAULTS): Initialize
18766         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18767         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18768         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
18769         * modules/spawn (Makefile.am): Substitute
18770         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18771         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18772         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
18773         * modules/posix_spawn_file_actions_addchdir: New file.
18774         * modules/posix_spawn_file_actions_addclose (Depends-on,
18775         configure.ac): Test also REPLACE_POSIX_SPAWN.
18776         * modules/posix_spawn_file_actions_adddup2 (Depends-on,
18777         configure.ac): Likewise.
18778         * modules/posix_spawn_file_actions_addopen (Depends-on,
18779         configure.ac): Likewise.
18780         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check
18781         signature.
18782         * doc/posix-functions/posix_spawn.texi: Mention the new module.
18783         * doc/posix-functions/posix_spawnp.texi: Likewise.
18785 2018-09-06  Bruno Haible  <bruno@clisp.org>
18787         stddef: Override max_align_t on NetBSD 8.0/x86.
18788         * m4/stddef_h.m4 (gl_STDDEF_H): When testing for max_align_t, test also
18789         the value of __alignof__ (max_align_t).
18790         * doc/posix-headers/stddef.texi: Mention the issue.
18792 2018-09-06  Bruno Haible  <bruno@clisp.org>
18794         fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku.
18795         * lib/fcntl.c (rpl_fcntl): For F_DUPFD_CLOEXEC, don't even try the
18796         system fcntl.
18797         * doc/posix-functions/fcntl.texi: Document the issue.
18799 2018-09-06  Bruno Haible  <bruno@clisp.org>
18801         count-trailing-zeros tests: Rely on limits-h module.
18802         * tests/test-count-trailing-zeros.c (ULLONG_MAX): Remove fallback
18803         definition.
18804         * modules/count-trailing-zeros-tests (Depends-on): Add 'limits-h'.
18806 2018-09-06  Bruno Haible  <bruno@clisp.org>
18808         count-leading-zeros tests: Rely on limits-h module.
18809         * tests/test-count-leading-zeros.c (ULLONG_MAX): Remove fallback
18810         definition.
18811         * modules/count-leading-zeros-tests (Depends-on): Add 'limits-h'.
18813 2018-09-06  Bruno Haible  <bruno@clisp.org>
18815         count-one-bits tests: Rely on limits-h module.
18816         * tests/test-count-one-bits.c (ULLONG_MAX): Remove fallback definition.
18817         * modules/count-one-bits-tests (Depends-on): Add 'limits-h'.
18819 2018-09-06  Bruno Haible  <bruno@clisp.org>
18821         xstrtoll: Rely on limits-h module.
18822         * lib/xstrtol.c: Don't include intprops.h.
18823         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
18824         * modules/xstrtol (Depends-on): Remove 'intprops'.
18825         * modules/xstrtoll (Depends-on): Add 'limits-h'.
18827 2018-09-06  Bruno Haible  <bruno@clisp.org>
18829         strtoll, strtoull: Rely on limits-h module.
18830         * lib/strtol.c (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove macros.
18831         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
18832         * modules/strtoll (Depends-on): Add limits-h.
18833         * modules/strtoull (Depends-on): Likewise.
18835 2018-09-06  Bruno Haible  <bruno@clisp.org>
18837         intprops tests: Fix compilation error with pre-C99 compiler.
18838         * tests/test-intprops.c (verify_stmt): New macro.
18839         (VERIFY, main): Use it.
18841 2018-09-06  Bruno Haible  <bruno@clisp.org>
18843         limits-h: Provide numerical limits macros.
18844         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define also for
18845         IRIX and for GCC.
18846         (WORD_BIT, LONG_BIT): Define.
18847         * m4/limits-h.m4 (gl_LIMITS_H): Set LIMITS_H to non-empty also when
18848         <limits.h> does not define LLONG_MAX or WORD_BIT.
18849         * tests/test-limits-h.c (TYPE_SIGNED, TYPE_WIDTH, TYPE_MINIMUM,
18850         TYPE_MAXIMUM): New macros, from intprops.h.
18851         Add tests for CHAR_BIT, WORD_BIT, LONG_BIT, <type>_MIN, and <type>_MAX.
18852         * doc/posix-headers/limits.texi: Document what the 'limits-h' module
18853         provides.
18855 2018-09-05  Bruno Haible  <bruno@clisp.org>
18857         fcntl: Don't access nonexistent optional argument.
18858         Reported by Frank Busse <f.busse@imperial.ac.uk> in
18859         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00018.html>.
18860         * lib/fcntl.c (rpl_fcntl): For actions that don't take an argument,
18861         don't consume an argument. For actions that take an 'int' argument,
18862         consume an 'int' argument.
18864 2018-09-05  Eric Blake  <eblake@redhat.com>
18866         doc: mention environ pitfall
18867         * doc/posix-functions/environ.texi (environ): Assigning NULL to
18868         environ is a glibc extension.
18870 2018-09-03  Bruno Haible  <bruno@clisp.org>
18872         gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
18873         Reported by Antoine Luong <antoine.luong@c-s.fr> in
18874         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
18875         * gnulib-tool (func_import): For the tests, set a dotfirst flag.
18876         (func_emit_lib_Makefile_am): Consider the dotfirst flag.
18877         (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
18879 2018-09-02  Paul Eggert  <eggert@cs.ucla.edu>
18881         mktime: fix unlikely race+overflow bug
18882         Problem reported by Alexandre Oliva in:
18883         https://sourceware.org/bugzilla/show_bug.cgi?id=16346
18884         * lib/mktime.c (__mktime_internal): Access *OFFSET only once,
18885         to avoid an unlikely race if the compiler delays a load and
18886         if this cascades into a signed integer overflow.
18888 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
18890         mktime, timegm: simplify glibc time64_t
18891         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]:
18892         Now long int, not time_t, since long int is the longstanding type
18893         for this in glibc and there is no need to change it even if time_t
18894         becomes 64 bits - even int would do, though this would be a change
18895         to the glibc generated code.  When this change is merged into
18896         glibc, it should simplify the time_t vs time64_t situation.
18898         mktime, timegm: simplify merge to glibc
18899         Move code around to make a merge to glibc easier to audit.
18900         This should not change behavior.
18901         * lib/mktime.c (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
18902         (NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
18903         which glibc uses.  Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
18904         simplify later conditionals; default the others to zero.  In uses
18905         of these conditionals, explicitly spell out how _LIBC affects
18906         things, so it’s easier to review from a glibc viewpoint.
18907         (my_tzset, __tzset) [!_LIBC]: New function and macro, to better
18908         compartmentalize tzset issues.  Move system-dependent tzsettish
18909         code here from mktime.
18910         (mktime): Move tzsettish code to my_tzset, and move
18911         localtime_offset to within mktime so that it doesn’t
18912         need a separate ifdef.
18914 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
18916         intprops: avoid evaluation of some expressions
18917         This makes EXPR_SIGNED (e) easier to use, as it no longer
18918         evaluates the expression E.  Formerly, E was required to be free
18919         of side effects.
18920         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT)
18921         (EXPR_SIGNED, TYPE_WIDTH, _GL_INT_MINIMUM, _GL_INT_MAXIMUM)
18922         (_GL_SIGNED_INT_MAXIMUM): Do not evaluate the expression arg.
18924 2018-08-23  Bruno Haible  <bruno@clisp.org>
18926         getcwd: Add cross-compilation guesses.
18927         Reported by Sergio Durigan Junior <sergiodj@redhat.com> in
18928         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00130.html>.
18929         Based on a patch by Paul Eggert.
18930         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Add cross-compilation
18931         guesses for all GNU systems.
18933 2018-08-19  Bruno Haible  <bruno@clisp.org>
18935         glob-h: Formalize side effects from other modules.
18936         * m4/glob_h.m4 (gl_REPLACE_GLOB_H): New macro.
18937         * m4/glob.m4 (gl_GLOB): Invoke it.
18939         fnmatch-h: Formalize side effects from other modules.
18940         * m4/fnmatch_h.m4 (gl_REPLACE_FNMATCH_H): New macro.
18941         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Invoke it.
18943         limits-h: Formalize side effects from other modules.
18944         * m4/limits-h.m4 (gl_REPLACE_LIMITS_H): New macro.
18945         * m4/stdint.m4 (gl_STDINT_H): Invoke it.
18947 2018-08-19  Bruno Haible  <bruno@clisp.org>
18949         getpass: Move declaration to <unistd.h>.
18950         * lib/unistd.in.h (getpass): New declaration.
18951         * lib/getpass.h: Replace with a stub that just includes <unistd.h>.
18952         * m4/getpass.m4 (gl_FUNC_GETPASS): Declare through AC_DEFUN_ONCE.
18953         Require gl_UNISTD_H_DEFAULTS. Don't test whether getpass is declared.
18954         (gl_FUNC_GETPASS_GNU): Require gl_UNISTD_H_DEFAULTS and gl_FUNC_GETPASS.
18955         On glibc systems, don't set REPLACE_GETPASS to 1.
18956         * modules/getpass (Depends-on): Add 'unistd'.
18957         (configure.ac): Test also REPLACE_GETPASS. Define a module indicator.
18958         (Include): Specify <unistd.h> instead of "getpass.h".
18959         * modules/getpass-gnu (Depends-on): Merely depend on 'getpass'.
18960         (configure.ac): Sync with the configure.ac section of modules/getpass.
18961         (Include): Specify <unistd.h> instead of "getpass.h".
18962         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether getpass is declared.
18963         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPASS, HAVE_GETPASS,
18964         REPLACE_GETPASS.
18965         * modules/unistd (Makefile.am): Substitute GNULIB_GETPASS, HAVE_GETPASS,
18966         REPLACE_GETPASS.
18967         * tests/test-unistd-c++.cc: Test also the declaration of 'getpass'.
18968         * doc/glibc-functions/getpass.texi: A length limit exists also on uClibc
18969         and musl.
18970         * NEWS: Mention the change.
18972 2018-08-19  Bruno Haible  <bruno@clisp.org>
18974         glob: Fix over-optimization due to attribute __nonnull__.
18975         * lib/glob.c (_GL_ARG_NONNULL): Define to empty.
18977 2018-08-19  Bruno Haible  <bruno@clisp.org>
18979         glob: Fix another compilation error when glob.h is not replaced.
18980         Reported by Reuben Thomas <rrt@sc3d.org> in
18981         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00112.html>.
18982         * m4/glob.m4 (gl_GLOB): Set GLOB_H to non-empty when needed.
18983         * m4/glob_h.m4 (gl_GLOB_H): Define through AC_DEFUN_ONCE.
18985 2018-08-18  Bruno Haible  <bruno@clisp.org>
18987         fnmatch: Avoid conflicting macro definitions of 'fnmatch'.
18988         Reported by Reuben Thomas <rrt@sc3d.org> in
18989         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00108.html>.
18990         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't define 'fnmatch' as a macro
18991         in config.h.
18993 2018-08-18  Bruno Haible  <bruno@clisp.org>
18995         Avoid -Wcast-function-type warnings from casts after GetProcAddress.
18996         Reported by Andy Moreton <andrewjmoreton@gmail.com> in
18997         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00468.html>.
18998         Solution proposed by Eli Zaretskii.
18999         * lib/getaddrinfo.c (GetProcAddress): Cast result to 'void *' first.
19000         * lib/gettimeofday.c (GetProcAddress): Likewise.
19001         * lib/link.c (GetProcAddress): Likewise.
19002         * lib/physmem.c (GetProcAddress): Likewise.
19003         * lib/poll.c (GetProcAddress): Likewise.
19004         * lib/select.c (GetProcAddress): Likewise.
19005         * lib/stat-w32.c (GetProcAddress): Likewise.
19007 2018-08-18  Bruno Haible  <bruno@clisp.org>
19009         glob: Fix another compilation error when glob.h is not replaced.
19010         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> again.
19011         * lib/globfree.c: Include <libc-config.h>.
19013 2018-08-18  Bruno Haible  <bruno@clisp.org>
19015         glob: Fix compilation error when glob.h is not replaced.
19016         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> in
19017         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00096.html>.
19018         * lib/glob_pattern_p.c: Include <libc-config.h>.
19019         * modules/glob (Depends-on): Add libc-config.
19021 2018-08-18  Bruno Haible  <bruno@clisp.org>
19023         scratch_buffer: Add tests.
19024         * tests/test-scratch-buffer.c: New file.
19025         * modules/scratch_buffer-tests: New file.
19027 2018-08-18  Bruno Haible  <bruno@clisp.org>
19029         scratch_buffer: Fix include file.
19030         Reported by Reuben Thomas <rrt@sc3d.org> in
19031         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00082.html>.
19032         * lib/scratch_buffer.h: Include <libc-config.h> first. Add
19033         double-inclusion guard.
19035 2018-08-18  Bruno Haible  <bruno@clisp.org>
19037         glob-h: Revert Paul Eggert's revert.
19038         * m4/glob_h.m4: Revert to previous state.
19039         * modules/glob-h: Likewise.
19041 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
19043         glob-h: always build glob.h
19044         This works around a problem reported by Reuben Thomas in:
19045         http://lists.gnu.org/r/bug-gnulib/2018-08/msg00079.html
19046         This workaround always builds glob.h, even on platforms that
19047         do not need it; perhaps this could be improved someday.
19048         * m4/glob_h.m4 (gl_GLOB_H): Do not set or use GLOB_H, since glob.h
19049         is always created now.
19050         * modules/glob-h (BUILT_SOURCES, glob.h): Always build glob.h.
19052 2018-08-13  Bruno Haible  <bruno@clisp.org>
19054         monetary: Simplify m4 code.
19055         * m4/monetary_h.m4 (gl_MONETARY_H): Define through AC_DEFUN_ONCE.
19056         (gl_MONETARY_H_BODY): Inline into gl_MONETARY_H. Remove macro.
19058 2018-08-13  Bruno Haible  <bruno@clisp.org>
19060         fnmatch, fnmatch-gnu: Fix compilation error on Mac OS X.
19061         Reported by Jeroen Meijer <jjgmeijer@gmail.com> in
19062         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00046.html>
19063         and by Paul J. Lucas <paul@lucasmail.org> in
19064         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00069.html>.
19065         * m4/fnmatch_h.m4 (gl_FNMATCH_H): Define through AC_DEFUN_ONCE.
19067 2018-08-11  Bruno Haible  <bruno@clisp.org>
19069         setlocale: Trivial simplification.
19070         * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.
19072 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
19074         verify: port 'assume' to traditional tools
19075         * lib/verify.h (assume): Port better to Oracle Studio 12.6
19076         and other tools that use /*NOTREACHED*/ comments.
19078 2018-08-10  Bruno Haible  <bruno@clisp.org>
19080         fnmatch-gnu: Fix compilation error in C++ namespace mode on Mac OS X.
19081         * modules/fnmatch-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
19082         * lib/fnmatch.in.h (fnmatch): Skip _GL_CXXALIASWARN if module
19083         'fnmatch-gnu' is in use.
19085 2018-08-07  Bruno Haible  <bruno@clisp.org>
19087         glob-h: Add tests.
19088         * tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
19089         * tests/test-glob.c: Reorder #includes. Remove tests that are moved to
19090         tests/test-glob-h.c.
19091         * modules/glob-h-tests: New file.
19092         * tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
19093         conditions.
19094         * modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
19095         * modules/glob-tests (Depends-on): Remove glob-c++-tests.
19097 2018-08-07  Bruno Haible  <bruno@clisp.org>
19099         glob-h: New module.
19100         * lib/glob.in.h: Use nearly the usual gnulib idioms for header file
19101         replacements.
19102         * lib/glob.c: Include <config.h>.
19103         * m4/glob_h.m4: New file.
19104         * m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
19105         glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
19106         REPLACE_GLOB_PATTERN_P as appropriate.
19107         (gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
19108         AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
19109         * modules/glob-h: New file.
19110         * modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
19111         (Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
19112         lstat, sys_stat. Change conditions.
19113         (configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
19114         REPLACE_GLOB_PATTERN_P. Set module indicator.
19115         (Makefile.am): Remove code that is moved to glob-h.
19116         * doc/posix-headers/glob.texi: Mention the 'glob-h' module.
19117         * modules/posixcheck (Depends-on): Add glob-h.
19119 2018-08-06  Bruno Haible  <bruno@clisp.org>
19121         Force generation of substitute .h file when C++ support is enabled.
19122         * m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
19123         * modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
19124         * m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
19125         FNMATCH_H to non-empty.
19126         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
19127         ICONV_H to non-empty.
19128         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
19129         MONETARY_H to non-empty.
19130         * m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
19131         non-empty.
19133 2018-08-06  Bruno Haible  <bruno@clisp.org>
19135         fnmatch-h: Fix test compilation error on mingw (regression from today).
19136         * lib/fnmatch.in.h: Fix conditions.
19138 2018-08-06  Bruno Haible  <bruno@clisp.org>
19140         sys_resource: Relicense under LGPLv2+.
19141         John Malmberg's approval is in
19142         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
19143         * modules/sys_resource (License): Change to LGPLv2+.
19145 2018-08-06  Bruno Haible  <bruno@clisp.org>
19147         fnmatch-h: Add tests.
19148         * tests/test-fnmatch-h.c: New file.
19149         * modules/fnmatch-h-tests: New file.
19150         * tests/test-fnmatch-h-c++.cc: New file.
19151         * modules/fnmatch-h-c++-tests: New file.
19153 2018-08-06  Bruno Haible  <bruno@clisp.org>
19155         fnmatch-h: New module.
19156         * lib/fnmatch.in.h: Use the usual gnulib idioms for header file
19157         replacements.
19158         (FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
19159         (fnmatch): Use the usual gnulib idiom for function declarations. Enable
19160         'posixcheck' warning.
19161         * m4/fnmatch_h.m4: New file.
19162         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
19163         code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
19164         bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
19165         as appropriate.
19166         * modules/fnmatch-h: New file.
19167         * modules/fnmatch (Files): Remove lib/fnmatch.in.h.
19168         (Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
19169         conditions.
19170         (configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
19171         indicator.
19172         (Makefile.am): Remove code that is moved to fnmatch-h.
19173         * modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
19174         REPLACE_FNMATCH.
19175         * doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
19176         * modules/posixcheck (Depends-on): Add fnmatch-h.
19178 2018-08-06  Bruno Haible  <bruno@clisp.org>
19180         Enable more C++ tests.
19181         * modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
19182         * modules/monetary-tests (Depends-on): Add monetary-c++-tests.
19183         * modules/strings-tests (Depends-on): Add strings-c++-tests.
19184         * modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
19185         * modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.
19187 2018-08-06  Bruno Haible  <bruno@clisp.org>
19189         getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
19190         * modules/getopt-posix (Makefile.am): Add Makefile dependency for
19191         getopt.h.
19192         * modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.
19194 2018-08-05  Bruno Haible  <bruno@clisp.org>
19196         utime-h: Generate header file when module 'posixcheck' is in use.
19197         * m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
19198         UTIME_H to non-empty.
19200 2018-08-05  Bruno Haible  <bruno@clisp.org>
19202         monetary: Generate header file when module 'posixcheck' is in use.
19203         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
19204         use, set MONETARY_H to non-empty.
19206 2018-08-05  Bruno Haible  <bruno@clisp.org>
19208         iconv-h: Generate header file when module 'posixcheck' is in use.
19209         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
19210         set ICONV_H to non-empty.
19212 2018-08-05  Bruno Haible  <bruno@clisp.org>
19214         Optimize the "checking whether ... is declared without a macro" checks.
19215         Suggested by Paul Eggert in
19216         <https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
19217         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
19218         Gnulib module 'posixcheck' is not in use.
19220 2018-08-05  Bruno Haible  <bruno@clisp.org>
19222         iconv-h: Enable 'posixcheck' warnings.
19223         * m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
19224         iconv_open.
19225         * lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.
19227 2018-08-05  Bruno Haible  <bruno@clisp.org>
19229         Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
19230         * m4/extern-inline.m4: Add more comments.
19231         * lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
19232         * lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
19233         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.
19235 2018-08-04  Bruno Haible  <bruno@clisp.org>
19237         New module 'posixcheck'.
19238         * modules/posixcheck: New file.
19239         * m4/posixcheck.m4: New file.
19240         * doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
19241         (Which modules?): Reference it.
19243 2018-08-01  Assaf Gordon  <assafgordon@gmail.com>
19245         dfa: fix memory leak
19246         * lib/dfa.c (dfafree): Add missing free() on dfa->superset.
19248 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
19250         ieee754-h: new module
19251         It looks like Emacs can use this for some NaN processing.
19252         Emacs uses it only on double NaNs so it should be safe.
19253         * MODULES.html.sh (func_all_modules): Add ieee754-h.
19254         * config/srclist.txt: Mention ieee754.h in a comment.
19255         * doc/glibc-headers/ieee754.texi (ieee754.h):
19256         Gnulib now has a substitute that should work
19257         except for long double and for non-IEEE platforms.
19258         * lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
19259         * modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.
19261 2018-07-27  Bruno Haible  <bruno@clisp.org>
19263         iswcntrl: Mention minor problem on macOS.
19264         * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
19266 2018-07-26  Colin Watson  <cjwatson@debian.org>
19268         bootstrap, gnulib-tool: fix translations rsync
19269         Previously, we created files such as $pobase/Makefile.in.in and then the
19270         subsequent rsync would immediately delete them.
19271         * build-aux/bootstrap (po_download_command_format): Avoid deleting
19272         non-.po files in target directory when rsyncing translations.
19273         * gnulib-tool (func_import): Likewise.
19274         * pygnulib/GLImport.py (GLImport.execute): Likewise.
19276 2018-07-25  Jim Meyering  <meyering@fb.com>
19278         bootstrap: reinstate definition fo gnulib_mk.
19279         That variable is used at least by cppi.
19280         * build-aux/bootstrap (gnulib_mk): Restore definition.
19281         This reverts the deletion from v0.1-1844-gc66dba9ba.
19283 2018-07-23  Bruno Haible  <bruno@clisp.org>
19285         doc: For module names, use texinfo markup @code{} or @samp{}.
19286         * doc/alloca.texi: Mark gnulib module names with @code.
19287         * doc/alloca-opt.texi: Likewise.
19288         * doc/quote.texi: Likewise.
19289         * doc/posix-functions/freopen.texi: Likewise.
19290         * doc/posix-functions/open.texi: Likewise.
19291         * doc/posix-functions/readlink.texi: Likewise.
19292         * doc/posix-functions/readlinkat.texi: Likewise.
19293         * doc/posix-functions/stdout.texi: Likewise.
19294         * doc/posix-functions/stderr.texi: Likewise.
19295         * doc/posix-functions/unlink.texi: Likewise.
19296         * doc/posix-functions/unlinkat.texi: Likewise.
19297         * doc/posix-functions/utime.texi: Likewise.
19298         * doc/posix-functions/utimensat.texi: Likewise.
19299         * doc/posix-functions/utimes.texi: Likewise.
19300         * doc/posix-headers/stdint.texi: Likewise.
19301         * doc/glibc-functions/futimesat.texi: Likewise.
19302         * doc/glibc-functions/lutimes.texi: Likewise.
19303         * doc/glibc-functions/memmem.texi: Likewise.
19305 2018-07-23  Werner LEMBERG  <wl@gnu.org>
19307         doc: Avoid some overfull lines in the TeX output.
19308         * doc/glibc-functions/futimesat.texi: Replace a long @code with a
19309         @example.
19310         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
19311         newline before the long URL.
19312         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
19313         * doc/relocatable-maint.texi: Use @smallexample instead of @example.
19314         Add line breaks in code snippets.
19316 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
19318         hard-locale: simplify by removing hard-locale.m4
19319         * m4/hard-locale.m4: Remove.
19320         * modules/hard-locale (Files): Remove m4/hard-locale.m4.
19321         (configure.ac): Do not call gl_HARD_LOCALE.
19323         gnulib-tool: limit line length for git send-email
19324         * gnulib-tool (func_import): Break actioncmd log line
19325         into multiple lines.
19327 2018-07-16  Bruno Haible  <bruno@clisp.org>
19329         ffs: Ensure declaration on mingw.
19330         Reported by Daniel P. Berrangé <berrange@redhat.com>
19331         in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
19332         * m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
19333         also declared.
19335 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
19337         regex-tests: add dependency
19338         * modules/regex-tests (Depends-on): Add gettext-h.
19339         This is needed given the recent changes to regex,
19340         which no longer depends on gettext-h.
19342 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
19344         regex: now in sync with glibc
19345         * config/srclist.txt: Gnulib and glibc regex code
19346         are synchronized again.
19348 2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>
19350         renameatu: rename from renameat2
19351         It's looking like Glibc will add a renameat2 function
19352         that is incompatible with Gnulib renameat2; see:
19353         https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
19354         To help avoid future confusion, rename renameat2 to something else.
19355         Use the name 'renameatu', as the Gnulib function is close to the
19356         Glibc function.  Perhaps someday there will also be a renameat2
19357         Gnulib module, which mimicks the future glibc renameat2, but that
19358         can wait as nobody seems to need such a module now.
19359         * NEWS: Mention this.
19360         * lib/renameatu.c: Rename from lib/renameat2.c.
19361         * lib/renameatu.h: Rename from lib/renameat2.h.
19362         * modules/renameatu: Rename from modules/renameat2.
19363         * modules/renameatu-tests: Rename from modules/renameat2-tests.
19364         All uses of "renameat2" in identifiers or file name
19365         changed to "renameatu", except for two instances in
19366         lib/renameatu.c that deal with the Linux kernel's
19367         renameat2 syscall.
19369 2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
19371         gnulib-tool: minor tweaks for --gnu-make
19372         * gnulib-tool: Do not allow --gnu-make in test modes,
19373         since they all require automake.
19374         (func_emit_lib_Makefile_am): Don’t emit automake comment
19375         if --gnu-make.
19377         regex: work around conditional-dependencies glitch
19378         * modules/regex (Depends-on): Add langinfo.
19379         Without this change, I had problems building an experimental
19380         version of GNU Emacs.  The symptom of the bug was a message
19381         ‘./configure: line 12726: test: =: unary operator expected’.
19382         This was due to a line in gl_FUNC_NL_LANGINFO that invokes
19383         ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
19384         was unset.  Although gl_FUNC_NL_LANGINFO has
19385         ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
19386         HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
19387         --conditional-dependencies sometimes arranges for the
19388         gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
19389         code.  Since the regex code includes <langinfo.h> it should be
19390         depending on the langinfo module anyway, and this happens to work
19391         around the bug, so install that as a workaround for now.  To
19392         reproduce the original problem, run the following shell script on
19393         the version of Gnulib just before this patch was installed.
19394                 rm -fr foo
19395                 mkdir foo
19396                 cat >foo/configure.ac <<'EOF'
19397                 AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
19398                 gl_EARLY
19399                 gl_INIT
19400                 AC_OUTPUT
19401                 EOF
19402                 ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
19403                 ./gnulib-tool --copy build-aux/install-sh foo/install-sh
19404                 ./gnulib-tool --copy build-aux/config.sub foo/config.sub
19405                 ./gnulib-tool --copy build-aux/config.guess foo/config.guess
19406                 cd foo
19407                 aclocal -I m4
19408                 autoconf
19409                 ./configure --with-included-regex
19411 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
19413         wchar: fix bug when checking for ‘inline’
19414         I discovered this when looking into using the regex module
19415         with Emacs.
19416         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
19417         2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
19418         conftest1.c and conftest2.c but these files were not created.
19419         As far as I can see, this check never worked and nobody reported
19420         it until now, which is a bit worrisome.
19422 2018-06-30  Jim Meyering  <meyering@fb.com>
19424         bootstrap: s/--option val/--option=val/
19425         * build-aux/bootstrap (gnulib_tool_options): Change the
19426         spelling of "--option val" pairs to "--option=val", for
19427         aesthetics, and also so that this file no longer triggers
19428         a common help2man syntax-check warning when copied into
19429         projects like grep, gzip, etc.
19431 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
19433         manywarnings: omit -Wswitch-default
19434         This should make things more consistent, as we already ignore
19435         -Wswitch-enum.  Problem reported by Reuben Thomas; see:
19436         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
19437         * build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
19438         Add -Wswitch-default.
19439         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
19440         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
19441         Remove -Wswitch-default.
19443         regex: revert most trimming
19444         Problems reported by Bruno Haible in:
19445         https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
19446         * modules/regex (Depends-on): Add lock, memcmp, memmove,
19447         and wctype back in.  lock because regex users shouldn’t
19448         need to know that regex needs locking, and the rest because
19449         gnulib-tool should ordinarily ignore them anyway.
19451 2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>
19453         regex: trim module dependencies
19454         * modules/regex (Depends-on): Remove gettext-h and lock,
19455         since the regex code should work OK without these modules,
19456         and Emacs uses it that way.  Also remove memcmp, memmove,
19457         and wctype, as these modules are obsolete and should not be
19458         needed any more.
19460 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
19462         regex: glibc does not use intprops.h
19463         Maybe we can talk glibc into using intprops.h someday, but
19464         now doesn’t seem to be a good time.
19465         * lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
19466         * lib/regex_internal.h [_LIBC]: Do not include intprops.h.
19467         (TYPE_SIGNED, INT_ADD_WRAPV): New macros.
19469 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
19471         regex: port to recently proposed glibc regex merge
19472         This patch is inspired by Adhemerval Zanella's recent proposal
19473         https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
19474         to merge glibc and Gnulib regex.  It aims to simplify the merge on
19475         the glibc side, without keeping Gnulib portable.
19476         * lib/regex.h: Fix a problem with glibc installed-header checking,
19477         as follows:
19478         (_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
19479         (_Restrict_arr_): Prefer __restrict_arr if defined,
19480         otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
19481         * lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
19482         (build_wcs_upper_buffer, build_upper_buffer)
19483         (re_string_translate_buffer, re_string_context_at):
19484         Move decls here from lib/regex_internal.h, for glibc internal tests.
19485         (build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
19486         glibc BZ #18496.
19487         * lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
19488         -Wunused-value.
19489         (bitset_set, bitset_clear, bitset_contain, bitset_empty)
19490         (bitset_set_all, bitset_copy, bitset_not, bitset_merge)
19491         (bitset_mask): Now static inline, and without any __attribute__
19492         ((unused)) decoration, for glibc internal tests.
19494 2018-06-25  Bruno Haible  <bruno@clisp.org>
19496         threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
19497         Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
19498         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
19499         * m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
19500         --as-needed/--no-as-needed and --push-state/--pop-state. When defining
19501         USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
19502         USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
19503         / -lthread / -lpth does not get optimized away by a preceding
19504         --as-needed option.
19506 2018-06-25  Bruno Haible  <bruno@clisp.org>
19508         Continue to use spaces for indentation, not tabs.
19509         * MODULES.html.sh: Untabify.
19510         * doc/regex.texi: Likewise.
19511         * lib/acl-internal.c: Likewise.
19512         * lib/dfa.c: Likewise.
19513         * lib/exclude.c: Likewise.
19514         * lib/exclude.h: Likewise.
19515         * lib/get-permissions.c: Likewise.
19516         * lib/gettimeofday.c: Likewise.
19517         * lib/parse-datetime.y: Likewise.
19518         * lib/pselect.c: Likewise.
19519         * lib/set-permissions.c: Likewise.
19520         * lib/time.in.h: Likewise.
19521         * m4/canonicalize.m4: Likewise.
19522         * m4/gc.m4: Likewise.
19523         * m4/gnulib-common.m4: Likewise.
19524         * m4/pthread_sigmask.m4: Likewise.
19525         * m4/vararrays.m4: Likewise.
19526         * tests/test-digest.h: Likewise.
19527         * tests/test-fcntl-h.c: Likewise.
19528         * tests/test-timespec.c: Likewise.
19529         * tests/uniwbrk/test-uc-wordbreaks.c: Likewise.
19531 2018-06-25  Bruno Haible  <bruno@clisp.org>
19533         manywarnings: Don't enable -Wjump-misses-init warnings by default.
19534         * build-aux/gcc-warning.spec: Add -Wjump-misses-init.
19535         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
19536         -Wjump-misses-init.
19538 2018-06-25  Jim Meyering  <meyering@fb.com>
19540         acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
19541         * lib/acl-internal.h (free_permission_context): Remove that
19542         attribute directive.  Otherwise, it would provoke this from GCC 9:
19543         lib/acl-internal.h:300:3: error: 'const' attribute on function \
19544           returning 'void' [-Werror=attributes]
19546 2018-06-24  Jim Meyering  <meyering@fb.com>
19548         parse-datetime: accommodate gcc-4.8.5
19549         Bruno Haible reported the build failure in
19550         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
19551         * lib/parse-datetime.y (parse_datetime2): Remove leading "static"
19552         on declaration of new local.
19554 2018-06-24  Bruno Haible  <bruno@clisp.org>
19556         af_alg: Fail in continuable manner on Linux/powerpc64le.
19557         Reported by Assaf Gordon <assafgordon@gmail.com>
19558         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
19559         * lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
19560         byte send() as the first round.
19562 2018-06-24  Bruno Haible  <bruno@clisp.org>
19564         af_alg: Fix state of stream after sendfile() succeeds.
19565         * lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
19566         the stream is correctly positioned afterwards.
19567         * modules/crypto/af_alg (Depends-on): Add fflush.
19568         * tests/test-digest.h (test_digest_on_files): Verify that after the
19569         operation the stream is positioned at end of file.
19571 2018-06-24  Jim Meyering  <meyering@fb.com>
19573         canon-host: take GCC9's advice rather than ignoring warning
19574         Pádraig Brady suggested not to ignore this GCC9 advice.
19575         * lib/canon-host.c: Undo preceding change.
19576         * lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.
19578         parse-datetime.y: avoid spurious GCC 9 warning
19579         * lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
19580         a function local prior to the first "goto fail".  The prior use would
19581         evoke this:
19582         parse-datetime.y: In function 'parse_datetime2':
19583         parse-datetime.y:1791:19: error: jump skips variable initialization \
19584           [-Werror=jump-misses-init]
19585         parse-datetime.y:2385:2: note: label 'fail' defined here
19586         parse-datetime.y:188:43: note: '({anonymous})' declared here
19587         parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'
19589         canon-host.c: avoid spurious GCC 9 warning
19590         * lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.
19592         manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
19593         * build-aux/gcc-warning.spec: Add them here, each with an explanation.
19594         * m4/manywarnings.m4: Remove them.
19595         Otherwise, building coreutils, I would see this:
19596         cc1: error: deprecated command line option '-Wchkp' [-Werror]
19597         cc1: error: -Wabi won't warn about anything [-Werror=abi]
19598         cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
19599           which is also used by default
19600         cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
19602 2018-06-24  Bruno Haible  <bruno@clisp.org>
19604         af_alg tests: Add another test.
19605         * tests/test-digest.h (test_digest_on_files): Also check a large file
19606         with a skipped header.
19607         * tests/test-md5.c: Include macros.h.
19608         * tests/test-sha1.c: Likewise.
19609         * tests/test-sha256.c: Likewise.
19610         * tests/test-sha512.c: Likewise.
19611         * modules/crypto/md5-tests (Files): Add tests/macros.h.
19612         * modules/crypto/sha1-tests (Files): Likewise.
19613         * modules/crypto/sha256-tests (Files): Likewise.
19614         * modules/crypto/sha512-tests (Files): Likewise.
19616 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19618         maint: clarify comments about sticky EOF
19619         * lib/af_alg.c: Be more direct that we can't
19620         assume stickiness of EOF for portability reasons.
19621         * lib/md5.c: Clarify that this isn't just a glibc issue.
19622         * lib/sha1.c: Likewise.
19623         * lib/sha256.c: Likewise.
19624         * lib/sha512.c: Likewise.
19626 2018-06-24  Bruno Haible  <bruno@clisp.org>
19628         af_alg: Comment and style improvements.
19629         * lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
19630         (afalg_buffer, afalg_stream): Improve comments.
19632 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19634         af_alg: disable kernel hash functions by default
19635         All the kernel routines were seen to be significantly slower
19636         with these relatively recent components on an i3-2310M system:
19637           kernel-4.10.6-200.fc25.x86_64
19638           openssl-1.0.2m-1.fc25.x86_64
19639         sha1 was nearly twice as slow in the kernel for example.
19640         Further considerations why this should not be the default, at:
19641         https://lists.gnu.org/r/coreutils/2018-06/msg00034.html
19643         * m4/af_alg.m4: Require --with-linux-crypto to enable.
19644         * m4/gl-openssl.m4: Tweak accordingly.
19646 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19648         af_alg: avoid hangs when reading from streams
19649         * lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
19650         and thus avoid doing a fread() when feof() is set.
19651         * lib/md5.c: Ensure feof() is called before fread().
19652         * lib/sha1.c: Likewise.
19653         * lib/sha256.c: Likewise.
19654         * lib/sha512.c: Likewise.
19656 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19658         af_alg: fix error handling when hash not returned
19659         * lib/af_alg.c (afalg_stream): Handle the case where we've
19660         successfully written data to the kernel in the read/write loop,
19661         but the kernel doesn't respond with the hash.
19663 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
19665         libc-config: merge from glibc
19666         * lib/cdefs.h (__inline, __restrict):
19667         Copy from current glibc.  This fixes glibc bug 17721,
19668         which Gnulib had already fixed in a different way.
19669         (__nonnull): Lessen the distance from glibc by using the
19670         glibc definition inside an ‘#ifndef __nonnull’.
19671         (__attribute_nonstring__): New macro, copied from
19672         current glibc.
19673         * lib/libc-config.h (__attribute_nonstring__): New undef.
19674         (__restrict): Remove; workaround no longer needed.
19675         Keep the __inline workaround, though, as it uses HAVE___INLINE to
19676         support more compilers than the glibc __inline can.
19678 2018-06-24  Bruno Haible  <bruno@clisp.org>
19680         mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
19681         * lib/mbrtowc.c (enc_t): New enum type.
19682         (locale_enc, locale_enc_cached): New functions.
19683         (mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
19684         * lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
19685         (wcwidth): Eliminate static variables. Use is_locale_utf8_cached
19686         instead.
19687         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
19688         * m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
19689         * modules/wcwidth (configure.ac): Invoke it.
19691 2018-06-24  Bruno Haible  <bruno@clisp.org>
19693         wchar-single: Fix test failure in wcwidth tests.
19694         * tests/test-wcwidth.c (main): If the wchar-single module is present,
19695         skip the tests in the C locale.
19697 2018-06-23  Pádraig Brady  <P@draigBrady.com>
19699         crypto: mention --without-linux-crypto in --with-openssl --help
19700         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
19701         routines take precedence in --with-openssl help output.
19703 2018-06-23  Pádraig Brady  <P@draigBrady.com>
19705         wchar-single: a new module to enable optimizations in wchar replacements
19706         * lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
19707         GNULIB_WCHAR_SINGLE is enabled.
19708         * lib/wcwidth.c (wcwidth): Likewise.
19710 2018-06-23  Bruno Haible  <bruno@clisp.org>
19712         libc-config: Fix conflict with FreeBSD include files.
19713         * lib/cdefs.h (__nonnull): Remove definition.
19714         * lib/libc-config.h (__nonnull): Remove undefinition.
19716 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
19718         random_r: do not crash if state is unaligned
19719         Problem reported by Bruce Korb in:
19720         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
19721         I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
19722         with 'cc -O2 -xmemalign=8s'.
19723         * lib/random_r.c: Include string.h, for memcpy.
19724         (get_int32, set_int32): New functions.
19725         (__srandom_r, __initstate_r, __setstate_r, __random_r):
19726         Use them to avoid assumption that state pointer is aligned.
19727         (__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
19728         * tests/test-random_r.c (test_failed): New function.
19729         (main): Use it, to test for alignment bugs.
19731         random_r: omit unnecessary include
19732         * lib/random_r.c: Do not include limits.h.
19734         random, random_r: merge from glibc
19735         * lib/random.c, lib/random_r.c:
19736         Include libc-config.h if !_LIBC, not config.h unilaterally.
19737         * lib/random.c:
19738         Do not include stdint.h or time.h; not needed.
19739         Include libc-lock.h if _LIBC, and define substitute macros otherwise.
19740         (unsafe_state): Rename from generator.  All uses changed.
19741         Use C99-style initializers.
19742         (__random, __srandom, __initstate, __setstate): Rename from
19743         non-underscored version, but define it to non-underscored version
19744         on Gnulib.  Add a lock.
19745         * lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
19746         Likewise.
19747         Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
19748         (weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
19749         (__srandom_r): Use int32_t instead of long int where int32_t will do.
19750         (__random_r): Use uint32 to fix glibc bug 17343.
19751         * modules/random, modules/random_r (Depends-on): Add libc-config.
19752         Depend on stdint only if $HAVE_RANDOM = 0.
19754 2018-06-19  Jim Meyering  <meyering@fb.com>
19756         README-release: also run any check-very-expensive tests
19757         * top/README-release: Adjust instructions so they run the
19758         check-very-expensive tests when there is such a target.
19760 2018-06-18  Bruno Haible  <bruno@clisp.org>
19762         pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
19763         * m4/pthread_rwlock_rdlock.m4: Add comment.
19764         * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
19765         are reader-preferring in glibc.
19766         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
19767         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
19769 2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
19771         crypto: use byteswap
19772         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
19773         * lib/sm3.c: Include <byteswap.h>.
19774         (SWAP): Use its macros rather than reinventing the wheel.
19775         * modules/crypto/md4, modules/crypto/md5-buffer:
19776         * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
19777         * modules/crypto/sha512-buffer, modules/crypto/sm3:
19778         (Depends-on): Add byteswap.
19780 2018-06-17  Pádraig Brady  <P@draigBrady.com>
19782         gendocs.sh: fix support for legacy --texi2html
19783         * build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
19784         to the default makeinfo invocation.
19785         Reported by Bruce Korb
19787 2018-06-17  Bruno Haible  <bruno@clisp.org>
19789         gettext po infrastructure: Update from current gettext git.
19790         Reported by Akim Demaille <akim@lrde.epita.fr>.
19791         * build-aux/po/Makefile.in.in: Update from current gettext git.
19792         * build-aux/po/remove-potcdate.sin: Likewise.
19793         * config/srclist.txt: Temporarily disable sync for these files.
19795 2018-06-17  Bruno Haible  <bruno@clisp.org>
19797         getloadavg: Return 0 on Windows without Cygwin.
19798         * lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.
19800 2018-06-17  Paul Smith  <psmith@gnu.org>
19802         getloadavg: Allow building on Windows without Cygwin
19803         * lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
19804         * m4/getloadavg.m4: Check for unistd.h.
19806 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
19808         Port crypto/af_alg to GCC 4.8.4
19809         Problem reported by Peter Simons in:
19810         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
19811         * modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.
19813 2018-05-27  Colin Watson  <cjwatson@debian.org>
19815         bootstrap: document source fetching in --help
19816         * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
19818 2018-04-09  Colin Watson  <cjwatson@debian.org>
19820         bootstrap: allow non-submodule control of gnulib
19821         * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
19822         bootstrap.conf when fetching gnulib using "git clone" or via
19823         GNULIB_SRCDIR.
19825 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
19827         crypto: omit stream ops Emacs doesn’t need
19828         * lib/md5.c (md5_stream):
19829         * lib/sha1.c (sha1_stream):
19830         * lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
19831         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
19832         Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
19833         defined.  Emacs needs this, as it does not use the stream
19834         operations and doesn’t need all the af_alg stuff we’ve recently
19835         added.  Perhaps a similar change is needed to the other crypto
19836         modules, but this patch changes only those needed for Emacs.
19837         * modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
19838         * modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
19839         New modules, used by Emacs.
19840         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
19841         * modules/crypto/sha512: Rewrite to depend on the new modules.
19843 2018-05-20  Pádraig Brady  <P@draigBrady.com>
19845         fts: avoid a memory leak edge case
19846         * lib/fts.c (fts_open): Set an appropriate fts_level
19847         so that an immediate fts_close() will free the allocation.
19848         * tests/test-fts.c (fts_dealloc): Add a test case which
19849         will trigger under valgrind or address sanitizer.
19850         Fixes https://bugs.gnu.org/31439
19852 2018-05-20  Bruno Haible  <bruno@clisp.org>
19854         wcwidth tests: Fix link error.
19855         * modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
19856         $(LIBUNISTRING).
19858 2018-05-20  Bruno Haible  <bruno@clisp.org>
19860         regex: Fix "error: possibly undefined macro: gl_GLIBC21".
19861         * modules/regex (Files): Add m4/glibc21.m4.
19863 2018-05-20  Bruno Haible  <bruno@clisp.org>
19865         localcharset: Optimize.
19866         * lib/localcharset.c (alias_table): Comment out no-op mappings for
19867         platforms where these don't matter. This reduces the table size,
19868         which in turn reduces the lookup time.
19870 2018-05-19  Bruno Haible  <bruno@clisp.org>
19872         localcharset: Map the locale encodings found in newer OSes.
19873         * lib/localcharset.c (alias_table): Add mapping for locale encodings
19874         found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
19875         IRIX 6.5, Minix 3.3.
19876         * lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.
19878 2018-05-19  Bruno Haible  <bruno@clisp.org>
19880         localcharset: Move mapping tables into the code. Use a binary search.
19881         * lib/localcharset.h: Document the GNU canonical names for character
19882         encodings here.
19883         * lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
19884         relocatable.h, configmake.h.
19885         (O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
19886         macros.
19887         (charset_aliases): Remove variable.
19888         (get_charset_aliases): Remove function.
19889         (struct table_entry): New type.
19890         (alias_table, locale_table): New constants.
19891         (locale_charset): Use the alias_table or locale_table to get the
19892         canonicalized encoding name.
19893         * lib/config.charset: Remove file.
19894         * lib/ref-add.sin: Remove file.
19895         * lib/ref-del.sin: Remove file.
19896         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
19897         AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
19898         * modules/localcharset (Notice): Remove.
19899         (Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
19900         glibc21.m4.
19901         (Depends-on): Remove configmake.
19902         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
19903         (Makefile.am): Simplify.
19904         * build-aux/prefix-gnulib-mk: Remove special code for the removed files.
19906 2018-05-19  Bruno Haible  <bruno@clisp.org>
19908         localcharset: Add a manual test.
19909         * tests/test-localcharset.c: New file.
19910         * modules/localcharset-tests: New file.
19912 2018-05-19  Bruno Haible  <bruno@clisp.org>
19914         localcharset: Remove support for obsolete platforms.
19915         * lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
19916         Mac OS X 10.2. Comment out dubious entry for Solaris.
19918 2018-05-19  Jim Meyering  <meyering@fb.com>
19920         gnupload: adjust comment
19921         * build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
19922         more likely we'll remove the just-added code in a year or two.
19924 2018-05-19  Bruno Haible  <bruno@clisp.org>
19926         gnupload: Fix "gpg-agent is not available in this session" error.
19927         * build-aux/gnupload (GPG): Pick the right GNUPG executable to use.
19929 2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19931         crypto/af_alg: fix --help
19932         * m4/af_alg.m4: Avoid spurious newline in --help output.
19934 2018-05-13  Bruno Haible  <bruno@clisp.org>
19936         nl_langinfo: Fix compilation error on Android.
19937         * lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
19938         INT_CURR_SYMBOL, etc. only if these items are defined.
19940 2018-05-13  Bruno Haible  <bruno@clisp.org>
19942         truncate: Fix compilation error on Android.
19943         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
19944         declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
19945         * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
19946         HAVE_TRUNCATE.
19947         * modules/truncate: Likewise.
19948         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
19949         not HAVE_TRUNCATE.
19950         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
19951         HAVE_TRUNCATE.
19952         * doc/posix-functions/truncate.texi: Mention the issue.
19954 2018-05-13  Bruno Haible  <bruno@clisp.org>
19956         pthread: Fix compilation error on Android.
19957         * lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
19958         recursive inclusion of this file.
19960 2018-05-13  Bruno Haible  <bruno@clisp.org>
19962         posix_spawn: Fix compilation error on Android.
19963         * lib/spawn.in.h (posix_spawnattr_t): Consider also the case
19964         HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
19965         (posix_spawn_file_actions_t): Consider also the case
19966         HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.
19968 2018-05-13  Bruno Haible  <bruno@clisp.org>
19970         tsearch: Move from K&R C to ANSI C.
19971         * lib/tsearch.c (tfind): Convert definition to ANSI C.
19973 2018-05-13  Bruno Haible  <bruno@clisp.org>
19975         tsearch: Fix compilation error on Android.
19976         * lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
19977         is 0.
19978         (GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
19979         * lib/tsearch.c (tsearch, tfind, tdelete): Define only if
19980         GNULIB_defined_tsearch is true.
19981         (twalk): Define only if GNULIB_defined_twalk is true.
19982         * modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
19983         is 0.
19984         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
19985         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
19986         * modules/search (Makefile.am): Substitute HAVE_TWALK.
19988 2018-05-13  Bruno Haible  <bruno@clisp.org>
19990         imaxdiv: Fix compilation error on Android.
19991         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
19992         is not defined.
19993         * lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
19994         HAVE_DECL_IMAXDIV, is 0.
19995         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
19996         * modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.
19998 2018-05-13  Bruno Haible  <bruno@clisp.org>
20000         Support selective inclusion mechanism of recent mingw.org header files.
20001         Reported by Eli Zaretskii <eliz@gnu.org>.
20002         * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
20003         __need_ssize_t, or __need_time_t is defined, just include the system's
20004         <sys/types.h>.
20005         * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
20006         include the system's <locale.h>.
20008 2018-05-13  Bruno Haible  <bruno@clisp.org>
20010         Avoid compilation error due to 'mmap' on Android.
20011         * lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
20012         * lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
20013         * tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
20014         Undefine on Android.
20016 2018-05-13  Bruno Haible  <bruno@clisp.org>
20018         Add cross-compilation guesses for Linux systems without glibc.
20019         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
20020         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
20021         * m4/link.m4 (gl_FUNC_LINK): Likewise.
20022         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
20023         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
20024         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
20025         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
20026         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
20027         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
20028         * m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
20029         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
20030         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
20031         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
20032         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
20033         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
20034         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
20035         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
20036         * m4/utimens.m4 (gl_UTIMENS): Likewise.
20038 2018-05-13  Bruno Haible  <bruno@clisp.org>
20040         getpagesize: Fix compilation error on Android.
20041         * m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
20042         (gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
20043         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
20044         AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
20045         HAVE_GETPAGESIZE accordingly.
20046         * modules/getcwd (Files): Add m4/getpagesize.m4.
20048 2018-05-13  Bruno Haible  <bruno@clisp.org>
20050         tcgetsid: Fix compilation error on Android.
20051         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
20052         AC_CHECK_FUNC.
20054 2018-05-13  Bruno Haible  <bruno@clisp.org>
20056         getpass: Fix configure test for Android.
20057         * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
20058         AC_CHECK_FUNC.
20060 2018-05-13  Bruno Haible  <bruno@clisp.org>
20062         ffs: Fix compilation error on Android.
20063         * m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.
20065 2018-05-13  Bruno Haible  <bruno@clisp.org>
20067         mkfifo: Fix compilation error on Android.
20068         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
20069         AC_CHECK_FUNC.
20071 2018-05-13  Bruno Haible  <bruno@clisp.org>
20073         c-strtod: Fix configure test for Android.
20074         * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
20075         AC_CHECK_FUNC.
20077 2018-05-13  Bruno Haible  <bruno@clisp.org>
20079         random: Fix compilation error on Android.
20080         * m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
20081         AC_CHECK_FUNC.
20083 2018-05-13  Bruno Haible  <bruno@clisp.org>
20085         grantpt: Fix compilation error on Android.
20086         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
20087         AC_CHECK_FUNC.
20089 2018-05-13  Bruno Haible  <bruno@clisp.org>
20091         stdioext: Fix compilation errors with newer Android headers.
20092         * lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
20093         (__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
20094         fallbacks for Android.
20095         * lib/fpending.c: Update comments.
20096         * lib/fpurge.c: Likewise.
20097         * lib/freadable.h: Likewise.
20098         * lib/freadable.c: Likewise.
20099         * lib/freadahead.c: Likewise.
20100         * lib/freading.h: Likewise.
20101         * lib/freadptr.c: Likewise.
20102         * lib/fseterr.c: Likewise.
20103         * lib/fwritable.h: Likewise.
20104         * lib/fwritable.c: Likewise.
20105         * lib/fwriting.h: Likewise.
20106         * lib/fwriting.c: Likewise.
20108 2018-05-13  Bruno Haible  <bruno@clisp.org>
20110         doc: Add info about Android versions 2.0 to 8.1.
20111         * doc/**/*.texi: Add info about functions in all released versions of
20112         Bionic.
20114 2018-05-12  Bruno Haible  <bruno@clisp.org>
20116         fseeko: On mingw, don't use the hidden function _fseeki64.
20117         Reported by Eli Zaretskii <eliz@gnu.org>.
20118         * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
20119         * lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.
20121 2018-05-12  Bruno Haible  <bruno@clisp.org>
20123         glob: Choose 'dirent_type' in a way that works better on mingw.
20124         Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
20125         * lib/glob.c (dirent_type): Define as uint_fast32_t.
20127 2018-05-12  Bruno Haible  <bruno@clisp.org>
20129         execute, spawn-pipe: Avoid warning about redefining 'close'.
20130         Reported by Eli Zaretskii <eliz@gnu.org>.
20131         * lib/execute.c: Undefine 'close' before redefining it.
20132         * lib/spawn-pipe.c: Likewise.
20134 2018-05-12  Bruno Haible  <bruno@clisp.org>
20136         nanosleep: Avoid test failure on mingw when it has nanosleep.
20137         Reported by Eli Zaretskii <eliz@gnu.org>.
20138         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
20139         If it does not exist, use a simpler test program that does not call
20140         alarm().
20142 2018-05-10  Bruno Haible  <bruno@clisp.org>
20144         lock, cond, thread, tls: Use a different symbol as libpthread witness.
20145         Reported by Devin Hussey <husseydevin@gmail.com>.
20146         Based on a patch by Paul Eggert.
20147         * lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
20148         as witness of libpthread.
20149         * lib/glthread/cond.h (pthread_in_use): Likewise.
20150         * lib/glthread/thread.h (pthread_in_use): Likewise.
20151         * lib/glthread/tls.h (pthread_in_use): Likewise.
20153 2018-05-10  Bruno Haible  <bruno@clisp.org>
20155         cond tests: Fix compilation error on Solaris.
20156         * tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
20157         macro.
20159 2018-05-10  Bruno Haible  <bruno@clisp.org>
20161         doc: Add partial info about Android 4.3.
20162         * doc/*-functions/*.texi: Add info about functions that were added
20163         to Bionic between Android 4.3 and Android 9.0.
20165 2018-05-10  Bruno Haible  <bruno@clisp.org>
20167         doc: Add info about Android 9.0.
20168         * doc/**/*.texi: Add info about functions and headers in Bionic from
20169         Android 9.0.
20171 2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
20173         af_alg: fix my typo in afalg_buffer
20174         * lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
20175         (afalg_stream): Simplify and avoid the need for a runtime test
20176         at the end.
20178         af_alg: recover better from crypto failures
20179         * lib/af_alg.c (afalg_stream): Recover from crypto failures if the
20180         input stream is seekable, by repositioning the stream back to
20181         where it was, possibly by just calling sendfile with an offset
20182         arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
20183         cases, which lets our callers try again with user-mode code.
20184         * modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
20185         instead of on fflush and lseek.
20187         af_alg: distiguish I/O errors better
20188         * lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
20189         not -EIO, if it’s OK for the caller to try again with user-mode code.
20190         (afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
20191         some other error number) if fflush fails, as the caller should not
20192         try again that case.
20194         af_alg: avoid gotos
20195         * lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
20196         gotos, as they were a source of unreliability and made the code a
20197         bit harder to follow.
20199         af_alg: don’t leak file descriptors into children
20200         * lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
20201         This code should be compiled only on recent GNU/Linux platforms
20202         so we shouldn’t have to also depend on the accept4 module.
20204         af_alg: coalesce socket creation
20205         * lib/af_alg.c (alg_socket): New function.
20206         (afalg_buffer, afalg_stream): Use it.  This avoids some
20207         code duplication and gotos.
20209         af_alg: fix file descriptor leak
20210         * lib/af_alg.c (afalg_stream): Close leak.
20212         af_alg: Pacify --enable-gcc-warnings on GCC 8
20213         * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
20214         and checking to pacify gcc -Wjump-misses-init on GCC 8.
20216 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
20218         af_alg: Pacify --enable-gcc-warnings
20219         Problem reported by Assaf Gordon in:
20220         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
20221         * lib/af_alg.c (afalg_buffer): Move local decls to pacify
20222         gcc -Wjump-misses-init.
20223         * lib/sha512.c (shaxxx_stream): Now static.
20225 2018-05-06  Bruno Haible  <bruno@clisp.org>
20227         af_alg: Add ability to use Linux kernel crypto API on data in memory.
20228         * lib/af_alg.h (afalg_buffer): New declaration.
20229         * lib/af_alg.c (afalg_buffer): New function.
20231 2018-05-06  Bruno Haible  <bruno@clisp.org>
20233         af_alg: Avoid warnings.
20234         * lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
20235         * m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.
20237 2018-05-06  Bruno Haible  <bruno@clisp.org>
20239         crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
20240         * tests/bench-digest.h: New file.
20241         * tests/bench-md5.c: New file.
20242         * tests/bench-sha1.c: New file.
20243         * tests/bench-sha224.c: New file.
20244         * tests/bench-sha256.c: New file.
20245         * tests/bench-sha384.c: New file.
20246         * tests/bench-sha512.c: New file.
20247         * modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
20248         tests/bench-digest.h.
20249         (Depends-on): Add getrusage, gettimeofday.
20250         (Makefile.am): Add variables to build bench-md5.
20251         * modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
20252         tests/bench-digest.h.
20253         (Depends-on): Add getrusage, gettimeofday.
20254         (Makefile.am): Add variables to build bench-sha1.
20255         * modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
20256         tests/bench-sha256.c, tests/bench-digest.h.
20257         (Depends-on): Add getrusage, gettimeofday.
20258         (Makefile.am): Add variables to build bench-sha224, bench-sha256.
20259         * modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
20260         tests/bench-sha512.c, tests/bench-digest.h.
20261         (Depends-on): Add getrusage, gettimeofday.
20262         (Makefile.am): Add variables to build bench-sha384, bench-sha512.
20264 2018-05-06  Bruno Haible  <bruno@clisp.org>
20266         af_alg: Fix a resource leak.
20267         * lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
20268         New local variable 'result'.
20270 2018-05-06  Bruno Haible  <bruno@clisp.org>
20272         af_alg: Fix bug with streams that are not at position 0.
20273         * lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
20274         assume that the stream is positioned at position 0.
20275         * lib/af_alg.h (afalg_stream): Mention restriction regarding the state
20276         of the stream.
20277         * lib/md5.h (md5_stream): Likewise.
20278         * lib/sha1.h (sha1_stream): Likewise.
20279         * lib/sha256.h (sha256_stream, sha224_stream): Likewise.
20280         * lib/sha512.h (sha512_stream, sha384_stream): Likewise.
20281         * modules/crypto/af_alg (Depends-on): Add fflush, lseek.
20283         crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
20284         * tests/test-digest.h (test_digest_on_files): Add a test with a FILE
20285         stream that is not positioned at the beginning.
20287 2018-05-06  Bruno Haible  <bruno@clisp.org>
20289         af_alg: Add configure option to enable/disable use of Linux crypto API.
20290         Suggested by Assaf Gordon <assafgordon@gmail.com>.
20291         * m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
20292         USE_LINUX_CRYPTO_API.
20293         * lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
20294         * lib/af_alg.c: Likewise.
20296 2018-05-06  Bruno Haible  <bruno@clisp.org>
20298         Followup to 'af_alg: New module.'.
20299         * modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
20300         * modules/crypto/sha1 (Depends-on): Likewise.
20301         * modules/crypto/sha256 (Depends-on): Likewise.
20302         * modules/crypto/sha512 (Depends-on): Likewise.
20304 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20306         crypto/{md5,sha1,sha256,sha512}: simplify
20307         * lib/md5.c (md5_stream):
20308         * lib/sha1.c (sha1_stream):
20309         * lib/sha256.c (shaxxx_stream):
20310         Simplify, partly by assuming C99.
20311         * lib/sha256.c (shaxxx_stream):
20312         New function, which implements both sha256 and sha224.
20313         Simplify, partly by assuming C99.
20314         (sha256_stream, sha224_stream):
20315         Use it to avoid code duplication, removing a FIXME.
20316         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
20317         Likewise.
20319         af_alg: Improve comments.
20320         * lib/af_alg.h: Use imperatives and tighten up wording.
20322 2018-05-05  Bruno Haible  <bruno@clisp.org>
20324         af_alg: Improve comments.
20325         * lib/af_alg.c (afalg_stream): Improve comment about kernel bug.
20327 2018-05-05  Bruno Haible  <bruno@clisp.org>
20329         af_alg: New module.
20330         * lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
20331         * lib/af_alg.c: Include "af_alg.h" before the other header files.
20332         * lib/md5.c: Include "af_alg.h" unconditionally.
20333         (md5_stream): Invoke afalg_stream unconditionally.
20334         * lib/sha1.c: Include "af_alg.h" unconditionally.
20335         (sha1_stream): Invoke afalg_stream unconditionally.
20336         * lib/sha256.c: Include "af_alg.h" unconditionally.
20337         (sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
20338         * lib/sha512.c: Include "af_alg.h" unconditionally.
20339         (sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
20340         * m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
20341         (gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
20342         * modules/crypto/af_alg: New file.
20343         * modules/crypto/md5 (Files): Remove files that are now in the
20344         'crypto/af_alg' module.
20345         (Depends-on): Add crypto/af_alg.
20346         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
20347         (Makefile.am): Don't mention af_alg.c here.
20348         * modules/crypto/sha1 (Files): Remove files that are now in the
20349         'crypto/af_alg' module.
20350         (Depends-on): Add crypto/af_alg.
20351         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
20352         (Makefile.am): Don't mention af_alg.c here.
20353         * modules/crypto/sha256 (Files): Remove files that are now in the
20354         'crypto/af_alg' module.
20355         (Depends-on): Add crypto/af_alg.
20356         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
20357         (Makefile.am): Don't mention af_alg.c here.
20358         * modules/crypto/sha512 (Files): Remove files that are now in the
20359         'crypto/af_alg' module.
20360         (Depends-on): Add crypto/af_alg.
20361         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
20362         (Makefile.am): Don't mention af_alg.c here.
20364 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20366         crypto tests: pacify GCC
20367         * tests/test-digest.h (test_digest_on_files):
20368         Don’t assume digest size fits in int (!).
20370         af_alg: minor style improvements
20371         * lib/af_alg.c (afalg_stream): Prefer C99 style
20372         decl-after-statement, since we’re already assuming C99.  Clarify
20373         by strengthening the bind test and omit unnecessary assignment.
20375 2018-05-05  Bruno Haible  <bruno@clisp.org>
20377         af_alg: Fix bug on empty files.
20378         * lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
20379         stream is empty.
20381 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20383         sys-limits.h: new file for crypto and safe I/O
20384         * lib/af_alg.c: Include sys-limits.h.
20385         (MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
20386         (afalg_stream): Also reject negative sizes for sendfile; they
20387         should not happen and the code is a bit cleaner and faster this way.
20388         * lib/safe-read.c: Include sys-limits.h.
20389         (BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
20390         * lib/sys-limits.h: New file, with values and commentary derived
20391         from the old safe-read.c and from GNU Emacs sysdep.c.
20392         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
20393         * modules/crypto/sha512, modules/safe-read, modules/safe-write:
20394         Add lib/sys-limits.h to Files section.
20396 2018-05-05  Bruno Haible  <bruno@clisp.org>
20398         af_alg: Improve function signature.
20399         * lib/af_alg.h (afalg_stream): Swap second and third argument.
20400         * lib/af_alg.c (afalg_stream): Likewise.
20401         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.
20403 2018-05-05  Bruno Haible  <bruno@clisp.org>
20405         crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
20406         * modules/crypto/md5 (Depends-on): Add 'sys_stat'.
20407         * modules/crypto/sha1 (Depends-on): Likewise.
20408         * modules/crypto/sha256 (Depends-on): Likewise.
20409         * modules/crypto/sha512 (Depends-on): Likewise.
20411 2018-05-05  Bruno Haible  <bruno@clisp.org>
20413         crypto/{md5,sha1,sha256,sha512}: Fix module description.
20414         * modules/crypto/md5 (Depends-on): Add 'sys_socket'.
20415         * modules/crypto/sha1 (Depends-on): Likewise.
20416         * modules/crypto/sha256 (Depends-on): Likewise.
20417         * modules/crypto/sha512 (Depends-on): Likewise.
20419 2018-05-05  Bruno Haible  <bruno@clisp.org>
20421         af_alg: Add documentation.
20422         * lib/af_alg.h: Add comments.
20424 2018-05-05  Bruno Haible  <bruno@clisp.org>
20426         sha512: Add tests.
20427         * tests/test-sha512.c: New file.
20428         * modules/crypto/sha512-tests: New file.
20430 2018-05-05  Bruno Haible  <bruno@clisp.org>
20432         sha256: Add tests.
20433         * tests/test-sha256.c: New file.
20434         * modules/crypto/sha256-tests: New file.
20436 2018-05-05  Bruno Haible  <bruno@clisp.org>
20438         sha1 tests: Add test for sha1_stream.
20439         * tests/test-sha1.c: Include test-digest.h.
20440         (main): Invoke test_digest_on_files on 'sha1_stream'.
20441         * modules/crypto/sha1-tests (Files): Add tests/test-digest.h.
20443 2018-05-05  Bruno Haible  <bruno@clisp.org>
20445         md5 tests: Add test for md5_stream.
20446         * tests/test-digest.h: New file.
20447         * tests/test-md5.c: Include test-digest.h.
20448         (main): Invoke test_digest_on_files on 'md5_stream'.
20449         * modules/crypto/md5-tests (Files): Add tests/test-digest.h.
20451 2018-04-28  Matteo Croce  <mcroce@redhat.com>
20453         md5sum: Use AF_ALG when available.
20454         * lib/md5.c: Include af_alg.h.
20455         (md5_stream): Use afalg_stream when available.
20456         * modules/crypto/md5 (Files): Add the af_alg files.
20457         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
20458         (Makefile.am): Add af_alg.c.
20460 2018-04-28  Matteo Croce  <mcroce@redhat.com>
20462         sha512sum: Use AF_ALG when available.
20463         * lib/sha512.c: Include af_alg.h.
20464         (sha512_stream, sha384_stream): Use afalg_stream when available.
20465         * modules/crypto/sha512 (Files): Add the af_alg files.
20466         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
20467         (Makefile.am): Add af_alg.c.
20469 2018-04-28  Matteo Croce  <mcroce@redhat.com>
20471         sha256sum: Use AF_ALG when available.
20472         * lib/sha256.c: Include af_alg.h.
20473         (sha256_stream, sha224_stream): Use afalg_stream when available.
20474         * modules/crypto/sha256 (Files): Add the af_alg files.
20475         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
20476         (Makefile.am): Add af_alg.c.
20478 2018-04-28  Matteo Croce  <mcroce@redhat.com>
20480         sha1sum: Use AF_ALG when available.
20481         * lib/af_alg.h: New file.
20482         * lib/af_alg.c: New file.
20483         * lib/sha1.c: Include af_alg.h.
20484         (sha1_stream): Use afalg_stream when available.
20485         * m4/linux-if-alg.m4: New file.
20486         * modules/crypto/sha1 (Files): Add the new files.
20487         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
20488         (Makefile.am): Add af_alg.c.
20490 2018-05-05  Bruno Haible  <bruno@clisp.org>
20492         all: Replace more http URLs by https URLs.
20493         * lib/localename.c: Use https: URL.
20494         * lib/timespec.h: Likewise.
20496 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
20498         maint: port more modules to GCC 8
20499         * lib/dirname.h (base_name):
20500         * lib/exclude.h (new_exclude):
20501         * lib/xstrndup.h (xstrndup):
20502         Add malloc attribute.
20503         * lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
20504         * lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
20505         This pacifies GCC 8.
20506         * m4/gnulib-common.m4 (gl_COMMON_BODY):
20507         Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.
20509 2018-05-03  Bruno Haible  <bruno@clisp.org>
20511         Simplify code. Drop support for Borland C++ on Windows.
20512         Reported by Gisle Vanem <gisle.vanem@gmail.com>.
20513         * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
20514         'defined _WIN32'.
20515         * lib/canonicalize-lgpl.c: Likewise.
20516         * lib/classpath.c: Likewise.
20517         * lib/clean-temp.c: Likewise.
20518         * lib/csharpexec.c: Likewise.
20519         * lib/ctime.c: Likewise.
20520         * lib/dosname.h: Likewise.
20521         * lib/dup2.c: Likewise.
20522         * lib/errno.in.h: Likewise.
20523         * lib/error.c: Likewise.
20524         * lib/euidaccess.c: Likewise.
20525         * lib/execute.c: Likewise.
20526         * lib/fcntl.in.h: Likewise.
20527         * lib/fcntl.c: Likewise.
20528         * lib/filename.h: Likewise.
20529         * lib/findprog.c: Likewise.
20530         * lib/flock.c: Likewise.
20531         * lib/fopen.c: Likewise.
20532         * lib/freopen.c: Likewise.
20533         * lib/fstat.c: Likewise.
20534         * lib/fsync.c: Likewise.
20535         * lib/gc-gnulib.c: Likewise.
20536         * lib/get-rusage-data.c: Likewise.
20537         * lib/getaddrinfo.c: Likewise.
20538         * lib/getdelim.c: Likewise.
20539         * lib/getdtablesize.c: Likewise.
20540         * lib/gethostname.c: Likewise.
20541         * lib/getlogin.c: Likewise.
20542         * lib/getlogin_r.c: Likewise.
20543         * lib/getopt.c: Likewise.
20544         * lib/getpagesize.c: Likewise.
20545         * lib/getpass.c: Likewise.
20546         * lib/getrusage.c: Likewise.
20547         * lib/gettimeofday.c: Likewise.
20548         * lib/glob.c: Likewise.
20549         * lib/inttypes.in.h: Likewise.
20550         * lib/isapipe.c: Likewise.
20551         * lib/javaexec.c: Likewise.
20552         * lib/link.c: Likewise.
20553         * lib/localcharset.c: Likewise.
20554         * lib/localename.h: Likewise.
20555         * lib/localename.c: Likewise.
20556         * lib/localtime.c: Likewise.
20557         * lib/lseek.c: Likewise.
20558         * lib/mbsinit.c: Likewise.
20559         * lib/mkdir.c: Likewise.
20560         * lib/msvc-nothrow.h: Likewise.
20561         * lib/nanosleep.c: Likewise.
20562         * lib/nl_langinfo.c: Likewise.
20563         * lib/nonblocking.c: Likewise.
20564         * lib/nproc.c: Likewise.
20565         * lib/open.c: Likewise.
20566         * lib/openpty.c: Likewise.
20567         * lib/pathmax.h: Likewise.
20568         * lib/pipe-filter-aux.c: Likewise.
20569         * lib/pipe-filter-gi.c: Likewise.
20570         * lib/pipe-filter-ii.c: Likewise.
20571         * lib/pipe.c: Likewise.
20572         * lib/pipe2.c: Likewise.
20573         * lib/poll.c: Likewise.
20574         * lib/popen.c: Likewise.
20575         * lib/posix_openpt.c: Likewise.
20576         * lib/printf-parse.c: Likewise.
20577         * lib/progreloc.c: Likewise.
20578         * lib/putenv.c: Likewise.
20579         * lib/read.c: Likewise.
20580         * lib/relocatable.c: Likewise.
20581         * lib/rename.c: Likewise.
20582         * lib/same-inode.h: Likewise.
20583         * lib/secure_getenv.c: Likewise.
20584         * lib/select.c: Likewise.
20585         * lib/sethostname.c: Likewise.
20586         * lib/setlocale.c: Likewise.
20587         * lib/sigaction.c: Likewise.
20588         * lib/sigprocmask.c: Likewise.
20589         * lib/sleep.c: Likewise.
20590         * lib/spawn-pipe.h: Likewise.
20591         * lib/spawn-pipe.c: Likewise.
20592         * lib/spawni.c: Likewise.
20593         * lib/stat-time.h: Likewise.
20594         * lib/stat-w32.c: Likewise.
20595         * lib/stat.c: Likewise.
20596         * lib/stdio.in.h: Likewise.
20597         * lib/stdio-impl.h: Likewise.
20598         * lib/stdio-read.c: Likewise.
20599         * lib/stdio-write.c: Likewise.
20600         * lib/stdlib.in.h: Likewise.
20601         * lib/strerror_r.c: Likewise.
20602         * lib/strftime-fixes.c: Likewise.
20603         * lib/sys_stat.in.h: Likewise.
20604         * lib/sys_types.in.h: Likewise.
20605         * lib/sys_wait.in.h : Likewise.
20606         * lib/system-quote.h: Likewise.
20607         * lib/system-quote.c: Likewise.
20608         * lib/tmpdir.c: Likewise.
20609         * lib/tzset.c: Likewise.
20610         * lib/uname.c: Likewise.
20611         * lib/unistd.in.h: Likewise.
20612         * lib/utime.in.h: Likewise.
20613         * lib/utime.c: Likewise.
20614         * lib/utimecmp.c: Likewise.
20615         * lib/utimens.c: Likewise.
20616         * lib/vasnprintf.c: Likewise.
20617         * lib/vma-iter.h: Likewise.
20618         * lib/vma-iter.c: Likewise.
20619         * lib/wait-process.c: Likewise.
20620         * lib/wcsftime.c: Likewise.
20621         * lib/wctype.in.h: Likewise.
20622         * lib/write.c: Likewise.
20623         * tests/nap.h: Likewise.
20624         * tests/test-cloexec.c: Likewise.
20625         * tests/test-dup-safer.c: Likewise.
20626         * tests/test-dup2.c: Likewise.
20627         * tests/test-dup3.c: Likewise.
20628         * tests/test-fcntl.c: Likewise.
20629         * tests/test-get-rusage-data.c: Likewise.
20630         * tests/test-getaddrinfo.c: Likewise.
20631         * tests/test-getlogin.h: Likewise.
20632         * tests/test-isatty.c: Likewise.
20633         * tests/test-localename.c: Likewise.
20634         * tests/test-mbrtowc-w32.c: Likewise.
20635         * tests/test-nonblocking.c: Likewise.
20636         * tests/test-nonblocking-pipe-main.c: Likewise.
20637         * tests/test-nonblocking-socket-main.c: Likewise.
20638         * tests/test-nonblocking-socket.h: Likewise.
20639         * tests/test-pipe.c: Likewise.
20640         * tests/test-pipe2.c: Likewise.
20641         * tests/test-poll.c: Likewise.
20642         * tests/test-pthread_sigmask1.c: Likewise.
20643         * tests/test-select.h: Likewise.
20644         * tests/test-sethostname2.c: Likewise.
20645         * tests/test-sigprocmask.c: Likewise.
20646         * tests/test-spawn-pipe-child.c: Likewise.
20647         * tests/test-stat-time.c: Likewise.
20648         * tests/test-system-quote-main.c: Likewise.
20649         * tests/test-utimens-common.h: Likewise.
20650         * tests/test-wcrtomb-w32.c: Likewise.
20651         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
20652         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
20653         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
20654         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
20655         * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
20656         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
20657         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
20658         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
20659         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
20660         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
20661         * m4/nocrash.m4 (GL_NOCRASH): Likewise.
20662         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
20663         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
20664         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
20665         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
20666         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
20668 2018-05-02  Bruno Haible  <bruno@clisp.org>
20670         localename: Fix test failures on mingw.
20671         * lib/localename.c (gl_locale_name_thread): Remove code specific to
20672         native Windows.
20673         (gl_locale_name_posix): Move code specific to native Windows here.
20674         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
20675         Accept result without charset suffix, as it appears on mingw.
20677 2018-04-28  Paul Smith  <psmith@gnu.org>
20679         bootstrap: Avoid gnulib operations if not needed
20680         * build-aux/bootstrap: Remove unused variable gnulib_mk.
20681         Set $gnulib_extra_files early so it can be overridden in .conf.
20682         Remove redundant --import flag from $gnulib_tool_options.
20683         Set $use_gnulib to false if no gnulib modules or files are needed.
20684         If $use_gnulib is false, don't do anything related to gnulib.
20685         A lot of this is just whitespace (indentation) changes.
20687 2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
20689         manywarnings: port to GCC 8.0
20690         * build-aux/gcc-warning.spec: Add -Wcatch-value,
20691         -Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
20692         fact that the GCC help message now mentions operands for
20693         -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
20694         -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
20695         -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
20696         and -Wunused-const-variable.
20697         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
20698         -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
20699         -Wmissing-attributes, -Wmultistatement-macros,
20700         -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
20701         -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
20703 2018-04-24  Bruno Haible  <bruno@clisp.org>
20705         sys_socket: Make SO_REUSEPORT available across platforms.
20706         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20707         * lib/sys_socket.in.h (SO_REUSEPORT): New macro.
20708         * doc/posix-headers/sys_socket.texi: Mention the issue.
20709         * tests/test-poll.c (SO_REUSEPORT): Remove.
20710         * tests/test-select.h: Include <sys/socket.h>.
20711         (SO_REUSEPORT): Remove.
20712         * modules/select-tests (Depends-on): Add 'sys_socket'.
20714 2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
20716         localcharset: short-circuit the search for an alias on a Mac
20717         * lib/localcharset.c (get_charset_aliases): Add a tautological
20718         UTF-8 entry to speed up the search for this case.
20719         Most machines default to a UTF-8 locale nowadays, so begin the
20720         list of aliases with a dummy UTF-8 entry so it will be found
20721         immediately and a time-consuming search through the rest of
20722         the list is avoided.
20724 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
20726         fts: add comment
20727         * lib/fts.c (fts_build): Explain why ==, not >.
20728         See remark by Bernhard Voelker in:
20729         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html
20731         fts: fix bug in find across filesystems
20732         This fixes a bug I introduced last summer.
20733         Problem reported by Kamil Dudka in:
20734         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
20735         * lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
20736         (leaf_optimization):
20737         New arg for file descriptor.  All callers changed.
20738         (fts_build): Check for whether inodes should be sorted
20739         before closing the directory.
20741 2018-04-07  Bruno Haible  <bruno@clisp.org>
20743         unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
20744         Reported by Genki Sky <sky@genki.is>.
20745         * modules/unicase/u8-prefix-context (configure.ac): Require libunistring
20746         version 0.9.10 or newer.
20747         * modules/unicase/u8-suffix-context (configure.ac): Likewise.
20748         * modules/unicase/u16-prefix-context (configure.ac): Likewise.
20749         * modules/unicase/u16-suffix-context (configure.ac): Likewise.
20750         * modules/unicase/u32-prefix-context (configure.ac): Likewise.
20751         * modules/unicase/u32-suffix-context (configure.ac): Likewise.
20753 2018-04-07  Bruno Haible  <bruno@clisp.org>
20755         execute: Update comment.
20756         * lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.
20758 2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>
20760         fts: treat CIFS like NFS
20761         Problem reported by Kamil Dudka in:
20762         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
20763         * lib/fts.c (S_MAGIC_CIFS): New macro.
20764         (dirent_inode_sort_may_be_useful, leaf_optimization):
20765         Treat CIFS like NFS.
20767 2018-03-28  Bruno Haible  <bruno@clisp.org>
20769         c-stack: Fix possible build failure on some platforms.
20770         * lib/c-stack.c (die): Define whenever this function is referenced.
20772 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
20774         time_rz: fix workaround for Mac OS X 10.6 infloop
20775         Problems reported by Charles A. Roelli (Bug#27736#117).
20776         * m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
20777         Also, discard output, which clutters the 'configure' log.
20779 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
20781         havelib: port to Solaris 10 /bin/sh
20782         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
20783         instead of '! test EXPR'.
20785 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
20787         time_rz: work around Mac OS X 10.6 infloop
20788         * doc/posix-functions/localtime.texi:
20789         * doc/posix-functions/localtime_r.texi: Mention the bug.
20790         * lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
20791         better to fix localtime and localtime_r instead, but that would be
20792         more work and is not needed to fix the Emacs problem.
20793         * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
20795 2018-03-24  Jim Meyering  <meyering@fb.com>
20797         test-version-etc.sh: don't use diff directly: use init.sh's compare
20798         We'd rather not sacrifice readable "diff -u" output even for
20799         "diff -c" output (not supported by busybox) or for even less
20800         readable ed-style "diff" output.  So use init.sh's compare function
20801         * tests/test-version-etc.sh: Source init.sh and add "." to path.
20802         Remove "./" from invocation of test-version-etc, so we use path.
20803         And s/diff/compare/.
20804         * modules/version-etc-tests (Depends-on): Add test-framework-sh,
20805         to get init.sh.
20806         Prompted by Eric Blake's comments in
20807         https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html
20809 2018-03-24  Bruno Haible  <bruno@clisp.org>
20811         javacomp-script, javacomp: Add support for Java 10.
20812         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
20813         target-version 10.
20814         * lib/javaversion.h: Update comments.
20815         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
20816         source_version_index, get_goodcode_snippet, get_failcode_snippet,
20817         TARGET_VERSION_BOUND, target_version_index,
20818         corresponding_classfile_version): Accept source_version 10 and
20819         target_version 10.
20820         * lib/javacomp.h: Update comments accordingly.
20822 2018-03-24  Bruno Haible  <bruno@clisp.org>
20824         javacomp-script, javacomp: Update comments.
20825         * m4/javacomp.m4: Update comments regarding gcj.
20826         * lib/javacomp.h: Likewise.
20828 2018-03-24  Bruno Haible  <bruno@clisp.org>
20830         javacomp-script, javacomp: Fix support for Java 7, 8, 9.
20831         * lib/javaversion.h: Update comments.
20832         * lib/javacomp.h: Likewise.
20833         * lib/javacomp.c (default_target_version, source_version_index,
20834         get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
20835         "1.9".
20836         (TARGET_VERSION_BOUND): Bump to 9.
20837         (target_version_index, corresponding_classfile_version): Recognize "9"
20838         instead of "1.9".
20839         (get_source_version_for_javac): New function.
20840         (is_envjavac_nongcj_usable, is_javac_usable): Add
20841         source_version_for_javac argument.
20842         (compile_java_class): Determine and pass source_version_for_javac.
20843         * m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
20844         $JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
20845         appropriate.
20847 2018-03-23  Jim Meyering  <meyering@fb.com>
20849         test-version-etc.sh: port to diff without -c
20850         * tests/test-version-etc.sh: Don't use diff's -c option.
20851         This caused spurious test failure on Alpine Linux, which
20852         uses busybox's diff. Reported by Assaf Gordon in
20853         https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html
20855 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
20857         c-stack: port to recent GCC build
20858         Problem reported by The Fireplace (Bug#30913).
20859         * lib/c-stack.c (die): Define only if used.
20861 2018-03-20  Bruno Haible  <bruno@clisp.org>
20863         euidaccess: Port to native Windows.
20864         * lib/euidaccess.c (euidaccess): On native Windows, just use _access().
20865         * posix-modules (exclude_for_mingw): Remove 'euidaccess'.
20867 2018-03-19  Bruno Haible  <bruno@clisp.org>
20869         javacomp: Add support for Java 7, 8, 9.
20870         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
20871         source_version_index, get_goodcode_snippet, get_failcode_snippet,
20872         corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
20873         and target_version 1,7, 1.8, 1.9.
20874         * lib/javacomp.h: Update comments accordingly.
20876 2018-03-19  Bruno Haible  <bruno@clisp.org>
20878         javacomp-script: Add support for Java 9.
20879         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
20880         target-version 1.9.
20882 2018-03-16  Bruno Haible  <bruno@clisp.org>
20884         glob: Don't compile replacements on recent glibc systems.
20885         * lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
20886         REPLACE_GLOB is 0, include the system's <glob.h> and use
20887         _GL_CXXALIAS_SYS.
20888         * m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
20889         _GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
20890         inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
20891         * modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
20892         Remove snippet/warn-on-use.
20893         (configure.ac): Test REPLACE_GLOB instead of GLOB_H.
20894         (Makefile.am): Create glob.h always. Update list of substitutions in
20895         glob.h. Don't depend on $(WARN_ON_USE_H).
20897 2018-03-16  Bruno Haible  <bruno@clisp.org>
20899         glob: Fix link error on native Windows.
20900         * modules/glob (Depends-on): Add 'lstat'.
20902 2018-03-15  Bruno Haible  <bruno@clisp.org>
20904         glob: Fix compilation error in C++ mode.
20905         * lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.
20907 2018-03-15  Bruno Haible  <bruno@clisp.org>
20909         host-cpu-c-abi: Support for RISC-V CPU.
20910         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
20911         riscv32 and riscv64 ABIs.
20912         References:
20913         https://github.com/riscv/riscv-toolchain-conventions
20914         https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
20915         https://gnu-mcu-eclipse.github.io/toolchain/riscv/
20917 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
20919         fflush: be more paranoid about libio.h change
20920         Suggested by Eli Zaretskii in:
20921         https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
20922         * lib/fbufmode.c (fbufmode):
20923         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
20924         (disable_seek_optimization, rpl_fflush):
20925         * lib/fpending.c (__fpending):
20926         * lib/fpurge.c (fpurge):
20927         * lib/freadable.c (freadable):
20928         * lib/freadahead.c (freadahead):
20929         * lib/freading.c (freading):
20930         * lib/freadptr.c (freadptr):
20931         * lib/freadseek.c (freadptrinc):
20932         * lib/fseeko.c (fseeko):
20933         * lib/fseterr.c (fseterr):
20934         * lib/fwritable.c (fwritable):
20935         * lib/fwriting.c (fwriting):
20936         Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
20938 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
20940         maint: write-file-hooks -> before-save-hook
20941         write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
20942         it's time to use the recommended replacement.
20943         Problem reported by Glenn Morris in:
20944         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
20945         * build-aux/announce-gen, build-aux/bootstrap:
20946         * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
20947         * build-aux/git-version-gen, build-aux/gitlog-to-changelog:
20948         * build-aux/gnu-web-doc-update, build-aux/gnupload:
20949         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
20950         * build-aux/update-copyright, build-aux/useless-if-before-free:
20951         * build-aux/vc-list-files:
20952         Update hook usage for files where Gnulib is the canonical source.
20954 2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>
20956         binary-io: pacify gcc -Wunused-parameter
20957         Problem reported by Reuben Thomas in:
20958         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
20959         * lib/binary-io.h (__gl_setmode, __gl_setmode_check):
20960         Use _GL_UNUSED where appropriate.
20962         fflush: adjust to glibc 2.28 libio.h removal
20963         Problem reported by Daniel P. Berrangé in:
20964         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
20965         * lib/fbufmode.c (fbufmode):
20966         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
20967         (disable_seek_optimization, rpl_fflush):
20968         * lib/fpending.c (__fpending):
20969         * lib/fpurge.c (fpurge):
20970         * lib/freadable.c (freadable):
20971         * lib/freadahead.c (freadahead):
20972         * lib/freading.c (freading):
20973         * lib/freadptr.c (freadptr):
20974         * lib/freadseek.c (freadptrinc):
20975         * lib/fseeko.c (fseeko):
20976         * lib/fseterr.c (fseterr):
20977         * lib/fwritable.c (fwritable):
20978         * lib/fwriting.c (fwriting):
20979         Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
20980         * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
20981         Define if not already defined.
20983 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
20985         environ: fix link error on 32-bit Cygwin
20986         Problem reported for GNU Emacs by Ken Brown in:
20987         https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
20988         * lib/unistd.in.h (environ) [__i386__]: Do not redeclare.
20990 2018-02-24  Bruno Haible  <bruno@clisp.org>
20992         mbrtowc tests: Fix regression on glibc.
20993         Reported by Bernhard Voelker.
20994         * tests/test-mbrtowc.c (main): Fix expected value of wc.
20996 2018-02-24  Bruno Haible  <bruno@clisp.org>
20998         striconveha, uniconv/*: Avoid test failures on musl libc.
20999         * tests/iconvsupport.c: New file.
21000         * tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
21001         does not support the ISO-2022-JP-2 encoding.
21002         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
21003         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
21004         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
21005         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
21006         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
21007         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
21008         * modules/striconveha-tests (Files): Add tests/iconvsupport.c.
21009         (Makefile.am): Link test-striconveha with iconvsupport.o.
21010         * modules/uniconv/u8-conv-from-enc-tests (Files): Add
21011         tests/iconvsupport.c.
21012         (Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
21013         * modules/uniconv/u8-strconv-from-enc-tests (Files): Add
21014         tests/iconvsupport.c.
21015         (Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
21016         * modules/uniconv/u16-conv-from-enc-tests (Files): Add
21017         tests/iconvsupport.c.
21018         (Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
21019         * modules/uniconv/u16-strconv-from-enc-tests (Files): Add
21020         tests/iconvsupport.c.
21021         (Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
21022         * modules/uniconv/u32-conv-from-enc-tests (Files): Add
21023         tests/iconvsupport.c.
21024         (Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
21025         * modules/uniconv/u32-strconv-from-enc-tests (Files): Add
21026         tests/iconvsupport.c.
21027         (Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.
21029 2018-02-24  Bruno Haible  <bruno@clisp.org>
21031         localename: Add support for musl libc.
21032         * m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
21033         * lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
21034         on Linux platforms which define NL_LOCALE_NAME.
21036 2018-02-24  Bruno Haible  <bruno@clisp.org>
21038         mbrtowc tests: Don't make assumptions about the charset the C locale.
21039         * tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
21040         particular mapping in the C locale.
21042 2018-02-24  Bruno Haible  <bruno@clisp.org>
21044         ptsname_r: Don't expect that this function sets errno.
21045         * tests/test-ptsname_r.c (test_errors): Don't test errno after return
21046         from ptsname_r().
21047         * doc/glibc-functions/ptsname_r.texi: Mention the issue.
21049 2018-02-23  Bruno Haible  <bruno@clisp.org>
21051         xmalloca: pacify gcc -Wbad-function-cast
21052         * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.
21054 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
21056         nl_langinfo: pacify gcc -Wunused-function
21057         * lib/nl_langinfo.c (ctype_codeset): Do not define if
21058         REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
21059         this case.  Without this change, I got a diagnostic when building
21060         coreutils on Fedora 27 with gcc 7.3.1 20180130.
21062         same: pacify gcc -Wunused-variable
21063         * lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
21064         Omit unused variable.
21066         malloca: pacify gcc -Wbad-function-cast
21067         * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
21068         diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
21069         To pacify GCC, I had to cast alloca’s result to some type other
21070         than void * before casting that to uintptr_t.
21072 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
21074         utimecmp: new function utimecmpat
21075         * lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
21076         Do not include utimens.h.
21077         (utimecmpat): New function, generalizing utimecmp.
21078         (utimecmp): Now a thin layer around utimecmpat.
21079         * modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
21080         utimensat instead of on lstat and utimens.
21082         same: new function same_nameat
21083         * lib/same.c: Include fcntl.h.
21084         * lib/same.c (same_nameat): New function, generalizing same_name.
21085         (same_name): Now a thin layer around same_nameat.
21086         * m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
21087         * modules/same (Depends-on): Depend on fstatat, openat.
21089 2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)
21091         warnings: Add support for Objective C.
21092         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
21093         macro.
21095 2018-02-17  Bruno Haible  <bruno@clisp.org>
21097         lock: Fix test-once1 crash on FreeBSD11.
21098         * lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
21099         'pthread_create', not 'pthread_cancel'.
21101 2018-02-17  Bruno Haible  <bruno@clisp.org>
21103         lock: Add test of gl_once.
21104         * tests/test-once.c: New file.
21105         * modules/lock-tests (Files): Add it.
21106         (Makefile.am): Build and test programs 'test-once1' and 'test-once2'.
21108 2018-02-17  Bruno Haible  <bruno@clisp.org>
21110         thread: Fix compilation error on IRIX.
21111         * lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
21112         needed; include it outside the C++ extern "C" {} block.
21113         * doc/posix-headers/pthread.texi: Mention the problem with
21114         pthread_atfork on IRIX.
21116 2018-02-04  Bruno Haible  <bruno@clisp.org>
21118         nl_langinfo: Override the system's nl_langinfo() when needed.
21119         Reported by Jim Meyering.
21120         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
21121         also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.
21123 2018-02-04  Bruno Haible  <bruno@clisp.org>
21125         signal-h, monetary, strings: Fix build failure in some cases.
21126         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
21127         * modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
21128         as delimiter in sed command, not '|'.
21129         * modules/monetary (Makefile.am): Likewise.
21130         * modules/strings (Makefile.am): Likewise.
21132 2018-02-03  Jim Meyering  <meyering@fb.com>
21134         maint.mk: exempt "/proc/filesystems" from "file system" syntax check
21135         * top/maint.mk (sc_file_system): Don't complain about
21136         "/proc/filesystems".
21138 2018-02-03  Bruno Haible  <bruno@clisp.org>
21140         stdlib: Fix compilation error on OpenIndiana.
21141         * lib/stdlib.in.h: Before including <sys/loadavg.h>, include
21142         <sys/time.h>.
21143         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
21144         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
21146 2018-02-03  Bruno Haible  <bruno@clisp.org>
21148         host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
21149         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
21150         and use $EGREP instead of 'grep -E'.
21151         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
21152         'grep -E'.
21154 2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>
21156         malloca: Add a compile-time verification.
21157         * lib/malloca.c (small_t): Verify that it is wide enough.
21158         * modules/malloca (Depends-on): Add verify.
21160 2018-02-02  Bruno Haible  <bruno@clisp.org>
21162         malloca: Add an argument check.
21163         Suggested by Paul Eggert.
21164         * lib/malloca.c (freea): Check against an invalid argument.
21166 2018-02-02  Bruno Haible  <bruno@clisp.org>
21168         localename: Add support for OpenIndiana.
21169         * lib/localename.c (gl_locale_name_thread_unsafe): Add code for
21170         Solaris 11 variants with uselocale() but without getlocalename_l().
21172 2018-02-02  Bruno Haible  <bruno@clisp.org>
21174         malloca, xmalloca: Make multithread-safe.
21175         Reported by Florian Weimer <fweimer@redhat.com>.
21176         Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
21177         * lib/malloca.h (malloca): In the stack allocation case, return a
21178         pointer that is a multiple of 2 * sa_alignment_max.
21179         (sa_increment): Remove enum item.
21180         * lib/xmalloca.h (xmalloca): In the stack allocation case, return
21181         a pointer that is a multiple of 2 * sa_alignment_max.
21182         * lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
21183         (MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
21184         HASH_TABLE_SIZE, mmalloca_results): Remove.
21185         (small_t): New type.
21186         (mmalloca, free): Rewritten.
21187         * lib/malloca.valgrind: Remove file.
21188         * modules/malloca (Files): Remove it.
21189         (Depends-on): Remove verify.
21191 2018-01-31  Bruno Haible  <bruno@clisp.org>
21193         environ: Fix link error on 64-bit Cygwin.
21194         * lib/unistd.in.h (environ): On Cygwin, redeclare with the
21195         __declspec(dllimport) attribute.
21196         * doc/posix-functions/environ.texi: Mention the Cygwin problem.
21198 2018-01-30  Bruno Haible  <bruno@clisp.org>
21200         get-rusage-data: Add support for Minix 3.
21201         * lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.
21203 2018-01-30  Bruno Haible  <bruno@clisp.org>
21205         vma-iter: Add support for Minix 3.
21206         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
21207         * lib/vma-iter.c: On Minix, read /proc/<pid>/map.
21209 2018-01-27  Bruno Haible  <bruno@clisp.org>
21211         Fix malfunction of socket functions on HP-UX in 64-bit mode.
21212         * m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
21213         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
21214         _HPUX_ALT_XOPEN_SOCKET_API.
21215         * modules/accept (Depends-on): Add 'extensions'.
21216         * modules/getpeername (Depends-on): Likewise.
21217         * modules/getsockname (Depends-on): Likewise.
21218         * modules/getsockopt (Depends-on): Likewise.
21219         * modules/recvfrom (Depends-on): Likewise.
21220         * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
21221         * doc/posix-functions/getpeername.texi: Likewise.
21222         * doc/posix-functions/getsockname.texi: Likewise.
21223         * doc/posix-functions/getsockopt.texi: Likewise.
21224         * doc/posix-functions/recvfrom.texi: Likewise.
21226 2018-01-27  Bruno Haible  <bruno@clisp.org>
21228         getsockname tests: More tests.
21229         * tests/test-getsockname.c (open_server_socket): New function, mostly
21230         copied from test-poll.c.
21231         (main): Check that getsockname fills in addr.
21232         * modules/getsockname-tests (Depends-on): Add the necessary
21233         dependencies.
21234         (test_getsockname_LDADD): Link with $(INET_PTON_LIB).
21236 2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>
21238         manywarnings: fix maintainer comment
21239         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
21240         it does not mistakenly think that ‘-1)’ is an option.
21242 2018-01-26  Bruno Haible  <bruno@clisp.org>
21244         langinfo: Fix last commit.
21245         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
21246         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.
21248 2018-01-24  Bruno Haible  <bruno@clisp.org>
21250         langinfo, nl_langinfo: Add support for alternative month names.
21251         * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
21252         * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
21253         * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
21254         * tests/test-nl_langinfo.c (main): Test ALTMON_*.
21255         * doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
21256         * doc/posix-functions/nl_langinfo.texi: Likewise.
21258 2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>
21260         Merge strftime.c changes from glibc
21261         This incorporates:
21262         2017-11-14 [BZ #10871] Implement alternative month names
21263         2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
21264         2017-06-20 Use locale_t, not __locale_t, throughout glibc
21265         * lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
21266         (LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
21267         Use locale_t, not __locale_t.
21268         (a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
21269         (__strftime_internal): Add support for alternate months.
21271 2018-01-23  Bruno Haible  <bruno@clisp.org>
21273         doc: Mention another prerequisite for using Gnulib.
21274         Reported at <https://stackoverflow.com/questions/48378214/>.
21275         * doc/gnulib-tool.texi (Initial import): Mention requirement to use
21276         AC_CONFIG_HEADERS.
21278 2018-01-22  Mathieu Lirzin  <mthl@gnu.org>
21280         build: GuixSD doesn't have /bin/bash
21281         * Makefile (SHELL): Search 'bash' in the PATH environment variable.
21283 2018-01-21  Bruno Haible  <bruno@clisp.org>
21285         Avoid test failures on Microsoft Windows Subsystem for Linux.
21286         * tests/test-fcntl.c (main): Allow a different errno.
21287         * tests/test-rename.h (test_rename): Likewise.
21288         * tests/test-renameat.c (main): Likewise.
21289         * tests/test-renameat2.c (main): Likewise.
21291 2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>
21293         filenamecat: make base a suffix of result
21294         * lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
21295         (mfile_name_concat): Always make BASE a suffix of the result, as
21296         cp expects this.  To implement this, separate with '.' instead of
21297         '/' in some rare cases.  Clarify spec to say ./BASE not BASE.
21298         * tests/test-filenamecat.c (main): Adjust tests to match
21299         current behavior.  Check that BASE_IN_RESULT points to
21300         a copy of BASE and is a suffix of the resultk, and that DIR
21301         is a prefix of the result that is no longer than the prefix
21302         indicated by BASE_IN_RESULT.
21304 2018-01-04  Mathieu Lirzin  <mthl@gnu.org>
21306         update-copyright: Handle use of ©
21307         * build-aux/update-copyright ($circle_c_re): Update regex to
21308         handle use of © in headers.
21310 2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
21312         Fix -Wundef warning in user-included header lib/cdefs.h.
21313         * lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.
21315 2018-01-04  Bruno Haible  <bruno@clisp.org>
21317         pthread_sigmask: Avoid compilation error on mingw.
21318         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
21319         * lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
21320         macro.
21322 2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>
21324         test-framework-sh: ‘ps -ef’, not ‘ps ef’
21325         * tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
21326         Suggested by Bob Proulx (Bug#29968).
21327         * build-aux/mktempd (rand_bytes): Make it like tests/init.sh.
21329 2018-01-02  Eric Blake  <eblake@redhat.com>
21331         stat-time: silence -Wunused-parameter regression
21332         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
21333         Prefer attribute over cast-to-void.
21334         (stat_time_normalize): Mark st as potentially unused.
21336 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
21338         test-framework-sh: avoid netstat
21339         Problem reported by Kristýna Streitová (Bug#29947).
21340         * tests/init.sh (rand_bytes_): Stop using netstat, as it's
21341         deprecated on SuSE and it's not that important anyway.
21343 2018-01-01  Jim Meyering  <meyering@fb.com>
21345         update-copyright: add code to handle more special cases
21346         After running "make update-copyright" this year, five files
21347         required additional manual changes.  Automate those adjustments
21348         for next year.
21349         * Makefile (_year_and_prev): Define.
21350         (update-copyright): Add perl commands to induce this year's post-
21351         update-copyright adjustments.
21353 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
21355         version-etc: new year
21356         * build-aux/gendocs.sh (version):
21357         * doc/gendocs_template:
21358         * doc/gendocs_template_min:
21359         * doc/gnulib.texi:
21360         * lib/version-etc.c (COPYRIGHT_YEAR):
21361         Update copyright dates by hand in templates and the like.
21363         maint: fix 'make update-copyright'
21364         * Makefile (update-copyright): Adjust to 2016-11-23 change
21365         to config/srclist-update, which changed the format of srclist.txt.
21367 2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>
21369         chdir-safer: remove this module
21370         * MODULES.html.sh (func_all_modules): Remove chdir-safer.
21371         * NEWS: Document removal.
21372         * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
21373         * modules/chdir-safer: Remove these files.
21375 2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>
21377         Add cross-compilation results for GNU/Hurd.
21378         * m4/calloc.m4: Add GNU/Hurd guess.
21379         * m4/cbrtl.m4: Likewise.
21380         * m4/ceil.m4: Likewise.
21381         * m4/ceilf.m4: Likewise.
21382         * m4/ceill.m4: Likewise.
21383         * m4/chown.m4: Likewise.
21384         * m4/duplocale.m4: Likewise.
21385         * m4/exp2l.m4: Likewise.
21386         * m4/expm1.m4: Likewise.
21387         * m4/fchdir.m4: Likewise.
21388         * m4/floor.m4: Likewise.
21389         * m4/floorf.m4: Likewise.
21390         * m4/fmod.m4: Likewise.
21391         * m4/fmodf.m4: Likewise.
21392         * m4/fmodl.m4: Likewise.
21393         * m4/getcwd.m4: Likewise.
21394         * m4/getgroups.m4: Likewise.
21395         * m4/gettimeofday.m4: Likewise.
21396         * m4/hypot.m4: Likewise.
21397         * m4/hypotf.m4: Likewise.
21398         * m4/hypotl.m4: Likewise.
21399         * m4/link-follow.m4: Likewise.
21400         * m4/link.m4: Likewise.
21401         * m4/linkat.m4: Likewise.
21402         * m4/log.m4: Likewise.
21403         * m4/log10.m4: Likewise.
21404         * m4/log10f.m4: Likewise.
21405         * m4/log1p.m4: Likewise.
21406         * m4/log1pf.m4: Likewise.
21407         * m4/log1pl.m4: Likewise.
21408         * m4/log2.m4: Likewise.
21409         * m4/log2f.m4: Likewise.
21410         * m4/logf.m4: Likewise.
21411         * m4/lstat.m4: Likewise.
21412         * m4/malloc.m4: Likewise.
21413         * m4/mbrlen.m4: Likewise.
21414         * m4/mbrtowc.m4: Likewise.
21415         * m4/mkdir.m4: Likewise.
21416         * m4/mkfifo.m4: Likewise.
21417         * m4/mknod.m4: Likewise.
21418         * m4/mkstemp.m4: Likewise.
21419         * m4/modf.m4: Likewise.
21420         * m4/modff.m4: Likewise.
21421         * m4/modfl.m4: Likewise.
21422         * m4/printf.m4: Likewise.
21423         * m4/pselect.m4: Likewise.
21424         * m4/ptsname.m4: Likewise.
21425         * m4/putenv.m4: Likewise.
21426         * m4/readlink.m4: Likewise.
21427         * m4/realloc.m4: Likewise.
21428         * m4/remainder.m4: Likewise.
21429         * m4/remainderf.m4: Likewise.
21430         * m4/remainderl.m4: Likewise.
21431         * m4/rmdir.m4: Likewise.
21432         * m4/round.m4: Likewise.
21433         * m4/roundf.m4: Likewise.
21434         * m4/roundl.m4: Likewise.
21435         * m4/select.m4: Likewise.
21436         * m4/setenv.m4: Likewise.
21437         * m4/signbit.m4: Likewise.
21438         * m4/sleep.m4: Likewise.
21439         * m4/stat.m4: Likewise.
21440         * m4/strerror.m4: Likewise.
21441         * m4/strtok_r.m4: Likewise.
21442         * m4/symlink.m4: Likewise.
21443         * m4/symlinkat.m4: Likewise.
21444         * m4/trunc.m4: Likewise.
21445         * m4/truncf.m4: Likewise.
21446         * m4/truncl.m4: Likewise.
21447         * m4/tzset.m4: Likewise.
21448         * m4/ungetc.m4: Likewise.
21449         * m4/usleep.m4: Likewise.
21450         * m4/wcwidth.m4: Likewise.
21452 2017-12-28  Bruno Haible  <bruno@clisp.org>
21454         gnulib-tool: Make --conditional-dependencies work better.
21455         Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
21456         * gnulib-tool (Options): Don't reject the combination of
21457         --conditional-dependencies with --with-tests.
21458         (func_emit_autoconf_snippets): Add argument referenceable_modules.
21459         Don't reference $modules.
21460         (func_import, func_create_testdir): Pass it.
21462 2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>
21464         regex: use re_malloc etc. consistently
21465         Problem and original patch reported by Arnold Robbins in:
21466         https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
21467         * lib/regcomp.c (re_comp):
21468         * lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
21469         Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.
21471 2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
21472             Paul Eggert  <eggert@cs.ucla.edu>
21474         glob: Silence warning about void pointer arithmetic.
21475         * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
21476         arithmetic.
21478 2017-12-15  Bruno Haible  <bruno@clisp.org>
21480         spawn-pipe: Silence a clang warning.
21481         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
21482         * lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
21483         in this file.
21485 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
21487         explicit_bzero: port to macOS + Clang 9.0.0
21488         Problem reported by Marcus Johnson (Bug#29658).
21489         * lib/explicit_bzero.c (explicit_bzero) [__clang__]:
21490         Don’t use asm.
21492 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
21494         doc: Improve explanation of supporting relocatable libraries.
21495         * doc/relocatable-maint.texi (Supporting Relocation): Explain
21496         properly how to build the relocatable module for
21497         libraries. (Method and example code from Bruno Haible.)
21499 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
21501         doc: Use better texinfo tags in a few cases.
21502         * doc/gnulib.texi (Extending Gnulib): Use @option or @command
21503         instead of @samp in a few places.
21505 2017-12-11  Bruno Haible  <bruno@clisp.org>
21507         unistr/base: Update comment.
21508         * lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.
21510 2017-12-10  Pádraig Brady  <P@draigBrady.com>
21512         test-faccessat.c: unlink temp file to avoid subsequent test failure
21513         * tests/test-faccessat.c: Remove the file to avoid failure
21514         to open the file on subsequent runs due to being created
21515         with no permissions.
21517 2017-12-10  Bruno Haible  <bruno@clisp.org>
21519         doc: New sect. "Modifying the build rules of a Gnulib import directory".
21520         * doc/gnulib-tool.texi (Modified build rules): New node.
21522 2017-12-10  Bruno Haible  <bruno@clisp.org>
21524         doc: Tweak wording.
21525         * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
21526         "binaries".
21528 2017-12-05  Sam Steingold  <sds@gnu.org>
21529             Bruno Haible  <bruno@clisp.org>
21531         no-c++: Avoid "egrep: repetition-operator operand invalid" error.
21532         * m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
21533         AC_EGREP_CPP pattern.
21535 2017-12-03  Bruno Haible  <bruno@clisp.org>
21537         all: Replace more http URLs by https URLs.
21538         * lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
21539         * lib/unigbrk/u-grapheme-breaks.h: Likewise.
21540         * lib/unigbrk/uc-grapheme-breaks.c: Likewise.
21541         * tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.
21543 2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>
21545         Port better to CentOS 5
21546         Problems reported by Tom G. Christensen in:
21547         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
21548         * doc/glibc-functions/strverscmp.texi (strverscmp):
21549         Document strverscmp bug with glibc 2.9 and earlier.
21550         * doc/posix-functions/tzset.texi (tzset):
21551         Document that TZ with angle brackets is POSIX-2001 and later.
21552         * tests/test-nstrftime.c: Include unistd.h.
21553         (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
21554         (TZ): Use it to skip tests with angle brackets in TZ,
21555         for older systems.
21557         stat: add missing module dependencies
21558         * modules/lstat, modules/stat, modules/utimensat (Depends-on):
21559         Add stat-time.
21561 2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>
21563         stat: fix compilation failure on macOS Sierra
21564         Reported by Marius Schamschula <mschamschula@gmail.com> in:
21565         https://savannah.gnu.org/bugs/?52546
21566         * lib/stat.c: Add missing include of stat-time.h.
21568 2017-11-28  Jim Meyering  <meyering@fb.com>
21570         test-faccessat.c: correct BASE definition to avoid parallel test failure
21571         * tests/test-faccessat.c (BASE): Define using this file's name, not
21572         that of test-lstat.c.  Using the latter caused this test to fail
21573         sometimes when run concurrently with test-lstat.
21575 2017-11-27  Daiki Ueno  <ueno@gnu.org>
21577         unicase: fix VPATH build
21578         * modules/unicase/special-casing (Makefile.am): Ensure that the
21579         base directory is created when generating
21580         unicase/special-casing.h.
21582 2017-11-27  Daiki Ueno  <ueno@gnu.org>
21584         libunistring: update to Unicode 9.0.0
21585         * lib/gen-uni-tables.c (fill_properties): Recognize
21586         Sentence_Terminal and Prepended_Concatenation_Mark.
21587         (is_property_default_ignorable_code_point): Exclude U+08E2.
21588         (fill_arabicshaping): Allow missing whitespace when parsing;
21589         recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
21590         (output_blocks): Increase the element size of the level1 table to
21591         accommodate more blocks.
21592         (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
21593         Update each class according to the standard.
21594         (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
21595         E_Base_GAZ characters.
21596         (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
21597         Glue_After_Zwj, and E_Base_GAZ characters.
21598         * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
21599         (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
21600         enum value.
21601         * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
21602         value.
21603         * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
21604         LBP_ZWJ, LBP_EB, and LBP_EM.
21605         * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
21606         enum value.
21607         * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
21608         * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
21609         declaration.
21610         * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
21611         (uniwbrk_table): Implement WB14.
21612         * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
21613         Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
21614         * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
21615         uc-is-grapheme-break.
21616         * modules/unigbrk/uc-grapheme-breaks: New module.
21617         * modules/unigbrk/uc-grapheme-breaks-tests: New module.
21618         * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
21619         enum value.
21620         (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
21621         * lib/unigbrk/u-grapheme-breaks.h: New file.
21622         * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
21623         u-grapheme-breaks.h instead of uc_is_grapheme_break.
21624         * lib/unigbrk/uc-grapheme-breaks.c: New file.
21625         * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
21626         29.
21627         * tests/unigbrk/test-uc-gbrk-prop.c
21628         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
21629         GBP_GAZ, and GBP_EBG.
21630         * tests/unigbrk/test-uc-grapheme-breaks.c: New test.
21631         * tests/unigbrk/test-uc-is-grapheme-break.c
21632         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
21633         GBP_GAZ, and GBP_EBG.
21634         (main): Skip unsupported rules involving 3 or more characters,
21635         namely GB10, GB12, and GB13.
21636         * lib/uniwidth/width.c (nonspacing_table_data): Update.
21637         * all generated files under lib/uni* and tests/uni*: Regenerate.
21638         * all the affected modules: Bump version.
21640 2017-11-26  Bruno Haible  <bruno@clisp.org>
21642         strfmon_l: Fix compilation error with glibc 2.5.
21643         Reported by Tom G. Christensen <tgc@jupiterrise.com>
21644         in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
21645         * lib/monetary.in.h: Include also <locale.h>.
21647 2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>
21649         posixtm: remove PDS_LEADING_YEAR
21650         This changes the API slightly, in a hopefully-innocuous way.
21651         Without this change the code had undefined behavior when a
21652         caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
21653         Problem reported by Pádraig Brady in:
21654         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
21655         * NEWS: Mention this.
21656         * lib/posixtm.c (posix_time_parse): Treat the absence of
21657         PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
21658         * lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
21659         present, but define it as zero, for compatibility with existing
21660         source code).  All other PDS_* values moved up.
21661         * tests/test-posixtm.c (LY): New macro.
21662         (T): Use it.  Do not expect a particular numeric encoding
21663         for PDS_CENTURY etc.
21665 2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>
21667         stat: work around Solaris bug with tv_nsec < 0
21668         * doc/posix-functions/fstat.texi (fstat):
21669         * doc/posix-functions/fstatat.texi (fstatat):
21670         * doc/posix-functions/lstat.texi (lstat):
21671         * doc/posix-functions/stat.texi (stat):
21672         Mention Solaris 11 bug.
21673         * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
21674         * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
21675         * lib/lstat.c (rpl_lstat):
21676         * lib/stat.c (rpl_stat):
21677         Normalize resulting timestamps.
21678         * lib/fstatat.c (normal_fstatat): New function.
21679         (rpl_fstatat): Use it.
21680         * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
21681         (stat_time_normalize): New function.
21682         * m4/fstat.m4 (gl_FUNC_FSTAT):
21683         * m4/fstatat.m4 (gl_FUNC_FSTATAT):
21684         * m4/lstat.m4 (gl_FUNC_LSTAT):
21685         * m4/stat.m4 (gl_FUNC_STAT):
21686         Replace on Solaris.
21687         * modules/fstat (Depends-on):
21688         * modules/fstatat (Depends-on):
21689         Add stat-time.
21690         * modules/stat-time (Depends-on): Add errno, intprops.
21692 2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>
21694         regex: merge from glibc
21695         * lib/regcomp.c (init_word_char): Add comments.
21697 2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>
21699         regex: merge from glibc
21700         * lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
21701         * lib/regex_internal.h (internal_function): Remove.
21702         All uses removed.
21704 2017-11-20  Bruno Haible  <bruno@clisp.org>
21706         crypto/gc-sm3: Fix buffer overrun.
21707         * lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
21708         Reported by Coverity.
21710 2017-11-12  Jim Meyering  <meyering@fb.com>
21712         maint: shorten https://lists.gnu.org/archive/html/... links
21713         Each /archive/html/ part can be replace with /r/.
21714         Run this to induce the change:
21715         git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
21716         * ChangeLog: Perform that substitution.
21717         * Makefile: Likewise.
21718         * STATUS-libposix: Likewise.
21719         * build-aux/bootstrap: Likewise.
21720         * doc/maintain.texi: Likewise.
21721         * gnulib-tool: Likewise.
21722         * lib/allocator.h: Likewise.
21723         * lib/argp-ba.c: Likewise.
21724         * lib/argp-pv.c: Likewise.
21725         * lib/canon-host.c: Likewise.
21726         * lib/canonicalize-lgpl.c: Likewise.
21727         * lib/float.in.h: Likewise.
21728         * lib/fstat.c: Likewise.
21729         * lib/getdelim.c: Likewise.
21730         * lib/getprogname.c: Likewise.
21731         * lib/glthread/thread.h: Likewise.
21732         * lib/intprops.h: Likewise.
21733         * lib/mbsrtowcs-state.c: Likewise.
21734         * lib/safe-read.c: Likewise.
21735         * lib/signal.in.h: Likewise.
21736         * lib/stat.c: Likewise.
21737         * lib/stdbool.in.h: Likewise.
21738         * lib/stdio-impl.h: Likewise.
21739         * lib/stdio.in.h: Likewise.
21740         * lib/sysexits.in.h: Likewise.
21741         * lib/timespec.h: Likewise.
21742         * lib/wcsrtombs-state.c: Likewise.
21743         * m4/alloca.m4: Likewise.
21744         * m4/extern-inline.m4: Likewise.
21745         * m4/fstatat.m4: Likewise.
21746         * m4/gnulib-common.m4: Likewise.
21747         * m4/lib-ignore.m4: Likewise.
21748         * m4/printf.m4: Likewise.
21749         * m4/regex.m4: Likewise.
21750         * m4/stat-size.m4: Likewise.
21751         * m4/std-gnu11.m4: Likewise.
21752         * m4/stdbool.m4: Likewise.
21753         * m4/sys_types_h.m4: Likewise.
21754         * m4/threadlib.m4: Likewise.
21755         * m4/vararrays.m4: Likewise.
21756         * pygnulib/GLImport.py: Likewise.
21757         * tests/test-exp.h: Likewise.
21758         * tests/test-exp2.h: Likewise.
21759         * tests/test-expm1.h: Likewise.
21760         * tests/test-fflush2.c: Likewise.
21761         * tests/test-getopt_long.h: Likewise.
21762         * tests/test-intprops.c: Likewise.
21763         * tests/test-log.h: Likewise.
21764         * tests/test-log10.h: Likewise.
21765         * tests/test-log1p.h: Likewise.
21766         * tests/test-log2.h: Likewise.
21767         * tests/test-printf-posix.h: Likewise.
21768         * tests/test-regex.c: Likewise.
21769         * tests/test-snprintf-posix.h: Likewise.
21770         * tests/test-sprintf-posix.h: Likewise.
21771         * tests/test-stdalign.c: Likewise.
21772         * tests/test-stdbool.c: Likewise.
21773         * tests/test-vasnprintf-posix.c: Likewise.
21774         * tests/test-vasprintf-posix.c: Likewise.
21775         * top/maint.mk: Likewise.
21777 2017-11-12  Bruno Haible  <bruno@clisp.org>
21779         faccessat: Make the last change more robust.
21780         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
21781         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".
21783 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
21785         faccessat: port to macOS (Bug#29231)
21786         macOS faccessat has the same bug that lstat does: if the file
21787         name ends in '/' it ignores the trailing slash.
21788         Problem reported for Emacs by Vincent Zhang.
21789         * doc/posix-functions/faccessat.texi (faccessat): Document this.
21790         * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
21791         around the initial includes.  Include errno.h, string.h, sys/stat.h.
21792         (orig_faccessat) [HAVE_FACCESSAT]: New function.
21793         Include "unistd.h" after defining it.
21794         (rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
21795         * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
21796         Handle in the usual way.
21797         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
21798         lstat dereferences symlinks, since faccessat is likely to
21799         have the same problem.
21800         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
21801         * modules/faccessat (Depends-on): Add fstatat.
21802         Depend if REPLACE_FACCESSAT is 1, too.
21803         (configure.ac): Link if REPLACE_FACCESSAT is 1.
21804         * modules/faccessat-tests (Depends-on): Add symlink.
21805         * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
21806         * tests/test-faccessat.c (main): Test for the bug.
21808 2017-11-11  Bruno Haible  <bruno@clisp.org>
21810         getprogname: Fix compilation error on IRIX.
21811         * lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
21812         'namesize'.
21814 2017-11-11  Bruno Haible  <bruno@clisp.org>
21816         year2038: Tweak last patch.
21817         * m4/year2038.m4 (gl_YEAR2038): Correct indentation.
21819 2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>
21821         year2038: be more insistent about 64-bit time_t
21822         Applications requiring access to arbitrary files should not be
21823         built with 32-bit time_t on hosts that have 64-bit timestamps,
21824         as this can lead to real trouble at runtime.
21825         * m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
21826         Check on all systems, not just MinGW.  Use a heuristic involving
21827         TIME_T_32_BIT_OK, cross_compiling, and the touch command to
21828         output a failure or just a warning, to make it more likely that
21829         builders will select 64-bit time_t.
21831 2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>
21833         havelib: fix typo in previous change
21834         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.
21836         Don’t use AC_EGREP_CPP if affected by CFLAGS
21837         * m4/float_h.m4 (gl_FLOAT_H):
21838         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
21839         * m4/lib-ld.m4 (AC_LIB_PROG_LD):
21840         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
21841         * m4/year2038.m4 (gl_YEAR2038):
21842         Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
21843         likely to be affected by the choice of CFLAGS, since CFLAGS are
21844         not used by AC_EGREP_CPP.  Without this patch, ‘./configure
21845         CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.
21847         fstatat: pacify GCC on unusual platform
21848         * lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
21849         Omit, as it’s unused in this case.
21851 2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>
21853         timespec: prefer ‘assume’ to ‘assure’
21854         This avoids some runtime tests.  The rest of the module makes
21855         similar assumptions and there is little point to testing here.
21856         * lib/timespec.h: Include verify.h instead of assure.h.
21857         (timespec_cmp): Use ‘assume’, not ‘assure’.
21858         Also, remove an unnecessary cast to ‘int’, as lots of other
21859         code in this module now causes -Wconversion to complain, and
21860         this is a problem with -Wconversion not with the code.
21862         * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
21864         Port recent gnulib-tool change to Dash
21865         * gnulib-tool (func_create_testdir): Don't assume that the shell
21866         retokenizes after expanding "$@" inside the call to
21867         func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.
21869 2017-10-27  Jim Meyering  <meyering@fb.com>
21871         timespec.h: use "assure" to avoid a spurious warning
21872         * lib/timespec.h: Include "assure.h" and use it to help
21873         gcc7's -Wstrict-overflow avoid a false positive warning
21874         for a use in coreutils' ls.c.  Suggested by Paul Eggert in
21875         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
21876         * modules/timespec (Depends-on): Add assure.
21878 2017-10-29  Bruno Haible  <bruno@clisp.org>
21880         Avoid several test failures with traditional locales on Haiku.
21881         * m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
21882         * m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
21883         * m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
21884         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
21885         LOCALE_ZH_CN=none.
21887 2017-10-29  Bruno Haible  <bruno@clisp.org>
21889         strerror_r-posix: Fix behaviour and test failure on Haiku.
21890         * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
21891         are positive. Work around return value 0 instead of ERANGE on Haiku.
21892         For unknown error numbers, use a format string consistent with perror().
21893         * doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
21894         * tests/test-strerror_r.c (main): Don't assume that valid error numbers
21895         are positive.
21897 2017-10-29  Bruno Haible  <bruno@clisp.org>
21899         get-rusage-data: Avoid crash on Haiku.
21900         * lib/get-rusage-data.c: Avoid the setlimit-based implementation.
21902 2017-10-29  Bruno Haible  <bruno@clisp.org>
21904         get-rusage-as: Avoid crash on Haiku.
21905         * lib/get-rusage-as.c: Avoid the setlimit-based implementation.
21907 2017-10-29  Bruno Haible  <bruno@clisp.org>
21909         ilogbl: Ensure replacement on Haiku.
21910         * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
21911         REPLACE_ILOGBL if ilogbl does not work.
21912         (gl_FUNC_ILOGBL_WORKS): New macro.
21913         * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
21914         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
21915         * modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
21916         * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
21917         * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
21919 2017-10-29  Bruno Haible  <bruno@clisp.org>
21921         expl: Ensure replacement on Haiku.
21922         * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
21923         zero.
21924         * doc/posix-functions/expl.texi: Mention the Haiku problem.
21926 2017-10-29  Bruno Haible  <bruno@clisp.org>
21928         math: Fix test failure on Haiku.
21929         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
21930         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
21931         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
21932         * doc/posix-headers/math.texi: Mention the Haiku problem.
21934 2017-10-29  Bruno Haible  <bruno@clisp.org>
21936         gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
21937         * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
21938         bug reported at <https://savannah.gnu.org/support/index.php?109406>.
21940 2017-10-29  Bruno Haible  <bruno@clisp.org>
21942         crypto/*: Verify that the header file is self-contained.
21943         * tests/test-gc-*.c: Include the module's header file immediately after
21944         <config.h>.
21945         * tests/test-hmac-*.c: Likewise.
21946         * tests/test-arcfour.c: Likewise.
21947         * tests/test-arctwo.c: Likewise.
21948         * tests/test-des.c: Likewise.
21949         * tests/test-md2.c: Likewise.
21950         * tests/test-md4.c: Likewise.
21951         * tests/test-md5.c: Likewise.
21952         * tests/test-rijndael.c: Likewise.
21953         * tests/test-sha1.c: Likewise.
21954         * tests/test-sm3.c: Likewise.
21956 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
21957             Bruno Haible  <bruno@clisp.org>
21959         crypto/gc: fix build failure with -Werror=suggest-attribute=const
21960         * lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.
21962 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
21964         New module: crypto/gc-sm3
21965         * lib/gc.h: Declare SM3-related stuffs.
21966         * lib/gc-gnulib.c: Support sm3 in internal functions.
21967         * lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
21968         * m4/gc-sm3.m4: m4 file for gc-sm3 module.
21969         * modules/crypto/gc-sm3: Define gc-sm3 module.
21970         * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
21971         * modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
21972         * MODULES.html.sh: List gc-sm3 module.
21974 2017-10-29  Bruno Haible  <bruno@clisp.org>
21976         random, random_r: Mention different prototypes on Haiku.
21977         * doc/posix-functions/random.texi: Mention different prototype on Haiku.
21978         * doc/glibc-functions/random_r.texi: Likewise.
21979         * doc/glibc-functions/initstate_r.texi: Likewise.
21980         * doc/glibc-functions/setstate_r.texi: Likewise.
21982 2017-10-28  Bruno Haible  <bruno@clisp.org>
21984         posix_spawn: Avoid spurious message in configure output.
21985         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
21986         'cmp' command.
21988 2017-10-28  Bruno Haible  <bruno@clisp.org>
21990         inet_ntop, inet_pton: Determine needed library correctly on Haiku.
21991         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
21992         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
21994 2017-10-28  Bruno Haible  <bruno@clisp.org>
21996         ioctl: Override non-POSIX declaration on Haiku.
21997         * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
21998         * lib/sys_ioctl.in.h: Add comment about Haiku.
21999         * doc/posix-functions/ioctl.texi: Mention Haiku problem.
22000         * doc/glibc-headers/sys_ioctl.texi: Likewise.
22002 2017-10-28  Bruno Haible  <bruno@clisp.org>
22004         crypto/sm3: Add overview documentation to the .h file.
22005         * lib/sm3.h: Add comments.
22007 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
22009         New module: crypto/sm3
22010         This new module can be used to compute SM3 message digest of files or
22011         memory blocks according to the specification GM/T 004-2012
22012         Cryptographic Hash Algorithm SM3, published by State Cryptography
22013         Administration, China.
22014         The official SM3 cryptographic hash algorithm specification is
22015         available at
22016         http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
22017         * lib/sm3.h: Declare the APIs of sm3 module.
22018         * lib/sm3.c: Implement SM3 hash algorithm.
22019         * m4/sm3.m4: m4 file for sm3 module.
22020         * modules/crypto/sm3: Define sm3 module.
22021         * tests/test-sm3.c: Implement SM3 test case.
22022         * modules/crypto/sm3-tests: Define sm3 test module.
22023         * MODULES.html.sh: List sm3 module.
22025 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
22027         gc-libgcrypt: fix undefined enum type in switch statement
22028         Resolve the following build failure:
22029         lib/gc-libgcrypt.c: In function 'gc_hash_open':
22030         lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
22031         'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
22032              case 0:
22033              ^~~~
22034         * lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
22035         * lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.
22037 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
22039         gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
22040         Resolve the following build failure:
22041         lib/gc-libgcrypt.c: In function 'gc_hash_read':
22042         lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
22043         in signedness [-Werror=pointer-sign]
22044             digest = gcry_md_read (ctx->gch, 0);
22045                    ^
22046         * lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.
22048 2017-10-26  Bruno Haible  <bruno@clisp.org>
22050         havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
22051         * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
22052         set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
22054 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
22056         glob: fix another heap buffer overflow
22057         Problem reported by Tim Rühsen in:
22058         https://sourceware.org/bugzilla/show_bug.cgi?id=22332
22059         * lib/glob.c (glob): Avoid buffer overrun when unescaping.
22061 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
22063         quotearg: pacify compiler re unsigned
22064         * lib/quotearg.c (quotearg_n_options):
22065         Rewrite to avoid diagnostic from overly-picky compiler.
22066         Problem reported by Sami Kerola in:
22067         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html
22069         glob: fix heap buffer overflow
22070         * lib/glob.c (glob): Fix off-by-one error introduced into
22071         glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
22072         dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
22073         https://sourceware.org/bugzilla/show_bug.cgi?id=22320
22074         Fix suggested by Bruno Haible.
22076 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
22078         glob: pacify fuzzer for mempcpy
22079         Problem reported by Tim Rühsen in:
22080         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
22081         * lib/glob.c (glob): Do not pass NULL to mempcpy.
22083 2017-10-12  Bruno Haible  <bruno@clisp.org>
22085         doc: Fix syntax error (regression from 2017-10-03).
22086         * doc/posix-functions/strncpy.texi: Fix syntax error.
22088 2017-10-12  Bruno Haible  <bruno@clisp.org>
22090         doc: Update for Solaris 11.3.
22091         * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
22092         mention Solaris 11.3.
22093         * m4/log2.m4: Fix comments.
22094         * m4/log2f.m4: Likewise.
22095         * m4/printf.m4: Update comments.
22096         * m4/rename.m4: Likewise.
22097         * m4/strncat.m4: Likewise.
22099         all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
22101 2017-10-10  Bruno Haible  <bruno@clisp.org>
22103         doc: Improve doc about ioctl.
22104         * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
22105         prototype.
22107 2017-10-09  Bruno Haible  <bruno@clisp.org>
22109         wcwidth: Don't use obsolete syntax of 'test'.
22110         Reported by Eric Blake.
22111         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
22112         invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".
22114 2017-10-09  Bruno Haible  <bruno@clisp.org>
22116         getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
22117         Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
22118         and Daniel P. Berrange <berrange@redhat.com>.
22119         * lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
22120         on glibc systems. The getopt-pfx-core.h file declares exactly what
22121         unistd.h needs, nothing more.
22123 2017-10-08  Bruno Haible  <bruno@clisp.org>
22125         vma-iter: Improve support for FreeBSD.
22126         * lib/vma-iter.c (vma_iterate_proc): New function, extracted from
22127         vma_iterate.
22128         (vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.
22130 2017-10-08  Bruno Haible  <bruno@clisp.org>
22132         vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
22133         * lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.
22135 2017-10-07  KO Myung-Hun  <komh@chollian.net>
22137         test-framework-sh: Fix 'invalid path dir' error.
22138         On OS/2, a path separator is ';' not ':'. And ':' is used as a
22139         separator between a drive letter and directory parts.
22140         As a result, an absolute path such as x:/path/to/dir on OS/2 is
22141         treated as an invalid path dir.
22142         * tests/init.sh (PATH_SEPARATOR): Set at startup.
22143         (path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
22144         instead of hard coded ':'.
22146 2017-10-07  Bruno Haible  <bruno@clisp.org>
22148         vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
22149         * lib/vma-iter.c (MIN_LEFTOVER): New macro.
22150         (STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
22151         (rof_open): On Linux, do multiple read() calls and make sure
22152         MIN_LEFTOVER bytes are left when read() returns.
22154 2017-10-07  Bruno Haible  <bruno@clisp.org>
22156         vma-iter: Improve support for GNU/Hurd.
22157         * lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
22158         API, not the /proc file system.
22160 2017-10-07  Bruno Haible  <bruno@clisp.org>
22162         test-framework-sh: Don't require bash on Windows and OS/2.
22163         Reported by KO Myung-Hun.
22164         * tests/test-init.sh: Use 'shopt' only when running in bash.
22166 2017-10-06  KO Myung-Hun  <komh@chollian.net>
22168         wcwidth: check a macro version of wcwidth () as well
22169         * lib/wchar.in.h: Revert commit from 2016-01-14.
22170         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.
22172 2017-10-06  Bruno Haible  <bruno@clisp.org>
22174         getopt-posix: Clarify copyright header.
22175         * lib/getopt.in.h: Don't state that gnulib is under LGPL.
22176         * lib/getopt-pfx-core.h: Likewise.
22177         * lib/getopt-pfx-ext.h: Likewise.
22178         * lib/getopt-cdefs.in.h: Likewise.
22180 2017-10-03  Bruno Haible  <bruno@clisp.org>
22182         Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
22183         * modules/host-cpu-c-abi (configure.ac): Require, don't invoke
22184         gl_HOST_CPU_C_ABI.
22186 2017-10-03  Bruno Haible  <bruno@clisp.org>
22188         doc: warn about misuse of strncpy and wcsncpy.
22189         * doc/posix-functions/strcpy.texi: Describe requirements on prior
22190         memory allocation.
22191         * doc/posix-functions/wcscpy.texi: Likewise.
22192         * doc/posix-functions/strncpy.texi: Describe what this function is not
22193         useful for.
22194         * doc/posix-functions/wcsncpy.texi: Likewise.
22196 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
22198         fsuage: fix typo in previous change
22199         * lib/fsusage.c: Remove stray include of full-read.h.
22200         Problem reported by Sam Steingold for macOS (Bug#28669).
22202 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
22204         fsusage: remove SVR2 support
22205         SVR2 was obsolete by 1986 and is no longer supported by anybody,
22206         and its code was getting in the way of use of this module by
22207         Emacs, which has its own ‘read’ function anyway.
22208         * lib/fsusage.c: Do not include sys/filsys.h.
22209         (get_fs_usage): Remove SVR2-specific code.
22210         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
22211         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
22212         * modules/fsusage (Depends-on): Do not depend on full-read.
22214         Simplify autoupdate of licenses
22215         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
22216         place.
22218 2017-10-01  Bruno Haible  <bruno@clisp.org>
22220         vma-iter: Add support for GNU/Hurd.
22221         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
22222         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
22224 2017-09-30  Bruno Haible  <bruno@clisp.org>
22226         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
22227         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
22228         fail when module 'largefile' is in use.
22229         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
22230         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
22231         Don't test HAVE_SYS_PROCFS_H.
22233 2017-09-30  Bruno Haible  <bruno@clisp.org>
22235         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
22236         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
22237         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
22238         * modules/havelib (Depends-on): Add host-cpu-c-abi.
22240 2017-09-30  Bruno Haible  <bruno@clisp.org>
22242         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
22243         * lib/uniname/uniname.c (unicode_name_character): Add braces around
22244         scope of local variables.
22246 2017-09-28  Bruno Haible  <bruno@clisp.org>
22248         string: code style
22249         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
22250         substitutable variables.
22251         * modules/string (Makefile.am): Likewise.
22253 2017-09-26  Bruno Haible  <bruno@clisp.org>
22255         uniname/uniname-tests: Tighten code.
22256         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
22257         local variables into one.
22259 2017-09-26  Bruno Haible  <bruno@clisp.org>
22261         vma-iter: Improvements for Linux and BSD platforms.
22262         - Add support for DragonFly BSD.
22263         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
22264         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
22265         Read the entire file into memory in a single system call.
22266         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
22267         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
22269 2017-09-26  Bruno Haible  <bruno@clisp.org>
22271         vma-iter: Provide the protection flags on FreeBSD.
22272         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
22273         skip three fields between the addresses and the protection flags.
22275 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
22277         glob: remove bogus extern decl
22278         * lib/glob.c (__glob_pattern_type): Remove now-spurious
22279         extern declaration.  Problem reported by Adhemerval Zanella in:
22280         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
22282 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
22284         uniname/uniname-tests: integer overflow fix
22285         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
22286         Check for integer overflow.
22288         duplocale-tests: fix unlikely crash
22289         * tests/test-duplocale.c (get_locale_dependent_values):
22290         Don’t crash with absurdly long month names.
22292         maint: fix overflow checking in nap.h
22293         * modules/chown-tests:
22294         * modules/fchownat-tests, modules/fdutimensat-tests:
22295         * modules/futimens-tests, modules/lchown-tests:
22296         * modules/stat-time-tests, modules/utime-tests:
22297         * modules/utimens-tests, modules/utimensat-tests:
22298         Depend on intprops.
22299         * tests/nap.h: Include intprops.h.
22300         (diff_timespec): Handle overflow properly.
22302         sys_types: update URL
22303         * m4/sys_types_h.m4: Use https: URL.
22305         parse-datetime: fix dependency
22306         * modules/parse-datetime (Depends-on): Depend
22307         on nstrftime, not strftime.
22309         parse-datetime, posixtm: avoid uninit access
22310         * lib/parse-datetime.y (parse_datetime2):
22311         * lib/posixtm.c (posixtime):
22312         Do not access uninitialized storage, even though the resulting
22313         value is never used.
22315 2017-09-25  Bruno Haible  <bruno@clisp.org>
22317         vma-iter: Improvements for BSD platforms.
22318         - Add support for GNU/kFreeBSD.
22319         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
22320         - Speed up on OpenBSD.
22321         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
22322         (vma_iterate_bsd): New function.
22323         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
22324         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
22325         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
22326         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
22328 2017-09-23  Bruno Haible  <bruno@clisp.org>
22330         strfmon_l: New module.
22331         * modules/strfmon_l: New file.
22332         * lib/strfmon_l.c: New file.
22333         * m4/strfmon_l.m4: New file.
22334         * doc/posix-functions/strfmon_l.texi: Mention the new module.
22335         * modules/strfmon_l-tests: New file.
22336         * tests/test-strfmon_l.c: New file.
22338         monetary: New module.
22339         * modules/monetary: New file.
22340         * lib/monetary.in.h: New file.
22341         * m4/monetary_h.m4: New file.
22342         * doc/posix-headers/monetary.texi: Mention the new module.
22343         * modules/monetary-tests: New file.
22344         * tests/test-monetary.c: New file.
22345         * modules/monetary-c++-tests: New file.
22346         * tests/test-monetary-c++.cc: New file.
22347         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
22349 2017-09-23  Bruno Haible  <bruno@clisp.org>
22351         duplocale tests: Fix test crash on Linux/x86.
22352         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
22353         locale from the current thread before freeing it.
22355 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
22357         mktime: port to OpenVMS
22358         Problem reported by John E. Malmberg in:
22359         https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
22360         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
22362 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
22364         manywarnings: port to GCC on 64-bit MS-Windows
22365         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
22366         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
22367         https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html
22369 2017-09-13  Bruno Haible  <bruno@clisp.org>
22371         all: Replace many more http URLs by https URLs. Update stale URLs.
22372         * users.txt: Remove mention of 'newts'.
22373         * lib/localename.c: Update comment about LANG_SOTHO.
22375 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
22377         all: Replace many http URLs by https URLs.
22379 2017-09-12  Bruno Haible  <bruno@clisp.org>
22381         doc: Prefer https URLs where possible.
22382         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
22383         * doc/ld-output-def.texi: Remove unavailable URL.
22385 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
22387         maintainer-makefile: FTP -> HTTPS
22388         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
22389         of FTP, which is planned to be decommissioned on 2017-11-01.
22391 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
22393         libc-config: Fix __GNUC_PREREQ macro.
22394         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
22395         __GNUC_MINOR.
22397 2017-09-09  Bruno Haible  <bruno@clisp.org>
22399         gnulib-tool: Simplify commit from 2015-08-20.
22400         * gnulib-tool (func_add_or_update): Remove local variable
22401         is_binary_file.
22403 2017-09-08  Bruno Haible  <bruno@clisp.org>
22405         stddef: Avoid conflict with system-defined max_align_t.
22406         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
22407         Reported by Werner Lemberg <wl@gnu.org> in
22408         <https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
22409         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
22410         (max_align_t): Define as a macro.
22411         (GNULIB_defined_max_align_t): New macro. Guards against multiple
22412         definitions of rpl_max_align_t in different copies of gnulib-generated
22413         <stddef.h>.
22415 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
22417         libc-config: port to MSVC
22418         Problems reported by Gisle Vanem in:
22419         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
22420         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
22421         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
22422         * m4/__inline.m4: New file.
22423         * modules/libc-config (Files): Add it.
22424         (Depends-on): Use it.
22426         glob: Use enum for __glob_pattern_type result
22427         From a patch proposed by Adhemerval Zanella in:
22428         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
22429         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
22430         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
22431         * lib/glob_internal.h (__glob_pattern_type):
22432         * lib/glob.c (glob):
22433         * lib/glob_pattern_p.c (__glob_pattern_p):
22434         Use them.
22436         glob: fix for use in glibc
22437         Problem reported by Adhemerval Zanella in:
22438         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
22439         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
22440         Do not redefine if _LIBC.
22442 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22444         glob: fix bugs with long login names
22445         Problem reported by Adhemerval Zanella in:
22446         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
22447         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
22448         (glob): Use the same scratch buffer for both getlogin_r and
22449         getpwnam_r.  Don’t require preallocation of the login name.  This
22450         simplifies storage allocation, and corrects the handling of
22451         long login names.
22453 2017-09-02  Bruno Haible  <bruno@clisp.org>
22455         dirent: Update doc.
22456         * doc/posix-headers/dirent.texi: More concrete list of platforms.
22458 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22460         glob: fix getpwnam_r errno typo
22461         * lib/glob.c (glob): Fix longstanding misuse of errno after
22462         getpwnam_r, which returns an error number rather than setting
22463         errno.
22465         glob: fix typo in recent change
22466         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
22467         Fix recently-introduced typo.
22469 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22471         glob: don't save and restore errno unnecessarily
22472         * lib/glob.c (glob): Don't save and restore errno
22473         merely because we have getpwnam_r.
22475         glob: don't assume getpwnam_r
22476         * lib/glob.c (glob): Port recent patches to platforms
22477         lacking getpwnam_r.
22479         scratch_buffer: don’t use private glibc API
22480         Suggested by Florian Weimer in:
22481         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
22482         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
22483         * lib/scratch_buffer_grow.c: Rename to
22484         lib/malloc/scratch_buffer_grow.c.
22485         * lib/scratch_buffer_grow_preserve.c: Rename to
22486         lib/malloc/scratch_buffer_grow_preserve.c.
22487         * lib/scratch_buffer_set_array_size.c: Rename to
22488         lib/malloc/scratch_buffer_set_array_size.c.
22489         * lib/scratch_buffer.h: New file.
22490         * modules/scratch_buffer (Files, Makefile.am):
22491         Adjust to source-file renaming.
22493 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
22495         glob: use scratch_buffer instead of extend_alloca
22496         Much of the lib/glob.c part of this patch comes from a glibc patch
22497         proposed by Adhemerval Zanella in:
22498         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
22499         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
22500         included via glob.h, does this for us now.
22501         (__set_errno): Remove, as libc-config does this for us now.
22502         Include <scratch_buffer.h>.
22503         (GETPW_R_SIZE_MAX): Remove.
22504         (glob): Use struct scratch_buffer instead of extend_alloca.
22505         * lib/glob.in.h: Include libc-config.h rather than
22506         including <sys/cdefs.h> conditionally.
22507         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
22508         (__glibc_unlikely, __restrict, weak_alias):
22509         Remove, as libc-config does this for us now.
22510         * m4/glob.m4 (gl_PREREQ_GLOB):
22511         Remove sys/cdefs.h tests; no longer needed.
22512         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
22513         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
22515         scratch_buffer: new module
22516         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
22517         * lib/scratch_buffer_grow_preserve.c:
22518         * lib/scratch_buffer_set_array_size.c:
22519         New files, copied from glibc with very minor changes that can be
22520         copied back.
22521         * modules/scratch_buffer: New file.
22523         libc-config: new module
22524         * MODULES.html.sh: Add libc-config.
22525         * lib/cdefs.h: New file, copied from the GNU C Library with very
22526         minor changes that can be copied back.
22527         * lib/libc-config.h, modules/libc-config: New files.
22529 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
22531         glob: match dangling symlinks
22532         This fixes a bug I inadvertently introduced to Gnulib when I
22533         merged glibc glob back into gnulib on 2007-10-16.  This fix is
22534         inspired by a patch proposed for glibc by Adhemerval Zanella in:
22535         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
22536         * doc/posix-functions/glob.texi: Update list of affected platforms.
22537         * lib/glob.c (__lstat64): New macro.
22538         (is_dir): New function.
22539         (glob, glob_in_dir): Match symlinks even if they are dangling.
22540         (link_stat, link_exists_p): Remove.  All uses removed.
22541         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
22542         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
22543         * modules/glob-tests (Depends-on): Add symlink.
22544         * tests/test-glob.c: Include errno.h, unistd.h.
22545         (BASE): New macro.
22546         (main): Test dangling symlinks, if symlinks are supported.
22548         glob, backupfile: inode 0 is a valid inode number
22549         * doc/posix-functions/readdir.texi (readdir):
22550         * doc/posix-headers/dirent.texi (dirent.h):
22551         Document more readdir portability issues.
22552         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
22553         (numbered_backup): Don’t treat inode 0 any differently from
22554         other inode values.
22555         * lib/glob.c (struct readdir_result): Remove skip_entry member.
22556         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
22557         All uses removed.
22558         * modules/glob (Depends-on): Remove d-ino.
22560         glob: simplify symlink detection
22561         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
22562         uint8_t, as C99 does not require uint8_t.
22563         (struct readdir_result): Use it.  Do not define skip_entry unless
22564         it is needed; this saves a byte on platforms lacking d_ino.
22565         (readdir_result_type, readdir_result_skip_entry):
22566         New functions, replacing ...
22567         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
22568         ... these functions, which were removed.  This makes the callers
22569         easier to read.  All callers changed.
22570         (D_INO_TO_RESULT): Now empty if there is no d_ino.
22572 2017-08-30  Pádraig Brady  <P@draigBrady.com>
22574         fts-tests: tag as a longrunning-test so not included by default
22575         * modules/fts-tests: This test takes about 20s on current systems,
22576         and uses about 285M of space on ext4.
22578 2017-08-30  Pádraig Brady  <P@draigBrady.com>
22580         renameat2: fix compilation on alpine linux
22581         * m4/renameat.m4: Check for <linux/fs.h> presence.
22582         * lib/renameat2.h: Only include <linux/fs.h> if present.
22583         Reported by Assaf Gordon on Alpine Linux.
22585 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22587         glob: try to port recent changes to MS-Windows
22588         Problem reported by Bruno Haible in:
22589         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
22590         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
22591         * lib/glob.in.h (__glob_pattern_p): ... to here.
22593 2017-08-24  Eric Blake  <eblake@redhat.com>
22595         warnings: fix compilation with old autoconf
22596         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
22597         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
22598         AC_DEFUN.
22599         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
22600         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
22602 2017-08-24  Bruno Haible  <bruno@clisp.org>
22604         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
22605         * modules/glob (Depends-on): Add c99.
22607 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22609         glob: fix typo that broke platforms lacking d_ino
22610         This typo also hurt performance on GNU/Linux and similar hosts.
22611         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
22612         in previous change.
22614 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
22616         glob: merge from glibc with Zanella glob changes
22617         Merge glob from glibc, with changes for glob proposed
22618         by Adhemerval Zanella in the thread starting here:
22619         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
22620         plus some fixes for this merge.
22621         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
22622         New files, ported from glibc.
22623         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
22624         with __restrict.
22625         (__size_t): Remove.  All uses replaced by size_t.
22626         (size_t): Define by defining __need_size_t and including <stddef.h>.
22627         This should work even in non-glibc platforms, where any name
22628         pollution is OK.
22629         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
22630         (struct stat64): Don’t worry about __GLOB_GNULIB.
22631         (glob, globfree, glob_pattern_p): Remove macros for
22632         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
22633         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
22634         but set errno.
22635         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
22636         removed since the glibc behavior works on null pointers.
22637         Do not include stdio.h; old SunOS is irrelevant now.
22638         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
22639         Include glob_internal.h.
22640         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
22641         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
22642         worked only coincidentally.
22643         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
22644         Remove macros; now done in glob.in.h.
22645         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
22646         (glob): Properly initialize glob structure with
22647         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
22648         Remove old code using SHELL since Bash no longer
22649         uses this.
22650         (glob, prefix_array): Separate MS code better.
22651         (glob, glob_in_dir): Use C99 decls before statements when glibc
22652         does.
22653         (glob_in_dir): Remove old Amiga and VMS code.
22654         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
22655         separate files.
22656         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
22657         (__glibc_unlikely):
22658         Move here from glob.c.
22659         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
22660         (weak_alias): New macro.
22661         (__size_t): Remove.  All uses replaced by size_t.
22662         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
22663         * modules/glob (Files): Add +lib/glob_internal.h,
22664         lib/glob_pattern_p.c, lib/globfree.c.
22665         (Depends-on): Remove snippet/arg-nonnull.
22667 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
22669         glob: port to clang's Undefined Sanitizer
22670         Problem reported by Tim Rühsen in:
22671         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
22672         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
22673         (glob_in_dir): Do not rely on undefined behavior in accessing
22674         struct members beyond their bounds.  Use a flexible array member
22675         instead.
22677 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
22679         vc-list-files: port to Solaris 10
22680         * build-aux/vc-list-files: Don't assume test -e works.
22682 2017-08-21  Karl Berry  <karl@freefriends.org>
22684         * doc/posix-functions/srandom.texi (srandom): typo }.
22686 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
22688         git-version-gen: port to Solaris 10
22689         Problem reported by Dagobert Michelsen in:
22690         http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
22691         * build-aux/git-version-gen (v_from_git):
22692         Use expr instead of shell substitution.
22694 2017-08-19  Bruno Haible  <bruno@clisp.org>
22696         host-cpu-c-abi: Improve detection of MIPS ABI.
22697         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
22698         _MIPS_SIM.
22700 2017-08-17  Bruno Haible  <bruno@clisp.org>
22702         hypot tests: Fix test failure on FreeBSD 11.0/x86.
22703         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
22705 2017-08-17  Bruno Haible  <bruno@clisp.org>
22707         float: Fix LDBL_MIN value on FreeBSD/x86.
22708         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
22710 2017-08-17  Bruno Haible  <bruno@clisp.org>
22712         random: Fix test compilation failure on Cygwin 1.5.25.
22713         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
22714         HAVE_DECL_SETSTATE.
22715         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
22716         declared.
22717         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
22718         HAVE_DECL_SETSTATE.
22719         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
22720         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
22721         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
22722         * doc/posix-functions/random.texi: Likewise.
22723         * doc/posix-functions/setstate.texi: Likewise.
22724         * doc/posix-functions/srandom.texi: Likewise.
22726 2017-08-16  Bruno Haible  <bruno@clisp.org>
22728         stdnoreturn: Fix test compilation failure on Cygwin.
22729         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
22730         <stdnoreturn.h> replacement.
22731         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
22732         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
22734 2017-08-16  Bruno Haible  <bruno@clisp.org>
22736         thread: Fix conflict with pthread_sigmask module.
22737         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
22738         it's defined as a macro.
22739         * modules/thread (Depends-on): Add pthread_sigmask.
22741 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
22743         rename: port better to NetBSD
22744         * doc/posix-functions/rename.texi (rename): NetBSD 7
22745         does not have the link-count bug.
22746         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
22747         broken merely because rename ("a", "b") removes "a" when the two
22748         names are hard links to the same file.
22750 2017-08-16  Bruno Haible  <bruno@clisp.org>
22752         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
22753         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
22754         the target file names with '$(srcdir)/'.
22755         * modules/unicase/locale-language (Makefile.am): Likewise.
22756         * modules/unicase/special-casing (Makefile.am): Likewise.
22757         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
22758         * modules/unictype/category-byname (Makefile.am): Likewise.
22759         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
22760         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
22761         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
22762         * modules/unictype/property-byname (Makefile.am): Likewise.
22763         * modules/unictype/scripts (Makefile.am): Likewise.
22764         * modules/uninorm/composition (Makefile.am): Likewise.
22766 2017-08-16  Bruno Haible  <bruno@clisp.org>
22768         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
22769         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
22770         value for OpenBSD.
22772 2017-08-16  Bruno Haible  <bruno@clisp.org>
22774         rename, renameat: Update doc regarding NetBSD.
22775         * doc/posix-functions/rename.texi: Clarify that when using
22776         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
22777         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
22778         version.
22780 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
22782         renameat2: port better to macOS
22783         * lib/renameat2.c (renameat2): Use renameatx_np if available.
22785         futimens: don’t assume struct timespec layout
22786         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
22787         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
22788         * tests/test-fdutimensat.c (main):
22789         * tests/test-futimens.h (test_futimens):
22790         * tests/test-lutimens.h (test_lutimens):
22791         * tests/test-utimens.h (test_utimens):
22792         * tests/test-utimensat.c (main):
22793         Don’t assume that struct timespec is a two-member structure in
22794         tv_sec, tv_nsec order.  Although this is true on all platforms we
22795         know about, POSIX does not guarantee it.
22797         rename: document+test NetBSD rename
22798         Test failure reported by Bruno Haible in:
22799         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
22800         This is an area where NetBSD is better-behaved than POSIX,
22801         so allow the NetBSD behavior in tests.
22802         * doc/posix-functions/rename.texi:
22803         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
22804         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
22806 2017-08-15  Bruno Haible  <bruno@clisp.org>
22808         renameat: Ensure declaration in <stdio.h> on NetBSD.
22809         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
22810         * doc/posix-functions/renameat.texi: Mention this problem.
22812 2017-08-15  Bruno Haible  <bruno@clisp.org>
22814         duplocale: Work around NetBSD 7.0 bug.
22815         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
22816         * lib/duplocale.c: Add comment about NetBSD problem.
22817         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
22819 2017-08-15  Bruno Haible  <bruno@clisp.org>
22821         duplocale tests: Verify use with *_l functions.
22822         * modules/duplocale-tests (configure.ac): Test for uselocale and
22823         some *_l functions.
22824         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
22825         from main.
22826         (get_locale_dependent_values_from, test_with_locale_parameter): New
22827         functions.
22828         (main): Test both test_with_uselocale and test_with_locale_parameter.
22830 2017-08-15  Bruno Haible  <bruno@clisp.org>
22832         extensions: Enable NetBSD specific extensions.
22833         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
22835 2017-08-14  Bruno Haible  <bruno@clisp.org>
22837         open, openat: Update doc about O_CLOEXEC.
22838         * doc/posix-functions/open.texi: More concrete list of platforms.
22839         * doc/posix-functions/openat.texi: Likewise.
22841 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
22843         open: support O_CLOEXEC
22844         * NEWS, doc/posix-functions/open.texi:
22845         * doc/posix-functions/openat.texi: Document this.
22846         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
22847         (GNULIB_defined_O_CLOEXEC): New symbol.
22848         * lib/open.c: Include cloexec.h.
22849         (open): Support O_CLOEXEC.
22850         * lib/openat.c: Include cloexec.h.
22851         (rpl_openat): Support O_CLOEXEC.
22852         * lib/popen-safer.c: Do not include cloexec.h.
22853         (open_noinherit): Remove.
22854         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
22855         * lib/save-cwd.c: Do not include cloexec.h.
22856         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
22857         * m4/open-cloexec.m4: New file.
22858         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
22859         Replace 'open' if O_CLOEXEC is not present.
22860         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
22861         Replace 'openat' if O_CLOEXEC is not present.
22862         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
22863         * modules/open (Files): Add m4/open-cloexec.m4.
22864         (Depends-on): Depend on cloexec if replacing 'open'.
22865         * modules/openat (Files): Add m4/open-cloexec.m4.
22866         (Depends-on): Depend on cloexec if replacing openat.
22867         * modules/popen-safer (Depends-on): Remove cloexec.
22868         * modules/save-cwd (Depends-on): Remove cloexec, and add
22869         fd-safer-flag and 'open'.
22871 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
22873         reallocarray: minor fixes
22874         * doc/glibc-functions/reallocarray.texi: Update version numbers.
22875         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
22876         * modules/reallocarray (License): Change from GPL to LGPL.
22877         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
22878         Indent properly and don't use tabs.
22880 2017-08-13  Darshit Shah  <darnir@gnu.org>
22882         reallocarray: New module
22883         reallocarray is a new function in glibc 2.26 to safely allocate an array
22884         of memory locations with integer overflow protection.
22885         * MODULES.html.sh: Add reallocarray.
22886         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
22887         * lib/reallocarray.c: New file to implement module reallocarray.
22888         * lib/stdlib.in.h: Add function declarations for reallocarray.
22889         * m4/reallocarray.m4: New file.
22890         * m4/stdlib_h.m4: Declare reallocarray.
22891         * modules/reallocarray: New file.
22892         * modules/reallocarray-test: New file.
22893         * modules/stdlib: Coerce stdlib.h to export reallocarray.
22894         * tests/test-reallocarray.c: New test.
22896 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
22898         dirent-safer: fix cloexec race
22899         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
22900         (opendir_safer): Use F_DUPFD_CLOEXEC.
22901         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
22902         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
22903         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
22904         instead of dup_safer.
22906         fts: fix cloexec races
22907         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
22908         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
22909         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
22910         (fd_ring_check): Set cloexec flag on new file descriptors.
22911         (fts_build, fd_ring_check): While we’re at it, make sure the
22912         resulting file descriptor is not 0, 1, or 2, since that is easy.
22914 2017-08-11  Bruno Haible  <bruno@clisp.org>
22916         fts tests: Fix link error.
22917         Reported by Tom G. Christensen in
22918         https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
22919         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
22921 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
22923         fts: port recent changes to CentOS 6
22924         Problem reported by Tom G. Christensen in:
22925         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
22926         * lib/fts.c (fsword): New type.
22927         (struct dev_type, filesystem_type): Use it.
22928         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
22929         Also, check for f_type only if fstatfs and sys/vfs.h work.
22931 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
22933         tempname: do not depend on secure_getenv
22934         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
22935         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
22936         * modules/tempname (Depends-on): Remove secure_getenv.
22938 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
22940         extensions: add _OPENBSD_SOURCE
22941         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
22943 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
22944             Bruno Haible  <bruno@clisp.org>
22946         manywarnings: Add support for C++.
22947         * build-aux/g++-warning.spec: New file.
22948         * m4/manywarnings-c++.m4: New file.
22949         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
22950         redirects to manywarnings-c++.m4.
22951         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
22953 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
22955         git-version-gen: another fix for tags with "-"
22956         * build-aux/git-version-gen: Improve fix for tags containing "-".
22957         Suggested by Markus Armbruster in:
22958         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html
22960 2017-08-06  Bruno Haible  <bruno@clisp.org>
22962         warnings, manywarnings: Add support for multiple languages, not just C.
22963         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
22964         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
22965         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
22966         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
22967         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
22968         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
22969         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
22970         of the current language. If C++ is the current language, modify
22971         WARN_CXXFLAGS instead of WARN_CFLAGS.
22972         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
22973         gl_MANYWARN_ALL_GCC.
22974         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
22976 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
22978         git-version-gen: Fix for tags containing '-'
22980         Really old versions of git-describe (before v1.5.0, Feb 2007)
22981         don't have the number of commits in their long format output,
22982         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
22983         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
22984         recognizes both patterns, and normalizes the old format to the new one.
22986         Unfortunately, this normalization code gets confused when the tag
22987         contains '-'.  Reproducer:
22989             $ git-tag -m test v0.2-rc1
22990             $ build-aux/git-version-gen .tarball-version; echo
22991             build-aux/git-version-gen: WARNING: git rev-list failed
22992             UNKNOWN
22994         We take exact tag "v0.2-rc1" for the old format, extract the presumed
22995         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
22996         commits since tha tag.  Fails, because tag "v0.2" does not exist.
22998         * git-version-gen: We could perhaps drop support for versions from
22999         more than a decade ago.  But tightening the pattern match is easy
23000         enough, so do that.  Still breaks when you use version tags ending in
23001         something matching -g????, but you arguably get what you deserve then.
23003 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
23005         valgrind-tests: use ls, and cache
23006         * m4/valgrind-tests.m4: Test ls, not bash.
23007         Problem reported by Reuben Thomas.
23008         Also, cache the result so that it can be overridden.
23010 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
23012         manywarnings: port to 64-bit GCC builds of Emacs
23013         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
23014         object size rather than hardwiring 2147483647.  This is needed to
23015         build GNU Emacs, which has one conditional (and used
23016         only-in-theory) call to malloc with a literal greater than
23017         2147483647.
23019 2017-08-04  Bruno Haible  <bruno@clisp.org>
23021         Relax the license of some modules with no runtime code.
23022         * modules/std-gnu11 (License): Set to 'unlimited'.
23023         * modules/c99 (License): Likewise.
23024         Reported by Reuben Thomas <rrt@sc3d.org>.
23025         * modules/d-ino (License): Set to 'LGPL'.
23026         * modules/host-os (License): Likewise.
23027         * modules/longlong (License): Likewise.
23029 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
23031         renameat2: port to RHEL 7 + NFS
23032         * lib/renameat2.c (renameat2) [SYS_renameat2]:
23033         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
23034         http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
23036 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
23038         renameat2: port to non-renameat platforms
23039         Problem reported for MSVC-2015 by Gisle Vanem in:
23040         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
23041         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
23042         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
23044 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
23046         manywarnings: port to 32-bit GCC bug
23047         Problem reported by Pino Toscano in:
23048         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
23049         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
23050         not 2**63 - 1, to work around the following GCC bug:
23051         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
23053 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
23055         backupfile: new function to validate backup suffix
23056         * lib/backupfile.c (set_simple_backup_suffix): New function.
23057         (backupfile_internal): Use it.
23059         canonicalize: fix EOVERFLOW commentary
23060         Problem reported by Bruno Haible in:
23061         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
23062         * lib/canonicalize.c (canonicalize_filename_mode):
23063         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
23065         Don't interpret EOVERFLOW to mean nonexistence
23066         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
23067         may be EOVERFLOW; this is likely more useful than reporting the
23068         stat errno.
23069         * lib/glob.c (link_stat): Rename from link_exists2_p and
23070         return -1/0 instead of 0/1.  Caller changed.
23071         * lib/glob.c (link_exists_p):
23072         * lib/renameat2.c (rename_noreplace, renameat2):
23073         * lib/tempname.c (try_nocreate):
23074         If errno == EOVERFLOW then the directory entry exists, so do not
23075         act as if it does not exist.
23077         backup-rename: new module
23078         It is like backupfile, except it avoids some race conditions,
23079         and it does not output to stderr or exit.
23080         * MODULES.html.sh: Add backup-rename.
23081         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
23082         * modules/backup-rename: New files.
23083         * lib/backupfile.c: Turn this into an internals file, which
23084         contains code common to backupfile and backup_rename.  Include
23085         backupfile-internal.h instead of backupfile.h.  Do not include
23086         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
23087         renameat2.h and fcntl.h.
23088         (BACKUP_NOMEM): New constant.
23089         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
23090         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
23091         (backupfile_internal): Rename from find_backup_file_name.
23092         Support new arg RENAME.
23093         (backup_args, backup_types, get_version, xget_version):
23094         Move to lib/backup-find.c.
23095         * lib/backupfile.h (backup_file_rename): New decl.
23096         * modules/backupfile (Files): Add lib/backup-internal.h,
23097         lib/backup-find.c.
23098         (Depends-on): Add dirfd, fcntl, renameat2.
23099         (lib_SOURCES): Add backup-find.c.
23101         renameat2: port better to older Solaris
23102         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
23103         Add goto to use a label, to silence picky compilers.
23105         fts-tests: port to gcc -Wwrite-strings
23106         * tests/test-fts.c (base, base_d): New static vars.
23107         (argv, remove_tree, main): Use them.
23109 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
23111         relocatable-lib{,-lgpl}: improve documentation
23112         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
23113         Various other updates.
23115 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
23116             Bruno Haible  <bruno@clisp.org>
23118         relocatable-lib{,-lgpl}: add Valgrind suppressions
23119         * lib/relocatable.valgrind: New file.
23120         * modules/relocatable-lib (Files): Add relocatable.valgrind.
23121         * modules/relocatable-lib-lgpl: Likewise.
23123 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
23125         relocatable: Make the license on the sources the GPL.
23126         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
23127         LGPL, which was a special case so that the relocatable source files
23128         could be used without gnulib-tool, to GPL. They can still be used under
23129         the LGPL, using the --lgpl option to gnulib-tool.
23131 2017-07-30  Bruno Haible  <bruno@clisp.org>
23133         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
23134         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
23135         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
23136         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
23137         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
23139 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
23141         faccessat: document AT_SYMLINK_NOFOLLOW issue
23142         * doc/posix-functions/faccessat.texi: Modernize platform list.
23143         Document AT_SYMLINK_NOFOLLOW limitation.
23145         renameat2: port to Solaris 10
23146         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
23147         with AT_SYMLINK_NOFOLLOW (which is not portable).
23148         (renameat): Undef before using, to avoid endless recursion when
23149         the replacement renameat calls renameat2 which calls the
23150         replacement renameat.
23151         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
23152         * modules/renameat2 (Depends-on): Remove faccessat.
23153         * modules/renameat-tests (test_renameat_LDADD):
23154         * modules/renameat2-tests (test_renameat2_LDADD):
23155         Remove $(LIB_EACCESS).
23157         renameat2: new module
23158         Although the Linux syscall renameat2 is not in glibc (yet?), it is
23159         useful to have access to its RENAME_NOREPLACE flag.
23160         * MODULES.html.sh (func_all_modules): Add renameat2.
23161         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
23162         * modules/renameat2-tests, tests/test-renameat2.c: New files.
23163         * lib/renameat.c (renameat): Move most of the implementation
23164         to renameat2, and just call renameat2.
23165         * modules/renameat (Files): Remove lib/at-func2.c.
23166         (Depends-on): Depend only on renameat2.
23167         (Include): Remove <fcntl.h>.
23168         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
23169         since renameat (via renameat2) might use faccessat.
23171 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
23173         vc-list-files: Adjust the script to support git worktrees
23174         * build-aux/vc-list-files: Require existence, not directory.
23176 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
23178         doc: bring MODULES.html.sh up to date
23179         Somehow a few months ago we stopped updating MODULES.html.sh.
23180         I don’t recall explicitly deciding this, so I updated it now.
23181         Alternatively I suppose we could remove it.
23182         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
23183         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
23184         truncate, utime, utime-h, windows-stat-inodes,
23185         windows-stat-override, windows-stat-timespec, year2038.  Sort.
23187 2017-07-26  Jim Meyering  <meyering@fb.com>
23189         fprintftime: fix build-break caused by recent renaming
23190         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
23191         "strftime.c".
23192         * modules/fprintftime: Depend directly on nstrftime.
23194 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
23196         regex: work with GCC7's -Werror=implicit-fallthrough=
23197         * lib/regex_internal.h (FALLTHROUGH): New macro.
23198         * lib/regcomp.c (peek_token_bracket, parse_expression):
23199         * lib/regexec.c (check_node_accept): Use it.
23201 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
23203         fts: simplify fts_build
23204         * lib/fts.c (fts_build): Simplify, and be lazier about
23205         calling leaf_optimization.
23207         fts: three levels of leaf optimization
23208         * lib/fts.c (enum leaf_optimization): New type with three values.
23209         (S_MAGIC_AFS): New macro.  Sort them.
23210         (leaf_optimization): Rename from leaf_optimization_applies, and
23211         return enum leaf_optimization instead of bool.  All uses changed.
23212         Add cases for unknown type and for AFS.
23213         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
23215         fts: cache dirent_inode_sort_may_be_useful too
23216         * lib/fts.c (struct dev_type): New struct.
23217         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
23218         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
23219         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
23220         Now takes FTSENT const *, not int.  All uses changed.  Use
23221         filesystem_type to cache.
23222         (link_count_optimize_ok): Remove.  Caller changed to use
23223         leaf_optimization_applies, which now uses shared cache.
23225         fts: introduce MIN_DIR_NLINK
23226         * lib/fts.c (MIN_DIR_NLINK): New constant.
23227         Use it instead of 2, whenever we are talking about link counts.
23229         fts: nlink_t signedness fixups
23230         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
23231         so that root need not be a special case later.
23232         (fts_read): Remove now-redundant test for fts_level.
23233         Do not assume that nlink_t is signed.
23234         (fts_build): Remove useless decrement of nlinks.
23235         (fts_stat): Avoid unlikely signed integer overflow later, if
23236         nlink_t is signed.
23238         fts-tests: new module
23239         * modules/fts-tests, tests/test-fts.c: New files.
23241 2017-07-23  Bruno Haible  <bruno@clisp.org>
23243         Rename module 'strftime' to 'nstrftime'.
23244         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
23245         * lib/nstrftime.c: Renamed from lib/strftime.c.
23246         * modules/nstrftime: Renamed from modules/strftime.
23247         (Files, Makefile.am): Update.
23248         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
23249         Fix comment.
23250         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
23251         (Files, Makefile.am): Update.
23252         * modules/strftime: New file, an obsolete indirection.
23253         * doc/posix-functions/strftime.texi: Update reference.
23254         * config/srclist.txt: Update info.
23255         * NEWS: Mention the change.
23257 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
23259         malloca: Silence a warning from clang's memory sanitizer.
23260         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
23261         (freea): Use it.
23263 2017-07-18  Bruno Haible  <bruno@clisp.org>
23265         host-cpu-c-abi: Fix detection of MIPS ABI.
23266         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
23267         ABI, not the CPU instruction set.
23269 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
23271         explicit_bzero: new module
23272         The explicit_bzero function has been added to glibc.
23273         This module is intended to supports its use in GNU programs.
23274         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
23275         * m4/explicit_bzero.m4, modules/explicit_bzero:
23276         New files.
23277         * doc/gnulib.texi (Glibc string.h): Link to new doc.
23278         * lib/string.in.h (explicit_bzero): Declare.
23279         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
23280         * modules/string (string.h): Substitute its vars.
23282 2017-07-16  Bruno Haible  <bruno@clisp.org>
23284         threadlib: Support static linking.
23285         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
23286         set gl_cv_have_weak to 'no'.
23288 2017-07-16  Bruno Haible  <bruno@clisp.org>
23290         unicase/locale-language: Fix link dependencies.
23291         * modules/unicase/locale-language (Link): New section.
23292         * modules/unicase/locale-language-tests (Makefile.am): Link
23293         test-locale-language program with $(LIBTHREAD).
23295 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
23297         sys_socket: Add support for OpenVMS.
23298         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
23299         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
23301 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
23303         sys_resource: Add support for OpenVMS.
23304         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
23305         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
23307 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
23308             Bruno Haible  <bruno@clisp.org>
23310         math: Add support for OpenVMS.
23311         * lib/math.in.h [__VMS]: Include <fp.h>.
23312         * doc/posix-headers/math.texi: Mention OpenVMS issues.
23314 2017-07-15  Bruno Haible  <bruno@clisp.org>
23316         getdtablesize: Add minimal support for OpenVMS.
23317         Reported by John E. Malmberg <wb8tyw@qsl.net>.
23318         * modules/getdtablesize (Description): Fix.
23319         * lib/getdtablesize.c: Fix comment.
23320         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
23321         getdtablesize() function, even though the test fails.
23322         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
23323         limitation on OpenVMS.
23325 2017-07-13  Bruno Haible  <bruno@clisp.org>
23327         Revisit cross-compilation guesses.
23328         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
23330 2017-07-13  Bruno Haible  <bruno@clisp.org>
23332         Improve cross-compilation guesses for native Windows.
23333         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
23334         Windows.
23335         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
23336         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
23337         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
23338         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
23339         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
23340         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
23341         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
23342         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
23343         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
23344         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
23345         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
23346         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
23347         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
23348         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
23349         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
23350         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
23351         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
23352         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
23353         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
23354         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
23355         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
23356         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
23357         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
23358         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
23359         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
23360         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
23361         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
23362         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
23363         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
23364         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
23365         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23366         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
23367         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
23368         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
23369         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
23370         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
23371         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
23372         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
23373         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
23374         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
23375         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
23376         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
23377         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
23378         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
23379         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
23380         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
23381         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
23382         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
23383         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
23384         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
23385         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
23386         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
23387         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
23388         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
23389         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
23390         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
23391         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
23392         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
23393         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
23394         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
23395         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
23396         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
23397         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
23398         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
23399         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
23400         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23401         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
23402         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
23403         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
23404         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
23405         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
23406         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
23407         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
23408         * m4/regex.m4 (gl_REGEX): Likewise.
23409         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
23410         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
23411         gl_FUNC_REMAINDERF_WORKS): Likewise.
23412         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
23413         gl_FUNC_REMAINDERL_WORKS): Likewise.
23414         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
23415         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
23416         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23417         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
23418         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
23419         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
23420         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
23421         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
23422         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
23423         * m4/stdint.m4 (gl_STDINT_H): Likewise.
23424         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
23425         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
23426         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
23427         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
23428         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
23429         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
23430         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
23431         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
23432         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
23433         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
23434         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
23435         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
23436         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23437         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
23438         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
23439         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
23440         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
23441         Likewise.
23442         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
23443         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
23444         Windows. Enable also on Autoconf 2.70.
23445         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
23446         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
23447         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
23448         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
23449         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
23450         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
23451         for native Windows.
23452         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
23453         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
23455 2017-07-13  Bruno Haible  <bruno@clisp.org>
23457         Improve cross-compilation guesses for native Windows.
23458         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
23459         Windows.
23460         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
23461         memchr.m4.
23462         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
23464 2017-07-13  Bruno Haible  <bruno@clisp.org>
23466         Improve cross-compilation guesses for native Windows.
23467         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
23468         native Windows.
23469         (gl_FUNC_FFLUSH): Update accordingly.
23470         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
23471         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
23473 2017-07-11  Bruno Haible  <bruno@clisp.org>
23475         More systematic m4 quoting and indentation.
23476         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
23477         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
23478         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
23479         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
23480         * m4/host-os.m4 (gl_HOST_OS): Likewise.
23481         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
23482         gl_WINSIZE_IN_PTEM): Likewise.
23483         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
23484         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
23485         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
23486         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
23487         Correct indentation.
23488         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
23489         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
23490         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
23491         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
23492         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
23493         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
23495 2017-07-10  Bruno Haible  <bruno@clisp.org>
23497         round, roundf: Avoid compiler warning in configure test.
23498         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
23499         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
23501 2017-07-10  Bruno Haible  <bruno@clisp.org>
23503         getlogin tests: Avoid #ifdefs when sharing code between modules.
23504         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
23505         * modules/getlogin-tests (Files): Likewise. Remove
23506         tests/test-getlogin_r.c.
23507         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
23508         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
23509         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
23510         getlogin().
23512 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
23514         getlogin: don’t assume one name per uid
23515         Problem reported by Wolfgang F. Muthmann (Bug#27640).
23516         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
23517         (ttyname): Remove test.
23518         * modules/getlogin_r-tests (ttyname): Remove test.
23519         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
23520         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
23521         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
23522         getlogin rather than getlogin_r.  This avoids code duplication.
23523         (main): Use isatty and fstat rather than ttyname and stat.
23524         Use getpwnam instead of getpwuid, to be portable to test platforms
23525         that have multiple login names for the same uid.
23527 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
23528             Bruno Haible  <bruno@clisp.org>
23530         glob: Fix more memory leaks.
23531         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
23532         returning.
23533         Reported by Tim Rühsen.
23535 2017-07-10  Bruno Haible  <bruno@clisp.org>
23537         Make sure $host and $host_os are defined when used.
23538         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
23539         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
23540         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
23541         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
23542         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
23543         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
23544         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
23545         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
23546         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
23547         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
23548         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
23549         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
23550         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
23551         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
23552         m4_ifdef block.
23554 2017-07-09  Bruno Haible  <bruno@clisp.org>
23556         *printf: Fix cross-compilation guess for Solaris.
23557         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
23558         2010-12-21.
23560 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
23561             Bruno Haible  <bruno@clisp.org>
23563         vasnprintf: port to macOS 10.13
23564         Problem reported by comex in:
23565         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
23566         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
23568 2017-07-06  Bruno Haible  <bruno@clisp.org>
23570         imaxdiv tests: Fix logic.
23571         * tests/test-imaxdiv.c (main): Use == instead of =.
23572         Reported by Coverity.
23574 2017-07-06  Bruno Haible  <bruno@clisp.org>
23576         uninorm/filter: Fix use-after-free bug.
23577         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
23578         sortbuf == filter->sortbuf invariant.
23579         Reported by Coverity.
23581 2017-07-06  Bruno Haible  <bruno@clisp.org>
23583         glob: Fix more memory leaks.
23584         * lib/glob.c (glob): Free dirname before returning.
23585         Reported by Coverity and Tim Rühsen.
23587 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
23589         parse-datetime: fix uninit var bug
23590         Reported by Bruno Haible in:
23591         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
23592         * lib/parse-datetime.y (parse_datetime2): Do not use
23593         uninitialized.
23595 2017-07-05  Bruno Haible  <bruno@clisp.org>
23597         doc: Update for MSVC 14.
23598         * doc/posix-headers/*.texi: Add info about MSVC 14.
23599         * doc/posix-functions/*.texi: Likewise.
23600         * doc/pastposix-functions/*.texi: Likewise.
23601         * doc/glibc-headers/*.texi: Likewise.
23602         * doc/glibc-functions/*.texi: Likewise.
23604 2017-07-05  Bruno Haible  <bruno@clisp.org>
23606         sched: Fix build failure on native Windows (regression from 2017-06-19).
23607         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
23609 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
23611         stdioext: Port to OpenVMS.
23612         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
23613         * lib/fpending.c (fpending): Remove non-working VMS specific code.
23614         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
23615         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
23616         * lib/fpurge.c (fpurge): Likewise.
23617         * lib/freadable.c (freadable): Likewise.
23618         * lib/freadahead.c (freadahead): Likewise.
23619         * lib/freading.c (freading): Likewise.
23620         * lib/freadptr.c (freadptr): Likewise.
23621         * lib/freadseek.c (freadseek): Likewise.
23622         * lib/fseeko.c (fseeko): Likewise.
23623         * lib/fseterr.c (fseterr): Likewise.
23624         * lib/fwritable.c (fwriteable): Likewise.
23625         * lib/fwriting.c (fwriting): Likewise.
23627 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
23629         glob: Declare variables at the very start of their scope.
23630         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
23631         its separate scope, so the functions will compile on Haiku.
23633 2017-07-01  Bruno Haible  <bruno@clisp.org>
23635         logbl: Work around a glibc bug on PowerPC64LE.
23636         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
23637         numbers.
23638         * doc/posix-functions/logbl.texi: Update.
23640 2017-06-29  Bruno Haible  <bruno@clisp.org>
23642         stat, fstat: Compile stat-w32.c only on platforms that need it.
23643         Suggested by Paul Eggert.
23644         * modules/stat (configure.ac): Request stat-w32.o only on native
23645         Windows.
23646         * modules/fstat (configure.ac): Likewise.
23648 2017-06-25  Bruno Haible  <bruno@clisp.org>
23650         stat: Improve last change.
23651         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
23653 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
23655         stat: port to xlc 12.01
23656         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
23657         12.01 complains "Compilation unit is empty."
23659 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
23661         xalloc-oversized: port to icc
23662         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
23663         __builtin_mul_overflow if ICC is defined, as this results in
23664         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
23665         20170213.
23667 2017-06-19  Bruno Haible  <bruno@clisp.org>
23669         classpath: Avoid including config.h twice, as it produces warnings.
23670         Reported by John E. Malmberg <wb8tyw@gmail.com>.
23671         * lib/classpath.h: Conditionalize the include of config.h.
23673 2017-06-19  Bruno Haible  <bruno@clisp.org>
23674             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
23676         sched: Fix compilation failure on OpenVMS.
23677         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
23678         test whether <pthread.h> exists and defines struct sched_param.
23679         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
23681 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
23683         diffseq: port to GCC 7 with --enable-gcc-warnings
23684         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
23685         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
23686         not complain about big_snake being defined but not used.
23688 2017-06-15  Bruno Haible  <bruno@clisp.org>
23690         gettext-h: Update theoretical condition for use of variable size arrays.
23691         Reported by Paul Eggert.
23692         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
23693         to include the theoretical condition for availability of variable size
23694         arrays, if we could trust the value of __STDC_VERSION__.
23696 2017-06-12  Bruno Haible  <bruno@clisp.org>
23698         Relicense some modules under LGPLv2+.
23699         Daiki Ueno's approval is in
23700         https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
23701         * modules/uniwidth/base (License): Change to LGPLv2+.
23702         * modules/uniwidth/width (License): Likewise.
23704 2017-06-11  Bruno Haible  <bruno@clisp.org>
23706         localename: Fix test failure on DragonFly BSD.
23707         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
23708         like FreeBSD.
23710 2017-06-11  Bruno Haible  <bruno@clisp.org>
23712         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
23713         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
23714         * lib/float.in.h: Likewise.
23715         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
23717 2017-06-11  Bruno Haible  <bruno@clisp.org>
23719         gnulib-tool: Clean up after autotools.
23720         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
23721         useless directory left over by the Autotools.
23723 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
23725         getopt-posix: port to glibc 2.25.90
23726         Problem reported by Daniel P. Berrange in:
23727         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
23728         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
23729         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
23730         #undef if __GETOPT_PREFIX is defined.
23732 2017-06-11  Bruno Haible  <bruno@clisp.org>
23734         strtod-obsolete: Fix license.
23735         * modules/strtod-obsolete (License): Change to LGPL.
23737 2017-06-10  Jim Meyering  <meyering@fb.com>
23739         maint: update to work with GCC7's -Werror=implicit-fallthrough=
23740         * lib/savewd.c (FALLTHROUGH): Define.
23741         (savewd_save, savewd_restore): Use this, rather than a comment,
23742         whenever one switch case falls through into the next.
23744 2017-06-08  Bruno Haible  <bruno@clisp.org>
23746         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
23747         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
23748         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
23749         case.
23751 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
23753         doc: remove robots, add prereqs
23754         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
23755         builds.  Simon's robot site does not seem to be up, so remove
23756         mentions of it for now.
23758 2017-06-08  Bruno Haible  <bruno@clisp.org>
23760         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
23761         * gnulib-tool (func_symlink_target): New function, extracted from
23762         func_symlink.
23763         (func_symlink, func_symlink_if_changed): Use it.
23765 2017-06-08  Bruno Haible  <bruno@clisp.org>
23767         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
23768         * gnulib-tool (func_ln_s): Determine cp_src correctly.
23770 2017-06-07  Bruno Haible  <bruno@clisp.org>
23772         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
23773         Reported by John E. Malmberg <wb8tyw@gmail.com> in
23774         <https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
23775         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
23776         override, pass 2 arguments to getcwd, not 3.
23778 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
23780         same-inode: port better to VMS 8.2 and later
23781         Problem reported by John E. Malmberg in:
23782         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
23783         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
23784         Use the usual POSIX definition.
23785         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
23787 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
23789         error: fix POSIX violation for va_end
23790         Problem reported by Bruno Haible in:
23791         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
23792         * lib/error.c (error_tail): Do not call va_end here.
23793         (error, error_at_line): Call it here instead.
23795 2017-05-28  Bruno Haible  <bruno@clisp.org>
23797         c-strtod: Make it usable in C++ mode.
23798         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
23800 2017-05-25  Jim Meyering  <meyering@fb.com>
23802         quotearg: fix compilation failure due to FALLTHROUGH misuse
23803         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
23804         macro back to /* fall through */ comment.  The macro can apply only
23805         to a following case statement.  Reported by Assaf Gordon.
23807 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
23809         intprops: port to recent icc
23810         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
23811         but does not support __builtin_add_overflow etc.
23812         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
23813         Define to 0.
23815 2017-05-23  Karl Berry  <karl@freefriends.org>
23817         * config/srclist.txt (iconv.m4): sync broken, comment out
23818         until (hopefully) the next gettext release.
23820 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
23822         Remove repeated words in comments.
23824 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
23826         fallthrough: reinstate a FALLTHROUGH instance in quotearg
23827         quotearg.c: Reinstate this instance which is significant
23828         when the if branch is not taken.
23830 2017-05-21  Bruno Haible  <bruno@clisp.org>
23832         gnulib-tool: Add options to create hard links.
23833         * gnulib-tool (func_usage): Document options --hardlink,
23834         --local-hardlink, --more-hardlinks.
23835         (func_symlink): Renamed from func_ln.
23836         (func_symlink_if_changed): Renamed from func_ln_if_changed.
23837         (func_hardlink): New function.
23838         (copymode, lcopymode): New variables.
23839         (symbolic, lsymbolic): Remove variables.
23840         (Options): Implement options --hardlink, --local-hardlink,
23841         --more-hardlinks.
23842         (func_should_link): Renamed from func_should_symlink. Set copyaction.
23843         (func_add_file, func_update_file): Update invocation of
23844         func_should_link. Invoke func_hardlink when appropriate.
23845         (func_import): Update comments.
23846         (func_create_testdir): Update invocation of func_should_link. Invoke
23847         func_hardlink when appropriate.
23848         Finally, invoke 'git update-index --refresh' to mitigate the effects of
23849         the hard links on git.
23851 2017-05-20  Bruno Haible  <bruno@clisp.org>
23853         argp: Simplify bit manipulation.
23854         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
23855         on a signed integer type.
23857 2017-05-20  Bruno Haible  <bruno@clisp.org>
23859         Avoid wrong configure results with gcc -fsanitize=address.
23860         This completes the work done on 2016-02-06 on this topic.
23861         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
23862         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
23863         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
23864         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
23865         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
23866         returning.
23867         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
23868         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
23869         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23870         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
23871         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
23872         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
23873         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
23874         free allocated memory before returning.
23875         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
23876         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
23877         objects before returning.
23878         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
23879         returning.
23881 2017-05-20  Bruno Haible  <bruno@clisp.org>
23883         gnulib-tool: Don't create hard links between gnulib and its testdirs.
23884         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
23886 2017-05-20  Bruno Haible  <bruno@clisp.org>
23888         argp, tsearch tests: Fix file list.
23889         * modules/argp-tests (Files): Add tests/macros.h.
23890         * modules/tsearch-tests (Files): Likewise.
23892 2017-05-20  Bruno Haible  <bruno@clisp.org>
23894         getopt-posix tests: Remove redundant include.
23895         * tests/test-getopt.h: Don't include "macros.h". It's already included
23896         by tests/test-getopt-main.h.
23898 2017-05-19  Jim Meyering  <meyering@fb.com>
23900         dfa: two small simplifications
23901         * lib/dfa.c (build_state): Avoid repeating longer expressions.
23903 2017-05-18  Jim Meyering  <meyering@fb.com>
23905         fallthrough: update for GCC 7/8
23906         * lib/quotearg.c (FALLTHROUGH): New macro.
23907         Use it whenever one switch case falls through into the next,
23908         replacing "/* Fall through */" comments.  This exposed one
23909         instance of an unwarranted "fall through" comment: unwarranted
23910         because it preceded a "goto" label not a case statement.
23911         * lib/freopen-safer.c (freopen_safer): Likewise.
23912         * lib/fts.c (leaf_optimization_applies): Likewise.
23913         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
23914         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
23915         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
23916         tests/macros.h for the definition.
23917         * tests/test-argp.c (group1_parser): Likewise.
23918         * tests/test-getopt.h (getopt_loop): Likewise.
23920 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
23922         argp: fix shift bug
23923         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
23924         behavior on shift overflow, caught by gcc -fsanitize=undefined.
23926         argp: fix pointer-subtraction bug
23927         * lib/argp-help.c (hol_append): Don’t subtract pointers to
23928         different arrays, as this can run afoul of -fcheck-pointer-bounds.
23929         See the thread containing Bruno Haible’s report in:
23930         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html
23932 2017-05-19  Bruno Haible  <bruno@clisp.org>
23934         printf-posix tests: Avoid test failure with "gcc --coverage".
23935         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
23936         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
23937         than 5000000.
23938         * tests/test-fprintf-posix2.c (main): Likewise.
23940 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
23942         closeout: don’t close stderr when sanitizing
23943         * NEWS: Document this.
23944         * lib/closeout.c (__has_feature): New macro, if not already defined.
23945         (SANITIZE_ADDRESS): New constant.
23946         (close_stdout): Don’t close stderr if sanitizing addresses.
23948 2017-05-19  Bruno Haible  <bruno@clisp.org>
23950         get-rusage-data tests: Avoid failure on Linux/glibc.
23951         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
23952         on glibc systems.
23954 2017-05-18  Bruno Haible  <bruno@clisp.org>
23956         localename: Include necessary header files on Cygwin.
23957         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
23958         where NL_LOCALE_NAME is defined.
23960 2017-05-18  Bruno Haible  <bruno@clisp.org>
23962         gettext: Update macros from gettext git.
23963         * m4/intldir.m4: Require Autoconf >= 2.60.
23964         * m4/progtest.m4: Fix typos in copyright notice.
23966 2017-05-18  Bruno Haible  <bruno@clisp.org>
23968         copy-file tests: Fix link error (regression from 2017-05-01).
23969         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23970         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
23971         $(LIB_CLOCK_GETTIME).
23973 2017-05-18  Bruno Haible  <bruno@clisp.org>
23975         unicase/special-casing: Fix incompatibility with gperf-3.0.4
23976         (regression from 2017-02-13).
23977         * lib/unicase/special-casing.in.h: Renamed from
23978         lib/unicase/special-casing.h.
23979         * modules/unicase/special-casing (Files): Add
23980         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
23981         (Makefile.am): Add rule for generating unicase/special-casing.h.
23982         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
23983         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
23984         not "special-casing.h".
23985         * lib/unicase/u*.c: Likewise.
23987 2017-05-17  Bruno Haible  <bruno@clisp.org>
23989         README: Don't ask people to read a TeXinfo file.
23990         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
23991         * README: Tell people how to read the HTML formatted manual.
23993 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
23995         parse-datetime: Fix memleak
23996         * lib/parse-datetime.y (parse_datetime2): Cleanup on
23997         localtime_rz() failure.
23999 2017-05-16  Bruno Haible  <bruno@clisp.org>
24001         javacomp: Fix handle leak.
24002         Found by Coverity.
24003         * lib/javacomp.c (get_classfile_version): Close fd before returning.
24005 2017-05-16  Bruno Haible  <bruno@clisp.org>
24007         relocate: Make it easier to reclaim allocated memory.
24008         * lib/relocatable.h (relocate2): New declaration/macro.
24009         * lib/relocatable.c (relocate2): New function.
24010         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
24011         relocate2 function.
24012         * lib/localcharset.c (relocate2): Define fallback.
24013         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
24014         allocated memory.
24015         * lib/javaversion.c (relocate2): Define fallback.
24016         (javaexec_version): Invoke relocate2 instead of relocate. Free the
24017         allocated memory.
24019 2017-05-16  Bruno Haible  <bruno@clisp.org>
24021         relocate: Simplify EMX specific code.
24022         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
24023         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
24025 2017-05-16  Bruno Haible  <bruno@clisp.org>
24027         sigpipe tests: Fix file list.
24028         * modules/sigpipe-tests (Files): Add tests/macros.h.
24030 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
24032         manywarnings: update for GCC 7
24033         * build-aux/gcc-warning.spec:
24034         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
24035         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
24036         requires a non-comment fallthrough attribute.  This is a bit
24037         cleaner than the comment versions.
24038         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
24039         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
24040         Use it whenever one switch case falls through into the next.
24041         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
24042         Use FALLTHROUGH macro.
24044 2017-05-15  Bruno Haible  <bruno@clisp.org>
24046         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
24047         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
24048         @ALLOCA@, not @LTALLOCA@.
24050 2017-05-15  Bruno Haible  <bruno@clisp.org>
24052         sys_select: Avoid "was expanded before it was required" warning.
24053         * modules/sys_select (configure.ac): Require, not invoke,
24054         gl_HEADER_SYS_SELECT.
24056 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
24058         gnulib-tool: improve GNU Make debugging
24059         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
24060         Report autoconf diagnostics when it fails, in the output makefile.
24062 2017-05-14  Bruno Haible  <bruno@clisp.org>
24064         stat-time tests: Improve comment.
24065         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
24067 2017-05-14  Bruno Haible  <bruno@clisp.org>
24069         same-inode: Adapt for windows-stat-inodes.
24070         * lib/same-inode.h: Include <sys/types.h>.
24071         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
24072         * modules/same-inode (Depends-on): Add sys_types.
24074 2017-05-14  Bruno Haible  <bruno@clisp.org>
24076         windows-stat-inodes: New module.
24077         * m4/windows-stat-inodes.m4: New file.
24078         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
24079         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
24080         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
24081         (_GL_WINDOWS_STAT_INODES): New macro.
24082         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
24083         (GetFileInformationByHandleExFunc): New variable.
24084         (initialize): Initialize it.
24085         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
24086         st_ino appropriately.
24087         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
24088         a fallback, because it does not provide st_dev and st_ino values.
24089         * modules/fstat (Depends-on): Add 'verify'.
24090         * modules/windows-stat-inodes: New file.
24091         * doc/windows-stat-inodes.texi: New file.
24092         * doc/gnulib.texi: Include it.
24093         * doc/posix-headers/sys_stat.texi: Mention the new module.
24095 2017-05-14  Bruno Haible  <bruno@clisp.org>
24097         stat-time tests: Workaround for native Windows.
24098         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
24099         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
24100         New variables.
24101         (initialize_filenames): New function.
24102         (main): Invoke it.
24103         (cleanup, prepare_test): Update.
24105 2017-05-14  Bruno Haible  <bruno@clisp.org>
24107         stat-time: Adapt for windows-stat-timespec.
24108         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
24109         entire st_ctim field.
24111 2017-05-13  Jim Meyering  <meyering@fb.com>
24113         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
24114         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
24115         file that uses the assume macro, claiming that verify.h is unused.
24117 2017-05-13  Bruno Haible  <bruno@clisp.org>
24119         Use symbolic values for _WIN32_WINNT.
24120         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
24121         * lib/sethostname.c (_WIN32_WINNT): Likewise.
24123 2017-05-13  Bruno Haible  <bruno@clisp.org>
24125         year2038: New module.
24126         * m4/year2038.m4: New file.
24127         * modules/year2038: New file.
24128         * doc/year2038.texi: New file.
24129         * doc/gnulib.texi: Include it.
24131 2017-05-13  Bruno Haible  <bruno@clisp.org>
24133         largefile: Simplify.
24134         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
24135         of _GL_WINDOWS_64_BIT_ST_SIZE.
24137 2017-05-13  Bruno Haible  <bruno@clisp.org>
24139         largefile: Improve and document.
24140         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
24141         the mingw headers already define 'stat' appropriately.
24142         * modules/largefile (Description): Clarify.
24143         * doc/largefile.texi: New file.
24144         * doc/gnulib.texi: Include it.
24145         * doc/posix-headers/sys_types.texi: Update.
24147 2017-05-13  Bruno Haible  <bruno@clisp.org>
24149         truncate: New module.
24150         * lib/unistd.in.h (truncate): New declaration.
24151         * lib/truncate.c: New file.
24152         * m4/truncate.m4: New file.
24153         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
24154         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
24155         REPLACE_TRUNCATE.
24156         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
24157         HAVE_TRUNCATE, REPLACE_TRUNCATE.
24158         * modules/truncate: New file.
24159         * tests/test-unistd-c++.cc (truncate): Test signature.
24160         * doc/posix-functions/truncate.texi: Mention the new module.
24162         * tests/test-truncate.c: New file.
24163         * modules/truncate-tests: New file.
24165 2017-05-13  Bruno Haible  <bruno@clisp.org>
24167         windows-stat-timespec: New module.
24168         * modules/windows-stat-timespec: New file.
24169         * m4/windows-stat-timespec.m4: New file.
24170         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
24171         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
24172         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
24173         fields st_atim, st_mtim, st_ctim.
24174         (st_atime, st_mtime, st_ctime): Define as macros.
24175         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
24176         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
24177         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
24178         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
24179         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
24180         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
24181         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
24182         FILETIME to 'struct timespec', not 'time_t'.
24183         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
24184         FILETIME to 'struct timespec', not 'time_t'.
24185         * lib/stat-time.h (STAT_TIMESPEC): Define also if
24186         _GL_WINDOWS_STAT_TIMESPEC.
24187         * doc/windows-stat-timespec.texi: New file.
24188         * doc/gnulib.texi: Include it.
24190 2017-05-13  Bruno Haible  <bruno@clisp.org>
24192         windows-stat-override: New module.
24193         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
24194         definition. Define GNULIB_defined_struct_stat.
24195         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
24196         link error if this symbol is used and the corresponding module is not
24197         in use.
24198         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
24199         GNULIB_OVERRIDES_STRUCT_STAT.
24200         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
24201         GNULIB_OVERRIDES_STRUCT_STAT.
24202         * modules/sys_stat (Makefile.am): Substitute
24203         GNULIB_OVERRIDES_STRUCT_STAT.
24204         * modules/windows-stat-override: New file.
24206 2017-05-13  Bruno Haible  <bruno@clisp.org>
24208         fstat: Fix module dependency conditions.
24209         * modules/fstat (Depends-on): Fix typo.
24211 2017-05-13  Bruno Haible  <bruno@clisp.org>
24213         stat, fstat: Complete removal of old native Windows code.
24214         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
24215         * lib/fstat.c: Likewise.
24216         * lib/stat-w32.c: Likewise.
24218 2017-05-13  Bruno Haible  <bruno@clisp.org>
24220         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
24221         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
24223 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
24225         getopt-posix: port to mingw
24226         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
24227         Problem reported by Daniel P. Berrage in:
24228         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html
24230 2017-05-11  Bruno Haible  <bruno@clisp.org>
24232         gettimeofday: Increase precision on mingw.
24233         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
24234         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
24235         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
24236         GetSystemTimePreciseAsFileTime based implementation always.
24237         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
24238         mingw.
24240 2017-05-11  Bruno Haible  <bruno@clisp.org>
24242         poll: Fix confusion between SOCKETs and FDs on native Windows.
24243         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
24244         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
24246 2017-05-11  Bruno Haible  <bruno@clisp.org>
24248         doc: Clarify doc about socket functions on native Windows.
24249         This reworks doc that was added on 2008-09-29.
24250         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
24251         clearer wording.
24252         * doc/posix-functions/accept.texi: Use clearer wording.
24253         * doc/posix-functions/bind.texi: Likewise.
24254         * doc/posix-functions/connect.texi: Likewise.
24255         * doc/posix-functions/getpeername.texi: Likewise.
24256         * doc/posix-functions/getsockname.texi: Likewise.
24257         * doc/posix-functions/getsockopt.texi: Likewise.
24258         * doc/posix-functions/ioctl.texi: Likewise.
24259         * doc/posix-functions/listen.texi: Likewise.
24260         * doc/posix-functions/recv.texi: Likewise.
24261         * doc/posix-functions/recvfrom.texi: Likewise.
24262         * doc/posix-functions/send.texi: Likewise.
24263         * doc/posix-functions/sendto.texi: Likewise.
24264         * doc/posix-functions/setsockopt.texi: Likewise.
24265         * doc/posix-functions/shutdown.texi: Likewise.
24266         * doc/posix-functions/socket.texi: Likewise.
24268 2017-05-10  Bruno Haible  <bruno@clisp.org>
24270         poll: Fix link error on native Windows.
24271         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
24273 2017-05-10  Bruno Haible  <bruno@clisp.org>
24275         time: Fix missing initialization of HAVE_TIMEZONE_T.
24276         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
24277         here...
24278         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
24279         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
24280         gl_HEADER_SYS_TIME_H_DEFAULTS.
24281         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
24282         (configure.ac): Remove useless quoting.
24284 2017-05-10  Bruno Haible  <bruno@clisp.org>
24286         Implement a way to opt out from MSVC support, part 2.
24287         * modules/msvc-inval (Include): Document recommended idiom.
24288         * modules/msvc-nothrow (Include): Likewise.
24290         Implement a way to opt out from MSVC support.
24291         This is useful for Emacs.
24292         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
24293         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
24294         * lib/error.c: Likewise.
24295         * lib/fcntl.c: Likewise.
24296         * lib/flock.c: Likewise.
24297         * lib/fstat.c: Likewise.
24298         * lib/fsync.c: Likewise.
24299         * lib/ioctl.c: Likewise.
24300         * lib/isapipe.c: Likewise.
24301         * lib/lseek.c: Likewise.
24302         * lib/nonblocking.c: Likewise.
24303         * lib/poll.c: Likewise.
24304         * lib/select.c: Likewise.
24305         * lib/sockets.h: Likewise.
24306         * lib/sockets.c: Likewise.
24307         * lib/stdio-read.c: Likewise.
24308         * lib/stdio-write.c: Likewise.
24309         * lib/utimens.c: Likewise.
24310         * lib/w32sock.h: Likewise.
24311         * lib/w32spawn.h: Likewise.
24312         * tests/test-cloexec.c: Likewise.
24313         * tests/test-dup-safer.c: Likewise.
24314         * tests/test-dup2.c: Likewise.
24315         * tests/test-dup3.c: Likewise.
24316         * tests/test-fcntl.c: Likewise.
24317         * tests/test-pipe.c: Likewise.
24318         * tests/test-pipe2.c: Likewise.
24319         * lib/ftruncate.c: Likewise.
24320         (chsize_nothrow): Renamed from chsize.
24321         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
24322         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
24323         * lib/close.c: Likewise.
24324         * lib/dup.c: Likewise.
24325         * lib/fclose.c: Likewise.
24326         * lib/raise.c: Likewise.
24327         * tests/test-fgetc.c: Likewise.
24328         * tests/test-fputc.c: Likewise.
24329         * tests/test-fread.c: Likewise.
24330         * tests/test-fwrite.c: Likewise.
24331         * lib/getdtablesize.c: Likewise.
24332         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
24333         * lib/isatty.c: Don't include msvc-inval.h if
24334         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
24335         Include <io.h> as an alternative to msvc-nothrow.h.
24336         * lib/read.c: Likewise.
24337         * lib/write.c: Likewise.
24338         * lib/dup2.c: Likewise.
24339         (dup2_nothrow): New function.
24340         (ms_windows_dup2): Use it.
24341         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
24342         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
24343         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
24344         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
24345         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
24346         * m4/read.m4 (gl_FUNC_READ): Likewise.
24347         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
24348         * doc/windows-without-msvc.texi: New file.
24349         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
24350         section.
24352 2017-05-10  Bruno Haible  <bruno@clisp.org>
24354         wait-process: Adjust native Windows support.
24355         * lib/wait-process.c: Use the usual condition for recognizing a native
24356         Windows platform.
24358 2017-05-10  Bruno Haible  <bruno@clisp.org>
24360         doc: New chapter "Native Windows Support".
24361         * doc/gnulib.texi (Native Windows Support): New chapter.
24362         * doc/windows-libtool.texi: Small wording changes.
24363         * doc/windows-sockets.texi: Small wording and formatting changes.
24365 2017-05-10  Bruno Haible  <bruno@clisp.org>
24367         doc: Move section "Library version handling".
24368         * doc/gnulib.texi: Move section "Library version handling"
24369         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
24371 2017-05-10  Bruno Haible  <bruno@clisp.org>
24373         doc: Move section "Running self-tests under valgrind".
24374         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
24375         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
24377 2017-05-10  Bruno Haible  <bruno@clisp.org>
24379         doc: New chapter "Build Infrastructure Modules".
24380         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
24382 2017-05-10  Bruno Haible  <bruno@clisp.org>
24384         Prepare for reordering sections in the manual.
24385         * doc/gnulib.texi: Move several sections to separate files. Include
24386         these files.
24387         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
24388         * doc/obsolete.texi: Likewise.
24389         * doc/extra-tests.texi: Likewise.
24390         * doc/transversal.texi: Likewise.
24391         * doc/namespace.texi: Likewise.
24392         * doc/check-version.texi: Likewise.
24393         * doc/windows-sockets.texi: Likewise.
24394         * doc/windows-libtool.texi: Likewise.
24395         * doc/licenses-texi.texi: Likewise.
24396         * doc/build-automation.texi: Likewise.
24397         * doc/c-locale.texi: Likewise.
24399 2017-05-10  Bruno Haible  <bruno@clisp.org>
24401         Fix instructions how to update manual on www.gnu.org.
24402         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
24404 2017-05-09  Bruno Haible  <bruno@clisp.org>
24406         tzset: Expand comment about TZ problem on native Windows.
24407         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
24408         Paul Eggert.
24409         * lib/ctime.c (rpl_ctime): Likewise.
24410         * lib/localtime.c (rpl_localtime): Likewise.
24411         * lib/mktime.c (mktime): Likewise.
24412         * lib/strftime-fixes.c (rpl_strftime): Likewise.
24413         * lib/wcsftime.c (rpl_wcsftime): Likewise.
24415 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
24417         intprops: don’t depend on ‘verify’
24418         Problem reported by Ævar Arnfjörð Bjarmason in:
24419         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
24420         * lib/intprops.h: Do not include verify.h, and move compile-time
24421         checks from here ...
24422         * tests/test-intprops.c (main): ... to here, if they’re not here
24423         already.  Check widths of other standard integer types.
24424         * modules/intprops (Depends-on): Remove ‘verify’.
24426 2017-05-07  Bruno Haible  <bruno@clisp.org>
24428         utimens: On native Windows, support 100ns resolution also if fd < 0.
24429         * lib/utime.in.h: Include <time.h>.
24430         (_gl_utimens_windows): New declaration.
24431         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
24432         (utime): Invoke it.
24433         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
24434         instead of utime.
24435         * modules/utime (Depends-on): Add 'time'.
24437 2017-05-07  Bruno Haible  <bruno@clisp.org>
24439         utimens: Improve error code on native Windows.
24440         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
24441         error code EACCES, not EINVAL.
24443 2017-05-07  Bruno Haible  <bruno@clisp.org>
24445         utime: Handle more Windows error codes.
24446         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
24447         Based on explanations by Billy O'Neal.
24449 2017-05-05  Bruno Haible  <bruno@clisp.org>
24451         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
24452         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
24453         union.
24454         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
24455         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
24456         value of cipher->IV.
24458 2017-05-05  Bruno Haible  <bruno@clisp.org>
24460         wctype-h-c++-tests: Update.
24461         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
24463 2017-05-05  Bruno Haible  <bruno@clisp.org>
24465         wchar-c++-tests: Update.
24466         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
24468 2017-05-05  Bruno Haible  <bruno@clisp.org>
24470         utime-h-c++-tests: New module.
24471         * tests/test-utime-h-c++.cc: New file.
24472         (utime): Declare, missing since 2017-04-30.
24473         * modules/utime-h-c++-tests: New file.
24475 2017-05-05  Bruno Haible  <bruno@clisp.org>
24477         unistd-c++-tests: Update.
24478         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
24479         (read): Declare, missing since 2011-04-15.
24480         (sethostname): Declare, missing since 2011-12-03.
24482 2017-05-05  Bruno Haible  <bruno@clisp.org>
24484         time-c++-tests: Update.
24485         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
24486         (localtime, gmtime): Declare, missing since 2017-04-30.
24487         (ctime): Declare, missing since 2017-04-30.
24488         (strftime): Declare, missing since 2017-04-30.
24489         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
24490         2015-07-24.
24492 2017-05-05  Bruno Haible  <bruno@clisp.org>
24494         sys_resource-c++-tests: New module.
24495         * tests/test-sys_resource-c++.cc: New file.
24496         (getrusage): Declare, missing since 2012-04-13.
24497         * modules/sys_resource-c++-tests: New file.
24499 2017-05-05  Bruno Haible  <bruno@clisp.org>
24501         strings-c++-tests: New module.
24502         * tests/test-strings-c++.cc: New file.
24503         (ffs): Declare, missing since 2011-07-12.
24504         * modules/strings-c++-tests: New file.
24506 2017-05-05  Bruno Haible  <bruno@clisp.org>
24508         string-c++-tests: Update.
24509         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
24510         (ffsll): Declare, missing since 2011-07-15.
24512 2017-05-05  Bruno Haible  <bruno@clisp.org>
24514         stdlib-c++-tests: Update.
24515         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
24516         2011-10-18.
24517         (ptsname_r): Declare, missing since 2011-11-07.
24518         (qsort_r): Declare, missing since 2014-08-29.
24519         (random, srandom, initstate, setstate): Declare, missing since
24520         2012-01-14.
24521         (secure_getenv): Declare, missing since 2013-02-05.
24523 2017-05-05  Bruno Haible  <bruno@clisp.org>
24525         stdio-c++-tests: Update.
24526         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
24528 2017-05-05  Bruno Haible  <bruno@clisp.org>
24530         signal-h-c++-tests: Update.
24531         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
24533 2017-05-05  Bruno Haible  <bruno@clisp.org>
24535         math-c++-tests: Update.
24536         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
24537         (fma): Declare, missing since 2011-10-17.
24538         (fmal): Declare, missing since 2011-10-17.
24540 2017-05-05  Bruno Haible  <bruno@clisp.org>
24542         locale-c++-tests: Update.
24543         * tests/test-locale-c++.cc (localeconv): Declare, missing since
24544         2012-03-25.
24546 2017-05-05  Bruno Haible  <bruno@clisp.org>
24548         inttypes-c++-tests: New module.
24549         * tests/test-inttypes-c++.cc: New file.
24550         (strtoimax): Declare, missing since 2012-01-05.
24551         (strtoumax): Declare, missing since 2012-01-05.
24552         * modules/inttypes-c++-tests: New file.
24554 2017-05-05  Bruno Haible  <bruno@clisp.org>
24556         dirent-c++-tests: Update.
24557         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
24558         (rewinddir): Declare, missing since 2011-09-13.
24559         (dirfd): Declare, missing since 2010-03-08.
24561 2017-05-04  Bruno Haible  <bruno@clisp.org>
24563         argp: Fix mistake in 2017-04-23 commit.
24564         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
24565         assume that strerror_r returns 'int', not 'char *'.
24567 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
24569         argp: Fix typo.
24570         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
24572 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
24574         utimens: port to Emacs + MS-Windows
24575         Skip the new MS-Windows-specific code if Emacs.
24576         * lib/utimens.c [EMACS_CONFIGUATION]:
24577         Avoid new MS-Windows-specific code.
24578         (USE_SETFILETIME): New macro.
24579         (fdutimens): Use it.
24581 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
24583         tzset: update doc for TZ problems on MS-Windows
24584         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
24585         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
24586         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
24587         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
24588         * doc/posix-functions/wcsftime.texi:
24589         Mention some issues with TZ under MS-Windows.
24591 2017-05-01  Bruno Haible  <bruno@clisp.org>
24593         copy-file: Fix build error on mingw.
24594         * modules/copy-file (Depends-on): Add 'close'.
24596 2017-05-01  Bruno Haible  <bruno@clisp.org>
24598         tzset: Work around TZ problem on native Windows.
24599         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
24600         Windows, set REPLACE_TZSET to 1.
24601         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
24602         invoke '_tzset' instead of 'tzset'.
24603         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
24605         * modules/time_rz (Depends-on): Add tzset.
24606         * lib/time_rz.c (tzset): Remove fallback definition.
24607         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
24609 2017-05-01  Bruno Haible  <bruno@clisp.org>
24611         mktime: Fix dependencies.
24612         * modules/mktime (Depends-on): Add 'time'.
24614 2017-05-01  Bruno Haible  <bruno@clisp.org>
24616         New module 'localtime-buffer', split off from module 'gettimeofday'.
24617         * lib/localtime-buffer.h: New file.
24618         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
24619         * lib/time.in.h (tzset): New declaration.
24620         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
24621         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
24622         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
24623         moved to lib/localtime-buffer.c or lib/tzset.c.
24624         * m4/localtime-buffer.m4: New file.
24625         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
24626         HAVE_TZSET, REPLACE_TZSET.
24627         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
24628         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
24629         gl_LOCALTIME_BUFFER_NEEDED.
24630         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
24631         since 2007-01-18.
24632         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
24633         tzset.
24634         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
24635         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
24636         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
24637         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
24638         * modules/localtime-buffer: New file.
24639         * modules/time (Depends-on): Remove 'gettimeofday'.
24640         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
24641         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
24642         * modules/tzset (Description): Enable hyperlink to POSIX spec.
24643         (Files): Add lib/tzset.c.
24644         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
24645         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
24646         gl_TIME_MODULE_INDICATOR.
24647         * modules/gettimeofday (Depends-on): Add localtime-buffer.
24649 2017-05-01  Bruno Haible  <bruno@clisp.org>
24651         copy-file: Preserve sub-second time stamps.
24652         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
24653         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
24654         transport the time stamps from the original file to the destination
24655         file.
24656         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
24657         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
24658         utime-h.
24660 2017-05-01  Bruno Haible  <bruno@clisp.org>
24662         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
24663         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
24664         also on MSVC.
24665         Reported by Eli Zaretskii <eliz@gnu.org>.
24667 2017-05-01  Bruno Haible  <bruno@clisp.org>
24669         wchar: Fix compilation error with the original mingw.org mingw.
24670         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
24671         <stddef.h> instead.
24672         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
24673         gl_WCTYPE_H.
24674         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
24675         gl_TYPE_WINT_T_PREREQ instead.
24676         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
24677         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
24678         Reported by Eli Zaretskii <eliz@gnu.org>.
24680 2017-04-30  Bruno Haible  <bruno@clisp.org>
24682         utimecmp: Add support for native Windows.
24683         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
24685 2017-04-30  Bruno Haible  <bruno@clisp.org>
24687         utimens: Add support for native Windows.
24688         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
24689         (fdutimens): Provide a native Windows implementation, like utime.c with
24690         added tv_nsec support.
24691         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
24692         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
24694 2017-04-30  Bruno Haible  <bruno@clisp.org>
24696         wcsftime: New module.
24697         * lib/wchar.in.h (wcsftime): New declaration.
24698         * lib/wcsftime.c: New file.
24699         * m4/wcsftime.m4: New file.
24700         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
24701         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
24702         HAVE_WCSFTIME, REPLACE_WCSFTIME.
24703         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
24704         HAVE_WCSFTIME, REPLACE_WCSFTIME.
24705         * modules/wcsftime: New file.
24706         * doc/posix-functions/wcsftime.texi: Mention the new module.
24708 2017-04-30  Bruno Haible  <bruno@clisp.org>
24710         strftime-fixes: New module.
24711         * lib/time.in.h (strftime): New declaration.
24712         * lib/strftime-fixes.c: New file.
24713         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
24714         (gl_FUNC_STRFTIME): Remove macro.
24715         * m4/strftime-fixes.m4: New file.
24716         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
24717         REPLACE_STRFTIME.
24718         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
24719         REPLACE_STRFTIME.
24720         * modules/strftime-fixes: New file.
24721         * doc/posix-functions/strftime.texi: Mention the new module.
24723 2017-04-30  Bruno Haible  <bruno@clisp.org>
24725         mktime: Work around TZ problem on native Windows.
24726         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
24727         from the native Windows workaround.
24728         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
24729         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
24730         'guessing no'.
24731         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
24732         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
24733         NEED_MKTIME_WINDOWS.
24734         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
24735         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
24736         NEED_MKTIME_INTERNAL.
24737         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
24738         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
24739         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
24740         not REPLACE_MKTIME.
24741         * doc/posix-functions/mktime.texi: Mention the native Windows
24742         workaround.
24744 2017-04-30  Bruno Haible  <bruno@clisp.org>
24746         localtime: New module.
24747         * lib/time.in.h (localtime): Declare also if requested by module
24748         'localtime'.
24749         * lib/localtime.c: New file.
24750         * m4/localtime.m4: New file.
24751         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
24752         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
24753         * modules/localtime: New file.
24754         * doc/posix-functions/localtime.texi: Mention the new module.
24756 2017-04-30  Bruno Haible  <bruno@clisp.org>
24758         ctime: New module.
24759         * lib/time.in.h (ctime): New declaration.
24760         * lib/ctime.c: New file.
24761         * m4/ctime.m4: New file.
24762         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
24763         REPLACE_CTIME.
24764         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
24765         * modules/ctime: New file.
24766         * doc/posix-functions/ctime.texi: Mention the new module.
24768 2017-04-30  Bruno Haible  <bruno@clisp.org>
24770         gettimeofday: Provide higher resolution on native Windows.
24771         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
24772         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
24773         (initialize): Initialize it.
24774         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
24775         'struct timeval'. Don't use _ftime().
24776         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
24777         <sys/timeb.h> and _ftime.
24779 2017-04-30  Bruno Haible  <bruno@clisp.org>
24781         Document the problem with the Cygwin environment variable TZ.
24782         * doc/posix-functions/tzset.texi: Add note about TZ.
24783         * doc/posix-functions/ctime.texi: Likewise.
24784         * doc/posix-functions/localtime.texi: Likewise.
24785         * doc/posix-functions/mktime.texi: Likewise.
24786         * doc/posix-functions/strftime.texi: Likewise.
24787         * doc/posix-functions/wcsftime.texi: Likewise.
24788         * doc/pastposix-functions/ftime.texi: Likewise.
24790 2017-04-30  Bruno Haible  <bruno@clisp.org>
24792         utime-tests: New module.
24793         * tests/test-utime.c: New file, based on tests/test-utimens.h.
24794         * tests/test-utimens-common.h: Include <sys/stat.h>.
24795         * modules/utime-tests: New file.
24797 2017-04-29  Bruno Haible  <bruno@clisp.org>
24799         utime: New module.
24800         * lib/utime.in.h: Add comment for snippets.
24801         (utime): New declaration.
24802         * lib/utime.c: New file.
24803         * m4/utime.m4: New file.
24804         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
24805         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
24806         REPLACE_UTIME.
24807         * modules/utime-h (Depends-on): Add snippets.
24808         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
24809         Insert snippets.
24810         * modules/utime: New file.
24811         * doc/posix-functions/utime.texi: Mention the new module.
24813 2017-04-29  Bruno Haible  <bruno@clisp.org>
24815         utime-h: Modernize handling of 'struct utimbuf'.
24816         * lib/utime.in.h: Include next <utime.h> if it exists.
24817         (utimbuf): Define to _utimbuf on native Windows.
24818         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
24819         Set UTIME_H on native Windows.
24820         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
24821         * modules/utime-h (Depends-on): Add include_next.
24822         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
24823         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
24825         * lib/utimens.c (utimbuf): Remove fallback definition.
24826         * m4/utimens.m4 (gl_UTIMENS): Don't require
24827         gl_CHECK_TYPE_STRUCT_UTIMBUF.
24828         * m4/utimbuf.m4: Remove file.
24829         * modules/utimens (Files): Remove m4/utimbuf.m4.
24831 2017-04-29  Bruno Haible  <bruno@clisp.org>
24833         Make use of module 'utime-h'.
24834         * modules/copy-file (Depends-on): Add utime-h.
24835         * lib/copy-file.c: Assume that <utime.h> exists.
24836         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
24838         * modules/utimens (Depends-on): Add utime-h.
24839         * lib/utimens.c: Assume that <utime.h> exists.
24841 2017-04-29  Bruno Haible  <bruno@clisp.org>
24843         utime-h: New module.
24844         * m4/utime_h.m4: New file.
24845         * lib/utime.in.h: New file.
24846         * modules/utime-h: New file.
24847         * doc/posix-headers/utime.texi: Mention the new module.
24849         * tests/test-utime-h.c: New file.
24850         * modules/utime-h-tests: New file.
24852 2017-04-30  Bruno Haible  <bruno@clisp.org>
24854         Fix a few typos.
24855         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
24856         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
24857         * doc/posix-functions/fstat.texi: Fix a plural typo.
24858         * doc/posix-functions/stat.texi: Likewise.
24859         * m4/include_next.m4: Update comments.
24861 2017-04-29  Bruno Haible  <bruno@clisp.org>
24863         error: Fix mistake in 2017-04-23 commit.
24864         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
24865         assume that strerror_r returns 'int', not 'char *'.
24867 2017-04-29  Bruno Haible  <bruno@clisp.org>
24869         stat: Fix time_t values and other problems on native Windows platforms.
24870         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
24871         implementations of stat().
24872         * lib/stat.c: Include filename.h instead of dosname.h. Include
24873         malloca.h, stat-w32.h.
24874         (is_unc_root): New function.
24875         (rpl_stat): New implementation for native Windows. Remove
24876         REPLACE_FUNC_STAT_DIR code.
24877         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
24878         Don't define REPLACE_FUNC_STAT_DIR.
24879         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
24880         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
24881         (Depends-on): Remove dosname. Add filename, malloca.
24882         (configure.ac): Also compile lib/stat-w32.c.
24884 2017-04-29  Bruno Haible  <bruno@clisp.org>
24886         fstat: Fix time_t values on native Windows platforms.
24887         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
24888         * lib/stat-w32.h: New file.
24889         * lib/stat-w32.c: New file.
24890         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
24891         stat-w32.h instead.
24892         (fstat_nothrow): Remove function.
24893         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
24894         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
24895         always.
24896         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
24897         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
24898         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
24899         (configure.ac): Also compile lib/stat-w32.c.
24901 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
24903         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
24904         Problem reported by Assaf Gordon and Gavin Smith in:
24905         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
24906         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
24907         #define this, too.
24909 2017-04-29  Bruno Haible  <bruno@clisp.org>
24911         strerror_r-posix: Fixes for MSVC 14.
24912         * lib/strerror_r.c: Include <stdarg.h>.
24913         (strerror_r): Provide error messages for errno values 100...140.
24914         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
24916 2017-04-28  Bruno Haible  <bruno@clisp.org>
24918         noreturn: New module.
24919         * lib/noreturn.h: New file.
24920         * modules/noreturn: New file.
24921         * tests/test-noreturn.c: New file.
24922         * modules/noreturn-tests: New file.
24923         * tests/test-noreturn-c++.cc: New file.
24924         * modules/noreturn-c++-tests: New file.
24926 2017-04-27  Bruno Haible  <bruno@clisp.org>
24928         wctype-h: Fix compilation error with the original mingw.org mingw.
24929         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
24930         HAVE_CRTDEFS_H.
24931         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
24932         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
24933         <stddef.h> instead.
24934         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
24936 2017-04-26  Pádraig Brady  <P@draigBrady.com>
24938         nap.h: Fix compilation on non windows platforms
24939         * tests/nap.h: Move misplaced endif.
24941 2017-04-26  Pádraig Brady  <P@draigBrady.com>
24942         and Paul Eggert  <eggert@cs.ucla.edu>
24944         time_rz: fix heap buffer overflow vulnerability
24945         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
24946         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
24947         whether there is enough buffer space available, thus avoiding
24948         the problematic promotion of signed to unsigned causing an invalid
24949         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
24950         the start of the buffer.
24951         * tests/test-parse-datetime.c (main): Add a test case written by
24952         Paul Eggert, which overwrites enough of the heap so that
24953         standard glibc will fail with "free(): invalid pointer"
24954         without the patch applied.
24956 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
24958         xalloc: add missing integer overflow check
24959         * lib/xalloc.h (x2nrealloc): Also check for multiplication
24960         overflow when P is null.
24962 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
24964         parse-datetime: make it standalone
24965         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
24966         (_GL_ATTRIBUTE_FORMAT): New macro.
24967         These are needed to get './gnulib-tool --test parse-datetime' to work.
24969 2017-04-23  Bruno Haible  <bruno@clisp.org>
24971         nap.h: Port to native Windows.
24972         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
24973         use nap_fd instead. On native Windows, close and reopen nap_fd.
24974         (nap_works): Don't compare the ctimes, because on native Windows, these
24975         are the creation times.
24976         (nap): Update.
24978 2017-04-23  Bruno Haible  <bruno@clisp.org>
24980         nap.h: Fix logic.
24981         * tests/nap.h (nap): Avoid signed integer overflow in loop.
24983 2017-04-23  Bruno Haible  <bruno@clisp.org>
24985         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
24986         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
24987         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
24988         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
24989         * lib/argp-help.c (__argp_failure): Likewise.
24991 2017-04-23  Bruno Haible  <bruno@clisp.org>
24993         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
24994         * m4/strerror_r.m4: Revert changes since 2016-10-16.
24995         * lib/strerror_r.c: Likewise.
24997 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
24999         Target a C99 subset, not a C89 subset
25000         For many years Gnulib has targeted C89 and has resisted using C99
25001         features, as some Gnulib-using programs still wanted to target
25002         C89.  As this no longer seems to be the case, relax the porting
25003         requirements to allow some C99 features.  This is merely a change
25004         to the documentation, to give other Gnulib developers a chance to
25005         weigh in on the topic.
25006         * doc/extern-inline.texi (extern inline):
25007         * doc/gnulib-readme.texi (Portability guidelines):
25008         * doc/gnulib-tool.texi (Initial import):
25009         * doc/gnulib.texi (Header files):
25010         Modernize to talk about C99 and C11 instead of C89 and C99.
25011         * doc/gnulib-readme.texi (Portability guidelines):
25012         Now a section, not merely a subsection, so that it
25013         can be split up.  Modernize a bit.
25014         (C language versions, C99 features assumed)
25015         (C99 features avoided):
25016         New sections.
25018 2017-04-23  Bruno Haible  <bruno@clisp.org>
25020         doc: New section "Modules that modify the way other modules work".
25021         * doc/gnulib.texi (Modules that modify the way other modules work): New
25022         section.
25024 2017-04-23  Bruno Haible  <bruno@clisp.org>
25026         stat-time: Update comments.
25027         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
25028         * tests/test-utimens-common.h: Add reference regarding st_ctime on
25029         Windows.
25031 2017-04-01  Bruno Haible  <bruno@clisp.org>
25033         glob: Fix more memory leaks.
25034         * lib/glob.c (glob): Free allocated memory before returning.
25035         Reported by Coverity via Tim Rühsen.
25037 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
25039         poll: improve fast check for out-of-range NFD
25040         * lib/poll.c: Do not include intprops.h.
25041         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
25042         * modules/poll (Depends-on): Remove intprops.
25044         ftoastr: cite a newer paper
25045         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
25046         instead of Loitsch 2010.
25048 2017-04-22  Bruno Haible  <bruno@clisp.org>
25050         poll: Enable argument check also in the Windows implementation.
25051         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
25052         Reported by Paul Eggert.
25054 2017-04-22  Bruno Haible  <bruno@clisp.org>
25056         getlogin_r: Work around bug in Mac OS X 10.12.
25057         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
25058         bug.
25059         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
25060         given size minus 1, call getlogin_r a second time, on a larger buffer.
25061         * modules/getlogin_r (Depends-on): Add malloca.
25062         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
25064 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
25066         parse-datetime: fix %z and prefer signed int
25067         %z problem reported by Pádraig Brady in:
25068         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
25069         While fixing it, I decided to prefer signed ints to size_t, as
25070         they are less error-prone (e.g., ubsan catches overflow).
25071         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
25072         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
25073         counts, since signed integers make for better debugging.
25074         (date): Don’t assume %z works in printf formats.
25075         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
25076         sizes of buffers known to be small, e.g., because we’re using snprintf.
25077         (parse_datetime2): Simplify call to debug_mktime_not_ok.
25079 2017-04-22  Bruno Haible  <bruno@clisp.org>
25081         *printf: Work around rounding bug on Mac OS X.
25082         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
25083         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
25084         Mac OS X and FreeBSD.
25085         * doc/glibc-functions/*printf.texi: Likewise.
25087 2017-04-22  Bruno Haible  <bruno@clisp.org>
25089         vasnprintf tests: Avoid warnings.
25090         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
25091         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
25092         test.
25094 2017-04-22  Bruno Haible  <bruno@clisp.org>
25096         sys_file tests: Avoid warning.
25097         * tests/test-sys_file.c (main): Add a default clause to the switch
25098         statement.
25100 2017-04-22  Bruno Haible  <bruno@clisp.org>
25102         sethostname: Update doc.
25103         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
25104         Mac OS X.
25106 2017-04-22  Bruno Haible  <bruno@clisp.org>
25108         quotearg tests: Avoid warnings.
25109         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
25110         false.
25112 2017-04-22  Bruno Haible  <bruno@clisp.org>
25114         poll: Enable argument check.
25115         * lib/poll.c: Include intprops.h.
25116         (poll): Check value of nfd correctly.
25117         * modules/poll (Depends-on): Add intprops.
25119 2017-04-22  Bruno Haible  <bruno@clisp.org>
25121         get-rusage-data: Avoid warnings on Mac OS X.
25122         * lib/get-rusage-data.c: On Mac OS X, don't define
25123         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
25124         (get_rusage_data) [Mac OS X]: Just return 0.
25126 2017-04-22  Bruno Haible  <bruno@clisp.org>
25128         xbinary-io: Fix build error.
25129         * modules/xbinary-io (Depends-on): Add gettext-h.
25130         * lib/xbinary-io.c: Include gettext.h and define _().
25131         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
25132         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.
25134 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
25136         parse-datetime: overflow and debug cleanups
25137         This long patch was triggered by this bug report from Ruediger Meier:
25138         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
25139         I fixed the bug he noted, then found some others nearby, and then
25140         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
25141         up some of the code to follow GNU standards while I was at it.
25142         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
25143         use c_isdigit.
25144         (EPOCH_YEAR): Remove; unused.
25145         (TM_YEAR_BASE): Now an enum rather than a macro.
25146         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
25147         time zone offset, since timezones now are in terms of seconds and
25148         not minutes.
25149         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
25150         appropriate.  Verify that intmax_t is wide enough.
25151         (time_overflow, time_zone_str): New functions, used to deal
25152         more reliably with overflow.
25153         (dbg_printf): Add printf attribute, to help catch integer width errors.
25154         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
25155         (%union, to_hour, yylex, parse_datetime2):
25156         Use intmax_t instead of long int and/or long_time_t.
25157         All uses changed.
25158         (DBGBUFSIZE): Move earlier.
25159         (relative_time, set_hhmmss, parser_control):
25160         Just use int for nanoseconds and for time zones; that’s wide enough.
25161         (parser_control): Use bool for members like year_seen that can
25162         be booleans instead of counters.  All uses changed.
25163         Remove debug_default_input_timezone; no longer needed.
25164         All uses removed.
25165         (apply_relative_time): Return a bool overflow flag.
25166         All uses changed to check for overflow.
25167         (apply_relative_time, zone, date, relunit, relunit_snumber)
25168         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
25169         Check for integer overflow portably.
25170         (str_days): Use just int for N, as it’s wide enough.
25171         Prefer 2D char arrays to arrays of char * when it looks like
25172         2D is a win on typical platforms.
25173         Prefer snprintf to strncpy/strncat, for simplicity;
25174         all buffers are smaller than INT_MAX so this is safe.
25175         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
25176         (debug_print_current_time): Don’t assume tv_nsec is of type long,
25177         as this is not true on x32.  Output "." before any nanoseconds.
25178         (debug_print_current_time, parse_datetime2):
25179         Output local zones using a more-consistent format.
25180         (debug_print_current_time, date, parse_datetime2):
25181         (main) [TEST]:
25182         Don’t assume time_t is the same width as long.
25183         (print_rel_part): New function, replacing ...
25184         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
25185         (debug_print_relative_time): Use bool for boolean.
25186         (local_zone): dsts_seen now counts only tDST instances.
25187         (date): Fix printf of size_t to use %z.  Do not assume numeric
25188         tokens have negative values merely because the context suggests
25189         a syntax with "-" separating tokens.
25190         (time_zone_hhmm): Return bool success indicator, which checks for
25191         overflow.  Store result into PC->time_zone instead.  All callers
25192         changed.
25193         (tm_year_str): New function.  Return a bool success indicator and
25194         store the result into a buffer.  All callers changed.  Output the
25195         numerically correct string even if adding 1900 to the year would
25196         overflow.
25197         (to_tm_year): New function, replacing the old to_year.  All
25198         callers changed.
25199         (tm_diff): Sync with glibc.
25200         (lookup_word): Use to_uchar instead of doing it by hand.
25201         (TZBUFSIZE): Now local to the only function that needs it.
25202         (debug_strfdatetime): Simplify now that time zones are int seconds.
25203         (debug_strfdate): Work even if tm_year + 1900 would overflow.
25204         (get_effective_timezone): Remove.  All uses removed.
25205         (parse_datetime2): Use fprintf in pieces instead of snprintfing
25206         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
25207         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
25208         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
25209         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
25210         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
25211         * modules/parse-datetime (Depends-on): Add inttypes.
25213 2017-04-21  Bruno Haible  <bruno@clisp.org>
25215         gettext-h: Avoid -Wundef warning.
25216         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
25217         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
25218         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.
25220 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
25222         error: Avoid "function declaration isn't a prototype" warning.
25223         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
25225 2017-04-21  Bruno Haible  <bruno@clisp.org>
25227         vasnprintf: Fix for MSVC 14.
25228         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
25229         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
25230         of !HAVE_SNPRINTF_RETVAL_C99.
25232 2017-04-21  Bruno Haible  <bruno@clisp.org>
25234         mbrtowc tests: Fix test failures on MSVC 14.
25235         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
25236         behaviour for invalid input.
25238 2017-04-21  Bruno Haible  <bruno@clisp.org>
25240         mbsinit: Fix for MSVC 14.
25241         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
25242         implementation that is in sync with mbrtowc.c. On other platforms, use
25243         an adequate ad-hoc implementation.
25245 2017-04-21  Bruno Haible  <bruno@clisp.org>
25247         Fix test-mbrtowc5.sh failure on native Windows.
25248         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
25249         "C".
25251 2017-04-21  Bruno Haible  <bruno@clisp.org>
25253         Avoid accidental use of native Windows APIs on Cygwin.
25254         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
25255         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
25256         * lib/localename.c (WINDOWS_NATIVE): Likewise.
25258 2017-04-20  Bruno Haible  <bruno@clisp.org>
25260         Remove red warnings from the generated MODULES.html.
25261         * modules/fcntl (Description): Disambiguate function references.
25262         * modules/getcwd-lgpl (Description): Likewise.
25263         * modules/hostent (Description): Likewise.
25264         * modules/servent (Description): Likewise.
25265         * modules/tempname (Description): Likewise.
25267 2017-04-20  Bruno Haible  <bruno@clisp.org>
25269         verify tests: Fix spurious failure with parallel make.
25270         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
25271         EXTRA_PROGRAMS.
25272         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
25273         * tests/test-verify-try.c: New file.
25274         * modules/verify-tests (Files): Add it.
25275         (EXTRA_PROGRAMS): Add test-verify-try.
25276         (MOSTLYCLEANFILES): Update accordingly.
25277         Reported by Adam James Stewart <ajstewart@anl.gov>.
25279 2017-04-18  Bruno Haible  <bruno@clisp.org>
25281         vma-iter: Fix compilation error on Solaris 7.
25282         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
25283         like on IRIX, OSF/1.
25284         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25286 2017-04-18  Bruno Haible  <bruno@clisp.org>
25288         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
25289         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
25290         included.
25291         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
25292         <sys/procfs.h>.
25293         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
25294         <sys/procfs.h> cannot be included.
25295         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25297 2017-04-18  Bruno Haible  <bruno@clisp.org>
25299         getopt-gnu: Add comments.
25300         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
25301         * modules/getopt-gnu (configure.ac): Likewise.
25303 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
25305         regex: port better to Solaris 10
25306         Solaris 10 <locale.h> includes <libintl.h>, which #defines
25307         gettext, and this causes a double #define.
25308         Problem reported by Gavin Smith in:
25309         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
25310         * lib/regex_internal.h (gettext): #undef before #defining.
25312 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
25314         intprops: improve comments
25315         * lib/intprops.h: Improve and shorten commentary.
25316         For the record, if we ever run into a pedantic compiler that
25317         behaves differently from GCC when converting an out-of-range value
25318         to a signed integer, we can work around the problem with something
25319         like the following code, where UCT is the signed counterpart of T
25320         (UCT is sometimes narrower than UT) and all callers are changed
25321         accordingly:
25322         #if __SUNPRO_C <= 0x5120
25323         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
25324            ((t) ((ut) (a) op (ut) (b)))
25325         #else
25326         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
25327            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
25328             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
25329                + TYPE_MINIMUM (t)) \
25330             : (t) (uct) ((ut) (a) op (ut) (b)))
25331         #endif
25333 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
25335         intprops: try to avoid tickling similar bugs
25336         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
25337         needs to be the same width as T; it can be wider.
25338         Change callers so that UT is at least as wide as unsigned int,
25339         as I suspect that this is less likely to run into compiler bugs.
25341         intprops: port to Oracle Studio 12.3 x86
25342         Problem reported by Gavin Smith in:
25343         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
25344         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
25345         Convert unsigned to signed via the usual rather than the standard way,
25346         to avoid a compiler bug in Oracle Studio 12.3 x86.
25348 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
25350         getopt: prefer - to _ in new file names
25351         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
25352         * lib/getopt-core.h: Rename from lib/getopt_core.h.
25353         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
25354         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
25355         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
25356         All uses changed.
25358         getopt: port recent getopt changes to macOS
25359         Problem reported by Harald Maier (Bug#26398).
25360         The macOS C compiler uses __nonnull for its own purposes and that
25361         clashes with glibc's __nonnull.
25362         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
25363         * lib/getopt_cdefs.in.h (__nonnull): Remove.
25364         * lib/getopt_core.h (getopt):
25365         * lib/getopt_ext.h (getopt_long, getopt_long_only):
25366         Use _GL_ARG_NONNULL, not __nonnull.
25367         * lib/unistd.in.h: Move snippet hooks to before where the getopt
25368         .h files are included, so that _GL_ARG_NONNULL is defined in time.
25369         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
25370         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
25372 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
25374         getopt-gnu: omit some duplicate code
25375         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
25376         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
25377         gnulib-tool already does this.
25378         * modules/getopt-gnu (configure.ac): Omit code duplicated from
25379         getopt-posix, which we depend on.
25381         getopt-posix: use angle-bracket include
25382         * lib/getopt1.c: Include <config.h>, not "config.h".
25384 2017-04-06  Zack Weinberg  <zackw@panix.com>
25386         getopt: annotate files with relationship to glibc
25388         As the final act in this patchset, adjust the message at the top of
25389         each file to indicate which files are synced with glibc.  (This has
25390         already been done for most of the headers.)
25392         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
25393         Mention in top-of-file boilerplate that these files are shared
25394         between glibc and gnulib.
25397         getopt: split up getopt.in.h and eliminate __need_getopt
25399         Over in glibc, all of the __need macros are being phased out in favor
25400         of small headers that declare only the necessary components, as this
25401         is much simpler and less prone to bugs.  As getopt is shared with
25402         glibc, gnulib needs to do the same for __need_getopt.
25404         __need_getopt is misnamed; what it really means is "we want only the
25405         getopt features specified in POSIX, not the GNU extensions".  glibc
25406         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
25407         these files can be shared verbatim with gnulib.  The portability
25408         wrapper, on the other hand, they have renounced altogether; glibc's
25409         getopt.h will no longer be shared with gnulib at all.  In exchange,
25410         certain glibc-specific quirks (having to do with __posix_getopt) no
25411         longer need appear in gnulib's headers at all.
25413         This patch merges getopt_core.h and getopt_ext.h from glibc, and
25414         splits up the current gnulib-side portability wrapper into three
25415         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
25416         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
25417         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
25418         unistd.in.h just use them.  All new files are clearly marked with
25419         whether they are shared with glibc.
25421         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
25422         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
25423         with glibc, and ...
25424         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
25425         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
25426         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
25427         instead of defining __need_getopt and including the full getopt.h.
25429         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
25430         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
25431         * modules/getopt-posix (Files): Add new headers and sort list.
25432         (Depends-on): No longer need snippet/arg-nonnull.
25433         (Makefile.am): Generate getopt_cdefs.h.
25436         getopt: better handling of ambiguous options
25438         glibc's getopt uses alloca to construct a linked list of possibilities
25439         for an "ambiguous" long option.  In gnulib, malloc should be used
25440         instead.  Providing for both cases complicates things a fair bit.
25442         This patch rewrites ambiguous-option handling to use a boolean vector
25443         instead of a linked list.  There is then only one allocation that
25444         might need freeing; in glibc it can honor __libc_use_alloca as usual,
25445         and in gnulib we define __libc_use_alloca to always be false, so we
25446         don't need ifdefs in the middle of the function.  This should also be
25447         slightly more efficient in the normal case of long options being fully
25448         spelled out -- I think most people aren't even aware they _can_
25449         sometimes abbreviate long options.
25451         One interesting consequence is that the list of possibilities is now
25452         printed in exactly the order they appear in the list of long options,
25453         instead of the first possibility being shuffled to the end.
25455         (The patch looks bigger than it really is because there's a fair bit
25456         of reindentation and code rearrangement.)
25458         * lib/getopt.c: When used standalone, define __libc_use_alloca
25459         as always false and alloca to abort if called.
25460         (process_long_option): Rewrite handling of ambiguous long options
25461         to use a single boolean vector, not a linked list; use
25462         __libc_use_alloca to decide whether to allocate this using alloca.
25465         getopt: refactor long-option handling
25467         There were two copies of the bulk of the code to handle long options.
25468         Now there is only one.
25470         This change temporarily removes the logic to avoid using alloca when
25471         standalone; the next patch in the series will restore it.
25473         * lib/getopt.c (process_long_option): New function split out
25474         from _getopt_internal_r.
25475         (_getopt_internal_r): Replace both copies of the long-option
25476         processing code with calls to process_long_option.
25479         getopt: tidy up _getopt_initialize a bit
25481         _getopt_data.__posixly_correct is completely redundant to
25482         _getopt_data.__ordering, and some work that logically belongs in
25483         _getopt_initialize was being done by _getopt_internal_r, making the
25484         code harder to understand.
25486         As a side effect, getenv will no longer be called if the first
25487         character of the options string is '+' or '-', which is probably a
25488         Good Thing.  (Perhaps we should have a flag character that
25489         specifically asks for the permutation behavior?)
25491         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
25492         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
25493         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
25496         getopt: merge from glibc: repetition reduction
25498         The definitions of the entry point functions 'getopt' and
25499         '__posix_getopt' can be made substantially less repetitive with a
25500         helper macro.
25502         While I was merging the const-correctness changes from gnulib into
25503         glibc I noticed there are still some unnecessary casts in
25504         _getopt_internal_r.
25506         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
25507         a macro.  Consistently cast 'argv' to 'char **' when calling
25508         _getopt_internal.
25509         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
25512         getopt: clean up error reporting
25514         getopt can print a whole bunch of error messages, and when used
25515         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
25516         cancellation point and getopt isn't, and also applying fprintf to a
25517         stream in wide-character mode is not allowed.  So every single error
25518         reporting case has an #ifdef _LIBC block in which it calls internal
25519         libc functions instead.  The counterpart patch series in glibc makes
25520         it possible to simplify all of that down to a set of #defines at the
25521         top of the file; core code is written as if it is safe to just call
25522         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
25523         call any *other* stdio functions.)
25525         * lib/getopt.c: When _LIBC is defined, define fprintf to
25526         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
25527         to _IO_funlockfile.  When neither _LIBC nor
25528         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
25529         funlockfile as no-ops.
25530         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
25531         standalone error-printing code can now be used for libc as well.
25532         Add an flockfile/funlockfile pair around one case where the error
25533         message is printed in several chunks.  Don't use fputc.
25536         getopt: fix fencepost error in ambiguous-W-option handling
25538         getopt_long contains an undocumented (AFAICT) feature in which, if you
25539         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
25540         treated as equivalent to '--foo'.  This is implemented with a partial
25541         second copy of the code for handling long options, and that code
25542         increments optind one too many times when recovering from an ambiguous
25543         abbreviated option, which can cause the main loop to walk past the end
25544         of argv and crash.
25546         I discovered this while writing a test case that tries to exercise all
25547         of getopt's error reporting paths; I wouldn't be surprised to learn
25548         that this feature is never used by real applications.
25550         * lib/getopt.c (_getopt_internal_r): Don't increment
25551         d->optind a second time when reporting ambiguous -W options.
25554         getopt: clean up getopt.c and getopt1.c file headers
25556         In getopt.c, there is no need to include wchar.h at all, and it is
25557         safe nowadays to assume that stdlib.h does declare getenv (several
25558         other gnulib modules make this assumption).
25560         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
25561         by using "" inclusions consistently, and there is no actual need to
25562         include stdlib.h (except in the #ifdef TEST block, where it should be
25563         unconditional), nor to provide a backup definition of NULL at all.
25565         * lib/getopt1.c: Simplify #ifdeffage at top of file.
25566         Move inclusion of stdlib.h to #ifdef TEST block and make
25567         unconditional.  Do not define NULL.
25568         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
25569         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
25570         * modules/getopt-gnu, modules/getopt-posix: Don't call
25571         gl_PREREQ_GETENV.
25574         getopt: harmonize comments with glibc
25576         The comments explaining how the behavior of 'getopt' varies depending
25577         on whether it's the standalone version and whether there are special
25578         characters at the beginning of the options string were inconsistent
25579         between gnulib and glibc, and also out of sync with the code.
25581         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
25584         getopt: remove USE_NONOPTION_FLAGS
25586         getopt includes code to parse an environment variable named
25587         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
25588         in decimal); but all of it has been #ifdefed out since 2001, with no
25589         official way to turn it back on.
25591         According to commentary in glibc's config.h.in, bash version 2.0
25592         set this environment variable to indicate argv elements that were
25593         the result of glob expansion and therefore should not be treated
25594         as options, but the feature was "disabled later" because "it
25595         caused problems".  According to bash's CHANGES file, "later" was
25596         release 2.01; it gives no more detail about what the problems
25597         were.
25599         Version 2.0 of bash was released on the last day of 1996, and version
25600         2.01 in June of 1997.  Twenty years later, I think it is safe to
25601         assume that this environment variable isn't coming back.
25603         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
25604         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
25605         __libc_argc and __libc_argv externs, which were only used by
25606         #ifdef USE_NONOPTION_FLAGS blocks.
25609         getopt: tabify, in preparation for merge with glibc
25611         glibc sticks to the GNU default of indenting with a mix of
25612         8-column tabs and spaces; make the gnulib copy match.
25614         getopt.h is not included because it is *not* going to be merged in its
25615         present form.
25617         * getopt.c, getopt1.c, getopt_int.h: Tabify.
25619 2017-04-02  Bruno Haible  <bruno@clisp.org>
25621         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
25622         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
25623         like it was done in modules/relocatable-lib on 2011-05-21 and in
25624         modules/relocatable-prog on 2011-08-15.
25625         Reported by Reuben Thomas <rrt@sc3d.org>.
25627 2017-03-31  Bruno Haible  <bruno@clisp.org>
25629         glob: Fix invalid free() call.
25630         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
25631         static storage to home_dir.
25632         Reported by Coverity via Tim Rühsen.
25634 2017-03-31  Bruno Haible  <bruno@clisp.org>
25636         glob: Fix memory leaks.
25637         * lib/glob.c (glob): Free allocated memory before returning.
25638         Reported by Coverity via Tim Rühsen.
25640 2017-03-31  Bruno Haible  <bruno@clisp.org>
25642         md5, sha1, sha256, sha512: Add comments regarding correctness.
25643         * lib/md5.h (buflen): Add comments regarding range.
25644         * lib/sha1.h (buflen): Likewise.
25645         * lib/sha256.h (buflen): Likewise.
25646         * lib/sha512.h (buflen): Likewise.
25647         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
25648         * lib/sha1.c (sha1_process_bytes): Likewise.
25649         * lib/sha256.c (sha256_process_bytes): Likewise.
25650         * lib/sha512.c (sha512_process_bytes): Likewise.
25651         Reported by Coverity via Tim Rühsen.
25653 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
25655         getopt: merge from glibc
25656         This does not change anything substantial; it merely simplifies
25657         hypothetical merges back to glibc.
25658         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
25659         Change copyright notice to match what is in glibc.
25660         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
25661         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
25662         __open_memstream rather than open_memstream and __glibc_likely
25663         instead of __builtin_expect.
25664         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
25666 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
25668         dfa: make [0-9] faster in non-C locales
25669         Problem reported by John P. Linderman (Bug#26193).
25670         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
25671         If both ends of the range are ASCII digits, do not worry about
25672         multi-character collating sequences and the like.  Be consistent
25673         about using isalpha as a precondition for setbit_case_fold_c.
25675 2017-03-19  Bruno Haible  <bruno@clisp.org>
25677         lock: Fix compilation error with HP-UX IA64 cc.
25678         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
25679         weak on non-glibc platforms.
25681 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
25683         stdalign: tweak version# and test for HP-UX IA64
25684         Problems reported by Bruno Haible in:
25685         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
25686         * lib/stdalign.in.h (_Alignas):
25687         * m4/stdalign.m4 (gl_STDALIGN_H):
25688         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
25689         used octal (as that is how they document it), but it is decimal in
25690         practice now and the ancient implementations no longer matter.
25691         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
25693 2017-03-19  Bruno Haible  <bruno@clisp.org>
25695         vma-iter: Add support for Solaris.
25696         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
25697         approach.
25698         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
25699         * lib/get-rusage-as.c: Update comment about Solaris.
25700         * lib/get-rusage-data.c: Likewise.
25702 2017-03-19  Bruno Haible  <bruno@clisp.org>
25704         vma-iter: Prefer HP-UX specific API on HP-UX.
25705         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
25706         * lib/vma-iter.h: Update.
25707         Just in case HP-UX ever implements mquery().
25709 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
25711         stdalign: restore previous behavior for HP-UX IA64
25712         See Bruno Haible's email in:
25713         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
25714         which cites p 150 of a manual saying that 'aligned' works on Itanium.
25715         * lib/stdalign.in.h (_Alignas):
25716         Assume the '061200' applies to Itanium, not to PA-RISC.
25717         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
25719 2017-03-17  Bruno Haible  <bruno@clisp.org>
25721         stat-time, timespec: Support use of the header files in C++ mode.
25722         * lib/stat-time.h: Add "C" linkage declaration.
25723         * lib/timespec.h: Likewise.
25725 2017-03-17  Bruno Haible  <bruno@clisp.org>
25727         stdalign: Make it work with HP-UX cc.
25728         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
25729         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
25730         for HP-UX cc.
25732 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
25734         flexmember: try to detect HP-UX 11.31 cc bug
25735         Problem reported by Bruno Haible in:
25736         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
25737         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
25738         Attempt to detect bug in HP-UX 11.31 cc.
25740 2017-03-16  Bruno Haible  <bruno@clisp.org>
25742         stdint: Fix test compilation failure with HP-UX 11 cc.
25743         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
25744         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
25745         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
25746         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
25748 2017-03-14  Bruno Haible  <bruno@clisp.org>
25750         gnulib-tool: Don't produce a tests directory with only snippet .h files.
25751         * gnulib-tool (func_modules_transitive_closure_separately): If
25752         testsrelated_modules ends up with no "real" modules, aside from
25753         modules with applicability 'all', set it to empty.
25755 2017-03-14  Bruno Haible  <bruno@clisp.org>
25757         vma-iter: Add support for HP-UX.
25758         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
25759         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
25760         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
25761         * lib/get-rusage-as.c: Update comment about HP-UX.
25762         * lib/get-rusage-data.c: Likewise.
25763         (get_rusage_data): Use get_rusage_data_via_setrlimit.
25765 2017-03-14  Bruno Haible  <bruno@clisp.org>
25767         limits-h: Make it work with HP-UX cc.
25768         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
25769         defined.
25771 2017-03-14  Bruno Haible  <bruno@clisp.org>
25773         Fix test failures on DragonFlyBSD.
25774         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
25775         * tests/test-select.h (test_bad_fd): Likewise.
25776         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
25778 2017-03-14  Bruno Haible  <bruno@clisp.org>
25780         freadahead: Silence warning on DragonFlyBSD.
25781         * lib/freadahead.c (__sreadahead): Declare ourselves.
25783 2017-03-14  Bruno Haible  <bruno@clisp.org>
25785         vma-iter: Add comment about AIX.
25786         * lib/vma-iter.c: Add comment about why this module is not implemented
25787         on AIX.
25789 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
25791         snippets: move unadjusted snippet sources to lib
25792         Problem reported by Michal Privoznik in:
25793         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
25794         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
25795         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
25796         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
25797         * lib/unused-parameter.h: Rename from
25798         build-aux/snippet/unused-parameter.h.
25799         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
25800         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
25801         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
25802         * modules/snippet/c++defs (Files:, CXXDEFS_H):
25803         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
25804         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
25805         Adjust to file renamings.
25807 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
25809         gnulib-tool: don't automatically distribute files from top/
25810         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
25811         not distribute top/README-release by default, don't distribute files
25812         from top/ unconditionally.
25813         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
25814         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
25816 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
25818         gnulib-tool: fix typo in comment output
25819         * gnulib-tool (func_import): Fix typo with previous change.
25821         snippets: work around GNU Make 3.82 VPATH
25822         When using 'gnulib-tool --gnu-make' on Emacs, and building
25823         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
25824         an out-of-source (VPATH) build failed because the sans-copyright
25825         snippet file was not built before the file that used it.
25826         Presumably this is some sort of VPATH thing.  Work around the
25827         problem by using the original snippet, i.e., don’t bother to
25828         remove its copyright notice.
25829         * modules/snippet/_Noreturn, modules/snippet/link-warning:
25830         Don’t assume Automake in comments.  Omit long-incorrect comment.
25831         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
25832         (MOSTLYCLEANFILES):
25833         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
25834         (MOSTLYCLEANFILES):
25835         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
25836         (MOSTLYCLEANFILES):
25837         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
25838         (MOSTLYCLEANFILES):
25839         Remove.
25840         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
25841         * modules/snippet/c++defs (CXXDEFS_H):
25842         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
25843         * modules/snippet/warn-on-use (WARN_ON_USE_H):
25844         Don’t bother to remove the copyright notice; just use the
25845         original snippet as-is.
25847 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
25849         gnulib-tool: minor --gnu-make fixups
25850         * gnulib-tool (func_emit_lib_Makefile_am):
25851         Remove useless code that was a blind alley during implementation.
25852         Problem reported by Thien-Thi Nguyen in:
25853         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
25854         (func_import): Note the "--gnu-make" option in the output comment.
25856 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
25858         gnulib-tool: new option --gnu-make
25859         This is for applications like GNU Emacs that use GNU Make
25860         features instead of Automake.
25861         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
25862         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
25863         Do not assume Automake.
25864         * gnulib-tool (func_determine_path_separator)
25865         (func_modules_transitive_closure, func_update_file)
25866         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
25867         (func_import): Add support for --gnu-make.
25869 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
25871         gnulib-common.m4: avoid aclocal.m4 bloat
25872         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
25873         Hide AM_PROG_AR from aclocal, so that aclocal does not
25874         install irrelevant macro definitions into aclocal.m4.
25876 2017-03-10  Bruno Haible  <bruno@clisp.org>
25878         vma-iter: Let callers know about error.
25879         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
25880         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
25882 2017-03-05  Bruno Haible  <bruno@clisp.org>
25884         Fix value of LD for 64-bit compilers on AIX.
25885         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
25886         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
25888 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
25890         dtotimespec: simplify
25891         * lib/dtotimespec.c (dtotimespec): Simplify.
25893 2017-03-04  Bruno Haible  <bruno@clisp.org>
25895         test-calloc-gnu: Reenable test also for GCC 7.
25896         * tests/test-calloc-gnu.c (eight): New function.
25897         (main): Don't skip test; use eight() instead.
25899 2017-03-04  Jim Meyering  <meyering@fb.com>
25901         test-calloc-gnu: port to GCC7
25902         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
25903         that attempts to calloc more than SIZE_MAX bytes, because GCC7
25904         and newer would detect that at compilation time.
25906 2017-03-04  Bruno Haible  <bruno@clisp.org>
25908         tests: Avoid compiler warning about uses of null_ptr.
25909         * tests/null-ptr.h: New file.
25910         * tests/test-canonicalize.c: Include null-ptr.h.
25911         (null_ptr): Remove function.
25912         * tests/test-canonicalize-lgpl.c: Likewise.
25913         * tests/test-memmem.c: Likewise.
25914         * tests/test-ptsname_r.c: Likewise.
25915         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
25916         * modules/canonicalize-lgpl-tests: Likewise.
25917         * modules/memmem-tests: Likewise.
25918         * modules/ptsname_r-tests: Likewise.
25919         Reported by Jim Meyering.
25921 2017-03-03  Bruno Haible  <bruno@clisp.org>
25923         doc: Mention Mac OS X deficiencies regarding semaphores.
25924         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
25925         * doc/posix-functions/sem_destroy.texi: Likewise.
25926         * doc/posix-functions/sem_getvalue.texi: Likewise.
25928 2017-03-03  Bruno Haible  <bruno@clisp.org>
25930         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
25931         Reported by Assaf Gordon <assafgordon@gmail.com> via
25932         Pádraig Brady <P@draigBrady.com>.
25933         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
25934         semaphores.
25935         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
25936         (atomic_int_semaphore): New macro.
25938 2017-02-28  Bruno Haible  <bruno@clisp.org>
25940         perror tests: Tweak for z/OS.
25941         Reported by Daniel Richard G. <skunk@iskunk.org>.
25942         * tests/test-perror.sh: Don't fail z/OS style perror output.
25944 2017-02-26  Bruno Haible  <bruno@clisp.org>
25946         nproc: Refactor large function.
25947         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
25948         from num_processors.
25949         (num_processors): In this function, only deal with OMP.
25951 2017-02-26  Pádraig Brady  <P@draigBrady.com>
25953         nproc: adjust handling of OpenMP environment variables
25954         to match the return value from omp_get_num_threads(), i.e.:
25955          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
25956          - Treat 0 as an invalid value and ignore
25957         Also remove the call to omp_get_num_threads() because
25958         it's ineffective without the omp pragmas in place.
25959         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
25960         so that it can be ignored.
25961         (num_processors): Honor OMP_THREAD_LIMIT even without
25962         OMP_NUM_THREADS being set.  Also fix a typo in the environment
25963         variable being checked, from the previous recent commit.
25965 2017-02-26  Pádraig Brady  <P@draigBrady.com>
25967         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
25968         * lib/nproc.c (parse_omp_threads): A new function refactored
25969         from num_processors() to support parsing both of the
25970         above environment variables.
25971         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
25972         to accurately reflect the current OpenMP nesting level.
25973         Also support the OMP_THREAD_LIMIT environment variable
25974         to limit the max value determined from OMP_NUM_THREADS.
25975         * modules/nproc: Depend on minmax header.
25976         Suggested by Oliver Heimlich.
25978 2017-02-25  Bruno Haible  <bruno@clisp.org>
25980         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
25981         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
25983 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
25985         ftoastr: port to -Wdouble-promotion
25986         Work around -Wdouble-promotion false alarm in recent GCCs.
25987         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
25988         (ftoastr_snprintf, FTOASTR): Use it.
25990 2017-02-21  Bruno Haible  <bruno@clisp.org>
25992         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
25993         Reported by Rene Saavedra <rennes@openmailbox.org> in
25994         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
25995         * lib/glthread/lock.h: On glibc systems without
25996         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
25997         implementation of rwlocks.
25998         * lib/glthread/lock.c: Likewise.
26000 2017-02-20  Bruno Haible  <bruno@clisp.org>
26002         lock tests: Fix build failure on z/OS.
26003         Reported by Daniel Richard G. <skunk@iskunk.org>.
26004         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
26005         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
26006         exist.
26008 2017-02-19  Bruno Haible  <bruno@clisp.org>
26010         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
26011         This helps when CC=clang.
26012         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
26013         of /usr/bin/gcc.
26015         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
26016         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
26018 2017-02-19  Bruno Haible  <bruno@clisp.org>
26020         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
26021         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
26022         --with-tests --single-configure is specified.
26024 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
26026         users.txt: Update links, use HTTPS where possible
26027         * users.txt: Updated to HTTPS where possible,
26028         fixed some links to new locations.
26030 2017-02-16  Bruno Haible  <bruno@clisp.org>
26032         xbinary-io: Fix inlining.
26033         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
26035 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
26037         xbinary-io: rename from xsetmode
26038         This patch is taken from suggestions by Bruno Haible in:
26039         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
26040         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
26041         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
26042         not ENOTTY, when it is an inappropriate device.
26043         * lib/binary-io.h (SET_BINARY): Resurrect.
26044         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
26045         (xset_binary_mode_error): Rename from xsetmode_error.
26046         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
26047         (xset_binary_mode): Rename from xsetmode.
26048         All uses changed.
26049         * modules/xbinary-io: Rename from modules/xsetmode.
26050         Update file names.
26051         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
26052         * NEWS: Update to match revised behavior.
26054 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
26056         tests: Adjust to recent SET_BINARY change
26057         * tests/test-binary-io.c (main):
26058         * tests/test-binary-io.sh: Remove test for SET_BINARY.
26059         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
26060         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
26061         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
26063         xsetmode: new module
26064         This is to fix a problem noted by Eric Blake.
26065         Code was using xfreopen to change files to binary mode, but this
26066         fails for stdout when in append mode.  Such code should use
26067         xsetmode instead.
26068         * NEWS: Document incompatible changes to binary-io module.
26069         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
26070         New function.
26071         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
26072         (set_binary_mode): New function, which also checks for tty.
26073         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
26075 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
26077         headers: fix begin-end typos
26078         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
26079         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
26081         selinux-h: port to PGI 16.10
26082         * lib/se-selinux.in.h: Don't assume that include_next skips over
26083         duplicate -I DIR options.
26085         argp: port to PGI 16.10
26086         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
26088 2017-02-13  Darshit Shah  <darnir@gnu.org>
26090         unicase: Update function protoype to match definition.
26091         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
26092         uses 'size_t' as the datatype for the 'len' parameter in the functions
26093         it generates. Update the prototype specified here to match the newly
26094         generated function.
26096 2017-02-12  Bruno Haible  <bruno@clisp.org>
26098         times test: Avoid gcc warnings on Linux/x32.
26099         * tests/test-times.c (main): Really cast printf arguments from clock_t
26100         to 'long int'.
26102 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
26104         glob: port better to emscripten
26105         Problem reported by Bruno Haible in:
26106         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
26107         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
26109 2017-02-11  Bruno Haible  <bruno@clisp.org>
26111         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
26112         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
26113         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
26114         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
26115         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
26116         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
26117         Distinguish hppa64 from hppa.
26119 2017-02-10  Bruno Haible  <bruno@clisp.org>
26121         search: Don't assume that tsearch() exists if 'VISIT' is defined.
26122         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
26123         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
26124         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
26126 2017-02-09  Bruno Haible  <bruno@clisp.org>
26128         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
26129         * doc/gnulib.texi (Libtool and Windows): Recommend
26130         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
26131         Reported by Reuben Thomas <rrt@sc3d.org>.
26133 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
26135         stddef-tests: port to SIZE_MAX <= INT_MAX
26136         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
26137         Do not assume that INT_MAX < SIZE_MAX.
26139 2017-02-01  Bruno Haible  <bruno@clisp.org>
26141         lock tests: Fix link error.
26142         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
26143         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26145 2017-01-31  Bruno Haible  <bruno@clisp.org>
26147         lock: Fix link error (regression from 2017-01-05).
26148         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
26149         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
26150         pthread_rwlockattr_destroy weak.
26151         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26153 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
26155         Port to PGI 16.10 x86-64
26156         This patch fixes one real bug in gl_anylinked_list2.h, along with
26157         some minor glitches that are not bugs.  It does not silence PGI’s
26158         thousands of bogus warnings when compiling test-intprops.c.
26159         Fortunately, the warnings do not cause a failure.
26160         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
26161         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
26162         My goodness, PGI goes back a long ways - this predates C89!
26163         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
26164         For example, ASYNCSAFE (const void *) should expand to
26165         ‘const void *volatile’, not to ‘volatile const void *’.
26166         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
26167         * lib/verify.h (verify) [!__GNUC__]:
26168         Use shorter albeit meaningless string to bypass silly compiler limits.
26169         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
26170         * tests/nan.h (NaNf, NaNd, NaNl):
26171         Use static functions to avoid misguided compiler diagnostics.
26172         Is there some reason we don’t use static functions on all platforms?
26174 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
26176         parse-datetime: handle timezones reentrantly
26177         This API change was prompted by a report by Pádraig Brady in:
26178         https://bug.debian.org/851934#10
26179         To help fix the bug, make parse_datetime2 more reentrant.
26180         * NEWS: Document this incompatible change.
26181         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
26182         Add two arguments, the timezone and the timezone name.
26183         All callers changed.  If TZ="..." is specified, use it for
26184         calculating defaults.
26185         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
26186         this code should be usable in a library.
26187         (mktime_ok, get_effective_timezone):
26188         Accept timezone arg too.  All callers changed.
26189         (get_tz): Remove.
26190         (get_effective_timezone): Check for failures.
26192 2017-01-20  Eric Blake  <eblake@redhat.com>
26194         localename: port to cygwin 2.6
26195         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
26196         Cygwin.
26197         * modules/localename (Depends-on): Add extensions, since
26198         NL_LOCALE_NAME() is not visible without it.
26200 2017-01-17  Pádraig Brady  <P@draigBrady.com>
26202         parse-datetime: fix dependence on AC_PROG_SED
26203         * modules/parse-datetime: Use `sed` directly like all other modules.
26204         Reported by J William Piggott
26206 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
26208         intprops: update doc URLs
26209         * doc/intprops.texi (Integer Range Overflow): Update URLs.
26211 2017-01-16  Bruno Haible  <bruno@clisp.org>
26213         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
26214         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
26215         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
26216         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
26217         distinguish s390 and s390x.
26218         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
26219         * NEWS: Mention the change regarding 'armel'.
26221 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
26223         localeinfo: case_folded_counterparts and WEOF
26224         * NEWS: Document this.
26225         * lib/localeinfo.c (case_folded_counterparts):
26226         First arg is now wint_t, not wchar_t.  This generalizes the
26227         function to also work on WEOF, where it returns 0.
26229         dfa: port to gcc -fsanitize=undefined
26230         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
26231         as this runs afoul of gcc -fsanitize=undefined.
26233 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
26235         strftime: %z is -00 if unknown
26236         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
26237         the caller's responsibility to set 'negative_number'.  All uses changed.
26238         (__strftime_internal): Put '-' before a zero UTC offset if the time
26239         zone abbreviation starts with "-", which is the recently-introduced
26240         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
26241         * tests/test-strftime.c: Test for this.
26243 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
26245         dfa: port to older GCC
26246         Problem reported by Assaf Gordon in:
26247         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
26248         * modules/c99: New module.  This merely attempts to use the latest
26249         C version, which should be enough to solve this particular problem.
26250         The idea is to document which Gnulib modules assume C99 or later.
26251         * modules/dfa (Depends-on): Add it.
26253 2017-01-10  Bruno Haible  <bruno@clisp.org>
26255         Update DEPENDENCIES.
26256         * DEPENDENCIES: List only https URLs. Update recommended version for
26257         autoconf, automake, gperf.
26259 2017-01-10  Jim Meyering  <meyering@fb.com>
26261         maint.mk: enforce spelling of "timestamp" (i.e., no space)
26262         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
26263         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
26265 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
26267         dfa: minor simplification with emptyset
26268         * lib/dfa.c (build_state): Simplify by using emptyset.
26270 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
26272         dfa: shrink constraints from 4 bits to 3
26273         * lib/dfa.c (newline_constraint, letter_constraint)
26274         (other_constraint, prev_newline_dependent)
26275         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
26276         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
26277         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
26278         Constraints need only 3 bits, not 4.  Using smaller integers
26279         shrinks the code a bit and makes grep a tad faster on x86-64.
26281         dfa: omit unnecessary ptrdiff_t check
26282         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
26283         overflow, since xnmalloc does that now.
26285         dfa: omit unnecessary allocation
26286         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
26287         an all-zero follow set works just fine.
26289         dfa: omit unused local
26290         * lib/dfa.c (build_state): Fix up recent change.
26292         maint: remove stray .texi files
26293         Although these were superseded by other files like
26294         doc/posix-functions/ctime.texi, the old files were not removed.
26295         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
26297 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
26299         getprogname: fix port to IRIX
26300         * lib/getprogname.c (getprogname) [__sgi]:
26301         Don't dump core if malloc returns NULL.
26303         dfa: fix reallocation bug when matching newlines
26304         Problem reported for sed by S. Gilles (Bug#25390).
26305         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
26306         (dfastate): Reallocate before moving any newline transition ...
26307         (build_state): ... instead of reallocating here, where it is too late.
26309 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
26311         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
26312         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
26314 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
26316         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
26317         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
26319 2017-01-07  Bruno Haible  <bruno@clisp.org>
26321         stdioext: Port to Minix 3.2 and newer.
26322         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
26323         * lib/fseeko.c (fseeko): Likewise.
26324         Reported by Nelson Beebe via Paul Eggert.
26326 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
26328         getprogname: port to IRIX
26329         * lib/getprogname.c (getprogname): Port to IRIX.
26330         Based on an idea by Bastien Roucariès at:
26331         http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
26332         via code from Bruno Haible at:
26333         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
26335         localename-tests: port to NetBSD 7
26336         Problem reported by Nelson H. F. Beebe.
26337         * tests/test-localename.c:
26338         Test newlocale and uselocale only if both exist.
26340         glob, intprops, xalloc: work around Clang bug
26341         Work around LLVM bug 16404, which is still not fixed.
26342         https://llvm.org/bugs/show_bug.cgi?id=16404
26343         Problem reported by Nelson H. F. Beebe.
26344         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
26345         Remove.
26346         * lib/glob.c (size_add_wrapv):
26347         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
26348         * lib/xalloc-oversized.h (xalloc_oversized):
26349         Do not use overflow builtins if Clang.
26351         dfa: fix 'return' typo
26352         Problem reported by Nelson H. F. Beebe.
26353         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
26355 2017-01-05  Pádraig Brady  <P@draigBrady.com>
26357         parse-datetime: fix generated paths for coverage files
26358         * modules/parse-datetime: Adjust the paths for parse-datetime.y
26359         within parse-datetime.c, so that gcc generates appropriate .gcno
26360         files, allowing lcov to proceed without error.  Previously it
26361         would error trying to find "lib/lib/parse-datetime.y".
26363 2017-01-05  Pádraig Brady  <P@draigBrady.com>
26365         maint.mk: support parallel execution of coverage
26366         * top/maint.mk (coverage): Run dependencies serially,
26367         thus supporting parallel processing of each one,
26368         particularly build-coverage, which builds and runs tests.
26370 2017-01-05  Bruno Haible  <bruno@clisp.org>
26372         lock tests: Prefer semaphore over mutex.
26373         * tests/test-lock.c (USE_SEMAPHORE): New constant.
26374         (struct atomic_int, init_atomic_int, get_atomic_int_value,
26375         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
26376         Suggested by Torvald Riegel <triegel@redhat.com>.
26378 2017-01-05  Bruno Haible  <bruno@clisp.org>
26380         lock: Provide guarantee to avoid writer starvation for rwlocks.
26381         The rationale is: 1) Read-preferring read-write locks are prone to
26382         writer starvation if the number of reader threads multiplied by the
26383         percentage of time they have the lock held is too high. 2) Write-
26384         preferring read-write locks are the only reliable way to avoid this.
26385         3) There have been reports of 'test-lock' hanging on glibc systems
26386         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
26387         and glibc indeed implements read-preferring rwlocks by default, see
26388         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
26389         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
26390         * m4/pthread_rwlock_rdlock.m4: New file.
26391         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
26392         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
26393         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
26394         of rwlock initialization on glibc systems without
26395         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
26396         of rwlocks altogether on non-glibc systems without
26397         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
26398         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
26399         * lib/glthread/lock.c [USE_POSIX_THREADS]
26400         (glthread_rwlock_init_for_glibc): New function.
26401         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
26402         comment.
26403         [USE_PTH_THREADS]: New implementation of rwlocks.
26404         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
26405         readers.
26406         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
26407         (Depends-on): Add 'extensions'.
26408         * tests/test-rwlock1.c: New file.
26409         * lock-tests (Files): Add it.
26410         (Depends-on): Add usleep.
26411         (Makefile.am): Add test-rwlock1 to the tests.
26413 2017-01-05  Bruno Haible  <bruno@clisp.org>
26415         thread: Fix pth port.
26416         * lib/glthread/thread.h (pth_init): Declare weak.
26417         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
26418         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
26419         function.
26421 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
26423         parse-datetime: fix debug message on lone year number
26424         Input dates such as
26425           date -d "Apr 11 22:59:00 2011"
26426         are parsed as date (Apr 11, with default year 2016), then time, then a
26427         number (2011). Based on the combination of previously seen tokens,
26428         'digits_to_date_time' determines 2011 to be a year value.
26429         This fixes the debug messages to correctly show the updated year.
26430         Before:
26431             $ date --debug -d 'Apr 11 22:59:00 2011'
26432             date: parsed date part: (Y-M-D) 2016-04-11
26433             date: parsed time part: 22:59:00
26434             date: parsed number part: today/this/now
26435         After:
26436             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
26437             date: parsed date part: (Y-M-D) 2016-04-11
26438             date: parsed time part: 22:59:00
26439             date: parsed number part: year: 2011
26440         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
26441         'debug_year_seen' member fields.
26442         (digits_to_date_time): Update 'year_seen' as needed.
26443         (debug_print_current_time): Inform about year updates.
26444         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
26446         parse-datetime: fix local timezone debug messages
26447         "Local timezones" are strings that affect only DST relative to the
26448         default timezone. The debug messages in parse-datetime.y printed
26449         wrong information when encountering local timezones.
26450         Examples:
26451         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
26452              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
26453              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
26454         When the default timezone relates to the zone strings, EET/EEST are
26455         parsed as local timezones (tLOCAL_ZONE), and only change the DST
26456         value (0/1, respectively):
26457              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
26458              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
26459         * lib/parse-datetime.y (debug_print_current_time): If local timezone
26460         was seen, inform about DST change, don't print actual timezone.
26461         (debug_strfdatetime): If local timezone was seen, use default timezone
26462         (and adjust as needed) instead of using incorrect timezone.
26463         (parse_datetime2): Use correct time-zone source string, and adjust
26464         default timezone as needed.
26466         parse-datetime: add debug warning about DST changes
26467         Incorrect date arithmetic due to daylight saving time (DST) are a
26468         common (false) bug report in coreutils.
26469         Detect two such cases and print a warning:
26470         1. year/month/day adjustments (performed on 'struct tm'),
26471            where 'mktime' returns a different isdst value.
26472         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
26473            where the result of 'localtime(3)' on the value will return a
26474            different isdst value.
26475         Note: DST changes could be harmless or unnoticeable.
26476         Examples (with 'TZ=America/New_York'):
26477         Unnoticeable: result is 2016-Dec-14
26478            $ date -d '2016-06-15 EDT + 6 months' +%b
26479            Dec
26480         Unnoticeable: result is 2016-Dec-15 11:00:00
26481            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
26482            2016-12-15
26483         This is unexpected:
26484            $ date -d '2016-06-01 EDT + 6 months' +%F
26485            2016-11-30
26486         The new debug warnings will show:
26487            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
26488            ...
26489            date: warning: daylight saving time changed after date adjustment
26490            ...
26491         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
26492         print an appropriate warning message.
26494         parse-datetime: add debug warning about date arithmetic
26495         Date arithmetic are done directly on the fields of 'struct tm',
26496         which can result in invalid dates. Normalization with 'mktime(3)'
26497         will then produce a different date - which might cause unexpected
26498         results.
26499         Examples:
26500           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
26501           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
26502         Note that date normalization is not inherently wrong and not rejected,
26503         as it has legitimate uses:
26504           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
26505         If the user asked to adjust months but 'mday' changed,
26506         or user asked to adjust years but 'month' changed - warn about it.
26507             $ ./src/date --debug -d '2016-10-31 - 1 month'
26508             ...
26509             date: warning: when adding relative months/years, \
26510                            it is recommended to specify the 15th of the month
26511             ...
26512             date: warning: month/year adjustment resulted in shifted dates:
26513             date:      adjusted Y M D: 2016 09 31
26514             date:    normalized Y M D: 2010 10 01
26515             ...
26516         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
26517         a warning message. Improve recommendation of when to use 15 of the
26518         month or noon for date arithmetic.
26520         parse-datetime: fix debug message of relative part after timezone
26521         Relative part (e.g '+8 days') after a timezone string was not
26522         reported (was only reported after a timezone number). Due to the
26523         parser's structure, timezone strings with numbers were handled
26524         separately.
26525         before:
26526              # Timezone number + relative part: OK
26527              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
26528              ...
26529              date: parsed relative part: -8 day(s)
26530              # Timezone string + relative part: missing
26531              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
26532              [ missing message ]
26533         After: messages are printed in both cases.
26534         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
26536         parse-datetime: fix incorrect debug message on lone number
26537         A lone number is an absolute value, not a relative time part.
26538         before:
26539            $ date --debug -d '20130101'
26540            date: parsed number part: today/this/now
26541         After:
26542            $ ./src/date --debug -d '20130101'
26543            date: parsed number part: (Y-M-D) 2013-01-01
26544         * lib/parse-datetime.y ('item'/'number' tokens): Call
26545         'debug_print_current_time' instead of 'debug_print_relative_time'.
26547 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
26549         doc: modernize for C11 etc.
26550         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
26551         for C11, MinGW, etc.  This responds to Paul Smith's question in:
26552         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html
26554         dfa: prefer functions to FETCH_WC macro
26555         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
26556         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
26557         wint_t result into DFA->lex.wctok instead of to a separate arg.
26558         All callers changed.  Move more local decls closer to where
26559         they're used.
26561         dfa: narrow more local var scopes
26562         * lib/dfa.c: Move more local decls to be more local.
26564         dfa: remove duplicate assignment
26565         Problem reported by Bruno Haible in:
26566         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
26567         * lib/dfa.c (parse_bracket_exp): Simplify.
26569 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
26571         dfa: simplify constraint-dependency checking
26572         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
26573         (prev_other_constraint): Remove.
26574         (prev_newline_dependent, prev_letter_dependent):
26575         Simplify, to avoid an unnecessary bitwise AND operation.
26577         dfa: prefer functions and constants to macros
26578         * lib/dfa.c: Prefer constants to macros where either will do.
26579         (streq, isasciidigit, newline_constraint)
26580         (letter_constraint, other_constraint, succeeds_in_context)
26581         (prev_newline_constraint, prev_letter_constraint)
26582         (prev_other_constraint, prev_newline_dependent)
26583         (prev_letter_dependent, accepting, accepts_in_context):
26584         Now static functions instead of function-like macros.
26585         Use lower-case names accordingly.  All uses changed.
26587         dfa: narrow more local var scopes
26588         * lib/dfa.c: Move some more local decls down to nearer where
26589         they're needed.
26591 2016-12-31  Jim Meyering  <meyering@fb.com>
26593         dfa: narrow the scope of many local variables
26594         * lib/dfa.c: Now that we are no longer constrained to c89, move
26595         declarations of many variables (often indices) "down" into the
26596         scope(s) where used or to the point of definition.  This is a
26597         no-semantic-change diff.
26599 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
26601         version-etc: new year
26602         * build-aux/gendocs.sh (version):
26603         * doc/gendocs_template:
26604         * doc/gendocs_template_min:
26605         * doc/gnulib.texi:
26606         * lib/version-etc.c (COPYRIGHT_YEAR):
26607         Update copyright dates by hand in templates and the like.
26608         * all files: Run 'make update-copyright'.
26610 2016-12-31  Eric Blake  <eblake@redhat.com>
26612         do-release-commit-and-tag: avoid shell syntax error
26613         * build-aux/do-release-commit-and-tag (curr_br): $branch can
26614         contain spaces when rebasing.
26616         maint.mk: hoist gnulib_dir definition earlier
26617         * top/maint.mk (gnulib_dir): Move near top of file.
26619 2016-12-31  Jim Meyering  <meyering@fb.com>
26621         maint.mk: do not always evaluate intprops-related shell
26622         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
26623         using gnulib_dir undefined (gnulib_dir is defined later in the
26624         file, which will be fixed separately), and besides, there is no
26625         need to incur the cost of this shell invocation for every single
26626         use of this .mk file.  Reported by Eric Blake in
26627         https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html
26629 2016-12-30  Jim Meyering  <meyering@fb.com>
26631         maint.mk: improve sc_prohibit_intprops_without_use
26632         * top/maint.mk (_intprops_names): Don't hard-code the list of
26633         symbol names.  Instead, derive it on the fly.
26635 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
26637         dfa: shorten sbit, success
26638         * lib/dfa.c (struct regex_syntax.sbit):
26639         (struct dfa.success): Use char, not int, for array elements, since
26640         they are all in the range 0..7.
26642         dfa: simplify multibyte_prop etc.
26643         This follows up on a change made when dfa.c was in grep, namely grep
26644         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
26645         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
26646         That earlier simplification allows for some more simplification
26647         and trimming down here.
26648         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
26649         (struct lexer_state): New mamber brack.
26650         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
26651         since they must be in the range 0..3 now.
26652         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
26653         the brack member now supersedes them.
26654         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
26655         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
26656         (dfaparse): Remove unnecessary initializations of already-0 storage.
26657         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
26658         (dfassbuild): No need to clear sup->mbcsets.
26660         dfa: minor performance tweak
26661         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
26663         dfa: wrap charclass inside a struct
26664         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
26665         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
26666         about 5% faster, where list.txt is generated by 'aspell dump
26667         master | head -n 100000 >list.txt'.  See Bug#22239.
26668         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
26669         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
26670         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
26671         Adjust to this, e.g., by using charclass * rather than charclass.
26672         All callers changed as needed.
26673         (copyset): Remove.  All uses changed to simple assignment.
26674         (parse_bracket_exp): Use zeroset instead of memset.
26676 2016-12-30  Jim Meyering  <meyering@fb.com>
26678         maint.mk: update list of intprops.h symbol names
26679         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
26680         This avoids a false failure of the sc_prohibit_intprops_without_use
26681         rule in grep.
26683 2016-12-29  Eric Blake  <eblake@redhat.com>
26685         getopt: fix parallel test failure
26686         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
26687         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
26688         * tests/test-getopt-main.h (main): Use different file names
26689         in case test-getopt-gnu and test-getopt-posix run in parallel.
26691 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
26693         xalloc: x2nrealloc check for ptrdiff_t overflow
26694         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
26695         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
26697 2016-12-24  Bruno Haible  <bruno@clisp.org>
26699         lock test: Fix performance problem on multi-core machines.
26700         * tests/test-lock.c (USE_VOLATILE): New macro.
26701         (struct atomic_int): New type.
26702         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
26703         functions.
26704         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
26705         as 'struct atomic_int'.
26706         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
26707         reclock_checker_thread, test_recursive_lock): Use the new functions.
26708         Reported by Eric Blake in
26709         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
26710         and by Pádraig Brady in
26711         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.
26713 2016-12-19  Bruno Haible  <bruno@clisp.org>
26715         vma-iter: Fix endless loop on 64-bit Windows.
26716         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
26717         'unsigned long'.
26719 2016-12-19  Bruno Haible  <bruno@clisp.org>
26721         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
26722         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
26723         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
26724         Invoke gt_TYPE_WINT_T instead.
26725         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
26726         * modules/stdint (Files): Add m4/wint_t.m4.
26727         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
26728         * modules/wctype-h (Makefile.am): Likewise.
26729         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
26730         not only on MSVC.
26731         * lib/wctype.in.h (wint_t): Likewise.
26733 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
26735         getopt-posix-tests: fix Makefile typo
26736         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
26737         Fix typo: the last ‘_’ was missing in the name.
26738         I suspect that the typo explains this build failure:
26739         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
26740         although I can’t reproduce the problem on Solaris 10 sparc.
26742 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
26744         dfa: improve worst-case 'replace' performance
26745         See my note in Bug#22357#71.
26746         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
26747         (merge_constrained): New function, which is like
26748         the old 'merge' function, except with a new argument C2.
26749         Simplify the body by avoiding the need for different sections
26750         of code depending on whether one input is exhausted.
26751         (merge): Use the new function.
26752         (delete): Return the constraint of the deleted position,
26753         not the entire position.  Caller changed.
26754         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
26756 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
26758         dfa: performance improvement for removal of epsilon closure
26759         See Bug#22357#32.
26760         * lib/dfa.c (delete): Use binary search to find deleted index.
26761         (replace): New function.  It replaces a position with the followed set.
26762         (epsclosure): Replace it with a new algorithm.  Update caller.
26764 2016-12-18  Bruno Haible  <bruno@clisp.org>
26766         Split tests for getopt-posix and getopt-gnu.
26767         * tests/test-getopt-posix.c: New file.
26768         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
26769         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
26770         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
26771         GNULIB_TEST_GETOPT_GNU.
26772         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
26773         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
26774         (Makefile.am): Test test-getopt-posix instead of test-getopt.
26775         * modules/getopt-gnu-tests: New file.
26776         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
26778 2016-12-18  Bruno Haible  <bruno@clisp.org>
26780         posix-modules: Add options for specific platforms.
26781         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
26782         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
26783         Invoke func_tmpdir. Filter out the excludes.
26785 2016-12-18  Bruno Haible  <bruno@clisp.org>
26787         getopt: Fix link error for users of getopt() in <unistd.h>.
26788         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
26789         __need_getopt is defined. Undefine all macros before defining them.
26790         * modules/getopt (Include): Clarify that including <unistd.h> is also
26791         OK.
26792         * tests/test-getopt.c: Add comment.
26794 2016-12-17  Bruno Haible  <bruno@clisp.org>
26796         getaddrinfo tests: Avoid compilation error on MSVC.
26797         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
26798         getaddrinfo on native Windows.
26800 2016-12-17  Bruno Haible  <bruno@clisp.org>
26802         getlogin, getlogin_r: Fix link errors on MSVC.
26803         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
26804         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
26805         (Link): New section.
26806         * modules/getlogin_r (Files): Add m4/getlogin.m4.
26807         (configure.ac): Require gl_LIB_GETLOGIN.
26808         (Link): New section.
26809         * NEWS: Mention the new link requirements.
26810         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
26811         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
26813 2016-12-17  Bruno Haible  <bruno@clisp.org>
26815         Un-deprecate the 'progname' module.
26816         * NEWS: Describe the appropriate use-cases of 'progname' versus
26817         'getprogname'. Based on discussion summary at
26818         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html
26820 2016-12-17  Bruno Haible  <bruno@clisp.org>
26822         Reorganize NEWS a bit.
26823         * NEWS: Move some not so important changes away from section
26824         "Important Notes".
26826 2016-12-17  Bruno Haible  <bruno@clisp.org>
26828         tanhf: Avoid redefinition error on MSVC.
26829         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
26830         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
26831         may be defined as an inline function.
26832         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
26833         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
26835 2016-12-17  Bruno Haible  <bruno@clisp.org>
26837         tanf: Avoid redefinition error on MSVC.
26838         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
26839         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
26840         may be defined as an inline function.
26841         * modules/math (Makefile.am): Substitute REPLACE_TANF.
26842         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
26844 2016-12-17  Bruno Haible  <bruno@clisp.org>
26846         sqrtf: Avoid redefinition error on MSVC.
26847         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
26848         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
26849         may be defined as an inline function.
26850         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
26851         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
26853 2016-12-17  Bruno Haible  <bruno@clisp.org>
26855         sinhf: Avoid redefinition error on MSVC.
26856         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
26857         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
26858         may be defined as an inline function.
26859         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
26860         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
26862 2016-12-17  Bruno Haible  <bruno@clisp.org>
26864         sinf: Avoid redefinition error on MSVC.
26865         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
26866         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
26867         may be defined as an inline function.
26868         * modules/math (Makefile.am): Substitute REPLACE_SINF.
26869         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
26871 2016-12-17  Bruno Haible  <bruno@clisp.org>
26873         logf: Avoid redefinition error on MSVC.
26874         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
26875         may be defined as an inline function.
26877 2016-12-17  Bruno Haible  <bruno@clisp.org>
26879         log10l: Avoid redefinition error on MSVC.
26880         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
26881         may be defined as an inline function.
26883 2016-12-17  Bruno Haible  <bruno@clisp.org>
26885         log10f: Avoid redefinition error on MSVC.
26886         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
26887         may be defined as an inline function.
26889 2016-12-17  Bruno Haible  <bruno@clisp.org>
26891         hypotl: Avoid redefinition error on MSVC.
26892         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
26893         may be defined as an inline function.
26895 2016-12-17  Bruno Haible  <bruno@clisp.org>
26897         hypotf: Avoid redefinition error on MSVC.
26898         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
26899         may be defined as an inline function.
26901 2016-12-17  Bruno Haible  <bruno@clisp.org>
26903         fmodl: Avoid redefinition error on MSVC.
26904         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
26905         may be defined as an inline function.
26907 2016-12-17  Bruno Haible  <bruno@clisp.org>
26909         fmodf: Avoid redefinition error on MSVC.
26910         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
26911         may be defined as an inline function.
26913 2016-12-17  Bruno Haible  <bruno@clisp.org>
26915         expf: Avoid redefinition error on MSVC.
26916         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
26917         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
26918         may be defined as an inline function.
26919         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
26920         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
26922 2016-12-17  Bruno Haible  <bruno@clisp.org>
26924         coshf: Avoid redefinition error on MSVC.
26925         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
26926         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
26927         may be defined as an inline function.
26928         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
26929         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
26931 2016-12-17  Bruno Haible  <bruno@clisp.org>
26933         cosf: Avoid redefinition error on MSVC.
26934         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
26935         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
26936         may be defined as an inline function.
26937         * modules/math (Makefile.am): Substitute REPLACE_COSF.
26938         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
26940 2016-12-17  Bruno Haible  <bruno@clisp.org>
26942         atan2f: Avoid redefinition error on MSVC.
26943         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
26944         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
26945         may be defined as an inline function.
26946         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
26947         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
26949 2016-12-17  Bruno Haible  <bruno@clisp.org>
26951         atanf: Avoid redefinition error on MSVC.
26952         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
26953         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
26954         may be defined as an inline function.
26955         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
26956         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
26958 2016-12-17  Bruno Haible  <bruno@clisp.org>
26960         asinf: Avoid redefinition error on MSVC.
26961         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
26962         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
26963         may be defined as an inline function.
26964         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
26965         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
26967 2016-12-17  Bruno Haible  <bruno@clisp.org>
26969         acosf: Avoid redefinition error on MSVC.
26970         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
26971         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
26972         may be defined as an inline function.
26973         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
26974         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
26976 2016-12-17  Bruno Haible  <bruno@clisp.org>
26978         Avoid redefinition errors on MSVC.
26979         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
26980         the function may be defined as an inline function.
26981         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
26982         the function may be defined as an inline function.
26984 2016-12-17  Bruno Haible  <bruno@clisp.org>
26986         Avoid redefinition errors on MSVC.
26987         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
26988         * lib/unistd.in.h: Include <stdio.h> when necessary.
26990 2016-12-17  Bruno Haible  <bruno@clisp.org>
26992         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
26993         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
26994         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
26995         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
26996         WINT_MAX.
26998 2016-12-17  Bruno Haible  <bruno@clisp.org>
27000         Avoid autoconf warning.
27001         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
27002         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
27004 2016-12-17  Bruno Haible  <bruno@clisp.org>
27006         fpending: Revert workaround against Emacs bug.
27007         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
27008         The Emacs bug is fixed by Eli Zaretskii in
27009         http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html
27011 2016-12-17  Bruno Haible  <bruno@clisp.org>
27013         getlogin_r tests: Port to mingw.
27014         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
27015         regression introduced on 2014-05-19.
27017 2016-12-17  Bruno Haible  <bruno@clisp.org>
27019         getlogin: Port to newer mingw.
27020         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
27021         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
27022         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
27023         HAVE_GETLOGIN.
27024         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
27025         HAVE_GETLOGIN.
27026         * doc/posix-functions/getlogin.texi: Mention the issue.
27027         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
27028         regression introduced on 2014-05-14.
27030 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
27032         builtin-expect: improve port to IBM XL C
27033         Problem reported for z/OS by Daniel Richard G. in:
27034         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
27035         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
27036         Test for <builtins.h> directly.
27038         builtin-expect: port to IBM XL C
27039         Problem reported for z/OS by Daniel Richard G. in:
27040         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
27041         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
27042         Also allow __builtin_expect defined via a standard include file.
27044         regex: fix dependency
27045         Problem reported by Bruno Haible in:
27046         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
27047         * modules/regex: Depend on builtin-expect.
27049         builtin-expect: new module
27050         Fix fnmatch to use it.
27051         Problem reported for z/OS by Daniel Richard G.
27052         * lib/fnmatch.c (__builtin_expect):
27053         * lib/glob.c (__builtin_expect):
27054         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
27055         * lib/memmem.c (__builtin_expect) [!_LIBC]:
27056         * lib/scandir.c (__builtin_expect):
27057         * lib/strstr.c (__builtin_expect) [!_LIBC]:
27058         Remove macro; config.h now does this.
27059         * lib/gl_anytreehash_list1.h (add_to_bucket):
27060         * lib/regex_internal.h (BE):
27061         Assume __builtin_expect.
27062         * m4/builtin-expect.m4, modules/builtin-expect: New files.
27063         * modules/avltreehash-list, modules/fnmatch, modules/glob:
27064         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
27065         * modules/scandir, modules/strstr-simple:
27066         Depend on builtin-expect.
27068 2016-12-15  Bruno Haible  <bruno@clisp.org>
27070         init.sh: Add possibility to not delete temporary files.
27071         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
27072         to yes, don't erase the temporary directory.
27074 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
27076         regex: fix integer-overflow bug in never-used code
27077         Problem reported by Clément Pit–Claudel in:
27078         http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
27079         * lib/regex_internal.h: Include intprops.h.
27080         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
27081         behavior on integer overflow.
27082         * modules/regex (Depends-on): Add intprops.
27084         fpending: fix port to MinGW on Emacs
27085         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
27086         Problem reported by Eli Zaretskii in:
27087         http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
27088         Is Plan 9 still a valid porting target, anyway?
27090 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
27092         safe-alloc: use xalloc-oversized
27093         * lib/safe-alloc.c: Include xalloc-oversized.h.
27094         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
27095         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
27097         xalloc: do not exceed PTRDIFF_MAX
27098         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
27099         xalloc_oversized check, since objects larger than PTRDIFF_MAX
27100         bytes have pointer-subtraction problems.
27102         malloca: do not exceed PTRDIFF_MAX
27103         * lib/malloca.h: Include xalloc-oversized.
27104         (nmalloca): Use xalloc_oversized instead of rolling our own.
27105         * modules/malloca (Depends-on):
27106         * modules/relocatable-prog-wrapper (Depends-on):
27107         Add xalloc-oversized.
27109         quotearg: pacify GCC better
27110         * modules/quotearg (Depends-on): Add minmax, stdint.
27111         * lib/quotearg.c: Include minmax.h, stdint.h.
27112         (nslots): Now int, as there seems little point to going to extra
27113         work merely to support the INT_MAX slot, which nobody ever uses.
27114         (quotearg_n_options): Redo size-overflow checks to pacify GCC
27115         and to catch (mostly-theoretical) ptrdiff_t problems too.
27116         This can be done via one comparison.
27118 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
27120         xalloc-oversized: check for PTRDIFF_MAX too
27121         This avoids undefined behavior when subtracting pointers to
27122         objects containing more than PTRDIFF_MAX bytes.
27123         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
27124         Also return 1 if the result would exceed PTRDIFF_MAX>
27125         * modules/xalloc-oversized (Depends-on):
27126         Add stdint.
27128         dfa: fix glitches in previous commit
27129         Sorry, I don't know how I managed to commit the wrong version.
27130         * lib/dfa.c (MIN): Move up.
27131         (xpalloc): Now static.
27133         dfa: fix some unlikely integer overflows
27134         I found these while reviewing the recent Coverity-related fix.
27135         This patch changes part of dfa.c to prefer ptrdiff_t instead of
27136         size_t for object counts.  Using ptrdiff_t is the style typically
27137         used in Emacs; although it wastes a sign bit as sizes can never be
27138         negative, it makes -fsanitize=undefined more likely to catch
27139         integer overflows in index calculation, and nowadays the upside is
27140         typically more important than the downside.  Although perhaps the
27141         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
27142         of dfa.c already does, since it uses state_num which is signed),
27143         that is a bigger change and is not needed to fix the bugs I found.
27144         * lib/dfa.c: Include stdint.h and intprops.h.
27145         (TOKEN_MAX): New macro.
27146         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
27147         (charclass_index, parse_bracket_exp, addtok, insert, merge)
27148         (realloc_trans_if_necessary, free_mbdata):
27149         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
27150         This is safe because xpalloc checks that the sizes do not exceed
27151         either SIZE_MAX or PTRDIFF_MAX.
27152         (xpalloc): New function, mostly taken from Emacs.
27153         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
27154         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
27155         (charclass_index): Check for integer overflow in computing
27156         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
27157         added to it later.
27158         (alloc_position_set): Check for integer overflow.  On typical
27159         platforms this check has zero overhead, since the constant
27160         expression is false.
27161         (realloc_trans_if_necessary):
27162         Remove assertion, which I hope Coverity no longer needs.
27164         * modules/dfa (Depends-on): Add intprops, stdint.
27166 2016-12-12  Jim Meyering  <meyering@fb.com>
27168         dfa: add an assertion to avoid coverity false positive
27169         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
27170         warned that "newalloc1 - 2" could overflow.
27172 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
27174         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
27175         * dfa.h (DFA_CASE_FOLD): Remove.
27176         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
27178 2016-12-13  John W. Eaton  <gnu@jweaton.org>
27180         link: fix test to declare use of rename()
27181         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
27182         -Werror=implicit-function-declaration
27184 2016-12-12  Bruno Haible  <bruno@clisp.org>
27186         fpending: Port to native Windows with MSVC.
27187         * lib/fpending.c: Include stdio-impl.h.
27188         (__fpending): Include all known implementations. Err out if it's not
27189         ported.
27190         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
27191         * modules/fpending (Files): Add lib/stdio-impl.h.
27192         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
27194 2016-12-12  Bruno Haible  <bruno@clisp.org>
27196         stdioext: Port to native Windows with MSVC.
27197         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
27198         (struct _gl_real_FILE): New type.
27199         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
27200         Windows.
27201         * lib/fbufmode.c (fbufmode): Add code for native Windows.
27202         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
27203         other SystemV derived implementations.
27204         * lib/fpurge.c (fpurge): Likewise.
27205         * lib/freadable.c (freadable): Likewise.
27206         * lib/freadahead.c (freadahead): Likewise.
27207         * lib/freading.c (freading): Likewise.
27208         * lib/freadptr.c (freadptr): Likewise.
27209         * lib/freadseek.c (freadptrinc): Likewise.
27210         * lib/fseeko.c (fseeko): Likewise.
27211         * lib/fseterr.c (fseterr): Likewise.
27212         * lib/fwritable.c (fwritable): Likewise.
27213         * lib/fwriting.c (fwriting): Likewise.
27214         Reported by Gisle Vanem <gvanem@yahoo.no>.
27216 2016-12-11  Jim Meyering  <meyering@fb.com>
27218         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
27219         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
27220         to work with most shells, but not with the one provided by many
27221         Solaris 10 systems, so running configure with such a /bin/sh evokes
27222         e.g., "./configure: syntax error at line 33602: `(' unexpected".
27223         Reported by Assaf Gordon in
27224         https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html
27226 2016-12-10  Bruno Haible  <bruno@clisp.org>
27228         threadlib: Optimize out runtime test on Solaris >= 10.
27229         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
27230         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
27231         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
27233 2016-12-10  Bruno Haible  <bruno@clisp.org>
27235         stdint: Update doc about Solaris 9.
27236         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
27238 2016-12-09  Bruno Haible  <bruno@clisp.org>
27240         c-ctype tests: Fix link error on Solaris 9.
27241         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
27242         Reported at <https://savannah.gnu.org/bugs/?46827>.
27244 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
27246         dfa: fix performance bug that recomputes trans
27247         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
27248         25 on-demand changes.  The bug caused build_state to reset all
27249         d->trans elements to -2 even when d->trans was already non-null.
27250         Use C99 style decls after statements in this function.
27252         same-inode: port to MinGW
27253         Here st_ino is always 0, so change the definition of SAME_INODE so
27254         that 1 means the two files are the same, 0 with st_ino != 0 means
27255         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
27256         reported by Bruno Haible (Bug#25146).
27257         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
27258         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
27260 2016-12-04  Bruno Haible  <bruno@clisp.org>
27262         javacomp-script: Support Java 7 and 8.
27263         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
27264         target-version 1.7, 1.8.
27266 2016-12-02  Daiki Ueno  <ueno@gnu.org>
27268         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
27269         GPLv2" rewriting.
27271 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
27273         * gnulib-tool (func_import): Adhere to the license guideline when
27274         rewriting the license text to "LGPLv3+ or GPLv2":
27275         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
27277 2016-12-02  Bruno Haible  <bruno@clisp.org>
27279         localcharset: Avoid theoretical buffer overrun.
27280         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
27281         return value from setlocale if it would lead to a buffer overrun.
27283 2016-12-01  Bruno Haible  <bruno@clisp.org>
27285         Relicense some modules under LGPLv2+.
27286         Kevin Cernekee's approval is in
27287         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
27288         * modules/fseterr (License): Change to LGPLv2+.
27289         * modules/mbchar (License): Likewise.
27290         * modules/mbiter (License): Likewise.
27291         * modules/mbsnlen (License): Likewise.
27292         * modules/wcwidth (License): Likewise.
27294 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
27296         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
27297         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
27298         OS/2 kLIBC.
27300 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
27302         alphasort, scandir: Port to OS/2 kLIBC
27303         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
27304         declaration.
27305         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
27307 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
27309         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
27310         * lib/relocatable.c (relocate): Do not touch pathname if it is started
27311         with '/@unixroot'.
27313 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
27315         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
27316         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
27317         OS/2 kLIBC unless TCPV40HDRS is defined.
27319 2016-11-29  Jim Meyering  <meyering@fb.com>
27321         dfa: avoid new infinite loop
27322         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
27323         * lib/dfa.c (dfastate): When constructing a new state table, we could
27324         initially declare that we had found a match, and later find that
27325         constraints eliminate that possibility, yet continue to use the
27326         now stale "matched" indicator.  That would lead to an infinite loop.
27327         The solution is to update "matched" when necessary.
27328         Introduced by commit v0.1-983-g403adf1.
27330 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
27332         dfa: avoid match middle in multibyte character
27333         * lib/dfa.c (transit_state): If fails in matching single byte characters
27334         on a state including period expression in non-UTF8 multibyte locales,
27335         skip trailing bytes.
27336         (dfa_supported): Revert previous change.
27338 2016-11-27  Jim Meyering  <meyering@fb.com>
27340         dfa: avoid false match in non-UTF8 multibyte locales
27341         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
27342         as "not supported" so that callers will resort to using regex-based
27343         matcher.  This will surely hurt performance, but correctness trumps
27344         performance here, and the affected locales are less and less relevant,
27345         these days.  See grep's bug report https://bugs.gnu.org/24975.
27347 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
27349         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
27350         * lib/ptsname_r.c: Include the appropriate headers.
27351         [__sun]: Delete sys/sysmacros.h include.
27352         [_AIX || __osf__]: Likewise.
27353         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
27355 2016-11-27  Pádraig Brady  <P@draigBrady.com>
27357         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
27358         * lib/md4.c (md4_process_bytes): The existing define is made internal
27359         in recent versions of glibc, so also use this new public define.
27360         * lib/md5.c (md5_process_bytes): Likewise.
27361         * lib/sha1.c (sha1_process_bytes): Likewise.
27362         * lib/sha256.c (sha256_process_bytes): Likewise.
27363         * lib/sha512.c (sha512_process_bytes): Likewise.
27365 2016-11-27  Pádraig Brady  <P@draigBrady.com>
27367         maint: use a more standard return from mbrtowc test
27368         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
27369         from the test program as this often indicates an
27370         unhandled case in the test program.
27371         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
27372         (gl_MBRTOWC_SANITYCHECK): Likewise.
27373         (gl_MBRTOWC_NULL_ARG2): Likewise.
27374         (gl_MBRTOWC_NUL_RETVAL): Likewise.
27376 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
27378         freopen: work around glibc bug with closed fd
27379         Work around glibc bug#15589, where freopen mishandles the case
27380         where stdin etc. are already closed.
27381         * doc/posix-functions/freopen.texi (freopen): Document the bug.
27382         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
27383         instead of __need_FILE, as the latter does not work with glibc.
27384         Include <fcntl.h>, for open flags.
27385         (rpl_freopen): Work around glibc bug.
27386         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
27387         * modules/freopen (Depends-on): Add fcntl-h.
27388         * tests/test-freopen.c (main): Test for bug.
27390 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
27392         fnmatch: fix typo introduced on 2016-08-17
27393         This fixes the port to non-GCC compilers that lack __builtin_expect.
27394         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
27396         dfa: simplify with new function fillset
27397         * lib/dfa.c (fillset): New function.
27398         Use it for clarity when applicable.
27400         dfa: fix glitches with on-demand states
27401         Also, adjust commentary to better match new code.
27402         Some of these glitches predate the recent change.
27403         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
27404         only non-initial states.
27405         (dfastate): Rename locals to better match new roles.
27406         Move them into nested scopes if this is easy.
27407         Omit unnecessary calls to zeroset.
27408         Simplify test for whether to throw in the positions of state 0.
27409         Omit C99-ism (decl after statement) since Gawk still wants C89.
27410         (build_state): Omit unnecessary test and assignment.
27411         Fix some confusion that counted transition tables inaccurately
27412         and could cause a memory leak.
27413         (dfaexec_main): Redo to make it clearer to the compiler that
27414         -1 and -2 are the only negative state numbers here.
27416 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
27418         dfa: addition of new state on demand
27419         * src/dfa.c (dfastate): Add argument UC, the current input character.
27420         Fill only a group including the character in transition table.
27421         (realloc_trans_if_necessary): Add the dummy state which means that a
27422         transition table is assigned but the next state is not assigned.
27423         (build_state): Return the next state.  All callers updated.
27424         (transit_state_singlebyte): If we get the dummy state,
27425         fill the transition table.
27426         (dfaexec_main): Handle the dummy state.
27427         (free_mbdata, dfafree): Consider the dummy state.
27429 2016-11-24  Daiki Ueno  <ueno@gnu.org>
27431         srclist: sync with released gettext
27432         * config/srclist.txt: Set "release" option to the files under
27433         $GETTEXT.
27435 2016-11-24  Daiki Ueno  <ueno@gnu.org>
27437         srclist: add "release" option
27438         * config/srclist.txt: Change the format so that the first column
27439         of each line points to the top-level directory of the source
27440         archive.
27441         * config/srclist-update: Accept "release" option that checks files
27442         from the most recently tagged revision in the source archive.
27444 2016-11-21  Bruno Haible  <bruno@clisp.org>
27446         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
27447         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
27448         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
27449         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
27450         Inline and remove member function 'rpl ()' of the wrapper struct.
27452 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
27454         dfa: fix logic typo
27455         Problem reported by Stephane Chazelas (Bug#24973).
27456         * lib/dfa.c (using_simple_locale): Fix typo that caused some
27457         non-simple locales like fr_FR to be treated as simple.
27459 2016-11-20  Jim Meyering  <meyering@fb.com>
27461         fix test driver leaks: exclude, malloc, realloc
27462         * tests/test-exclude.c (main): Fix trivial leak.
27463         * tests/test-malloc-gnu.c (main): Likewise.
27464         * tests/test-realloc-gnu.c (main): Likewise.
27465         With these changes, grep's tests are now leak free.
27466         I.e., running them with ASAN elicits no failure:
27467           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
27468             AM_LDFLAGS='-fsanitize=address -static-libasan' check
27470 2016-11-11  Bruno Haible  <bruno@clisp.org>
27472         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
27473         * modules/libunistring: (License): Change from LGPL to
27474         "LGPLv3+ or GPLv2".
27475         * modules/libunistring-optional: Likewise.
27476         * modules/unicase/*: Likewise.
27477         * modules/uniconv/*: Likewise.
27478         * modules/unictype/*: Likewise.
27479         * modules/unigbrk/*: Likewise.
27480         * modules/unilbrk/*: Likewise.
27481         * modules/uniname/*: Likewise.
27482         * modules/uninorm/*: Likewise.
27483         * modules/unistdio/*: Likewise.
27484         * modules/unistr/*: Likewise.
27485         * modules/uniwbrk/*: Likewise.
27486         * modules/uniwidth/*: Likewise.
27488 2016-11-12  Bruno Haible  <bruno@clisp.org>
27490         Relicense some modules under LGPLv2+.
27491         Paul Eggert's approval is in
27492         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
27493         Eric Blake's approval is in
27494         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
27495         Ludovic Courtès's approval is in
27496         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
27497         * modules/isnand-nolibm (License): Change to LGPLv2+.
27498         * modules/isnanf-nolibm (License): Likewise.
27499         * modules/isnanl-nolibm (License): Likewise.
27501 2016-11-19  Bruno Haible  <bruno@clisp.org>
27503         Relicense some modules under LGPLv2+.
27504         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
27505         modules/vasnprintf.
27506         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
27507         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
27508         All other significant changes to the files in lib/ of these modules
27509         are from me.
27510         * modules/memcmp2 (License): Change to LGPLv2+.
27511         * modules/amemxfrm (License): Likewise.
27512         * modules/fpieee (License): Likewise.
27513         * modules/fpucw (License): Likewise.
27514         * modules/frexp-nolibm (License): Likewise.
27515         * modules/frexpl-nolibm (License): Likewise.
27516         * modules/printf-frexp (License): Likewise.
27517         * modules/printf-frexpl (License): Likewise.
27518         * modules/printf-safe (License): Likewise.
27519         * modules/signbit (License): Likewise.
27521 2016-11-17  Bruno Haible  <bruno@clisp.org>
27523         Enable Unicode decoder safety unconditionally.
27524         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
27525         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
27526         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
27527         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
27528         * lib/unistr/u8-prev.c (u8_prev): Likewise.
27529         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
27530         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
27531         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
27532         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
27533         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
27534         * lib/unistr/u16-prev.c (u16_prev): Likewise.
27535         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
27536         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
27537         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
27538         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
27539         * lib/unistr/u32-prev.c (u32_prev): Likewise.
27540         * lib/unistr/u32-next.c (u32_next): Likewise.
27541         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
27542         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
27543         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
27544         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
27545         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
27546         CONFIG_UNICODE_SAFETY tests unconditionally.
27547         * tests/unistr/test-u32-mblen.c (main): Likewise.
27548         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
27549         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
27550         * tests/unistr/test-u32-next.c (main): Likewise.
27551         * tests/unistr/test-u32-strmblen.c (main): Likewise.
27552         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
27553         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
27554         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
27555         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
27556         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
27557         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
27558         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
27559         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
27560         * lib/unistr/u16-check.c (u16_check): Update comment.
27561         * NEWS: Mention the changes that callers should be aware of.
27563 2016-11-19  Bruno Haible  <bruno@clisp.org>
27565         relocatable-prog-wrapper: Fix breakage on Cygwin.
27566         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
27567         (Depends-on): Remove intprops.
27568         * lib/relocwrapper.c: Update dependency tree.
27569         (strerror): Undefine.
27570         * build-aux/install-reloc (func_create_wrapper): Do not compile
27571         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
27573 2016-11-19  Bruno Haible  <bruno@clisp.org>
27575         strerror: Make it compile in C++ mode.
27576         * lib/strerror.c (strerror): Ignore the return value of memcpy().
27578 2016-11-15  Pedro Alves  <palves@redhat.com>
27580         sys_time: add gnulib::timeval for C++
27581         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
27582         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
27583         timeval macro.
27585 2016-11-14  Pedro Alves  <palves@redhat.com>
27587         snippet/c++defs: fix real-floating arg functions in C++ mode
27588         Also, define isfinite, isinf, isnan, signbit in the gnulib
27589         namespace instead of in the global namespace.
27590         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
27591         (_GL_END_NAMESPACE): New.
27592         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
27593         (isfinite, isinf, isnan, signbit) [__cplusplus &&
27594         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
27595         instead of in the global namespace.
27596         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
27597         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
27598         of in the global namespace.
27600 2016-11-13  Jim Meyering  <meyering@fb.com>
27602         strftime: don't use __THROW
27603         Each use of __THROW would provoke this from gcc-7-to-be:
27605           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
27606             on unit local functions [-Wattributes]
27607           static int iso_week_days (int, int) __THROW;
27608           ^~~~~~
27609         * lib/strftime.c (__THROW): Don't define.
27610         Remove each use of __THROW.
27611         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
27612         (tm_diff, iso_week_days, __strftime_internal): Likewise.
27614 2016-11-14  Paul Eggert  <eggert@union>
27616         obstack: port to gcc -fcheck-pointer-bounds
27617         Problem found by 'make check' failure on bleeding-edge coreutils
27618         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
27619         6.2.0-5ubuntu12), configured via "./configure
27620         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
27621         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
27622         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
27623         New macro, copied from fts_.h.
27624         (struct _obstack_chunk.contents): Use it.
27626 2016-11-14  Eric Blake  <eblake@redhat.com>
27628         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
27629         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
27630         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
27632 2016-11-14  Pádraig Brady  <P@draigBrady.com>
27634         strptime: fix compile error in recent change
27635         * lib/strptime.c (__strptime_internal): Fix ported code.
27637 2016-11-11  Bruno Haible  <bruno@clisp.org>
27639         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
27640         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
27641         (func_import): Extend determination of license_incompatibilities.
27642         (func_create_testdir): Extend table of license compatibility. Handle
27643         also the licenses GPLv3+, GPL, LGPLv3+.
27645 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
27647         strftime: tune %q
27648         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
27650         Merge strftime.c changes from glibc
27651         This incorporates:
27652         2007-10-16 [BZ #5184] Add tzset_called argument
27653         2008-06-13 [BZ #6612] pass reference to tzset_called around
27654         2009-10-30 Implement Burmese language locale for Myanmar
27655         2010-01-09 Add support for XPG7 testing
27656         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
27657         2015-10-20 Convert miscellaneous function definitions to prototype style
27658         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
27659         it anyway and this lessens the difference between gnulib and glibc.
27660         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
27661         (__THROW): Define if standard headers do not.
27662         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
27663         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
27664         Declare with __THROW.
27665         (__strftime_internal): Rename from strftime_case_. Add arg for
27666         whether tzset is called.  All uses changed.  Call tzset at most
27667         once.  Allow %OC, for Burmese.
27668         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
27669         Don't assume values are in range.
27671 2016-11-12  Eric Blake  <eblake@redhat.com>
27673         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
27674         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
27675         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
27676         different value.
27678 2006-11-12  Pedro Alves  <palves@redhat.com>
27680         Fix gnulib C++ namespace support and std::frexp
27681         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
27682         _GL_CXXALIASWARN.
27684 2006-11-12  Pedro Alves  <palves@redhat.com>
27686         GNULIB_NAMESPACE::func need not pull in rpl_func
27687         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
27688         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
27689         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
27690         struct instead of a function pointer.
27692 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
27694         manywarnings: fix -Wno-missing-field-initializers detection
27695         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
27696         to be independent of -Wunused-variable.  I.E. ensure the latter
27697         warning doesn't occur so that detection of the former is accurate.
27699 2016-11-05  Pádraig Brady  <pbrady@fb.com>
27701         strftime,strptime: support %q to represent the quarter
27702         * lib/strftime.c (strftime_case_): Add %q case.
27703         * lib/strptime.c (__strptime_internal): Likewise.
27704         * tests/test-strftime.c (quarter_test): A new test case.
27706 2016-11-03  Eric Blake  <eblake@redhat.com>
27708         bootstrap: Fix get_version() for AIX 5.3
27709         * build-aux/bootstrap (get_version): Factor out sed script, since
27710         indented comments choke AIX 5.3 sed.
27711         Reported-by: Michael Felt <aixtools@gmail.com>
27713 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
27715         intprops: port to older XL C
27716         Problem reported by Alexander Samoilov in:
27717         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
27718         http://savannah.nongnu.org/bugs/?49448
27719         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
27720         Define to 1 only for XL C 12.1 or later, since this bug
27721         occurs in XL C for AIX 6.0 but not in 12.1.
27723 2016-11-02  Pádraig Brady  <P@draigBrady.com>
27725         backupfile: initialize default suffix within the implementation
27726         * lib/backupfile.c (find_backup_file_name): Initialize the
27727         global variable here, to simplify usage, and to only call
27728         getenv() when needed.
27730 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
27732         futimens: remove FIXME for old Linux kernels
27733         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
27734         this in 2012" FIXME, like that for utimensat.
27736         utimensat: remove FIXME for old Linux kernels
27737         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
27738         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
27739         this in 2012" FIXME, by assuming the file system bug is absent
27740         unless demonstrated to be present.  We no longer need to worry
27741         about Linux kernel 2.6.32 when building with newer kernels.
27743 2016-10-16  Bruno Haible  <bruno@clisp.org>
27745         qsort_r: Fix macrology for platforms that lack the function.
27746         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
27747         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
27748         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
27749         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
27750         not exist.
27751         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
27752         the function exists.
27753         * modules/qsort_r: Add comments.
27755 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
27757         sys_types: fix Texinfo typos
27758         * doc/glibc-functions/gnu_dev_major.texi:
27759         * doc/glibc-functions/gnu_dev_makedev.texi:
27760         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
27762 2016-10-26  John David Anglin  <dave.anglin@bell.net>
27764         getprogname: port to HP-UX
27765         See Bug#24805.
27766         * lib/getprogname.c (getprogname) [__hpux]: Port.
27767         * tests/test-getprogname.c (STREQ) [__hpux]:
27768         Special-case for HP-UX limitations on program name length.
27770 2016-10-20  Bruno Haible  <bruno@clisp.org>
27772         Update doc about target platforms.
27773         * doc/gnulib-intro.texi (Target Platforms): Update list.
27775 2016-10-15  Bruno Haible  <bruno@clisp.org>
27777         opendir, readdir, closedir: Relicense under LGPLv2+.
27778         * modules/opendir (License): Change to LGPLv2+.
27779         * modules/readdir (License): Likewise.
27780         * modules/closedir (License): Likewise.
27782 2016-10-16  Bruno Haible  <bruno@clisp.org>
27784         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
27785         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
27786         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
27787         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
27788         HAVE_DECL_STRERROR_R.
27790 2016-10-16  Bruno Haible  <bruno@clisp.org>
27792         Make the 'argp' module work without the 'error' module.
27793         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
27795 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
27797         diffseq: restore TOO_EXPENSIVE heuristic
27798         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
27799         (Bug#24715).  The simplest solution is to restore the
27800         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
27801         using a higher threshold to avoid Bug#16848 on smaller files.
27802         * lib/diffseq.h (struct context): Restore member too_expensive.
27803         (struct partition): Restore members lo_minimal, hi_minimal.
27804         (diag, compareseq): Restore arg find_minimal.  All uses changed.
27805         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
27806         1993 to make 'diff' run faster (but not as well) on large inputs,
27807         but use a threshold of 4096 instead of the old 256.
27808         * lib/fstrcmp.c (strcmp_bounded):
27809         * lib/git-merge-changelog.c (compute_differences):
27810         Adjust to diffseq.h changes.
27812 2016-10-22  Bruno Haible  <bruno@clisp.org>
27814         iconv: Avoid compilation error when bootstrapping GNU libiconv.
27815         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
27816         declaration yet, define ICONV_CONST to empty.
27818 2016-10-15  Bruno Haible  <bruno@clisp.org>
27820         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
27821         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
27822         module.
27824 2016-10-16  Bruno Haible  <bruno@clisp.org>
27826         system-quote tests: Avoid compiler warning on AIX.
27827         * tests/test-system-quote-child.c (fopen): Redefine like the system's
27828         <stdio.h> does.
27830 2016-10-16  Bruno Haible  <bruno@clisp.org>
27832         Fix some "gcc -Wall" warnings.
27833         * tests/test-ffsl.c (main): Use variable x, not i.
27834         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
27835         freopen.
27836         * tests/test-sethostname1.c (main): Explicitly ignore the return value
27837         of sethostname.
27839 2016-10-16  Bruno Haible  <bruno@clisp.org>
27841         gnulib-tool: Make --create-testdir on all modules work again.
27842         * gnulib-tool (func_create_testdir): Don't include the
27843         non-recursive-gnulib-prefix-hack module.
27845 2016-10-21  Daiki Ueno  <ueno@gnu.org>
27847         libunistring: change the maintainer to 'all'
27848         * modules/gen-uni-tables, modules/libunistring:
27849         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
27850         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
27851         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
27852         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
27853         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
27854         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
27855         * modules/uniwidth/*: Change the maintainer to 'all'.
27857 2016-10-16  Bruno Haible  <bruno@clisp.org>
27859         Simplify "configure: checking ..." messages.
27860         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
27861         AC_MSG_NOTICE.
27862         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
27864 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
27866         quotearg-tests: pacify gcc -Wall
27867         Problem reported by Bruno Haible in:
27868         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
27869         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
27870         * tests/test-quotearg.h: ... from here.
27872 2016-10-20  Pádraig Brady  <P@draigBrady.com>
27874         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
27875         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
27876         Needed on Centos <= 4.
27878 2016-10-20  Jim Meyering  <meyering@fb.com>
27880         printf.m4: fix a bug in detecting printf %j support
27881         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
27882         uintmax_t is defined in neither stdint.h nor inttypes.h.
27883         Before, this macro might have mistakenly set
27884         gl_cv_func_printf_sizes_c99=yes on such a system.
27885         Spotted by Zev Weiss.
27887 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
27889         sched: substitute HAVE_SYS_CDEFS_H too
27890         Problem reported by Tom G. Christensen in:
27891         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
27892         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
27893         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
27895 2016-10-19  Pádraig Brady  <P@draigBrady.com>
27897         quotearg: never write beyond the returned length
27898         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
27899         scan of the string when we initially encounter a single quote when
27900         shell quoting, so that if we then switch to a more concise quoting method
27901         we will not have written beyond that returned length.
27902         This is significant for sh-quote, which has separate routines
27903         to determine the length and do the actual quoting.
27904         * tests/test-quotearg.h: Reinstate the buffer bounds checking
27905         now that we never write more than the returned length.
27907 2016-10-18  Bruno Haible  <bruno@clisp.org>
27909         getprogname tests: Avoid failure in packages that use libtool.
27910         * tests/test-getprogname.c (main): Strip "lt-" prefix.
27911         Based on a patch by Jim Meyering.
27913 2016-10-16  Bruno Haible  <bruno@clisp.org>
27915         getprogname: Fix test failure on Cygwin. Comments.
27916         * lib/getprogname.h: Add comments.
27917         * lib/getprogname.c: Add comments. Fix #elif indentation.
27918         * tests/test-getprogname.c (main): On Cygwin, expect a result without
27919         ".exe" suffix.
27921 2016-10-16  Bruno Haible  <bruno@clisp.org>
27923         Make sure the libunistring detection rejects older versions with a
27924         known bug.
27925         * modules/unistr/u8-strtok (configure.ac): Bump required version.
27926         * modules/unistr/u16-strtok (configure.ac): Likewise.
27927         * modules/unistr/u32-strtok (configure.ac): Likewise.
27929 2016-10-18  Bruno Haible  <bruno@clisp.org>
27931         sh-quote, system-quote: revert regression of unit test.
27932         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
27933         * tests/test-system-quote-main.c (check_one): Likewise.
27935 2016-10-16  Pádraig Brady  <P@draigBrady.com>
27937         quotearg: fix stale tests
27938         * tests/test-quotearg.c [locale_results]: Add the missing str7
27939         entries to the expected results.
27940         * tests/test-system-quote-main.c (check_one): Don't enforce that we
27941         don't write beyond the returned length, since that's no longer the
27942         case if we switch to a more concise quoting style.
27943         * tests/test-sh-quote.c (check_one): Likewise.
27944         (main): Adjust for the new more concise quoting style.
27945         Reported by Bruno Haible.
27947 2016-10-16  Jim Meyering  <meyering@fb.com>
27949         non-recursive-gnulib-prefix-hack: fix inconsequential typo
27950         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
27951         to "$1".  This macro is always invoked with $1 == lib.
27952         Spotted by Bruno Haible
27954 2016-10-16  Bruno Haible  <bruno@clisp.org>
27956         Fix a test crash.
27957         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
27958         fails.
27960 2016-10-16  Pádraig Brady  <P@draigBrady.com>
27962         test-limits-h: suppress -Woverlength-strings
27963         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
27965 2016-10-15  Bruno Haible  <bruno@clisp.org>
27967         gettime, timespec, utimens: Relicense under LGPL.
27968         * modules/gettime (License): Change to LGPL.
27969         * modules/timespec (License): Likewise.
27970         * modules/utimens (License): Likewise.
27972 2016-10-14  Bruno Haible  <bruno@clisp.org>
27973             Pádraig Brady  <P@draigBrady.com>
27975         canonicalize-lgpl: Support the case path_max > INT_MAX.
27976         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
27977         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
27979 2016-10-13  Jim Meyering  <meyering@fb.com>
27981         getprogname: IBM z/OS: avoid NULL-dereference
27982         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
27983         upon strdup failure.
27985 2016-10-12  Jim Meyering  <meyering@fb.com>
27987         test-stdint: use _GL_VERIFY rather than "verify" for some tests
27988         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
27989         and an abbreviated diagnostic rather than verify with the full one,
27990         because the full-length strings would evoke warnings from gcc with
27991         -Woverlength-strings.
27993 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
27995         stdint: port SIZE_MAX to glibc s390
27996         Problem reported by Eric Blake in:
27997         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
27998         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
27999         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
28000         correct type, if possible.
28002 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
28004         getprogname: port to IBM z/OS
28005         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
28007 2016-10-11  Jim Meyering  <meyering@fb.com>
28009         maint: remove stray space after "." in AC_DEFINE comment.
28010         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
28011         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
28013 2016-10-05  Jim Meyering  <meyering@fb.com>
28015         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
28016         * lib/long-options.c (parse_long_options): Add a break statement
28017         to avoid this new warning/failure:
28018         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
28019           --create-testdir --dir=/t/x --with-tests --test long-options
28020         ../../gllib/long-options.c: In function 'parse_long_options':
28021         ../../gllib/long-options.c:66:12: error: this statement may \
28022           fall through [-Werror=implicit-fallthrough]
28023                    (*usage_func) (EXIT_SUCCESS);
28024                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
28026 2016-10-05  Jim Meyering  <meyering@fb.com>
28028         utimecmp: avoid new GCC 7 warning from -Wbool-operation
28029         Testing this module would fail when using GCC 7 like this:
28030         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
28031           --dir=/tmp/x --with-tests --test utimecmp
28032         ../../gllib/utimecmp.c: In function ‘utimecmp’:
28033         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
28034           [-Werror=bool-operation]
28035                          time_t s = src_s & ~ (res == 2 * BILLION);
28036                                             ^
28037         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
28038           [-Werror=bool-operation]
28039                src_s &= ~ (res == 2 * BILLION);
28040                         ^
28041         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
28042         Instead, make it explicit that we intend to apply it to 0 or 1.
28044 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
28046         dfa: save memory for states
28047         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
28048         states if dfa has a lot of caches.
28050 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
28052         wchar, wctype-h: fix for MinGW 3.22.2
28053         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
28054         special invocation, to fix issues with MinGW 3.22.2 wchar.h
28055         when included from <string.h>.
28056         * lib/wctype.in.h [__MINGW32__]: Add special invocation
28057         convention for MinGW 3.22.2, to solve issues with their
28058         wctype.h when included from <ctype.h>.
28060 2016-10-05  Jim Meyering  <meyering@fb.com>
28062         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
28063         * lib/long-options.c (parse_long_options): Add a break statement
28064         to avoid this new warning/failure:
28065         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
28066           --create-testdir --dir=/t/x --with-tests --test long-options
28067         ../../gllib/long-options.c: In function ‘parse_long_options’:
28068         ../../gllib/long-options.c:66:12: error: this statement may \
28069           fall through [-Werror=implicit-fallthrough]
28070                    (*usage_func) (EXIT_SUCCESS);
28071                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
28073         utimecmp: avoid new GCC 7 warning from -Wbool-operation
28074         Testing this module would fail when using GCC 7 like this:
28075         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
28076           --dir=/tmp/x --with-tests --test utimecmp
28077         ../../gllib/utimecmp.c: In function ‘utimecmp’:
28078         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
28079           [-Werror=bool-operation]
28080                          time_t s = src_s & ~ (res == 2 * BILLION);
28081                                             ^
28082         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
28083           [-Werror=bool-operation]
28084                src_s &= ~ (res == 2 * BILLION);
28085                         ^
28086         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
28087         Instead, make it explicit that we intend to apply it to 0 or 1.
28089 2016-10-03  Pádraig Brady  <P@draigBrady.com>
28091         quotearg: minimize shell quoting using double quotes
28092         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
28093         quote in encountered then use double quotes (c style quoting)
28094         when possible, as it simplifies the quoting.
28095         * tests/test-quotearg-simple.c: Add test cases.
28096         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
28097         for the fact we now may write beyond the returned length.
28099 2016-10-02  Jim Meyering  <meyering@fb.com>
28101         vasnprintf.c: avoid spurious warning from GCC 7
28102         The presence of cpp directives renders this "FALLTHROUGH" comment
28103         ineffective, so does not suppress the -Wimplicit-fallthrough warning
28104         from GCC 7 built from git on 2016-10-02.
28105         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
28106         directives, so that it takes effect once again.  This is clearly
28107         not a proper change, and I will revert it once this bug is fixed:
28108         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
28110 2016-10-01  Jim Meyering  <meyering@fb.com>
28112         getprogname: correct the test for a __progname variable
28113         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
28114         and AC_LINK_IFELSE to check for a global __progname.  If found,
28115         define HAVE_VAR___PROGNAME.
28116         * lib/getprogname.c (getprogname): Reflect the new name of the
28117         feature- checked preprocessor symbol:
28118         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
28120 2016-09-28  Jim Meyering  <meyering@fb.com>
28122         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
28123         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
28124         fall-through case with a /* fallthrough */ comment.
28126         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
28127         * lib/dfa.c (dfassbuild): Mark the end of this case with a
28128         /* fallthrough */ comment.
28130         getprogname: avoid __progname vs program_invocation_short_name pitfall
28131         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
28132         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
28133         not with Fedora 24's glibc-2.23.1-10.
28134         * lib/getprogname.c (__progname): Move this declaration down...
28135         (getprogname): ... into the #elif block where used, and make it
28136         explicitly "extern".
28138         getprogname: port to OpenBSD 5.1
28139         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
28140         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
28141         * modules/getprogname (configure.ac): Move most of this code...
28142         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
28143         increment serial number, and add a test for __progname.
28144         https://bugs.gnu.org/24562
28145         Reported by Nelson H. F. Beebe.
28147 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
28149         sched: port to GCC 6.2.1 on macOS Sierra
28150         Problem reported by Denis Davydov in:
28151         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
28152         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
28153         Include <sys/cdefs.h> before <sched.h>.
28154         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
28155         so that we needn’t worry about the sched.h include bug here.
28156         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
28157         and include it before <sched.h> if it exists, when
28158         checking for <sched.h>.
28160         tests/init.sh: port Alpine fix to AIX 7.1
28161         * tests/init.sh (compare_): When attempting to use diff -U3,
28162         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
28163         diff -u not outputting a space after leading '+', as the users
28164         of 'compare' should not be that picky about its output format.
28165         In the AIX 7.1 case, return with diff exit status (or with 2 if
28166         trouble), instead of some random nonzero exit status.
28167         * tests/test-init.sh (test_compare): Remove space after leading
28168         '+', so that AIX 7.1 'diff' passes the test.
28170 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
28172         nl_langinfo: pacify GCC
28173         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
28174         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
28176         stdint: also set GL_GENERATE_LIMITS_H
28177         Problem reported by Jim Meyering in:
28178         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
28179         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
28181         limits-h, stdint: Don't assume extensions, fix typo
28182         * m4/limits-h.m4 (gl_LIMITS_H):
28183         * m4/stdint.m4 (gl_STDINT_H):
28184         Don't assume AC_USE_SYSTEM_EXTENSIONS.
28185         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
28186         reported by Jim Meyering in:
28187         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html
28189 2016-09-21  Jim Meyering  <meyering@fb.com>
28191         getprogname: port to AIX
28192         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
28193         and strdup to obtain a short program name string.  Using code from
28194         Bruno Haible and an idea from Bastien ROUCARIÈS, in
28195         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
28196         Assaf Gordon reported that this new file would fail to compile on
28197         AIX-7.1 32bit.
28199 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
28201         extensions: fix typo in comment
28202         * m4/extensions.m4: Sync from Autoconf master.
28204         stdint: support new _WIDTH macros
28205         * doc/posix-headers/stdint.texi: Document this.
28206         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
28207         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
28208         support for INTMAX_WIDTH, etc. as well as for support for just C99.
28209         * modules/stdint (Depends-on): Add limits-h.
28210         (Makefile.am): Substitute HAVE_C99_STDINT_H.
28211         * modules/stdint-tests (Depends-on): Add extensions, so that
28212         INTMAX_MAX etc. are defined.
28213         * tests/test-stdint.c: Verify the new macros.
28215         limits-h: new module
28216         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
28217         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
28218         * doc/posix-headers/limits.texi: Document new module.
28219         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
28220         * modules/limit-h-tests, tests/test-limits-h.c: New files.
28222         stdio: don't redefine __USE_MINGW_ANSI_STDIO
28223         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
28224         if it is already defined.  Apparently GNU Emacs relies on this.  See:
28225         http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html
28227 2016-09-15  Eric Blake  <eblake@redhat.com>
28229         sys_types: avoid glibc 2.25 warnings about major()
28230         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
28231         older autoconf.
28232         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
28233         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
28234         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
28235         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
28237         mountlist: include sysmacros.h for glibc
28238         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
28239         AC_HEADER_MAJOR.
28240         * lib/mountlist.c (includes): Use correct headers.
28242 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
28244         extensions: port to more ISO C TSes
28245         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
28246         master, to add support for more recent ISO C TRs and TSes.
28248 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
28250         intprops: new macro TYPE_WIDTH
28251         * lib/intprops.h (TYPE_WIDTH): New macro.
28252         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
28253         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
28254         * lib/parse-datetime.y (parse_datetime2):
28255         Use it.
28257         extensions: port to recent ISO C TRs
28258         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
28259         Sync from Autoconf master, to add support for recent ISO C TRs.
28260         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
28261         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
28262         the MinGW option is not an extension.
28264 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
28266         dfa: port to Solaris 9
28267         Problems reported by Tom G. Christensen in:
28268         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
28269         * modules/dfa (Depends-on): Add isblank.
28270         * modules/dfa-tests (dfa_match_aux_LDADD):
28271         Rename from test_stat_LDADD, to fix typo.
28272         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
28274 2016-09-10  Jim Meyering  <meyering@fb.com>
28276         strverscmp: avoid link failure on OS X
28277         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
28278         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
28280 2016-08-16  Jim Meyering  <meyering@fb.com>
28282         dfa: new module, importing grep's DFA matcher
28283         Since grep's DFA matcher is now being used by two gnulib-enabled
28284         projects, grep and sed, it makes sense to version-control its
28285         sources and unit tests in one place: here.
28286         * modules/dfa: New module.
28287         * modules/dfa-tests: New file.
28288         * lib/dfa.c: New file, from grep.
28289         * lib/dfa.h: Likewise.
28290         * lib/localeinfo.c: Likewise.
28291         * lib/localeinfo.h: Likewise.
28292         * tests/dfa-match-aux.c: Likewise.
28293         * tests/dfa-invalid-char-class.sh: Likewise.
28294         * tests/dfa-match.sh: Likewise, with minor changes.
28295         * MODULES.html.sh (Misc): Add "dfa" to this list.
28297 2016-09-09  Jim Meyering  <meyering@fb.com>
28299         getprogname-tests: don't depend on assert-h
28300         * modules/getprogname-tests (Depends-on): Remove assert-h.
28301         It was not needed, and in fact would cause build failure for
28302         coreutils on some systems.  Reported by Assaf Gordon in https:
28303         //lists.gnu.org/r/coreutils/2016-09/msg00016.html
28305 2016-09-07  Jim Meyering  <meyering@fb.com>
28307         getprogname-tests: work also when EXEEXT is nonempty
28308         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
28309         * tests/test-getprogname.c (main): Use it.
28310         Suggested by Gisle Vanem.
28312 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
28314         getprogname: fix errors in previous change
28315         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
28316         s/program_invocation_name/base/
28317         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
28319 2016-09-08  Pádraig Brady  <P@draigBrady.com>
28321         parse-datetime: restrict debug output to input string
28322         * lib/parse-datetime.y (parse_datetime2): If we parse
28323         all of the input but determine it's invalid, ensure
28324         we don't output the now invalid input pointer.
28325         This issue was seen with `date -d 'now +1'`.
28327 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
28329         flexmember: new macro FLEXALIGNOF
28330         * lib/flexmember.h: Include <stddef.h>, for offsetof.
28331         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
28332         this macro.  Update comments.
28334 2016-09-07  Jim Meyering  <meyering@fb.com>
28336         getprogname: port to systems with __argv (mingw, msvc)
28337         * lib/getprogname.c (getprogname): Include "dirname.h" and use
28338         last_component: more general than open coding it with hard-coded "/".
28339         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
28340         * modules/getprogname (Depends-on): Add dirname-lgpl.
28341         (configure.ac): Check for __argv in <stdlib.h>.
28342         * modules/getprogname-tests: New file.
28343         * tests/test-getprogname.c: New file.
28344         Suggested by Gisle Vanem in
28345         https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html
28347 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
28349         flexmember: port better to GCC + valgrind
28350         With a char[] flexible array member in a struct with nontrivial
28351         alignment, GCC-generated code can access past the end of the
28352         array, because GCC assumes there are padding bytes to get the
28353         struct aligned.  So the common idiom of malloc (offsetof (struct
28354         s, m), n) does not properly allocate an n-byte trailing member, as
28355         malloc’s argument should be the next multiple of alignof (struct s).
28356         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
28357         Although C11 apparently permits this GCC optimization (i.e., there
28358         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
28359         See the thread containing:
28360         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
28361         * lib/flexmember.h: New file.
28362         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
28363         * lib/localename.c, lib/time_rz.c:
28364         Include flexmember.h.
28365         * lib/fnmatch_loop.c (struct patternlist):
28366         * lib/localename.c (struct hash_node):
28367         Use FLEXIBLE_ARRAY_MEMBER.
28368         * lib/fnmatch_loop.c (EXT):
28369         * lib/fts.c (fts_alloc):
28370         * lib/glob.c (glob_in_dir):
28371         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
28372         * lib/localename.c (gl_lock_define_initialized):
28373         * lib/time_rz.c (tzalloc):
28374         Use FLEXSIZEOF instead of offsetof.
28375         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
28376         Check that the size of the struct can be taken.
28377         * modules/flexmember (Files): Add lib/flexmember.h.
28378         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
28379         Add flexmember.
28381 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
28383         getprogname: port to Solaris 10
28384         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
28385         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
28386         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
28388         stdalign: correct mistake in alignof doc
28389         Problem reported by Joseph Myers in:
28390         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
28391         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
28392         alignof(S) where S is a structure containing a flexible array
28393         member.  The Gnulib substitute does not support this, but C11 does.
28395 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
28397         main.mk: remove sc_program_name, since there is no more need to
28398         use set_program_name in tools (getprogname is enough for most
28399         of the cases).
28400         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
28401         * top/maint.mk (sc_program_name): Remove.
28403 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
28405         Port tests away from progname, since modules that need the
28406         program name already depend on getprogname.
28407         * modules/acl-tests (Depends-on): Remove progname.
28408         * modules/argmatch (Depends-on): Likewise.
28409         * modules/argmatch-tests (Depends-on): Likewise.
28410         * modules/argp-tests (Depends-on): Likewise.
28411         * modules/argp-version-etc-tests (Depends-on): Likewise.
28412         * modules/array-list-tests (Depends-on): Likewise.
28413         * modules/array-oset-tests (Depends-on): Likewise.
28414         * modules/avltree-list-tests (Depends-on): Likewise.
28415         * modules/avltree-oset-tests (Depends-on): Likewise.
28416         * modules/avltreehash-list-tests (Depends-on): Likewise.
28417         * modules/carray-list-tests (Depends-on): Likewise.
28418         * modules/copy-file-tests (Depends-on): Likewise.
28419         * modules/exclude-tests (Depends-on): Likewise.
28420         * modules/fchownat-tests (Depends-on): Likewise.
28421         * modules/fdopendir-tests (Depends-on): Likewise.
28422         * modules/filenamecat-tests (Depends-on): Likewise.
28423         * modules/fstatat-tests (Depends-on): Likewise.
28424         * modules/fstrcmp-tests (Depends-on): Likewise.
28425         * modules/linked-list-tests (Depends-on): Likewise.
28426         * modules/linkedhash-list-tests (Depends-on): Likewise.
28427         * modules/mkdirat-tests (Depends-on): Likewise.
28428         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
28429         * modules/nonblocking-socket-tests (Depends-on): Likewise.
28430         * modules/obstack-printf-tests (Depends-on): Likewise.
28431         * modules/openat-tests (Depends-on): Likewise.
28432         * modules/parse-datetime-tests (Depends-on): Likewise.
28433         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
28434         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
28435         * modules/quotearg-simple-tests (Depends-on): Likewise.
28436         * modules/quotearg-tests (Depends-on): Likewise.
28437         * modules/rbtree-list-tests (Depends-on): Likewise.
28438         * modules/rbtree-oset-tests (Depends-on): Likewise.
28439         * modules/rbtreehash-list-tests (Depends-on): Likewise.
28440         * modules/spawn-pipe-tests (Depends-on): Likewise.
28441         * modules/system-quote-tests (Depends-on): Likewise.
28442         * modules/uniname/uniname-tests (Depends-on): Likewise.
28443         * modules/uninorm/nfc-tests (Depends-on): Likewise.
28444         * modules/uninorm/nfd-tests (Depends-on): Likewise.
28445         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
28446         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
28447         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
28448         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
28449         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
28450         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
28451         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
28452         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
28453         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
28454         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
28455         * modules/unlinkat-tests (Depends-on): Likewise.
28456         * modules/version-etc-tests (Depends-on): Likewise.
28457         * modules/xalloc-die-tests (Depends-on): Likewise.
28458         * modules/xmemdup0-tests (Depends-on): Likewise.
28459         * modules/xprintf-posix-tests (Depends-on): Likewise.
28460         * modules/xvasprintf-tests (Depends-on): Likewise.
28461         * tests/test-argmatch.c: Do not include progname.h.
28462         (main) Stop calling set_program_name.
28463         * tests/test-argp-version-etc.c: Likewise.
28464         * tests/test-argp.c: Likewise.
28465         * tests/test-argv-iter.c: Likewise.
28466         * tests/test-array_list.c: Likewise.
28467         * tests/test-array_oset.c: Likewise.
28468         * tests/test-avltree_list.c: Likewise.
28469         * tests/test-avltree_oset.c: Likewise.
28470         * tests/test-avltreehash_list.c: Likewise.
28471         * tests/test-carray_list.c: Likewise.
28472         * tests/test-copy-acl.c: Likewise.
28473         * tests/test-copy-file.c: Likewise.
28474         * tests/test-exclude.c: Likewise.
28475         * tests/test-fchownat.c: Likewise.
28476         * tests/test-fdopendir.c: Likewise.
28477         * tests/test-filenamecat.c: Likewise.
28478         * tests/test-fstatat.c: Likewise.
28479         * tests/test-fstrcmp.c: Likewise.
28480         * tests/test-linked_list.c: Likewise.
28481         * tests/test-linkedhash_list.c: Likewise.
28482         * tests/test-mkdirat.c: Likewise.
28483         * tests/test-nonblocking-pipe-main.c: Likewise.
28484         * tests/test-nonblocking-socket-main.c: Likewise.
28485         * tests/test-obstack-printf.c: Likewise.
28486         * tests/test-openat.c: Likewise.
28487         * tests/test-parse-datetime.c: Likewise.
28488         * tests/test-pipe-filter-gi1.c: Likewise.
28489         * tests/test-pipe-filter-gi2-main.c: Likewise.
28490         * tests/test-pipe-filter-ii1.c: Likewise.
28491         * tests/test-pipe-filter-ii2-main.c: Likewise.
28492         * tests/test-quotearg-simple.c: Likewise.
28493         * tests/test-quotearg.c: Likewise.
28494         * tests/test-rbtree_list.c: Likewise.
28495         * tests/test-rbtree_oset.c: Likewise.
28496         * tests/test-rbtreehash_list.c: Likewise.
28497         * tests/test-sameacls.c: Likewise.
28498         * tests/test-set-mode-acl.c: Likewise.
28499         * tests/test-spawn-pipe-main.c: Likewise.
28500         * tests/test-system-quote-main.c: Likewise.
28501         * tests/test-unlinkat.c: Likewise.
28502         * tests/test-version-etc.c: Likewise.
28503         * tests/test-xalloc-die.c: Likewise.
28504         * tests/test-xfprintf-posix.c: Likewise.
28505         * tests/test-xmemdup0.c: Likewise.
28506         * tests/test-xprintf-posix.c: Likewise.
28507         * tests/test-xvasprintf.c: Likewise.
28508         * tests/uniname/test-uninames.c: Likewise.
28509         * tests/uninorm/test-u32-nfc-big.c: Likewise.
28510         * tests/uninorm/test-u32-nfd-big.c: Likewise.
28511         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
28512         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
28513         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
28514         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
28515         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
28516         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
28517         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
28518         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
28519         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
28520         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
28521         * tests/test-c-stack.c: (program_name): Do not define.
28522         (main): Do not set program_name.
28523         * tests/test-closein.c: Likewise.
28524         * tests/test-xstrtol.c: Likewise.
28525         * tests/test-yesno.c: Likewise.
28527 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
28529         Port modules to use getprogname explicitly, instead of requiring
28530         progname to be used (or program_name to be provided).
28531         * lib/argmatch.c: Do not include progname.h.
28532         [TEST] (program_name): Do not define.
28533         [TEST] (main): Call getprogname instead of using program_name.
28534         * lib/c-stack.c: Do not include progname.h.
28535         (program_name): Do not define.
28536         (die): Call getprogname instead of using program_name.
28537         * lib/chdir-long.c: Do not include progname.h.
28538         [TEST_CHDIR] (main): Do not set program_name.
28539         * lib/error.c [!_LIBC]: Include progname.h.
28540         [!_LIBC] (program_name): Define using getprogname.
28541         * lib/euidaccess.c: Do not include progname.h.
28542         [TEST] (main): Do not set program_name.
28543         * lib/git-merge-changelog.c: Include getprogname.h instead of
28544         progname.h.
28545         (usage): Call getprogname instead of using program_name.
28546         (main): Likewise.  Stop calling set_program_name.
28547         * lib/group-member.c: Do not include progname.h.
28548         [TEST] (main): Do not set program_name.
28549         * modules/argmatch (Depends-on): Add getprogname.
28550         * modules/c-stack (Depends-on): Likewise.
28551         * modules/error (Depends-on): Likewise.
28552         * modules/git-merge-changelog (Depends-on): Likewise.
28553         Also remove progname.
28555 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
28557         * NEWS: Document the deprecation of the 'progname' module.
28559 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
28561         getprogname: new module
28562         This provides a LGPL module for getting the name of the current
28563         program, using the same API found on *BSD systems.
28564         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
28565         * modules/getprogname: New files.
28566         * MODULES.html.sh (Misc): Add getprogname.
28568 2016-09-02  Jim Meyering  <meyering@fb.com>
28570         manywarnings: add -fno-common
28571         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
28572         to the list.  Quoting the manual, "Compiling with -fno-common is
28573         useful on targets for which it provides better performance, or if
28574         you wish to verify that the program will work on other systems that
28575         always treat uninitialized variable declarations this way [putting
28576         it in the data section]."  If diffutils had been using this sooner,
28577         it would have prevented this duplicate declaration issue:
28578         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
28580 2016-08-31  Simon Josefsson  <simon@josefsson.org>
28582         parse-datetime: Fix typo.
28583         * lib/parse-datetime.y (parse_datetime2): Fix typo.
28585 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
28587         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
28588         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
28589         GCC 5 and 6 that have __builtin_sub_overflow but not
28590         __builtin_sub_overflow_p.  With the recent changes, these
28591         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
28592         implementation than with INT_SUBTRACT_OVERFLOW implementation,
28593         since the former needs just one runtime comparison whereas the
28594         latter needs two.
28596         strverscmp: sync with glibc
28597         Although this doesn't exactly synchronize with glibc
28598         byte-for-byte, it makes the code behave the same as glibc.
28599         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
28600         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
28601         difference shouldn't matter in practical use.  All uses changed
28602         back to isdigit.
28603         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
28604         (next_state): Now unsigned char array; redo elements.
28605         (result_type): Now signed char array; redo elements.
28606         (__strverscmp): Fix glibc bug 9913 by using new states.
28607         * tests/test-strverscmp.c (main): Test glibc bug 9913.
28609 2016-08-29  Jim Meyering  <meyering@fb.com>
28611         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
28612         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
28613         similarly to how it was done to intprops.h.
28615 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
28617         intprops.h: port recent changes to GCC 6.2.0
28618         * lib/intprops.h (__has_builtin): Move earlier.
28619         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
28620         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
28621         the last argument can be null.  All uses changed.
28622         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
28623         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
28624         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
28625         and it's not clear which GCC versions it works for.
28626         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
28627         its definiens.
28629         intprops.h: use __typeof__ with GCC 7
28630         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
28631         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
28632         This avoids computing the expression's value (which might overflow!).
28634 2016-08-29  Jim Meyering  <meyering@fb.com>
28636         intprops.h, xalloc-oversized.h: work with gcc 7
28637         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
28638         __builtin_mul_overflow each accept a NULL pointer as the third
28639         argument.  However in gcc 7, that is no longer accepted.
28640         Instead, one must use the "_p"-suffixed names, with which, the
28641         third parameter is no longer a pointer.
28642         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
28643         the definition: not true for gcc 7 and subsequent.
28644         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
28645         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
28646         Provide new definitions for gcc 7 and subsequent.
28647         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
28648         that works with gcc-7.
28650         intprops.h: fix missing-backslash problems
28651         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
28652         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
28654 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
28656         intprops: fix paren typo on old platforms
28657         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
28658         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
28659         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
28660         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
28661         && !defined LLONG_MAX]:
28662         Remove stray paren.
28664         intprops: port to OpenVMS
28665         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
28666         * doc/posix-headers/limits.texi: Document the problem.
28667         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
28668         Define if not already defined.
28670 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
28672         parse-datetime: improve debug implementation
28673         Follow-up to commit 12ad79069 ("add optional debug printing").
28674         Improve parse-datetime's debug implementation: remove macros,
28675         replace global debug flag variable with a function parameter,
28676         use nstrftime for formatting.
28677         See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
28678         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
28679         (parse_datetime2): New function, accepts 'flags' parameter, supporting
28680         debug flag. Existing interface 'parse_datetime' left unmodified.
28681         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
28682         (struct parser_control): add 'parse_datetime_debug' member variable.
28683         (parse_datetime): Call new function 'parse_datetime2' without debug.
28684         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
28685         pc.parse_datetime_debug variable as needed.
28686         (to_year): Accept new flags parameter, instead of using global variable.
28687         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
28688         use struct 'debug' variable instead of global variable.
28689         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
28690         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
28691         correspnding functions directly instead of using macros.
28692         * modules/parse-datetime: Add gnulib's strftime module.
28694 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
28696         c-strcase-tests: port to EBCDIC
28697         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
28698         which assume ASCII encoding semantics to run only in ASCII
28699         mode, as they fail in EBCDIC.
28701         sigpipe-tests: fix typo
28702         * tests/test-sigpipe.sh: C, not B.
28704 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
28706         canonicalize-lgpl: fix errno after malloca fails
28707         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
28708         http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
28709         * lib/canonicalize-lgpl.c (__realpath):
28710         Don't assume malloca sets errno on failure.
28712 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
28714         strtod: port errno handling to z/OS
28715         * lib/strtod.c (strtod): Save and restore errno more reliably.
28717 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
28719         strtod: port to z/OS
28720         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
28721         implementation.
28723 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
28725         strtod: port to z/OS
28726         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
28727         implementation.
28729         regex, string: rename to avoid '__string'
28730         * lib/regex.h, lib/string.in.h: Do not use the identifier
28731         '__string', as it is effectively reserved by string.h on z/OS.
28733         c-strcase-tests, wcwidth-tests: depend on c-ctype
28734         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
28735         Add c-ctype.
28737 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
28739         thread: port to z/OS
28740         * lib/glthread/thread.c, lib/glthread/thread.h:
28741         Rudimentary gl_thread support for z/OS.
28743         maint: port tests to z/OS errno behavior
28744         * tests/test-nonblocking-reader.h:
28745         * tests/test-nonblocking-writer.h:
28746         Accommodate z/OS errno code preferences. (I believe this should
28747         still be within spec; IBM is good at following the letter if not
28748         the spirit of such things.)
28750         maint: preprocessor changes to support z/OS
28751         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
28752         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
28753         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
28754         * tests/test-nonblocking-pipe.h:
28756         fclose, strstr-simple, wchar: port to z/OS
28757         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
28758         Changes to the Autoconf M4 code to support z/OS.  Note that
28759         fclose() is broken in a different way on z/OS than it is on other
28760         systems, thus the special-case in fclose.m4.
28762         iconv_open-utf-tests, iconv-tests: port to EBCDIC
28763         * tests/test-iconv-utf.c, tests/test-iconv.c:
28764         Added appropriately conditional #pragmas so that the test strings
28765         in test-iconv-utf.c are correctly interpreted in ASCII instead of
28766         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
28767         addressed in a more portable way by simply rewriting all the ASCII
28768         literal characters as octal escapes, but then you would lose the
28769         partial readability that the strings have now. Also, iconv_open()
28770         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
28772         c-strcase-tests, wcwidth-tests: port to EBCDIC
28773         * tests/test-c-strcasecmp.c: Include c-ctype.h.
28774         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
28775         * tests/test-wcwidth.c: Likewise.
28777 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
28779         stdbool: don't require _Bool for C++
28780         Problem reported by David Seifert in:
28781         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
28782         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
28783         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
28784         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
28785         stricter about checking that bool and _Bool are compatible in C.
28787 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
28789         getdelim: remove dependency on realloc-posix
28790         * lib/canonicalize-lgpl.c (alloc_failed)
28791         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
28792         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
28793         Use __set_errno where needed, for consistency.
28794         * lib/getdelim.c (alloc_failed): New function.
28795         (getdelim): Use it.
28797 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
28799         parse-datetime: add optional debug printing
28800         Print parsing information, warnings, and errors to stderr.
28801         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
28802         * lib/parse-datetime.y:
28803         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
28804         (PROGRESS*): Same as DEBUG, for progress reporting.
28805         (dbg_printf): Print message to stderr, with 'date' prefix.
28806         (struct parser_control): Add 'debug_*_seen' variables.
28807         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
28808         (debug_print_current_time, debug_print_relateive_time): Prints the
28809         current/relative date/time value of parser_control.
28810         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
28811         (to_year): Warn about 2-digit year parsing.
28812         (yylex):   Warn about unrecognized words.
28813         (get_effective_timezone): Returns current timezone in minutes.
28814         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
28815         clearly and unambigiously as possible.
28816         (debug_mktime_not_ok): Print detailed information about failed
28817         date/time values.
28818         (parse_datetime): Add DEBUG messages for failures, warnings. Add
28819         PROGRESS messages for status messages.
28820         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
28822 2016-08-06  Jim Meyering  <meyering@fb.com>
28824         tests/init.sh: exclude dash with bad "local" semantics
28825         * tests/init.sh (gl_shell_test_script_): Add a function to
28826         eliminate a shell like "dash" (unlike bash, zsh) that has
28827         surprising/risky "local var='...'" semantics.  Inspired by
28828         the problem and discussion in https://bugs.gnu.org/24116#11.
28830 2016-08-02  Ján Tomko  <jtomko@redhat.com>
28832         maint.mk: expand the prohibit_doubled_word regex
28833         This check has a static list of words that are checked for
28834         repetitions.  Expand it before running the perl script to
28835         avoid using expensive captures.  This decreases the cost
28836         for libvirt from 1.66s to 0.66s.
28837         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
28838         (sc_prohibit_doubled_word): Use it.
28840 2016-07-26  Ján Tomko  <jtomko@redhat.com>
28842         useless-if-before-free: skip non-matching lines early
28843         * build-aux/useless-if-before-free: First match each line with the
28844         simple/quick /\bif\b/ and reject if there is no match. This often
28845         saves the cost of the much more involved regular expression.
28846         For libvirt, this decreases the cost from 1.44s to 1.02s.
28848 2016-07-26  Ján Tomko  <jtomko@redhat.com>
28850         maint.mk: speed up sc_po_check
28851         sc_po_check would skip files based on their names, or on the
28852         existence of files with derived names. Rewrite it to use perl
28853         instead of shell to make the check faster.
28854         * top/maint.mk (perl_translatable_files_list_): Define.
28855         (sc_po_check): Use it.
28857 2016-07-30  Ján Tomko  <jtomko@redhat.com>
28859         maint.mk: speed up require_config_h_first
28860         Instead of spawning three processes per file,
28861         rewrite the check in perl and run it once for all the files.
28862         * top/maint.mk (perl_config_h_first_): Define.
28863         (sc_require_config_h_first): Use it in place of shell code.
28865 2016-07-26  Ján Tomko  <jtomko@redhat.com>
28867         maint.mk: speed up sc_po_check
28868         sc_po_check would skip files based on their names, or on the
28869         existence of files with derived names. Rewrite it to use perl
28870         instead of shell to make the check faster.
28871         * top/maint.mk (perl_translatable_files_list_): Define.
28872         (sc_po_check): Use it.
28874 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
28876         obstack: pacify GCC 6 with -Wnull-dereference
28877         Problem reported by Assaf Gordon in:
28878         http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
28879         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
28880         Declare with __attribute_noreturn__.
28881         * lib/obstack.h (__attribute_noreturn__): New macro.
28883 2016-07-13  Eric Blake  <eblake@redhat.com>
28885         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
28886         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
28887         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
28889 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
28891         doc: mention glibc SSIZE_MAX buglet
28892         * doc/posix-headers/limits.texi (limits.h): Document the bug.
28894 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
28896         printf-posix: Fix mingw build
28897         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
28898         expression for detecting C symbol prefixes but forgot to qoute square
28899         brackets in the command line arguments for grep.  That way when
28900         building with mingw the condition was false although it ought to be
28901         true instead.  In particular scenarios this led to the following
28902         compile error:
28904             Cannot export rpl_printf: symbol not found
28905             Cannot export rpl_scanf: symbol not found
28906             collect2: error: ld returned 1 exit status
28908         Fix this by properly quoting square brackets.
28910 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
28912         mktime: call tzset as per POSIX
28913         Problem reported by Ludovic Courtès in:
28914         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
28915         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
28916         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
28918 2016-06-26  Pádraig Brady  <P@draigBrady.com>
28920         fts: handle readdir() errors
28921         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
28922         but also upon error when it will also set errno.  Therefore
28923         flag the error case from readdir().  We treat the case where
28924         no items are read the same as if the dir can't be accessed,
28925         i.e. by setting fts_errno to FTS_DNR.
28927 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
28929         intprops: port better to GCC 7
28930         GCC 7 __builtin_add_overflow supports a new usage form, where the
28931         last argument is a null pointer, and which merely returns 1 if an
28932         overflow would occur.  This is a constant expression if all
28933         arguments are constants, and should generate faster code when code
28934         needs to be generated.
28935         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
28936         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
28937         Use builtin operations if available.
28938         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
28939         operations are available, as it's almost surely faster.
28941 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
28943         intprops-test: port to GCC 6
28944         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
28945         since the bug is not fixed in GCC 6.1.
28947 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
28949         xalloc-oversized: port to GCC 7; fewer warnings
28950         GCC 7 will have a better way to deal with integer overflow.
28951         Plus, fix a warnings problem reported by Tim Ruehsen in:
28952         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
28953         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
28954         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
28955         For GCC 5, use __xalloc_oversized if both args are constants,
28956         or if pedantic.
28958 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
28960         regex: port to Sun C
28961         Reported by Daiki Ueno.
28962         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
28963         __restrict, in prototype.  This fixes a problem I introduced in
28964         the 2016-02-19 merge from glibc.
28966 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
28968         stdbool: Restore __bool_true_false_are_defined check
28969         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
28970         __bool_true_false_are_defined is still defined, even with C++11.
28972 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
28974         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
28975         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
28977 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
28979         Use GCC_LINT, not lint
28980         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
28981         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
28982         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
28983         Document problem with lint and _Noreturn.
28984         * lib/diffseq.h (IF_LINT, IF_LINT2):
28985         * lib/fts.c (sccsid):
28986         * lib/getndelim2.c (IF_LINT):
28987         * lib/gl_anylinked_list2.h (gl_linked_iterator)
28988         (gl_linked_iterator_from_to):
28989         * lib/gl_anytree_list2.h (gl_tree_iterator)
28990         (gl_tree_iterator_from_to):
28991         * lib/gl_anytree_oset.h (gl_tree_iterator):
28992         * lib/gl_array_list.c (gl_array_iterator)
28993         (gl_array_iterator_from_to):
28994         * lib/gl_array_oset.c (gl_array_iterator):
28995         * lib/gl_carray_list.c (gl_carray_iterator)
28996         (gl_carray_iterator_from_to):
28997         * lib/idcache.c:
28998         * lib/inet_ntop.c (IF_LINT):
28999         * lib/regcomp.c (build_charclass_op, create_tree):
29000         * lib/regex_internal.c (re_acquire_state)
29001         (re_acquire_state_context):
29002         * lib/trigl.c (rcsid):
29003         * lib/trim.c (IF_LINT):
29004         * lib/vasnprintf.c (IF_LINT):
29005         * lib/verify.h (assume):
29006         Treat GCC_LINT like lint.
29008 2016-05-29  Bruno Haible  <bruno@clisp.org>
29010         secure_getenv: Port to many more platforms.
29011         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
29012         functions.
29013         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
29014         for non-BSD Unix platforms and for native Windows.
29015         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
29016         Prompted by a request from Nikos Mavrogiannopoulos.
29018 2016-05-27  Eric Blake  <eblake@redhat.com>
29020         canonicalize: Fix broken probe for realpath.
29021         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
29022         in logic introduced in 54615b95.
29024 2016-05-26  Eric Blake  <eblake@redhat.com>
29026         unsetenv: relax to LGPLv2+
29027         * modules/unsetenv (License): Match setenv license.
29029 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
29031         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
29032         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
29033         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
29034         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
29035         (commonarg, dirargs, dirs, infoarg, generate_ascii)
29036         (generate_html, generate_info, generate_tex, outdir)
29037         (source_extra, split, srcfile, texarg): Move above 'version'.
29038         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
29040 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
29042         manywarnings: update for GCC 6.1
29043         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
29044         Add GCC 6.1 options that apply to C.
29045         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
29046         do not apply to C, are obsolescent, etc.
29048 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
29050         glob: size_t overflow checks
29051         * lib/glob.c (__has_builtin): New macro.
29052         (size_add_wrapv, glob_use_alloca): New static functions.
29053         (glob, glob_in_dir): Check for size_t overflow in several places,
29054         and fix some size_t checks that were not quite right.
29056         glob: don't assume INT_MAX < SIZE_MAX
29057         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
29058         latter is not portable to (probably theoretical) hosts where
29059         SIZE_MAX <= INT_MAX.
29061 2016-05-09  Bruno Haible  <bruno@clisp.org>
29063         Fix undefined behaviour in gettext.h.
29064         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
29065         pointer's value after the storage it points to has been freed.
29066         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
29067         Spotted by Coverity.
29069 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
29071         git-version-gen: avoid undefined shift
29072         Problem reported by Mosè Giordano in:
29073         http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
29074         * build-aux/git-version-gen: Avoid undefined behavior if invoked
29075         with --prefix or --fallback but without a later argument.  While
29076         we're at it, omit unnecessary quotes.
29078 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
29080         glob: merge glibc changes into lib/glob.c
29081         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
29082         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
29083         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
29084           struct dirent [BZ #19779]
29085         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
29086           callback gl_readdir
29087         2015-10-20 Convert miscellaneous function definitions to prototype style
29088         2015-10-20 Convert 113 more function definitions to prototype style
29089           (files with assertions)
29090         2015-06-12 Fix getlogin_r namespace (bug 18527).
29091         2014-02-10 Use glibc_likely instead __builtin_expect.
29092         2013-10-20 When glob pattern contains a trailing slash match only
29093           directories. Fixes bug 10278.
29094         2013-09-04 glob: silence -Wattribute warnings
29095         2013-06-07 Avoid use of "register" as optimization hint.
29096         2012-09-25 Use size_t instead of int for internal variables in glob
29097           (bug 14621)
29098         2011-07-20 Check for overflows in expressions
29099         2011-05-28 Remove unused variable
29100         2011-05-22 Add a few more alloca size checks
29101         2010-03-27 Whitespace fixes
29102         2010-03-27 Fix one more issue with the glob patch
29103         2010-03-24 Fix glob with empty pattern
29104         2008-05-27 Remove useless more "if" tests before "free"
29105         * modules/glob (Depends-on): Add stdint.
29107 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
29109         mktime: port to stricter signed overflow checking
29110         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
29111         (long_int): Require width for INT_MAX * 3 * (seconds per year),
29112         instead of merely for INT_MAX * 2.  In practice platforms that
29113         do the latter also do the former.
29114         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
29115         (shr): New static function, replacing SHR.  All uses changed.
29116         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
29117         and TIME_T_MAX.  All uses changed.
29118         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
29119         Use long_int, not time_t.
29120         (long_int_avg): New static function, replacing time_t_avg.
29121         All uses changed.  Round toward positive infinity, as that
29122         generates slightly better code.
29123         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
29124         by INT_ADD_WRAPV.
29125         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
29126         (convert_time): New static function.
29127         (ranged_convert): Use it
29128         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
29129         Use simpler test for loop exit.
29130         (__mktime_internal): Store negative of guessed offset, to simplify
29131         overflow checking.  Remove no-longer-needed test for small time_t
29132         overflows.
29134         mktime: speed up DEBUG_MKTIME benchmarks
29135         Call tzset just once, at the start, rather than for every test
29136         case.  This lets us measure the CPU cost of mktime as opposed to
29137         that of tzset.  This is relevant when TZ is not set and glibc is
29138         being used.  This speeds up tests by a factor of 40 on my Fedora
29139         23 x86-64 platform.
29140         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
29141         to call tzset and as a sanity check.  Later on, use localtime_r
29142         instead of localtime.
29144         mktime: resurrect DEBUG_MKTIME testing
29145         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
29146         Include <string.h>, for strcmp.
29148         mktime: simplify DEBUG_MKTIME
29149         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
29150         Simplify later usage accordingly.
29152         Port mktime_internal offset to unsigned time_t
29153         This avoids some assumptions about wraparound arithmetic on
29154         signed integer overflow.
29155         * lib/mktime-internal.h (mktime_offset_t): New type.
29156         (mktime_internal): Use it in decl.
29157         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
29159         * lib/mktime.c (__mktime_internal, localtime_offset):
29160         * lib/timegm.c (timegm): Use it.
29161         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
29162         (gl_FUNC_MKTIME): Require it.
29164 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
29166         xstrtol: prohibit monstrosities like "1bB"
29167         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
29168         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
29169         "B" only if the first suffix needs a base.
29170         * tests/test-xstrtol.sh: Test this.
29172 2016-04-21  Pádraig Brady  <P@draigBrady.com>
29174         xstrtod: reinstate setting of *result upon ERANGE
29175         * lib/xstrtod.c (XSTRTOD): The user may decide to use
29176         the returned limits upon ERANGE, so allow and document that.
29178 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
29180         xstrtod: modify *result only if no errors
29181         * lib/xstrtod.c (XSTRTOD).
29183 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
29185         btowc: document problems in C locale
29186         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
29187         with mbrtowc.  See: http://bugs.gnu.org/23269#32
29189 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
29191         mktime: improve integer overflow checking
29192         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
29193         (WRAPV): Remove; no longer needed.
29194         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
29195         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
29196         Remove.  Use intprops.h defns instead.
29197         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
29198         Use bool for Boolean, for clarity.
29199         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
29200         detect integer overflow.
29201         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
29203         intprops: check two's complement assumption
29204         Suggested by Eric Blake in:
29205         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
29206         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
29207         short, int, long, and (if available) long long are two's complement.
29208         * modules/intprops (Depends-on): Add 'verify'.
29210         intprops, mktime, strtol: assume two's complement
29211         These macros were not portable to every conforming C11 ones'
29212         complement platform.  It's not worth the hassle of porting to some
29213         platforms that use ones' complement or signed magnitude, as such
29214         platforms are almost purely theoretical nowadays and porting even
29215         to some of them makes the code harder to review for little
29216         practical benefit.  Problem reported by Florian Weimer in:
29217         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
29218         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
29219         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
29220         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
29221         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
29222         (TYPE_SIGNED_MAGNITUDE):
29223         Remove.  All uses rewritten to assume two's complement, which is
29224         all we can reasonably test nowadays anyway.
29225         * top/maint.mk (_intprops_names): Remove the removed macros.
29227 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
29229         stdint: port to strict C11 left shift
29230         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
29231         Pacify clang -Wshift-negative-value, which should be an issue only
29232         on clang setups where stdint.h does not conform to C11 or to C++11.
29233         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
29235 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
29237         mbrtowc: work around glibc bug#19932
29238         Fix mbrtowc so that it never returns -1 in the C locale,
29239         as this conflicts with a future version of POSIX
29240         http://austingroupbugs.net/view.php?id=663#c2738
29241         and causes problems with GNU grep: http://bugs.gnu.org/23234
29242         See glibc bug 19932:
29243         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
29244         * doc/posix-functions/mbrlen.texi (mbrlen):
29245         * doc/posix-functions/mbrtowc.texi (mbrtowc):
29246         Document the glibc bug.
29247         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
29248         Include hard-locale.h, locale.h.
29249         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
29250         if the bug is possible.
29251         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
29252         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
29253         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
29254         * modules/mbrtowc (Depends-on): Add hard-locale.
29255         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
29256         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
29257         * tests/test-mbrtowc5.sh: New file.
29259 2016-04-03  Pedro Alves  <palves@redhat.com>
29261         stdint: detect good enough pre-C++11 stdint.h in C++ mode
29262         When gnulib is configured in C++ mode for a system with a working C99
29263         implementation of stdint.h that predates C++11, gnulib ends up
29264         substituting stdint.h anyway.  This works on most targets, but on e.g.,
29265         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
29266         MinGW is LLP64.  Instead of trying to detect the right types, detect
29267         good-enough-pre-C++11 stdint.h and in such case define
29268         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
29269         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
29270         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
29271         conforms to C99.  If it does, check whether it hides symbols
29272         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
29273         does, define those macros in config.h.
29275 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
29277         argp: merge changes from glibc
29278         Among other things, this should fix problems found by a Coverity
29279         scan and reported by Andrei Borzenkov:
29280         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
29281         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
29282         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
29283         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
29284         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
29285         * lib/argp.h:
29286         Merge changes from glibc.
29287         * tests/test-argp-2.sh: Adjust to match new behavior.
29289 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
29291         stddef: support configuring with g++
29292         Problem reported by Ángel González in:
29293         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
29294         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
29295         Do not define if _GCC_MAX_ALIGN_T is defined.
29297 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
29299         test-framework-sh: minor cleanups
29300         * tests/init.sh (testdir_prefix_): Output a trailing newline,
29301         since strictly speaking POSIX requires this.
29302         (setup_): Do not use the variable 'fail', as that makes the
29303         trace output harder to read ('fail' is typically used by
29304         tests to mean the test failed).  Treat // portably.
29305         Check that new directory is not merely a sibling of the tmp dir.
29306         Avoid unnecessary invocation of tr.
29308         test-framework-sh: revert port to NetBSD 7.0
29309         It was a false alarm; I misinterpreted Assaf Gordon's report.
29310         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
29311         Restore.
29312         (test_dir_): Adjust to mktempd_ change.
29313         (mktempd_): Restore 2nd arg.  Use -t again.
29314         (base_template_, template_, nx_): Resurrect old code.
29316         Port better to Alpine Linux
29317         Its diff implementation does not support -c, but does support -U3.
29318         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
29319         * tests/init.sh (diff_opt_): New var.
29320         (compare_): Prefer diff -U3 to diff -c to plain diff.
29322 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
29324         test-framework-sh: port to NetBSD 7.0
29325         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
29326         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
29327         Remove.  All uses removed.
29328         (test_dir_): Adjust to mktempd_ change.
29329         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
29330         (base_template_, template_, nx_): Simplify by hardcoding.
29332 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
29334         gitlog-to-changelog: suppress ignored chatter
29335         * build-aux/gitlog-to-changelog: Do not warn about skipping
29336         an SHA if it would have been ignored anyway.
29338 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
29340         setlocale: add "sv" to Windows language table
29341         * lib/setlocale.c (language_table) [W32]: Add "sv".
29342         Reported in <https://savannah.gnu.org/bugs/?44588>.
29344 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
29346         sys_select: port to new Cygwin
29347         Problem reported by Ken Brown in:
29348         https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
29349         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
29350         diagnostics.
29352 2016-03-17  Jim Meyering  <meyering@fb.com>
29354         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
29355         * tests/test-userspec.c (main): Remove unnecessary braces and fix
29356         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
29357           test-userspec.c:176:9: error: statement is indented as if it were \
29358             guarded by... [-Werror=misleading-indentation]
29359                    {
29360                    ^
29361           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
29362                  if (!diag && !T[i].result)
29363                  ^~
29365 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
29367         time_rz: port to clang -Wunused-const-variable
29368         * lib/time_rz.c (TZ): Remove.  All uses removed.
29370         std-gnu11: improve clang support
29371         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
29372         2016-03-15 Also try clang
29373         2016-03-15 Port C11 and C++11 testing to clang
29375         select: port more to Intel 2016.1.150 compiler
29376         Problem reported by Balázs Hajgató in:
29377         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
29378         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
29380 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
29382         select: try to port to 2016.1.150 compiler
29383         Problem reported by Balázs Hajgató in:
29384         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
29385         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
29386         POSIX specifies 'restrict'.
29388 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
29390         localename-tests: memory allocation fixes
29391         * tests/test-localename.c (test_locale_name)
29392         (test_locale_name_thread): Don't call freelocale on a locale
29393         that was the base of a successful newlocale, as that
29394         results in a double free.  Problem reported by Assaf Gordon.
29395         (test_locale_name_thread): Free saved names after use, to pacify
29396         gcc -fsanitize=address.
29398 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
29400         intprops: make .h file license match module
29401         * lib/intprops.h: Change the license wording to match glibc format.
29402         This is what is in modules/intprops anyway.  See:
29403         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
29405 2016-03-08  Eric Blake  <eblake@redhat.com>
29407         acl: fix missing return on Cygwin
29408         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
29409         fall off end of function. Fixes http://bugs.gnu.org/22949
29411 2016-03-05  Bruno Haible  <bruno@clisp.org>
29413         extern-inline: port to PGI CC
29414         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
29415         keyword 'inline'.
29416         Reported by Adam James Stewart in:
29417         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html
29419 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
29421         signbit: port back to pre-C++11 GCC
29422         * lib/math.in.h (signbit): Do previous change only if
29423         __cplusplus < 201103.  See Jonathan Wakely in:
29424         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
29426 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
29428         mountlist: recognize autofs-mounted remote file systems, too
29429         Originally reported at: https://bugzilla.redhat.com/1309247
29430         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
29431         "-hosts" because it is used by autofs to mount remote file systems.
29433 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
29435         signbit: port to C++ with GCC 6
29436         * lib/math.in.h (signbit) [__cplusplus]:
29437         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
29438         http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html
29440         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
29442         regex: make it closer to libc
29443         Make Idx a signed type, rather than possibly unsigned.
29444         The unsignedness was not really buying us anything, since the code
29445         overflows for other reasons before getting to PTRDIFF_MAX.  Making
29446         it signed allows us to use -1 and -2 with abandon, like libc does,
29447         thus lessening the number of differences between gnulib and libc.
29448         Also, it should help avoid gratuitous warnings like the one
29449         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
29450         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
29453         regex: merge patches from libc
29455         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
29456         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
29457         Convert miscellaneous function definitions to prototype style.
29458         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
29459         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
29460         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
29461         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
29462         (re_search_internal):
29463         Convert to prototype-style function definition.
29464         Use internal_function for internal functions.
29466 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
29468         stdalign: port to older HP and IBM cc
29469         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
29470         C compilers, by checking their version numbers.  These version
29471         numbers appear in MariaDB and in Qt code that dates way back and
29472         that conditiionally uses the 'aligned' attribute.
29474 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
29476         stdalign: port to clang 3.7.0
29477         Problem reported by Herbert J. Skuhra in:
29478         http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
29479         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
29480         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
29481         https://llvm.org/bugs/show_bug.cgi?id=26547
29483 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
29485         readdir_r: now obsolescent
29486         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
29487         * lib/mountlist.c (read_file_system_list): Add a FIXME.
29489 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
29491         misc: port better to gcc -fsanitize=address
29492         Without these patches, ./configure CFLAGS='-fsanitize=address'
29493         would compute incorrect values.  This patch fixes some (but not all)
29494         test failures with recent glibc, with this configuration.
29495         * m4/acl.m4 (gl_ACL_GET_FILE):
29496         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
29497         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
29498         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
29499         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
29500         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
29501         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
29502         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
29503         * m4/getline.m4 (gl_FUNC_GETLINE):
29504         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
29505         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
29506         * m4/regex.m4 (gl_REGEX):
29507         * m4/strndup.m4 (gl_FUNC_STRNDUP):
29508         * tests/test-calloc-gnu.c (main):
29509         * tests/test-duplocale.c (main):
29510         * tests/test-getgroups.c (main):
29511         * tests/test-getline.c (main):
29512         * tests/test-inttostr.c (main):
29513         * tests/test-localename.c (test_locale_name)
29514         (test_locale_name_thread, test_locale_name_environ)
29515         (test_locale_name_default):
29516         * tests/test-regex.c (main):
29517         * tests/test-setlocale1.c (main):
29518         * tests/test-stat.h (test_stat_func):
29519         Free heap-allocated storage before exiting.
29520         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
29521         Don't match *_foo symbols inserted by AddressSanitizer.
29522         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
29524 2016-02-02  Jim Meyering  <meyering@fb.com>
29526         verify-tests: also remove stray test-verify.Tpo
29527         * modules/verify-tests (Makefile.am): Arrange for "make clean"
29528         to remove the test-verify.Tpo file that is left behind by
29529         the automake-generated rule upon compilation failure.
29530         Otherwise, that .Tpo file would cause a failed "make distcheck"
29531         at least for grep.
29533 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
29535         std-gnu11: new module
29536         This makes it easier for applications to prefer C11 and C++11
29537         to older variants, when compiling C and C++ code.
29538         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
29539         a nontrivial chunk of GPLed Autoconf source code.
29540         * COPYING: Mention the m4/*.m4 copyright situation.
29541         * MODULES.html.sh (std-gnu11): New module.
29542         * m4/std-gnu11.m4, modules/std-gnu11: New files.
29544 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
29546         get-permissions, strftime: fix grammar in comments
29547         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
29548         some grammar fixes Alan Mackenzie made to GNU Emacs.
29550 2016-01-25  Daiki Ueno  <ueno@gnu.org>
29552         gettext: mark as obsolete
29553         Suggested by Paul Eggert in:
29554         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
29555         * modules/gettext (Status): Mark as obsolete.
29556         (Notice): Suggest to use 'gettext-h' instead.
29557         * modules/gettext-h (Description): Suggest GNU gettext, instead of
29558         the 'gettext' module.
29560 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
29562         gnulib-tool: don't give up on ln -s so easily
29563         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
29564         because an earlier one failed.  The targets could be on different
29565         file systems.  Problem reported by KO Myung-Hun in:
29566         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html
29568         closedir: fix OS/2-related typos
29569         Problem reported by KO Myung-Hun in:
29570         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
29571         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
29572         in the last couple of changes.
29574 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
29576         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
29577         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
29578         copying a directory.
29580 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
29582         regex: treat [x] as x if x is a unibyte encoding error
29583         Problem reported by Aharon Robbins in:
29584         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
29585         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
29586         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
29588         closedir, dirfd, opendir: port to OpenSolaris 5.10
29589         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
29590         * m4/dirfd.m4 (gl_FUNC_DIRFD):
29591         * m4/opendir.m4 (gl_FUNC_OPENDIR):
29592         Don't use ${word##pat} substitution, as it doesn't work in
29593         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
29594         http://bugs.gnu.org/22443#11
29596 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
29598         bootstrap: use American spelling
29599         * build-aux/bootstrap: Honor American spelling.
29601 2016-01-22  Karl Berry  <karl@freefriends.org>
29603         * doc/posix-functions/localtime.texi,
29604         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
29606 2016-01-21  Bruno Haible  <bruno@clisp.org>
29608         hash-pjw-bare: fix comment
29609         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
29611         wcwidth: Replace also on OpenBSD 5.8
29612         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
29613         * doc/posix-functions/wcwidth.texi: Update.
29615 2016-01-20  Pádraig Brady  <P@draigBrady.com>
29617         gnu-web-doc-update: fix addition of new files
29618         If there were already added (emnpty) dirs,
29619         then cvs aborts the add with the message:
29620           cvs [add aborted]: there is a version in <./dirname> already
29621         * build-aux/gnu-web-doc-update: Add directories separately
29622         to the addition of files, to avoid the above issue
29623         impacting the addition of files.
29625 2016-01-19  Daiki Ueno  <ueno@gnu.org>
29627         utimens-tests: avoid pulling gettext .m4 files
29628         Although this is not the right fix to the original problem:
29629         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
29630         it makes it possible again for consumer projects to use arbitrary
29631         version of gettext, through the steps described at:
29632         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
29633         See here for details:
29634         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
29635         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
29636         'gettext'.
29637         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
29638         'gettext'.
29640 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
29642         regex: pacify static checkers
29643         Problem and draft fix reported by Aharon Robbins in:
29644         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
29645         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
29646         Clear memory to pacify static checkers.
29648         regex: fix [ diagnostic
29649         Problem and fix reported by Aharon Robbins in:
29650         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
29651         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
29653         regex: fix memory leaks
29654         Problem and draft fix reported by Aharon Robbins in:
29655         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
29656         * lib/regcomp.c (build_range_exp, build_charclass_op)
29657         * lib/regex_internal.c (re_dfa_add_node):
29658         Fix memory leak on failure.
29660 2016-01-18  Pádraig Brady  <P@draigBrady.com>
29662         fts: don't unconditionally use leaf optimization for NFS
29663         NFS st_nlink are not accurate on all implementations,
29664         leading to aborts() if that assumption is made.
29665         See <https://bugzilla.redhat.com/1299169>
29666         * lib/fts.c (leaf_optimization_applies): Remove NFS from
29667         the white list, and document the issue.
29669 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
29670             KO Myung-Hun  <komh@chollian.net>
29672         gnulib-tool: don't assume ln -s works
29673         * gnulib-tool (func_ln_s): New function.
29674         (func_ln): Use it.
29676 2016-01-15  KO Myung-Hun  <komh@chollian.net>
29678         utimes: detect utimes() correctly on OS/2 kLIBC
29679         utimes() of OS/2 kLIBC has some limitations.
29680         1. OS/2 itself supports a file date since 1980 year in local time.
29681         2. OS/2 itself supports only even seconds for a file time.
29682         3. utimes() of OS/2 kLIBC does not work on an opened file.
29683         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
29684         * doc/posix-functions/utimes.texi: Document the above limitations of
29685         utimes() on OS/2 kLIBC.
29687 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
29688             KO Myung-Hun  <komh@chollian.net>
29690         openat_proc_name: port to OS/2 kLIBC
29691         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
29692         instead of /proc/self/fd.
29693         * lib/openat-proc.c (openat_proc_name):
29694         Don't assume file name length is less than INT_MAX.
29695         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
29697 2016-01-14  KO Myung-Hun  <komh@chollian.net>
29699         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
29700         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
29701         definitions of intptr_t and uintptr_t (which use int and unsigned)
29702         to avoid clashes with declarations of system functions like sbrk.
29703         * lib/stdint.in.h (intptr_t, uintptr_t): Check
29704         _INTPTR_T_DECLARED before defining them.
29706         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
29707         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
29708         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
29709         Declare on kLIBC.
29710         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
29711         fd associated with dirp.
29712         (_gl_register_dirp_fd): New. Register fd associated with dirp to
29713         dirp_fd_list.
29714         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
29715         (dirfd): Implemented for kLIBC.
29716         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
29717         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
29718         succeeds.
29719         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
29720         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
29721         (REPLACE_DIRFD): Define to 1 if replaced.
29722         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
29723         * modules/closedir (Depends-on): Add dirfd.
29724         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
29725         condition.
29726         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
29727         * modules/opendir (Depends-on): Add dirfd.
29729         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
29730         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
29731         * lib/dup.c (dup_nothrow): New.
29732         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
29733         (klibc_dup2): New.
29734         * lib/fcntl.c (klibc_fcntl): New.
29735         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
29736         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
29737         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
29738         fd.
29740         pipe_filter_ii_execute: port to OS/2 kLIBC
29741         Pipes on kLIBC do not support O_NONBLOCK like Win32.
29742         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
29743         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
29744         Reuse Win32 code on OS/2 kLIBC.
29745         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
29746         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
29748         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
29749         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
29750         static inline function.  The implementation of wcwidth in wcwidth.c
29751         causes a "conflicting types" error.
29752         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
29754         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
29755         spawn() on OS/2 kLIBC is not silly like one on Windows
29756         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
29757         empty string on OS/2 kLIBC.
29759         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
29760         On OS/2 kLIBC, select() works only on sockets.
29761         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
29763         binary-io: don't put fd in binary mode if it is a console on EMX
29764         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
29765         a console on EMX.
29767 2016-01-15  Pádraig Brady  <P@draigBrady.com>
29769         doc: mention unfixed issues with unsupported localtime() values
29770         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
29771         returns nonsense for localtime(2^56).
29772         * doc/posix-functions/localtime_r.texi: Likewise.
29774 2016-01-14  Pádraig Brady  <P@draigBrady.com>
29776         doc: mention setlocale() issues on OpenBSD
29777         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
29778         never fails, and the need to check categories individually.
29780 2016-01-14  Pádraig Brady  <P@draigBrady.com>
29782         sig2str: list all signals on FreeBSD >= 7
29783         FreeBSD >= 7 is contravening POSIX by not defining NSIG
29784         to the maximal statically defined signal value.
29785         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
29786         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
29787         where available, even when NSIG is defined.
29789 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
29791         acl-permissions: port to USE_ACL==0 platforms
29792         I ran into this problem when building bleeding-edge GNU Emacs
29793         with gcc -fsanitize=address on Fedora 23.  On this platform
29794         the ACL library does not pass the 'configure' test and Emacs
29795         then does not build due in part to what appear to be typos in the
29796         ACL part of Gnulib.
29797         * lib/acl-internal.c (free_permission_context):
29798         * lib/acl-internal.h (struct permission_context):
29799         Test whether USE_ACL is nonzero, not whether it is defined.
29801 2016-01-12  Martin Sebor  <msebor@redhat.com>
29803         mktime: rename macro to avoid glibc clash
29804         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
29805         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
29807 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
29809         Port "$@" to OpenIndiana ksh93
29810         In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
29811         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
29812         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
29813         bug long-dead shells, so remove the workaround.
29814         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
29815         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
29816         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
29817         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
29818         Use "$@" instead of ${1+"$@"}.
29820         Port Universal Time settings to strict POSIX
29821         * build-aux/announce-gen, build-aux/bootstrap:
29822         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
29823         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
29824         * build-aux/gnupload, build-aux/mkinstalldirs:
29825         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
29826         * build-aux/update-copyright, build-aux/useless-if-before-free:
29827         * build-aux/vc-list-files, tests/test-strftime.c:
29828         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
29829         but POSIX says the behavior of TZ="UTC" is undefined.
29831 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
29833         msvc-inval: fix problem with unset shell var
29834         Problem reported by Karl Berry in:
29835         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
29836         * modules/msvc-inval (Depends-on):
29837         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
29838         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
29840 2016-01-01  Pádraig Brady  <P@draigBrady.com>
29842         tests: for compare_(), use cmp -s where available
29843         * tests/init.sh (compare_): Only fall back to cmp without
29844         the POSIX defined -s option, where this is not available.
29846 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
29848         version-etc: new year
29849         * build-aux/gendocs.sh (version):
29850         * doc/gendocs_template:
29851         * doc/gendocs_template_min:
29852         * doc/gnulib.texi:
29853         * lib/version-etc.c (COPYRIGHT_YEAR):
29854         Update copyright dates by hand in templates and the like.
29855         * all files: Run 'make update-copyright'.
29857 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
29859         human: fix output buffer overrun by 1
29860         * lib/human.c (human_readable): Fix off-by-one typo in buffer
29861         calculation that could lead to a one-byte buffer overrun.
29863 2015-12-28  Daiki Ueno  <ueno@gnu.org>
29865         maint: fix operator precedence in mbrtowc test
29866         This is a fix for test breakage introduced by commit 45228d96; the
29867         equality expression must be parenthesized when negated with '!',
29868         otherwise we always get:
29870           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
29872         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
29873         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
29875 2015-12-23  James Youngman  <jay@gnu.org>
29877         regexprops-generic: update from regex.h
29878         * doc/regexprops-generic.texi: update by running the regexprops binary
29879         from findutils (the command line is 'regexprops "Regular Expressions"
29880         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
29881         gnulib with GNU grep had made this document out-of-date.
29883 2015-12-23  Pádraig Brady  <P@draigBrady.com>
29885         strftime-tests: avoid false failure on OS X
29886         * tests/test-strftime.c (struct localtime_rz_test): Add an
29887         ahistorical member which is used to warn rather than fail
29888         when tm_isdst isn't set for such entries.  This is the case for
29889         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
29891 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
29893         fts: ensure leaf optimization is used for NFS
29894         NFS provides usable dirent.d_type but not necessarily for all entries
29895         of large directories.  See <https://bugzilla.redhat.com/1252549>
29896         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
29898 2015-12-20  Pádraig Brady  <P@draigBrady.com>
29900         fts: enable leaf optimization for XFS
29901         XFS provides usable dirent.d_type only for DT_DIR,
29902         but the noleaf optimization still applies.
29903         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
29905 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
29907         intprops: comment fix
29908         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
29909         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html
29911         intprops-test: work around GCC bug 68971
29912         Problem reported by Pádraig Brady in:
29913         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
29914         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
29915         (main): Add a case that better tests 64-bit long in this area.
29917 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
29919         gnulib-tool: allow multiple --local-dir usage
29920         * gnulib-tool: Use --local-dir to construct compound
29921         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
29922         PATH_SEPARATOR early.
29923         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
29924         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
29925         func_determine_path_separator because that needs to be detected
29926         earlier now.
29927         (func_determine_path_separator): New function.
29928         (func_path_foreach, func_path_foreach_inner): New functions.
29929         (func_path_prepend, func_path_append): Likewise.
29930         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
29931         (func_lookup_file, func_all_modules): Use new functions to work
29932         with local_gnulib_path.
29933         (func_modules_in_dir, func_exists_module): New callbacks for
29934         func_path_foreach.
29935         (func_exists_module, func_get_tests_module): Likewise.
29936         (func_is_local_file, func_should_symlink): New helper methods.
29937         (func_add_file, func_update_file): Use new func_should_symlink
29938         instead, DRY.
29939         (func_reconstruct_cached_local_gnulib_path): New helper.
29940         (func_reconstruct_cached_dir): New callback.
29941         (func_import): The cached_local_gnulib_dir renamed to
29942         cached_local_gnulib_path similarly to local_gnulib_dir.
29943         Use new func_reconstruct_cached_local_gnulib_path.
29944         (func_count_relative_local_gnulib_path): New sub-method.
29945         (func_create_testdir): Use func_should_symlink, DRY.
29946         (func_create_megatestdir): Use new functions to work with
29947         local_gnulib_path correctly.
29948         (func_append_local_dir): New helper.
29950 2015-12-08  Pádraig Brady  <P@draigBrady.com>
29952         fix freadptr to work with ungetc on all uClibc configs
29953         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
29954         where GNU coreutils cut(1) generates invalid output on uClibc
29955         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
29956         * lib/freadptr.c (freadptr): Return NULL if there are
29957         ungotten chars.  In this case freadseek() will iterate
29958         again to process the ungotten character.
29960 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
29962         xalloc-oversized: improve performance with GCC 5
29963         * lib/xalloc-oversized.h (xalloc_oversized):
29964         Improve performance with GCC 5 by using __builtin_mul_overflow.
29966 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
29968         intprops: new public macro EXPR_SIGNED
29969         Emacs can use this macro, so make it public.
29970         * doc/intprops.texi (Arithmetic Type Properties): Rename from
29971         'Integer Type Determination', since some of these macros apply
29972         to non-integer types.  Clarify what kinds of constant expressions
29973         these macros return.  Say when the arguments can be non-integers.
29974         Mention newly published macro EXPR_SIGNED.
29975         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
29976         make it public.  All uses changed.
29978         intprops: fix typo in clang port
29979         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
29980         '__builtin_add_overflow' that is not caught by compiler.
29982 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
29984         test-timespec: fix typo in previous change
29985         * tests/test-timespec.c (main): Fix typo that reduced test quality.
29987         timespec-sub: fix overflow bug; add tests
29988         * lib/timespec-add.c (timespec_add):
29989         * lib/timespec-sub.c (timespec_sub):
29990         Work even if time_t is narrower than int (a theoretical
29991         possibility).  Redo code for a bit more clarity.
29992         * lib/timespec-sub.c (timespec_sub):
29993         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
29994         * modules/timespec-tests, tests/test-timespec.c: New files.
29996         intprops-test: suppress -Woverlength-strings
29997         Problem reported by Pádraig Brady in:
29998         http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
29999         It is not worth the hassle to port this test to compilers that
30000         cannot handle long strings in diagnostics.
30001         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
30003 2015-11-03  Pádraig Brady  <P@draigBrady.com>
30005         quotearg: add quotearg_n_style_colon()
30006         This quotes with default options of the specified style,
30007         but with quoting enabled for instances of ':'.
30008         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
30009         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
30011 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
30013         intprops: revise _WRAPV macros, revert _OVERFLOW
30014         The incompatible changes to the _OVERFLOW macros were too much of
30015         a hassle in practice, so revert them.  Instead, change the new
30016         _WRAPV macros to make them closer in behavior to GCC 5's new
30017         builtin_add_overflow etc. functions.  No other software was using
30018         these newly-added macros yet, so this should be OK.
30019         * NEWS: Revert previous change, since the incompatible change
30020         has been reverted, and nobody used the incompatible version.
30021         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
30022         Document revised behavior.
30023         (Integer Range Overflow): Adjust example to match above revisions.
30024         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
30025         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
30026         these can be used in integer constant expressions again.
30027         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
30028         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
30029         needed.
30030         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
30031         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
30032         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
30033         Remove, as they did not seem that useful.
30034         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
30035         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
30036         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
30037         Support new semantics.
30038         (__has_builtin): New macro, if not alreay defined.
30039         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
30040         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
30041         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
30042         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
30043         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
30044         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
30045         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
30046         New macros.
30047         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
30049 2015-11-03  Jim Meyering  <meyering@fb.com>
30051         intprops: add parentheses for when OP has precedence lower than "-"
30052         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
30053         "a OP b" must be parenthesized for when OP is like "<<", which has
30054         lower precedence than the following "-". Reported by Pádraig Brady.
30056 2015-11-03  Pádraig Brady  <P@draigBrady.com>
30058         quotearg: constify get_quoting_style parameters
30059         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
30060         * lib/quotearg.c (get_quoting_style): Likewise.
30062 2015-11-02  Pádraig Brady  <P@draigBrady.com>
30064         quotearg: add support for $'' shell escaping
30065         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
30066         items and descriptions.
30067         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
30068         above types by quoting like "shell", but using $'...' syntax
30069         for non printable characters, which should provide unambiguous
30070         printable output for any input.
30071         * tests/test-quotearg-simple.c: Update accordingly.
30073 2015-11-02  Pádraig Brady  <P@draigBrady.com>
30075         maint: use a more standard return from mbrtowc test
30076         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
30077         from the test program as this is non standard and often
30078         indicates an unhandled case in the test program.
30079         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
30081 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
30083         intprops: add WRAPV and const flavors for GCC 5
30084         If available, use GCC 5's builtin functions for efficient integer
30085         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
30086         and safely compute the low-order bits of the correct answer.
30087         A downside of these efficient functions is that they cannot be
30088         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
30089         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
30090         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
30091         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
30092         Document the changes.
30093         (Wraparound Arithmetic): New section.
30094         (Integer Range Overflow):
30095         Put this subsection last, since it's least useful.
30096         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
30097         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
30098         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
30099         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
30100         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
30101         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
30102         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
30103         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
30104         New macros.
30105         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
30106         Generate calls to GCC builtins if available, for speed.
30107         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
30108         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
30109         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
30110         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
30111         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
30112         (CHECK_QUOTIENT, CHECK_REMAINDER):
30113         Test WRAPV and CONST flavors (when available) too.
30115 2015-10-30  Pádraig Brady  <P@draigBrady.com>
30117         doc: use extended timezone format in iso-8601 example
30118         * doc/parse-datetime.texi: The standard states that extended format
30119         is to be used consistently throughout.
30120         Note that lib/parse-datetime.y can handle either tz format.
30122 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
30124         stdalign: port to Sun C 5.9
30125         * doc/posix-headers/stdalign.texi: Document this.
30126         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
30127         __attribute__ ((__aligned__ (...))).
30129 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
30131         time_rz: fix comment about tzalloc
30132         * lib/time_rz.c (tzalloc): Fix comment.
30134 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
30136         stdalign: work around pre-4.9 GCC x86 bug
30137         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
30138         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
30139         http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html
30141 2015-10-18  Pádraig Brady  <P@draigBrady.com>
30143         maint.mk: sc_tight_scope: remove extraneous expressions
30144         * top/maint.mk (tight_scope): This is not really required since
30145         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
30146         that matches all nm entries.  But it does remove extraneous entries
30147         that may be confusing or cause issue in future maintenance.
30149 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
30151         time_rz: return NULL if localtime_r fails
30152         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
30153         while still attempting to pacify bleeding-edge GCC.
30155         fts: port to C11 alignof
30156         * doc/posix-headers/stdalign.texi (stdalign.h):
30157         Document the C11 restriction.
30158         * lib/fts.c: Include stddef.h, for max_align_t.
30159         (fts_alloc): Align using max_align_t, not FTSENT.
30160         * modules/fts (Depends-on): Add stddef.
30162 2015-10-18  Jim Meyering  <meyering@fb.com>
30164         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
30165         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
30166         would see this:
30168         lib/time_rz.c: In function 'localtime_rz':
30169         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
30170           [-Werror=nonnull]
30171                    if (tm && !save_abbr (tz, tm))
30172                        ^
30174         That was complaining about "tm" because it is a parameter that was
30175         declared with the __nonnull__ attribute.
30176         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
30177         result of localtime_r.
30179 2015-10-17  Jim Meyering  <meyering@fb.com>
30181         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
30182         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
30183         name-extraction regexp mistakenly used \S+, and would mistakenly
30184         extract "*F" from "extern int *F()" rather than the desired "F".
30185         Use \w+ instead.
30187 2015-10-17  Jim Meyering  <meyering@fb.com>
30189         maint.mk: sc_tight_scope: factor and support OS X
30190         * top/maint.mk (_gl_tight_scope): Address three issues:
30191         - factor out four instances of code that wraps a string in "^...$"
30192         - allow nm-reported symbol names to have an optional leading "_"
30193         - add "main" to the list of ignored variable names, because on os x,
30194         "main" has nm-reported type "S" in the variable-checking section.
30196 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
30198         safe-alloc-tests: fix typo in license header
30199         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
30201 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
30203         copy-file: fix mem leak in error case
30204         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
30205         upon error opening or performing I/O to the src and dest files.
30207 2015-10-15  Mike Frysinger  <vapier@chromium.org>
30209         localename: control langinfo.h inclusion
30210         This header is only used to work around buggy behavior in old
30211         versions of glibc, so do not include it all the time.  Otherwise
30212         we get build failures on systems that do not provide langinfo.h.
30213         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
30214         in the source later on.
30215         The patch was originally submitted to gettext as:
30216         https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html
30218 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
30220         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
30221         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
30222         * lib/u64.c, lib/unistd.c:
30223         Append 'typedef int dummy;', to pacify compilers that are picky
30224         about empty translation units.
30226 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
30228         accept4-tests: fix to avoid non portable flags
30229         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
30230         as they are the only documented ones, and passing others may trigger
30231         EINVAL (seen on FreeBSD 10.1-RELEASE).
30232         * doc/glibc-functions/accept4.texi: Mention that we don't provide
30233         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
30235 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
30237         gnulib-tool: fix tests of 'extensions' module
30238         This complements f8fe25fab60e3c687a124 commit.
30239         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
30240         emitting of initial gl_EARLY macros.
30241         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
30242         replaced with func_emit_pre_early_macros call.
30244 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
30246         unicase/locale-language: fix typo in utf-8 cookie
30247         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
30248         Problem reported by Zbigniew Jędrzejewski-Szmek.
30250 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
30252         xalloc: do not worry about GCC 5 warning on 32 bit
30253         * lib/xalloc.h: Revert previous change.
30254         I found a better way to fix this in coreutils.
30256 2015-10-02  Pádraig Brady  <P@draigBrady.com>
30258         xalloc: avoid GCC 5.1 warning on 32 bit
30259         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
30260         xalloc_oversized(), which was seen to give this warning
30261         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
30262         when simplifying conditional".
30264 2015-10-02  Daiki Ueno  <ueno@gnu.org>
30266         uniname/uniname-tests: avoid compiler warnings
30267         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
30268         unused local variables.
30269         (test_alias_lookup): Fix alias name display in failure cases.
30271 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
30273         c-ctype: do not worry about EBCDIC + char signed
30274         Drop support for EBCDIC with char being signed, as this breaks too
30275         many programs.  Problem reported by Ben Pfaff in:
30276         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
30277         * lib/c-ctype.h: Verify that we are not using EBCDIC with
30278         char being signed.
30279         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
30280         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
30281         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
30282         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
30283         * tests/test-c-ctype.c (test_all):
30284         Simplify by assuming standard char values cannot be negative.
30285         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
30287 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
30289         c-ctype: port better to z/OS EBCDIC
30290         Problems reported by Daniel Richard G. in:
30291         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
30292         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
30293         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
30294         (_C_CTYPE_OTHER_CNTRL): New macro.
30295         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
30296         from SCHAR_MIN, as the functions are defined only from values
30297         promoted from char or from unsigned char, not necessarily from
30298         signed char.
30300 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
30302         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
30304         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
30305         and ARFLAGS variables.  Doing this unconditionally could break
30306         later Automake's AM_PROG_AR invocation (at least it's
30307         AC_CHECK_TOOLS call to detect correct 'ar' binary).
30309         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
30310         Amsterdam Compiler Kit, so make the previous code to have effects
30311         only on ACK, and rather automatically call the Automake's
30312         AM_PROG_AR as soon as possible to decide other cases.
30314         References:
30315         http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html
30317         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
30318         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
30319         is possible, keep setting AR/ARFLAGS to reasonable defaults.
30320         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
30321         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
30322         'extensions' module is used.
30323         * modules/extensions (configure.ac-early): Remove as this snippet
30324         is added to gnulib-comp.m4 earlier anyway.
30326 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
30328         sockets: MS Windows initalization fixes
30329         Problem reported by Test User in:
30330         http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
30331         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
30332         Correct the endianness.
30333         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
30334         number mismatch, not just on <.  Cleanup before any such failure.
30336 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
30338         gc: fix detection of installed libgcrypt version
30339         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
30340         at least as recent as 1.4.4.  The previously used macro is not
30341         available now, since modules were removed in version 1.6.0.
30343 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
30345         c-ctype: rewrite to use inline functions
30346         This simplifies maintenance, since it makes for just one
30347         implementation of each function, letting the compiler have the fun
30348         of optimization.  In practice this works well nowadays with GCC.
30349         E.g., c_isascii might need only three instructions even though the
30350         source code lists every ASCII character individually in a large
30351         switch statement.
30352         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
30353         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
30354         * NEWS: Document the API change.
30355         * lib/c-ctype.c: Drastically simplify, since this now just expands
30356         inline functions.
30357         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
30358         (C_CTYPE_INLINE): New macro.
30359         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
30360         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
30361         Verify that either ASCII or EBCDIC is being used.
30362         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
30363         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
30364         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
30365         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
30366         New private macros.
30367         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
30368         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
30369         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
30370         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
30371         (c_tolower, c_toupper): When converting, return the unsigned char,
30372         as that is what z/OS does.
30373         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
30374         of some c-ctype.h macros.
30375         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
30376         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
30377         c_tolower promotion to be compatible with z/OS.
30379 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
30381         gitlog-to-changelog: trim only trailing whitespaces
30382         This is fix for --format regression introduced by commit
30383         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
30384         doubled %n string) had no effect anymore.  This format
30385         specification has been used e.g. by GNU paxuitils (commit
30386         edfd8bcc3).
30388         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
30389         newlines in commmit messages.
30391 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
30393         Test that c_iscntrl agrees with iscntrl, etc.
30394         Suggested by Daniel Richard G. in:
30395         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
30396         * modules/c-ctype-tests (Depends-on): Add ctype.
30397         * tests/test-c-ctype.c: Include <ctype.h>.
30398         (NCHARS): New constant.
30399         (test_agree_with_C_locale): New function.
30400         (main): Use it.
30401         (test_all): Use named constants.
30403         c-ctype: improve c_isascii testing
30404         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
30405         Add a test to count the number of ASCII characters.
30407 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
30409         savewd: remove SAVEWD_CHDIR_READABLE
30410         It was problematic in the light of file systems that ignore umask.
30411         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
30412         * NEWS: Document this.
30413         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
30414         successful, -1 (setting errno) on failure, rather than something
30415         more complicated than that.
30416         * lib/mkdir-p.c (make_dir_parents):
30417         Do not use SAVEWD_CHDIR_READABLE.
30418         * lib/savewd.c (savewd_chdir):
30419         Remove support for SAVEWD_CHDIR_READABLE.
30420         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
30422         c-ctype: port better to EBCDIC
30423         Problems reported by Daniel Richard G. in
30424         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
30425         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
30426         Include "verify.h".
30427         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
30428         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
30429         Define as enum constants with value false, if not defined, so that
30430         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
30431         code more portable, as both branches of the 'if' are compiled on
30432         all platforms.
30433         (C_CTYPE_EBCDIC): New constant.
30434         Verify that the character set is either ASCII or EBCDIC.
30435         (to_char): New static function.
30436         (c_isascii, c_iscntrl):
30437         Assume standard control-character assignments for EBCDIC.
30438         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
30439         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
30440         Rewrite to use 'if' instead of 'ifdef'.
30441         Use to_char if non-ASCII.  Prefer <= to >=.
30442         Prefer true and false to 1 and 0, for booleans.
30443         (c_iscntrl): Use 'if', not 'ifdef'.
30444         * modules/c-ctype (Depends-on): Add verify.
30445         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
30446         (to_char): New function.
30447         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
30449 2015-09-21  Pádraig Brady  <P@draigBrady.com>
30451         nanosleep: fix return code for interrupted replacement
30452         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
30453         that we return -1 in the case the call is interrupted by a signal,
30454         rather than the current value of 1.
30455         Diagnosed and tested by Daniel Richard G.
30457 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
30459         Diagnose ERE '()|\1'
30460         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
30461         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
30462         track of the set of previously-completed subexpressions available
30463         before the first alternative, and restore this set just before
30464         parsing each subsequent alternative.  This lets us diagnose the
30465         invalid back-reference in the ERE '()|\1'.
30467         regex: merge patches from libc
30469         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
30470         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
30471         * lib/regex_internal.h:
30472         Include <libc-lock.h> instead of <bits/libc-lock.h>.
30474         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
30475         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
30476         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
30477         wcscoll.
30478         * lib/regexec.c (check_node_accept_bytes): Likewise.
30480         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
30481         Fix regex wcrtomb namespace (bug 18496).
30482         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
30483         instead of wcrtomb.
30485         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
30486         Fix regex wctype namespace (bug 18495).
30487         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
30488         instead of towlower.
30489         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
30490         instead of iswlower.  Call __towupper instead of towupper.
30491         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
30492         instead of iswalnum.
30494         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
30495         * lib/regcomp.c (parse_bracket_exp): Initialize type to
30496         COLL_SYM in a couple of places to avoid uninitialized variable
30497         wanings on tilegx gcc 4.8.2.
30499         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
30500         * lib/regex_internal.h: Remove NOT_IN_libc.
30502         2014-11-17  Andreas Schwab  <schwab@suse.de>
30503         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
30505         2014-09-11  Roland McGrath  <roland@hack.frob.com>
30506         Move findidx nested functions to top-level.
30507         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
30508         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
30509         Pass new arguments to findidx.
30510         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
30511         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
30512         Don't #include it inside the function.  Pass new arguments to findidx.
30513         * lib/regex_internal.h:
30514         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
30515         (re_string_elem_size_at): Don't #include it inside the function.
30516         Pass new arguments to findidx.
30518         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
30519         Check if DEBUG is defined in regex_internal.c
30520         * lib/regex_internal.c: Check if DEBUG is defined and is set.
30522 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
30524         ceill: detect buggy OpenBSD implementation
30525         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
30526         which returns zero for small values.  Discussed here:
30527         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html
30529 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
30531         mountlist: add me_mntroot field on Linux machines
30532         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
30533         mount_entry so Linux machines based on /proc/self/mountinfo can
30534         distinguish between bind mounts and original mounts.  In reality bind
30535         mounts aren't treated differently than mountroot=/ mounts by the
30536         kernel, but the user often wants these bind mounts distinguished.
30537         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
30538         More details at https://pad.lv/1432871
30540 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
30542         doc: Describe to use multiple instances of gnulib
30543         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
30544         instances of gnulib with different modules can be used, for example one
30545         for a lib and another one for associated tools.
30547 2015-09-01  Pádraig Brady  <P@draigBrady.com>
30549         base32: mark function as __attribute__ const
30550         * lib/base32.h (isbase32): Mark __attribute__ const as
30551         suggested by GCC, and consistent with the base64 module.
30553 2015-08-20  Daiki Ueno  <ueno@gnu.org>
30555         gnulib-tool: don't transform binary files with sed
30556         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
30557         .mo and .class files.
30558         Reported by Denis Denisov.
30560 2015-08-10  Daiki Ueno  <ueno@gnu.org>
30562         gperf: respect silent rules
30563         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
30564         V_GPERF_0 for silent rules.
30565         * modules/iconv_open (Makefile.am): Use V_GPERF.
30566         * modules/unicase/locale-language (Makefile.am): Likewise.
30567         * modules/unicase/special-casing (Makefile.am): Likewise.
30568         * modules/unictype/category-byname (Makefile.am): Likewise.
30569         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
30570         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
30571         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
30572         * modules/unictype/property-byname (Makefile.am): Likewise.
30573         * modules/unictype/scripts (Makefile.am): Likewise.
30574         * modules/uninorm/composition (Makefile.am): Likewise.
30576 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
30578         Improve port of stdalign to C++11
30579         Problem reported by Sundaram in:
30580         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
30581         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
30582         (__alignas_is_defined): Define if C++11 or newer.
30584 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
30586         pmccabe2html: fix gawk regex escaping
30587         * build-aux/pmccabe2html: Add one more backslash to properly
30588         escape the gsub replacement value.  Fixes this error:
30589         gawk: ./build-aux/pmccabe2html:425: \
30590         warning: escape sequence `\&' treated as plain `&'
30592 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
30594         time_rz: port to pedantic memcpy
30595         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
30596         that reject memcpy (..., NULL, 0).
30598 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
30600         time_rz: port better to MinGW
30601         Don't change tzname, as this makes MinGW dump core (Bug#21020).
30602         Instead, store the tzname copy in the struct tm_zone object.
30603         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
30604         * lib/strftime.c [!_LIBC]:
30605         * lib/time_rz.c: Include time-internal.h.
30606         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
30607         name from *TZ rather than from TZNAME, doable because *TZ now has
30608         a tzname_copy member.
30609         * lib/time-internal.h: New file, with contents taken from
30610         lib/time_rz.c.  It's separate because strftime.c now accesses
30611         struct tm_zone members.
30612         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
30613         New member tzname_copy.
30614         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
30615         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
30616         Initialize tzname_copy member.
30617         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
30618         in tzname_copy member.
30619         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
30620         (restore_tzname): Remove; no longer needed.  All calls removed.
30621         * modules/time_rz (Files): Add lib/time-internal.h.
30623         time: port __need_time_t to MinGW
30624         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
30625         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
30627 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
30629         strftime: fix newly-introduced bug on Solaris
30630         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
30631         consistently at the start, rather than doing some of the setup at
30632         the start and some in the %Z format spec.  This is cleaner, and
30633         works better with time_rz on platforms like Solaris where struct
30634         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
30635         mktime_z and localtime_rz can mess up the tzname cache.
30637         test-strftime: test for Solaris bug
30638         * modules/strftime-tests (Depends-on): Add strerror.
30639         * tests/test-strftime.c: Include <errno.h>.
30640         (posixtm_test): New function, containing the old 'main'.
30641         (struct tzalloc_test, struct localtime_rz_test): New types.
30642         (TZ, LT): New static vars.
30643         (tzalloc_test): New function.
30644         (main): Rewrite in terms of posixtm_test and tzalloc_test.
30646         time_rz: port to Solaris etc.
30647         Works around a tzname problem on platforms like Solaris that have
30648         tzname but not tm_zone, by setting tzname at the appropriate time
30649         and restoring it later.
30650         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
30651         New static vars.
30652         (save_abbr) [HAVE_TZNAME]: Set them.
30653         (revert_tz) [HAVE_TZNAME]: Clear or use them.
30654         (restore_tzname): New function.
30655         (localtime_rz, mktime_z): Use it.
30657         time_rz: now LGPL
30658         * modules/time_rz (License): Now LGPL, because strftime depends on it.
30660         time_rz: make a constant 'const'
30661         * lib/time_rz.c (local_tz): Now const.
30663         time_rz: fix off-by-one typo
30664         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
30666 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
30668         fprintftime, strftime: use timezone_t args
30669         * NEWS: Document the change.
30670         * lib/fprintftime.h (fprintftime):
30671         * lib/strftime.c (extra_args) [my_strftime]:
30672         * lib/strftime.h (nstrftime):
30673         Time zone arg is now of type timezone_t, not int.
30674         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
30675         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
30676         (my_strftime) [emacs && !my_strftime]:
30677         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
30678         Remove; Emacs doesn't need this any more.
30679         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
30680         fprintftime and nstrftime to call tzset.
30681         (ut) [!my_strftime]: Remove, replacing with ...
30682         (tz) [!my_stftime]: ... this new macro.  All uses changed.
30683         (strftime_case_): Use localtime_rz and mktime_z instead
30684         of localtime_r and mktime.
30685         * modules/fprintftime (Depends-on): Add time_rz.
30686         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
30687         * tests/test-strftime.c (main): Adjust to new nstrftime API.
30689         time_rz: new module
30690         * MODULES.html.sh: Add time_rz.
30691         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
30692         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
30693         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
30694         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
30695         New var HAVE_TIMEZONE_T (default 0).
30696         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
30697         New var GNULIB_TIME_RZ (default 0).
30698         * modules/time (time.h): Substitute the new vars.
30700         flexmember: license is now unlimited
30701         * modules/flexmember (License): Change to unlimited,
30702         since its only source file gives an unlimited license.
30704 2015-07-15  Eric Blake  <eblake@redhat.com>
30706         maint: update copyright paper procedures
30707         * config/srclist.txt: Drop outdated files.
30708         * doc/Copyright/conditions.txt: Update to latest.
30709         * doc/Copyright/assign.changes.manual: Delete.
30710         * doc/Copyright/assign.future.manual: Likewise.
30711         * doc/Copyright/assign.manual: Likewise.
30712         * doc/Copyright/assign.translation.manual: Likewise.
30713         * doc/Copyright/disclaim.changes.manual: Likewise.
30714         * doc/Copyright/disclaim.manual: Likewise.
30715         * doc/Copyright/disclaim.program: Likewise.
30717 2015-07-07  Daiki Ueno  <ueno@gnu.org>
30719         localename: fix link error on Illumos
30720         Illumos defines __sun, but does not have getlocalename_l nor the
30721         equivalent.  This partially reverts commit 387c214.
30722         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
30723         available, as well as uselocale.
30724         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
30725         use getlocalename_l if it is not available.
30727 2015-07-07  Daiki Ueno  <ueno@gnu.org>
30729         unistr/uN-strtok-tests: avoid a trivial leak
30730         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
30731         input and delim after the multibyte delimiter tests.
30733 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
30735         file-has-acl, acl-permissions: fix HP-UX typos
30736         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
30737         * lib/file-has-acl.c (file_has_acl):
30738         * lib/set-permissions.c (context_acl_from_mode)
30739         (context_aclv_from_mode, set_acls):
30740         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
30741         They were introduced by the recent ACL changes.
30743         regex: match current GNU grep behavior
30744         These symbols have not matched GNU grep behavior for quite some time.
30745         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
30746         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
30747         Change to match current GNU behavior.
30748         Simplify by expressing it as differences from POSIX BREs and EREs.
30749         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
30751 2015-07-03  Jim Meyering  <meyering@fb.com>
30753         set-permissions.c: adjust acl_from_mode's cpp guard
30754         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
30755         directives identical to those guarding the sole use.
30756         Otherwise, on some systems, we'd get a warning about
30757         the function being defined but not used.
30758         Also, filter through cppi to correct misleading indentation
30759         of cpp directives.
30761 2015-07-03  Pádraig Brady  <P@draigBrady.com>
30763         tests: restrict shells to those that support 'local'
30764         The local keyword is very widely supported and used
30765         in tests in coreutils and grep at least.  Therefore
30766         restrict to testing with shells that support it.
30767         This mainly excludes /bin/sh on Solaris.
30768         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
30770 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
30771         and Daiki Ueno  <ueno@gnu.org>
30773         unistr/uN-strtok: handle multibyte delimiters
30774         Previously, uN_strtok moved PTR to the next unit to the token end.
30775         When DELIM contained a multibyte character, the new position could
30776         be a middle of a multibyte character.
30777         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
30778         after the token.
30779         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
30780         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
30781         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
30782         * modules/unistr/u8-strtok (Depends-on): Depend on
30783         unistr/u8-strmblen.
30784         * modules/unistr/u16-strtok (Depends-on): Depend on
30785         unistr/u16-strmblen.
30786         * modules/unistr/u32-strtok (Depends-on): Depend on
30787         unistr/u32-strmblen.
30788         * tests/unistr/test-u-strtok.h: New file.
30789         * tests/unistr/test-u8-strtok.c: New file.
30790         * tests/unistr/test-u16-strtok.c: New file.
30791         * tests/unistr/test-u32-strtok.c: New file.
30792         * modules/unistr/u8-strtok-tests: New file.
30793         * modules/unistr/u32-strtok-tests: New file.
30794         * modules/unistr/u16-strtok-tests: New file.
30796 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
30798         update-copyright: fix test failure with perl >= 5.22 (trivial)
30799         * build-aux/update-copyright: Escape a literal left curly bracket,
30800         required with perl >= 5.22
30802 2015-07-02  Daiki Ueno  <ueno@gnu.org>
30804         u{16,32}-strstr-tests: relax timeout condition
30805         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
30806         tests can take longer than 5 seconds to complete.
30807         Reported by Dagobert Michelsen in:
30808         https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
30809         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
30810         seconds to 10 seconds.
30811         * tests/unistr/test-u32-strstr.c (main): Likewise.
30813 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
30815         gnulib-common.m4: change the ARFLAGS default to 'cr'
30816         In some GNU/Linux distributions people started to compile 'ar'
30817         binary with --enable-deterministic-archives (binutils project).
30818         That, however, in combination with previous autotools long time
30819         working default AR{_,}FLAGS=cru causes warnings on such
30820         installations:
30821         ar: `u' modifier ignored since `D' is the default (see `U')
30822         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
30823         set already.
30825 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
30827         selinux-h: avoid double free after *getfilecon()
30828         Originally reported by Ben Shelton on bug-tar:
30829         http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
30830         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
30831         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
30832         param should be freed by freecon(3) (regardless the return value).
30834 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
30836         fix pty related tests issues on Windows (trivial)
30837         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
30838         however it's still present in tests/ subdirectory of the final project.
30839         Therefore avoid it to pass `make check`.
30840         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
30841         will just return -ENOSYS, so avoid this non applicable test allowing
30842         the build to proceed.
30844 2015-07-01  Pádraig Brady  <P@draigBrady.com>
30846         acl: fix definition of acl_from_mode on FreeBSD
30847         This was causing basic coreutils copy operations to fail
30848         with ENOTSUP or ENOENT error messages.
30849         * lib/acl-internal.h (acl_from_mode): Only define when
30850         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
30851         of acl_from_mode() defined in lib/set-permissions.c to
30852         be used on FreeBSD at least.
30853         * lib/set-permissions.c: Fix up comment spelling,
30854         and a redundant variable assignment; noticed in passing.
30856 2015-06-30  Pádraig Brady  <P@draigBrady.com>
30858         readutmp: port to FreeBSD >= 9
30859         * lib/readutmp.h: Map utmpxname() to setutxdb().
30860         With that coreutils who(1) and pinky(1) tests pass.
30862 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
30864         mgetgroups: port to strict OS X
30865         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
30866         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
30867         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
30868         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
30870 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
30872         mgetgroups: port to strict OS X
30873         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
30874         Document the getgrouplist problem.
30875         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
30876         New macro.
30877         (mgetgroups): Use it.
30878         * m4/mgetgroups.m4 (gl_MGETGROUPS):
30879         Check for OS X signature for getgrouplist.
30881 2015-06-29  Jim Meyering  <meyering@fb.com>
30883         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
30884         It started like this when building coreutils' latest on OS X,
30885         invoking ./configure with a nonempty --cache=.cache:
30887           lib/linkat.c:46:42: error: operator '||' has no right operand
30888           lib/linkat.c: In function 'rpl_linkat':
30889           lib/linkat.c:330:27: error: #if with no expression
30891         Here's linkat.c's line 46:
30893           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
30895         Here's some context:
30897           $ grep linkat_nofoll .cache
30898           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
30899           $ grep LINKAT_SYM lib/config.h
30900           #define LINKAT_SYMLINK_NOTSUP
30902         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
30903         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
30904         but that violates a tenet of AC_CACHE_CHECK: it must
30905         have no side effect other than setting its cache variable.
30907         What happens is that when the cache is set, we'd skip the
30908         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
30909         defined to whatever value it happened to have in configure's
30910         environment.  In my case, it was not defined, so this later code:
30912           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
30913             [Define to 1 if linkat can create hardlinks to symlinks])
30915         would emit code with an empty RHS.
30917         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
30918         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
30920 2015-06-28  Jim Meyering  <meyering@fb.com>
30922         mountlist: avoid an unused-label warning on OS X
30923         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
30924         Building on OS X, I saw a warning about the "free_then_fail" label
30925         being unused.  Give it the _GL_UNUSED_LABEL attribute.
30927         error.c: correct printf-style format: %d -> %u
30928         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
30929         rather than %d, to match the type of "line_number", unsigned int.
30931 2015-06-25  Pádraig Brady  <P@draigBrady.com>
30933         fts: avoid reading beyond the heap allocation
30934         GCC 5.1.1 with -O2 and -fsanitize=address reports
30935         a read of size 4 from a heap object of size 3 is indeed invalid,
30936         though this may be due to incorrect padding assumptions by GCC, see:
30937         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
30938         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
30939         * modules/fts: Depend on stdalign.
30941 2015-06-24  Pádraig Brady  <P@draigBrady.com>
30943         savedir: avoid undefined behavior in qsort call
30944         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
30945         "runtime error: null pointer passed as argument 1,
30946          which is declared to never be null"
30947         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
30949 2015-06-24  Pádraig Brady  <P@draigBrady.com>
30951         userspec: avoid undefined behavior in gettext call
30952         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
30953         "runtime error: null pointer passed as argument 2,
30954          which is declared to never be null"
30955         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
30957 2015-06-20  Glenn Morris  <rgm@gnu.org>
30959         gitlog-to-changelog: improve gitmerge.el commits
30960         Let the Emacs ChangeLog generation process exclude "skipped"
30961         messages from merge commits (Bug#20717).
30962         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
30964 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
30966         wchar: fix MinGW compilation warnings
30967         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
30968         http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
30969         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
30971 2015-06-20  Daiki Ueno  <ueno@gnu.org>
30973         uniname/uniname-tests: use pristine data files
30974         For copyright and maintenance reasons, use the data files from UCD
30975         without modification.
30976         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
30977         (getfield): Remove.
30978         (aliases_count): New global variable.
30979         (fill_names): Skip comments and empty lines in the input.  Don't
30980         use getfield.
30981         (fill_aliases): Likewise.
30982         (main): Change the expected command line arguments to:
30983         NAMES... ["--" ALIASES...].
30984         * tests/uniname/test-uninames.sh: Adjust to the change in
30985         test-uninames.c.
30986         * tests/uniname/UnicodeDataNames.txt: Remove.
30987         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
30988         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
30989         file from Unicode 8.0.0.
30991 2015-06-19  Pádraig Brady  <P@draigBrady.com>
30993         linked-list, linkedhash-list: avoid compiler warnings
30994         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
30995         -Werror=suggest-attribute=pure (from GCC 5.1.1).
30997 2015-06-19  Daiki Ueno  <ueno@gnu.org>
30999         libunistring: bump minimum version to 0.9.6
31000         * all modules depending on updated Unicode data: Regenerate.
31001         The modules are listed by a script that does:
31002         - for each file listed by: git show --oneline --name-only 705f4efc
31003           - deduce the containing modules, based on "Files:"
31004         - deduce the modules which depend on the containing modules, based
31005           on "Depends-on:"
31007 2015-06-18  Daiki Ueno  <ueno@gnu.org>
31009         uniname/uniname: update to Unicode 8.0.0
31010         * lib/uniname/uninames.h: Regenerate.
31011         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
31012         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
31014 2015-06-18  Daiki Ueno  <ueno@gnu.org>
31016         libunistring: update to Unicode 8.0.0
31017         * lib/gen-uni-tables.c (SIZEOF): New macro.
31018         (output_numeric): Increase the maximum number of fractions from
31019         128 to 160.  Increase the level3 value width from 7 bits to 8
31020         bits.  Use SIZEOF instead of a hard-coded integer.
31021         (output_blocks): Decrease the cut-off threshold from 0x30000 to
31022         0x28000.
31023         (fill_blocks): Increase the maximum number of blocks from 256 to
31024         384.  Use SIZEOF instead of a hard-coded integer.
31025         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
31026         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
31027         value width.
31028         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
31029         a new case added to LBP22.
31030         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
31031         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
31032         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
31033         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
31034         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
31035         * tests/uniwidth/test-uc_width2.sh: Same updates as in
31036         lib/uniwidth/width.c.
31037         * all generated files under lib/uni* and tests/uni*: Regenerate.
31039 2015-06-16  Pádraig Brady  <P@draigBrady.com>
31041         gnu-web-doc-update: add --mirror to remove stale files
31042         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
31043         out of date files from the CVS server.  Since this is usually
31044         appropriate, a prompt is given when the option is not specified,
31045         along with the `cvs remove` command that would be run.
31047 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
31049         acl-permissions: pacify -Wsuggest-attribute=const
31050         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
31051         * lib/acl-internal.h (free_permission_context):
31052         Declare with attribute const if ! (defined USE_ACL &&
31053         (HAVE_ACL_GET_FILE || defined GETACL)).
31055         fsync: document AIX misbehavior
31056         * doc/posix-functions/fsync.texi (fsync):
31057         Document failure on AIX with read-only file descriptor.
31059 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
31061         stdio: Don't redefine gets when using C++
31062         * lib/stdio.in.h (gets): Disable warning on C++.
31064 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
31066         acl-permissions: port to AIX, C89 HP-UX
31067         Problems reported by Michael Felt.
31068         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
31069         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
31070         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
31071         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
31072         Add cast for AIX, whose system calls are declared to accept
31073         char * even though the arguments are really char const *.
31074         * lib/get-permissions.c (get_permissions):
31075         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
31076         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
31077         that broke a build.
31078         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
31079         Rework types to pacify xlc.
31081 2015-06-03  Pádraig Brady  <P@draigBrady.com>
31083         vasprintf-posix: avoid compiling vasnprintf where possible
31084         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
31085         module where not required.  For example on a GNU/Linux system
31086         when gnulib-tool is run with the --conditional-dependencies option.
31088 2015-06-02  Pádraig Brady  <P@draigBrady.com>
31090         file-has-acl: fix build on Mac OS X 10
31091         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
31092         which has an incompatible 6 parameter getxattr() call.
31093         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
31094         call on Mac OS X >= 10.4.
31095         * doc/glibc-functions/fgetxattr.texi: Likewise.
31096         * lib/file-has-acl.c: Revert to more complete combined check.
31097         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
31098         Reported by Jack Howarth.
31100 2015-06-02  Pádraig Brady  <P@draigBrady.com>
31102         prefix-gnulib-mk: remove no longer needed special case
31103         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
31104         continued lib_SOURCES lines are no longer present,
31105         so special case handling of such entries is not required.
31107 2015-06-01  Pádraig Brady  <P@draigBrady.com>
31109         acl: don't depend on the deprecated qacl module
31110         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
31112 2015-06-01  Pádraig Brady  <P@draigBrady.com>
31114         gnulib-tool: concatenate lib_SOURCES to a single line
31115         * gnulib-tool: Refactor the line merging sed logic,
31116         and use that to output a single lib_SOURCES line for each module.
31117         gnulib using projects often postprocess this output to prepend
31118         subdir paths to each item, and having a single line simplifies this
31119         processing allowing better decoupling from the gnulib-tool output.
31121 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
31123         pthread_sigmask: discount system version if a simple macro (trivial)
31124         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
31125         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
31126         function to ensure it's available.
31128 2015-05-31  Pádraig Brady  <P@draigBrady.com>
31130         readlinkat: avoid OS X 10.10 trailing slash bug
31131         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
31132         has this bug.
31133         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
31134         that OS X 10.10 has this function.
31135         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
31136         as done for readlink().
31137         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
31138         trailing slash bug, and assume readlinkat() has the same issue.
31139         Also fix a typo where $gl_cv_decl_readlink_works was tested,
31140         rather than the correct $gl_cv_decl_readlinkat_works.
31142 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
31144         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
31145         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
31146         module rewrite.
31148         acl-permissions: Fix build on Solaris and Cygwin
31149         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
31150         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
31151         ace_entries variables have moved into struct permission_context but
31152         they were still accessed as local variables here.
31154 2015-05-29  Pádraig Brady  <P@draigBrady.com>
31156         linkat: avoid OS X 10.10 trailing slash with symlink bug
31157         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
31158         causes the symlink to be dereferenced, and if it points
31159         to a non existent file, that file will be created as
31160         a hard link to "path1".
31161         This fixes a test failure in test-linkat.c.
31162         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
31163         this case.  The existing workaround in linkat.c for
31164         trailing slash issues, suffices for this case.
31165         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
31166         the list of platforms with trailing slash issues.
31168 2015-05-28  Pádraig Brady  <P@draigBrady.com>
31170         unlinkat: handle ignoring of ".." on Darwin 14
31171         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
31172         on Mac OS X 10.10, where it ignores paths with a trailing "..",
31173         so handle in the same manner.
31174         * m4/unlinkat.m4: Comment on this Darwin issue.
31175         * doc/posix-functions/unlink.texi: Update the latest version
31176         where the issue was seen.
31177         * doc/posix-functions/unlinkat.texi: Mention this issue.
31178         Fixes a test failure in test-unlinkat.c.
31180 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
31182         qacl: split into qcopy-acl and qset-acl
31183         Emacs needs the former, but not the latter.
31184         * modules/acl-permissions: New file, containing most of the old qacl.
31185         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
31186         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
31187         * modules/qcopy-acl, modules/qset-acl: New files.
31188         * MODULES.html.sh (File system functions):
31189         Mention the new modules, and mention qacl while we're at it.
31191 2015-05-27  Glenn Morris  <rgm@gnu.org>
31193         gitlog-to-changelog: new option --ignore-line
31194         (This patch is imported from the GNU Emacs master.)
31195         This option ignores individual commit lines matching a pattern.
31196         * build-aux/gitlog-to-changelog: Add --ignore-line option.
31198 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
31200         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
31201         Implement get_permissions and set_permissions primitives for getting all
31202         the permissions of a file, storing them, and later setting them. (In the
31203         minimal case, the permissions consist only of a file mode.) Reimplement
31204         qset_acl and qcopy_acl based on these new primitives: this avoids code
31205         duplication and makes error handling more consistent.
31206         The Solaris and Cygwin code still uses duplicate code paths for setting
31207         a file mode while making sure that no acls exist and setting an explicit
31208         acl; this is no worse than before, but could be cleaned up.  The AIX
31209         code still doesn't read ACLs, it only makes sure that acls don't get in
31210         the way when setting a file mode.
31211         * lib/acl-internal.h (struct permission_context): New data structure.
31212         (get_permissions, set_permissions, free_permission_context): Declare.
31213         * lib/acl-internal.c (free_permission_context): New helper function.
31214         * lib/get-permissions.c (get_permissions): New helper function split off
31215         from qcopy_acl.
31216         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
31217         AIX, set a file's permissions based only on a file mode.
31218         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
31219         other platforms construct a temporary acl from the file mode and set
31220         that acl in the same way as setting an acl read from the source file.
31221         This should help avoid code duplication and inconsistent / buggy
31222         behavior.
31223         (set_acls): New helper function Split off from qcopy_acl.
31224         (chmod_or_fchmod): Moved here from qset-acl.c.
31225         (set_permissions): New helper function.
31226         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
31227         set_permissions.
31228         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
31229         * modules/qacl: Add get-permissions.c and set-permissions.c.
31231         file-has-acl: Split feature tests again (Bug#20667)
31232         * lib/file-has-acl.c: Instead of testing for
31233         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
31234         define them when needed.
31235         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
31236         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
31238 2015-05-27  Pádraig Brady  <P@draigBrady.com>
31240         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
31241         This avoids a conflict with "FORTIFY_SOURCE" variants
31242         of the string functions when they're replaced on NetBSD-6.0.1
31243         and Darwin-14.3.0 at least.
31244         * lib/string.in.h: Avoid including our "lib/string.h" while
31245         including the system <string.h>.
31247 2015-05-26  Eric Blake  <eblake@redhat.com>
31249         stdio: limit __gnu_printf__ witness to gcc 4.4+
31250         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
31251         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
31253         error: use correct printf attributes on mingw
31254         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
31256         inttypes: force correct mingw PRIdMAX even without <stdio.h>
31257         * modules/inttypes (Depends-on): Require extensions, so that mingw
31258         always uses GNU style inttypes.
31259         * lib/inttypes.in.h: On mingw, include <stdio.h>.
31261         stdio: fix probe on mingw under gcc 5.1
31262         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
31263         around new gcc preprocessor rules.
31265 2015-05-07  Glenn Morris  <rgm@gnu.org>
31267         gitlog-to-changelog: parse "Tiny-change"
31268         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
31269         "Copyright-paperwork-exempt".  (Bug#20324)
31271 2015-05-06  Pádraig Brady  <P@draigBrady.com>
31273         doc: document glibc posix_fallocate() issues
31274         * doc/posix-functions/posix_fallocate.texi: Mention the
31275         glibc efficiency problems and issues with NFS.
31277 2015-05-05  Karl Berry  <karl@freefriends.org>
31279         * build-aux/gendocs.sh (usage): document new css default
31280         for HTML (--htmlarg).
31282 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
31284         extern-inline: no need for workaround in GCC 5.1
31285         * doc/extern-inline.texi (extern inline):
31286         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
31287         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
31288         around these bugs in GCC 5.1 and later.  Maybe in a decade or
31289         two we can remove these workarounds.
31291 2015-04-28  Pádraig Brady  <P@draigBrady.com>
31293         eealloc, pagealign_alloc, xalloc: avoid clang warnings
31294         Avoid [-Wunknown-attributes] warnings like:
31295         warning: unknown attribute '__alloc_size__' ignored
31296         * lib/xalloc.h: Don't use the __alloc_size__  attribute
31297         with clang, as support has been fully removed as of clang 3.5:
31298         https://github.com/llvm-mirror/clang/commit/c047507a
31299         * lib/eealloc.h: Likewise.
31300         * lib/pagealign_alloc.h: Likewise.
31302 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
31304         tests: pacify GCC 5.1's stricter printf checking
31305         * tests/test-dirname.c (main):
31306         * tests/test-getaddrinfo.c (simple):
31307         * tests/test-getlogin.c (main):
31308         * tests/test-getndelim2.c (main):
31309         * tests/test-inttostr.c (CK):
31310         * tests/test-md5.c (main):
31311         * tests/test-read-file.c (main):
31312         * tests/test-sha1.c (main):
31313         Fix mismatches between printf format and value signedness.
31314         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
31315         Remove, as CAST_VAL always returned a value of type uintmax_t.
31317         fts: port to GCC 5.1 with --enable-gcc-warnings
31318         Without this fix, GCC 5.1 (correctly) warns about a subscript
31319         error on the fts_name component of FTSENT.  It's actually a
31320         flexible member, so define it that way on C99 or later hosts.
31321         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
31322         structure that now has a flexible array member.
31323         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
31324         (FTSENT): fts_name is now flexible on C99-or-later platforms.
31325         * modules/fts (Depends-on): Add flexmember.
31327 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
31329         file-has-acl: port to CentOS 6
31330         Problem reported by Tom G. Christensen in:
31331         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
31332         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
31333         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
31334         HAVE_GETXATTR.
31335         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
31336         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
31337         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
31338         file-has-acl.c actually needs.
31340 2015-04-26  Pádraig Brady  <P@draigBrady.com>
31342         file-has-acl: always return false when ACLs aren't supported
31343         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
31344         change the GNU/Linux getxattr path, to transform "not supported"
31345         errors to a false return rather than an error.  This is handled
31346         within file_has_acl() due to the platform specific tests to
31347         determine if ACLs are not supported.
31349 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
31351         gettext: propagate po/Makefile.in.in too
31352         * build-aux/po/Makefile.in.in: Copy from latest gettext.
31353         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
31354         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
31355         between Makefile.in.in and the gettext-runtime m4 files.
31357 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
31359         file-has-acl: new module, split from acl
31360         And add a new module file-has-acl-tests to match.
31361         I ran into a problem with the recent changes to the acl module,
31362         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
31363         When using the fixed version with Emacs, I discovered that
31364         file-has-acl wasn't separated out well enough for Emacs (e.g., it
31365         had multiple libraries, but needed only one), so I fixed that too.
31366         * NEWS: Document this incompatible change.
31367         * modules/file-has-acl, modules/file-has-acl-tests: New files.
31368         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
31369         Initialize gl_need_lib_has_acl.
31370         (gl_FUNC_ACL): Require it.
31371         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
31372         Move the file-has-acl.c-relevant stuff to ...
31373         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
31374         use_xattrs = 0' typo, and omit some needless work.  Set
31375         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
31376         when gl_FUNC_ACL is called.
31377         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
31378         (Link): Remove $(LIB_HAS_ACL).
31379         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
31380         (check_PROGRAMS): Move stuff relevant to file-has-acl to
31381         modules/file-has-acl-tests.
31382         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
31384         manywarnings: add GCC 5.1 warnings
31385         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
31386         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
31387         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
31388         -Wsuggest-override, -Wuse-without-only.  Change
31389         -Wnormalized=... operands to match 5.1.
31390         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
31391         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
31392         -Wdiscarded-qualifiers, -Wformat-signedness,
31393         -Wincompatible-pointer-types, -Wint-conversion,
31394         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
31395         -Wshift-count-negative, -Wshift-count-overflow,
31396         -Wsizeof-array-argument, -Wsuggest-final-methods,
31397         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
31398         and add -Warray-bounds=2 as a special case.
31400 2015-04-21  Simon Josefsson  <simon@josefsson.org>
31402         doc: update FDL template to match FDL examples.
31403         * doc/alloca-opt.texi:
31404         * doc/alloca.texi:
31405         * doc/c-ctype.texi:
31406         * doc/c-strcase.texi:
31407         * doc/c-strcaseeq.texi:
31408         * doc/c-strcasestr.texi:
31409         * doc/c-strstr.texi:
31410         * doc/c-strtod.texi:
31411         * doc/c-strtold.texi:
31412         * doc/ctime.texi:
31413         * doc/error.texi:
31414         * doc/gcd.texi:
31415         * doc/gnulib-tool.texi:
31416         * doc/inet_ntoa.texi:
31417         * doc/intprops.texi:
31418         * doc/lib-symbol-visibility.texi:
31419         * doc/maintain.texi:
31420         * doc/parse-datetime.texi:
31421         * doc/quote.texi:
31422         * doc/regexprops-generic.texi:
31423         * doc/standards.texi: Remove spurious 'with' in FDL license
31424         template.
31426 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
31428         lstat: fix cross-compilation 'ln -s' problem
31429         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
31430         Have the test program call 'symlink' rather than a separate
31431         script run 'ln -s'; this is more likely to work in
31432         cross-compilation environments.  Reported by Pavel Fedin in:
31433         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html
31435 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
31437         gendocs.sh: default to a common CSS style sheet for HTML output
31438         * build-aux/gendocs.sh (htmlarg): Change default value.
31440 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
31442         gnulib-tool: output bold attribute more portably
31443         * gnulib-tool (func_show_module_list): Change hexadecimal
31444         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
31445         encoded numbers as arguments to `printf' is not portable,
31446         and is not claimed by POSIX.  This is the case with FreeBSD.
31448 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
31450         qacl: Simplify HP-UX acl_nontrivial check
31451         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
31452         acl_nontrivial. Check if the acl has at most three entries instead (it must
31453         have exactly three entries according to the HP-UX documentation). Ignore
31454         uids and gids as long as an entry is either for a user (i.e., the owner),
31455         a group (i.e., the owning group), or others.
31456         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
31457         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
31459 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
31461         acl: On Linux, check for acls without libacl
31462         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
31463         library function to check for the presence of acls, avoiding a library.
31464         * lib/file-has-acl.c: Include xattr headers if we have them.
31465         (file_has_acl): On Linux, use getxattr().
31466         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
31467         file_has_acl(). Check for xattr headers and getxattr().
31469 2015-04-14  Ángel González  <keisial@gmail.com>
31471         tempname: avoid unused parameter warnings (trivial)
31472         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
31473         (try_nocreate): Likewise.
31475 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
31477         fseeko: fix build failure on NetBSD >= 6 (trivial)
31478         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
31479         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
31481 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
31483         gitlog-to-changelog: port to MS-Windows
31484         * build-aux/gitlog-to-changelog (git_dir_option):
31485         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
31486         MS-Windows Perl.  Reported by Eli Zaretskii in:
31487         http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html
31489 2015-04-07  Karl Berry  <karl@gnu.org>
31491         gendocs: new option --tex for passing args to texi2dvi.
31492         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
31493         (TEXI2DVI): cut to just command name.
31494         (usage): mention new option, and update copyright.
31495         <generate_tex>: use it.
31497 2015-04-07  Karl Berry  <karl@gnu.org>
31499         * config/srclistvars.sh (GETTEXT): new definition.
31500         * config/srclist.txt: use it for gettext .m4 files.
31501         Thread starting at http://lists.gnu.org/r/bug-gnulib/201
31502         and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
31503         and continuing into April.
31505 2015-04-07  Daiki Ueno  <ueno@gnu.org>
31507         uniname/uniname-tests: fix failure due to alias
31508         Reported by Jack Howarth in:
31509         <https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
31510         * tests/uniname/test-uninames.c (name_has_alias): New function.
31511         (test_inverse_lookup): Exclude character name with valid alias,
31512         from randomly generated character names.
31513         (main): Fill unicode_aliases before calling test functions.
31515 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
31517         hash: remove deprecated hash_insert0 function
31518         * lib/hash.h (hash_insert0): Remove deprecated function.
31519         * lib/hash.c (hash_insert0): Likewise.
31521 2015-04-02  Pádraig Brady  <P@draigBrady.com>
31523         mountlist: remove dependency on libmount
31524         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
31525         directly, rather than depending on libmount, which has many
31526         dependencies due to its dependence on libselinux, as detailed at:
31527         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
31528         Note we restrict this to __linux__ as that's probably where this
31529         interface will remain.  If ever porting, it would be best
31530         to first pull the makedev() wrapper from coreutils to a gnulib module.
31531         Note also we don't add a getline dependency to the mountlist module,
31532         as all Linux versions are sufficient.
31534 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
31536         stddef: port to pre-C11 GCC on x86
31537         On this platform, max_align_t should have an alignment of 8 even
31538         though the storage alignments of double, long, etc. max out at 4.
31539         Inspired by a comment of Andreas Schwab's here:
31540         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
31541         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
31542         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
31543         * tests/test-stddef.c: Test __alignof__ too, if available.
31545 2015-03-24  Pádraig Brady  <P@draigBrady.com>
31547         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
31548         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
31550 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
31552         yesno: make EOL optional in ENABLE_NLS case also (trival)
31553         * lib/yesno.c (yesno): Check for EOL before replacing.
31554         * tests/test-yesno.sh: Add a test case (test along with gettext).
31556 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
31558         fdopendir-tests: test it does not close its arg
31559         * tests/test-fdopendir.c (main): Test that fdopendir does not
31560         close its argument.  From a suggestion by David Grayson in:
31561         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html
31563 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
31565         gitlog-to-changelog: trim trailing white space
31566         * build-aux/gitlog-to-changelog (main):
31567         Trim trailing white space from commit message lines.
31568         This is helpful for processing the GNU Emacs repository,
31569         which dates back to 1985 and contains a lot of such lines.
31571         gitlog-to-changelog: new option --ignore-matching
31572         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
31573         Support new option --ignore-matching=PAT, which ignores all
31574         commit messages whose first line matches PAT.
31576 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
31578         fdopendir: port better to MinGW
31579         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
31580         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
31581         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
31582         * modules/fdopendir (Depends-on): Add dirfd.
31584 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
31586         fdopendir: fix typo in comment
31587         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
31589 2015-03-09  Eric Blake  <eblake@redhat.com>
31591         error: document all entry points provided
31592         * doc/glibc-functions/error_print_progname.texi
31593         (error_print_progname): Mention the error module.
31594         * doc/glibc-functions/error_at_line.texi (error_at_line):
31595         Likewise.
31596         * doc/glibc-functions/error_message_count.texi
31597         (error_message_count): Likewise.
31598         * doc/glibc-functions/error_one_per_line.texi
31599         (error_one_per_line): Likewise.
31601 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
31603         vasnprintf: pacify clang 3.5.0
31604         Problem reported by Werner Lemberg in:
31605         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
31606         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
31607         The casts aren't needed, since the characters in question are ASCII.
31609 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
31611         glob, etc.: port to MSVC v18 on MS-Windows 8.1
31612         * lib/dirent--.h (GNULIB_defined_opendir):
31613         * lib/dirent.in.h (GNULIB_defined_opendir)
31614         (GNULIB_defined_closedir):
31615         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
31616         #undef only if Gnulib defined it.
31618         poll: port to MSVC v18 on MS-Windows 8.1
31619         Problem reported by Gisle Vanem in:
31620         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
31621         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
31622         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
31623         Add sys_socket.
31625 2015-02-24  Pádraig Brady  <P@draigBrady.com>
31627         tests: support stderr verification with returns_()
31628         * tests/init.sh (returns_): Disable tracing for this wrapper
31629         function, so that stderr of the wrapped command is unchanged,
31630         allowing for verification of the contents.
31632 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
31634         passfd: avoid valgrind uninitalised data warning
31635         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
31636         to include just the fd we've initialized, rather than including
31637         the extra space used for alignment.
31639 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
31641         uniwbrk/u32-wordbreaks-tests: fix copyright
31642         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
31644         dup2: doc and test for Android bug
31645         Reported by Kevin Cernekee in:
31646         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
31647         * doc/posix-functions/dup2.texi (dup2): Document the bug.
31648         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
31650 2015-02-23  Kevin Cernekee  <cernekee@google.com>
31652         Replace dup2() on Android
31653         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
31654         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
31655         fails.  Using rpl_dup2() fixes this because it has an explicit test
31656         for this condition.
31658 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
31660         Android doesn't define RLIM_SAVED_*
31661         Portability problem reported by Kevin Cernekee in:
31662         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
31663         * doc/posix-headers/sys_resource.texi (sys/resource.h):
31664         Mention the portability problem.
31665         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
31666         Define if not defined.
31667         * m4/dup2.m4 (gl_FUNC_DUP2):
31668         * m4/fcntl.m4 (gl_FUNC_FCNTL):
31669         Likewise.
31671 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
31673         vasnprintf-posix-tests: use consistent test
31674         * tests/test-vasnprintf-posix.c (test_function):
31675         Use "<" in assert instead of "<=", for consistency with other tests.
31677 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
31679         printf, isinf, etc.: noncanonical != NaN
31680         Do not require that isinf, printf, etc. treat noncanonical
31681         values as NaNs.  Instead, require only that they do not crash.
31682         Problem reported by Joseph Myers in:
31683         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
31684         * doc/posix-functions/dprintf.texi (dprintf):
31685         * doc/posix-functions/fprintf.texi (fprintf):
31686         * doc/posix-functions/isfinite.texi (isfinite):
31687         * doc/posix-functions/isinf.texi (isinf):
31688         * doc/posix-functions/isnan.texi (isnan):
31689         * doc/posix-functions/printf.texi (printf):
31690         * doc/posix-functions/snprintf.texi (snprintf):
31691         * doc/posix-functions/sprintf.texi (sprintf):
31692         * doc/posix-functions/vdprintf.texi (vdprintf):
31693         * doc/posix-functions/vfprintf.texi (vfprintf):
31694         * doc/posix-functions/vprintf.texi (vprintf):
31695         * doc/posix-functions/vsnprintf.texi (vsnprintf):
31696         * doc/posix-functions/vsprintf.texi (vsprintf):
31697         Document this.
31698         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
31699         * m4/isinf.m4 (gl_ISINFL_WORKS):
31700         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
31701         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
31702         * tests/test-isfinite.c (test_isfinitel):
31703         * tests/test-isinf.c (test_isinfl):
31704         * tests/test-isnan.c (test_long_double):
31705         * tests/test-isnanl.h (main):
31706         * tests/test-snprintf-posix.h (test_function):
31707         * tests/test-sprintf-posix.h (test_function):
31708         * tests/test-vasnprintf-posix.c (test_function):
31709         * tests/test-vasprintf-posix.c (test_function):
31710         Test only that noncanonical values do not cause crashes, not that
31711         they are treated as NaNs.  In some cases this means a larger
31712         output buffer is needed.
31714 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
31716         fts: remove redundant close() (trivial)
31717         * lib/fts.c (fts_read): Remove redundant call to close().
31718         Spotted by coverity.
31720 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
31722         getdtablesize: port better for Android
31723         Problem reported by Kevin Cernekee in:
31724         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
31725         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
31726         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
31727         Instead, just use getrlimit, taking care to avoid Cygwin bug.
31729         poll: fixes for large fds
31730         * lib/poll.c (poll): Don't check directly for NFD too large.
31731         Don't rely on undefined behavior in FD_SET when an arg exceeds
31732         FD_SETSIZE.  Always set revents afterwards, even if to zero.
31733         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
31734         as that makes the test a bit stricter.
31736 2015-02-19  Kevin Cernekee  <cernekee@google.com>
31738         fcntl: Fix cross compiling
31739         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
31740         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
31742 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
31744         dup2, fcntl: cross-compile better for Android
31745         Problem reported by Kevin Cernekee in:
31746         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
31747         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
31748         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
31749         there's little need to cross-compile for older kernels nowadays.
31750         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
31751         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
31753 2015-02-18  Pádraig Brady  <P@draigBrady.com>
31755         getopt: don't crash on memory exhaustion
31756         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
31757         memory exhaustion.  In the _LIBC case we use alloca() as is
31758         already done in glibc, so we don't need to consider the separate
31759         error path in that awkward case.  Also fix a memory leak when
31760         ambiguous options are present.
31761         Reported by Tobias Stoeckmann
31763 2015-02-17  Mike Miller  <mtmiller@ieee.org>
31765         tempname: allow compilation with C++ (trivial)
31766         * lib/tempname.h [C++]: Specify extern "C" linkage.
31767         * lib/tempname.h (try_tempname):
31768         * lib/tempname.c (__try_tempname, __gen_tempname):
31769         Rename 'try' to 'tryfunc'.
31771 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
31773         dup2, fcntl: port to AIX
31774         * m4/dup2.m4 (gl_FUNC_DUP2):
31775         * m4/fcntl.m4 (gl_FUNC_FCNTL):
31776         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
31777         The former works on AIX 7.1 but the latter does not.
31778         Also, this may work better with Android; see:
31779         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html
31781 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
31783         getdtablesize, dup2, fcntl: port to Android
31784         Problem reported by Kevin Cernekee in:
31785         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
31786         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
31787         Mention that getdtablesize doesn't work on Android.
31788         * lib/getdtablesize.c: Use getrlimit substitute only if
31789         getdtablesize is declared.  This should suffice for Cygwin
31790         while not breaking Android.
31791         * m4/dup2.m4 (gl_FUNC_DUP2):
31792         * m4/fcntl.m4 (gl_FUNC_FCNTL):
31793         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
31794         standardized but the latter is not, and sysconf works on Android.
31795         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
31796         Also check that getdtablesize is declared.
31797         This removes the need for a special case for Android.
31799 2015-02-16  Kevin Cernekee  <cernekee@google.com>
31801         localename: Implement gl_locale_name_thread_unsafe for Android
31802         * lib/localename.c: Android API level >= 21 supports two hardcoded
31803         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
31804         the internal __locale_t struct.
31806 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
31808         fts: avoid crash when a cycle is added while traversing
31809         This could be triggered by auto-mounting a recursive bind mount.
31810         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
31811         * lib/fts.c (fts_read): Avoid removing the original hash table item
31812         when leaving a directory that caused a cycle, and preserve the FTS_DC
31813         flag.
31815 2015-02-16  Daiki Ueno  <ueno@gnu.org>
31817         uniname/uniname: support character alias
31818         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
31819         Generate one-way mapping from aliases to codepoints in the
31820         generated tables.  Special case variation selectors to reduce
31821         table size.
31822         * lib/uniname/uniname.c (unicode_character_name): Special case
31823         variation selectors.
31824         (unicode_name_character): Special case variation selectors and
31825         their aliases.
31826         * lib/uniname/uninames.h: Regenerate.
31827         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
31828         * modules/uniname/uniname-tests (Files): Add
31829         tests/uniname/NameAliases.txt.
31830         * tests/uniname/test-uninames.c: Mark as static.
31831         (ALIASLEN): Define.
31832         (struct unicode_alias): New struct.
31833         (unicode_aliases): New variable.
31834         (fill_aliases): New function.
31835         (test_alias_lookup): New test function.
31836         (main): Run the 'test_alias_lookup' test if the second argument is
31837         given.
31838         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
31839         second argument.
31841 2015-02-11  Kevin Cernekee  <cernekee@google.com>
31843         Fix FILE struct compatibility with Android API level >= 21
31844         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
31845         __sferror.  Recent versions of Bionic's stdio.h no longer define
31846         __sferror.
31847         * lib/fbufmode.c: Likewise.
31848         * lib/fflush.c: Likewise.
31849         * lib/fpurge.c: Likewise.
31850         * lib/freadable.c: Likewise.
31851         * lib/freadahead.c: Likewise.
31852         * lib/freading.c: Likewise.
31853         * lib/freadptr.c: Likewise.
31854         * lib/freadseek.c: Likewise.
31855         * lib/fseeko.c: Likewise.
31856         * lib/fseterr.c: Likewise.
31857         * lib/fwritable.c: Likewise.
31859         Assume unbroken ungetc() on Android
31860         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
31861         test case passed when running on an Android host, and the code
31862         hasn't really changed since 2009.
31864         getdtablesize: Fix Android build
31865         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
31866         versions have this symbol in the .so library (at least 32-bit
31867         platforms) but are missing the declaration in the header file,
31868         causing the m4 logic to guess incorrectly.
31870         localename: Fix Android build
31871         * modules/localename (Depends-on): Add langinfo.
31873         getugroups: Fix Android build
31874         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
31875         functions.
31877         euidaccess: Fix Android build
31878         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
31879         AT_EACCESS gets declared.
31881         linkat_nofollow: Add fallback case for cross compiling
31882         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
31884         net_if: Handle content-free <net/if.h> system headers
31885         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
31886         struct if_nameindex.  If not, enable the replacement header.
31888         signal_h: Fix Android build
31889         * lib/signal.in.h: Add Android to the list of platforms that declare
31890         pthread_sigmask() in <pthread.h> instead of <signal.h>.
31892         duplocale: Fix Android build of duplocale-tests
31893         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
31894         is included by test-duplocale.c (but not by duplocale.c).
31895         * modules/duplocale-tests (configure.ac): Check for monetary.h.
31896         * tests/test-duplocale.c: Skip test if monetary.h is absent.
31897         * doc/posix-headers/monetary.texi: Add Android to the list of
31898         platforms missing monetary.h.
31900 2015-02-11  Pádraig Brady  <P@draigBrady.com>
31902         tests: avoid recent -Werror=unused-variable regression in test-locale
31903         * tests/test-locale.c (main): Reference the variable to avoid the
31904         "unused variable" warning.
31906 2015-02-11  Pádraig Brady  <P@draigBrady.com>
31908         maint: various whitespace cleanups in tempname
31909         * lib/tempname.c: Normalize spacing and line length.
31910         * lib/tempname.h: Likewise.
31911         * modules/tempname: Likewise.
31913 2015-02-11  Pádraig Brady  <P@draigBrady.com>
31915         tests: provide returns_() to simplify exit status checking
31916         * tests/init.sh (returns_): A new function for use in tests,
31917         to allow for easier checking of return values, where you expect
31918         a command to exit with failure status.  By checking for a particular
31919         exit code, you don't hide any crashes for example.
31921 2015-02-11  Pádraig Brady  <P@draigBrady.com>
31923         mountlist: only use libmount when specified
31924         There are currently many shared libs dependencies introduced by
31925         libmount with associated runtime and virt mem overhead.
31926         Therefore don't enable by default.
31927         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
31929 2015-02-08  Daiki Ueno  <ueno@gnu.org>
31931         uniname/unimame-tests: don't link with -lunistring
31932         * modules/uniname/uniname-tests (Makefile.am): Don't link against
31933         $(LIBUNISTRING).  Document the rationale why we need to
31934         conditionalize the test.
31936 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
31938         fstrcmp: don't assume strlen < INT_MAX
31939         * lib/fstrcmp.c: Include stddef.h and stdint.h.
31940         (uintptr_t): Remove, as we're now assuming stdint.
31941         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
31942         Prefer ptrdiff_t to int when the value could exceed INT_MAX
31943         if the input string is long.
31944         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
31945         uintptr_t to size_t when the underlying value is a pointer casted
31946         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
31947         * modules/fstrcmp (Depends-on): Add stdint.
31949         diffseq: prefer ptrdiff_t to ssize_t
31950         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
31951         ptrdiff_t is the natural type for signed indexes.
31952         On a few older platforms, ssize_t is narrower than size_t.
31954         xalloc: fix typo that suppressed warnings
31955         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
31956         This typo, introduced a couple of years ago, mistakenly suppressed
31957         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
31958         -Wmissing-declarations warnings.
31960         full-read: fix license notice typo
31961         * lib/full-read.h: Remove a stray line in the license notice.
31962         Reported by Sam Ellis in: http://bugs.gnu.org/19808
31964         crypto/gc: fix a -Wswitch warning
31965         Reported by Bruce Korb in:
31966         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
31967         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
31969 2015-02-03  Pádraig Brady  <P@draigBrady.com>
31971         gnulib-tool: fix handling of patch(1) diagnostics
31972         * gnulib-tool: Send diagnostics from patch(1) to stderr,
31973         as otherwise gnulib-tool will reparse that output and attempt
31974         to lookup modules.
31976 2015-02-03  Pádraig Brady  <P@draigBrady.com>
31978         bootstrap: exit immediately upon gnulib-tool failure
31979         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
31980         This was noticed when gnulib-tool exited early due to failure
31981         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
31982         but various confusing errors were then given as the build proceeded.
31984 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
31986         symlinkat: include all required header files
31987         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
31988         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
31989         Reported at https://savannah.gnu.org/bugs/index.php?44151
31990         and by Jack Howarth.
31992 2015-01-29  Pádraig Brady  <P@draigBrady.com>
31994         localename: support Solaris 12 and illumos
31995         * lib/localename.c (gl_locale_name_thread_unsafe): call
31996         getlocalename_l() on newer __sun platforms.
31997         Reported by Alexander Pyhalov.
31998         Fix suggested by Rich Burridge.
32000 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
32002         locale: fix tests on illumos (trivial)
32003         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
32004         so move from global scope to main().
32006 2015-01-24  Daiki Ueno  <ueno@gnu.org>
32008         unictype: avoid undefined left-shift behavior
32009         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
32010         gcc's -fsanitize=shift and running its tests triggered:
32011           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
32012             places cannot be represented in type 'int'
32013         Cast LHS to 'unsigned int' after integer promotion.
32014         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
32015         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
32017 2015-01-20  Daiki Ueno  <ueno@gnu.org>
32019         libunistring: bump version of unitypes dependants
32020         Due to the header file search order, all the headers which depend
32021         on unitypes.h need to be generated, when the preinstalled
32022         libunistring is older.
32023         * modules/unicase/base (configure.ac): Bump minimum version to
32024         0.9.4.
32025         * modules/uniconv/base (configure.ac): Likewise.
32026         * modules/unilbrk/base (configure.ac): Likewise.
32027         * modules/uninorm/base (configure.ac): Likewise.
32028         * modules/unistdio/base (configure.ac): Likewise.
32029         * modules/unistr/base (configure.ac): Likewise.
32030         * modules/uniwbrk/base (configure.ac): Likewise.
32031         * modules/uniwidth/base (configure.ac): Likewise.
32033 2015-01-20  Daiki Ueno  <ueno@gnu.org>
32035         unictype/category-none: fix link with libunistring
32036         Since _UC_CATEGORY_NONE is not a public symbol, it will be
32037         prefixed with "libstring_" when compiled as part of libunistring.
32038         To avoid undefined symbol at link time, increase the minimum
32039         version when the dependant modules are updated.
32040         * modules/unictype/category-none (configure.ac): Bump minimum
32041         version to 0.9.5.
32043 2015-01-20  Daiki Ueno  <ueno@gnu.org>
32045         unitypes: fix build with installed libunistring
32046         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
32047         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
32048         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
32050 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
32052         time: port to MinGW32 3.21
32053         Problem reported by Eli Zaretskii in:
32054         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
32055         * lib/time.in.h:
32056         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
32057         * modules/time (Depends-on):
32058         Fall back on unistd.h if the other include files don't define
32059         struct timespec.
32061         update-copyright: apply to self
32062         * build-aux/update-copyright: Fix copyright date.  How ironic!
32064 2015-01-15  Daiki Ueno  <ueno@gnu.org>
32066         libunistring: update to Unicode 7.0.0
32067         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
32068         Manichaean names.
32069         * lib/unictype/joininggroup_name.h: Likewise.
32070         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
32071         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
32072         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
32073         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
32074         (fill_arabicshaping, joining_group_as_c_identifier): Support those
32075         enum values.
32076         (is_property_alphabetic): Accept newly added characters to
32077         cuneiform numeric signs.
32078         (is_property_default_ignorable_code_point): Reject U+0605.
32079         (FIELDLEN): Increase from 120 to 160.
32080         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
32081         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
32082         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
32083         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
32084         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
32085         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
32086         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
32087         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
32088         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
32089         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
32090         U+1E8D0..U+1E8D6.
32091         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
32092         * tests/uniwidth/test-uc_width2.sh: Same updates as in
32093         lib/uniwidth/width.c.
32094         * all generated files under lib/uni* and tests/uni*: Regenerate.
32096 2015-01-14  Daiki Ueno  <ueno@gnu.org>
32098         libunistring: update to Unicode 6.3.0
32099         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
32100         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
32101         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
32102         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
32103         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
32104         Update WB5, WB9, WB10, WB13a, and WB13b.
32105         * tests/uniwbrk/test-uc-wordbreaks.c
32106         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
32107         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
32108         (UC_BIDI_PDI): New enumeration values.
32109         (bidi_category_byname): Support those enum values.
32110         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
32111         dedicated property assigned.
32112         (is_property_case_ignorable): Check 0x0027.
32113         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
32114         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
32115         (output_wbp): Support those enum values.
32116         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
32117         (UC_BIDI_PDI): New enumeration values.
32118         * lib/unictype/bidi_byname.gperf: Add those property names.
32119         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
32120         U+180E, U+1A1B, and U+2066..U+2069.
32121         * tests/uniwidth/test-uc_width2.sh: Same updates as in
32122         lib/uniwidth/width.c.
32123         * all generated files under lib/uni* and tests/uni*: Regenerate.
32125 2015-01-14  Daiki Ueno  <ueno@gnu.org>
32127         libunistring: update to Unicode 6.2.0
32128         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
32129         (unilbrk_table): Adjust table size.
32130         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
32131         for LBP_RI.
32132         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
32133         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
32134         Normalize table index skipping ignored properties.
32135         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
32136         WBP_EXTEND and WBP_FORMAT, which are now computed without using
32137         the table.
32138         * lib/uniwbrk/wbrktable.h: Adjust table size.
32139         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
32140         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
32141         Support rule GB8a.
32142         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
32143         * tests/unigbrk/test-uc-is-grapheme-break.c
32144         (graphemebreakproperty_to_string): Support GBP_RI.
32145         * tests/uniwbrk/test-uc-wordbreaks.c
32146         (wordbreakproperty_to_string): Support WBP_RI.
32147         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
32148         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
32149         (output_lbp): Support LBP_RI.  Adjust some characters changed from
32150         LBP_AL to LBP_ID.
32151         (output_lbp): Support LBP_RI.
32152         (WBP_RI): New enumeration value.
32153         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
32154         (output_wbp): Support WBP_RI.
32155         (GBP_RI): New enumeration value.
32156         (output_gbp_test, fill_org_gbp): Support GBP_RI.
32157         * all generated files under lib/uni* and tests/uni*: Regenerate.
32159 2015-01-14  Daiki Ueno  <ueno@gnu.org>
32161         libunistring: update to Unicode 6.1.0
32162         * lib/gen-uni-tables.c (output_joining_group): Switch to
32163         3-level table to accommodate joining groups defined with higher
32164         codepoint value.  Since there are only 88 groups defined in
32165         Unicode 7.0.0, use 7-bit packed format for level3 entries.
32166         (get_lbp): Update for Unicode 6.1.0.
32167         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
32168         3-level table.
32169         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
32170         joining group name.
32171         * lib/unictype/joininggroup_name.h: Likewise.
32172         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
32173         (unilbrk_table): Adjust table size.
32174         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
32175         for LBP_HL.
32176         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
32177         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
32178         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
32179         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
32180         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
32181         U+302E..U+302F.
32182         * tests/uniwidth/test-uc_width2.sh: Same updates as in
32183         lib/uniwidth/width.c.
32184         * all generated files under lib/uni* and tests/uni*: Regenerate.
32185         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
32187 2015-01-15  Daiki Ueno  <ueno@gnu.org>
32189         uniwbrk/u32-wordbreaks-tests: add conformance test
32190         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
32191         tests/uniwbrk/test-uc-wordbreaks.c,
32192         tests/uniwbrk/test-uc-wordbreaks.sh, and
32193         tests/uniwbrk/WordBreakTest.txt.
32194         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
32195         test-uc-wordbreaks to $(check_PROGRAMS), and define
32196         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
32197         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
32198         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
32200 2015-01-15  Daiki Ueno  <ueno@gnu.org>
32202         uniwbrk: ignore Extended/Format characters at BOL not BOS
32203         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
32204         characters if the previous character property is one of
32205         WBP_NEWLINE, WBP_CR, and WBP_LF.
32207 2015-01-11  Jim Meyering  <meyering@fb.com>
32209         test-strstr.c: avoid a trivial leak
32210         * tests/test-strstr.c (main): Free haystack.
32212         update-copyright: recognize groff's \(co marker
32213         * build-aux/update-copyright (circle_c_re): Also accept
32214         uses of \(co, as found in gzip.1.
32216 2015-01-08  Pádraig Brady  <P@draigBrady.com>
32218         maint.mk: fix compatibility with OS X nm
32219         * top/maint.mk (_gl_tight_scope): Use the -g option to
32220         show exported items rather than the -e option which is
32221         ignored on all platforms except OS X where it gives an error.
32222         Reported by Assaf Gordon.
32224 2015-01-07  KO Myung-Hun  <komh@chollian.net>
32226         localcharset: improve charset detection on OS/2
32227         Use system codepage when appropriate.  Map OS/2 codepages to
32228         GNU canonical charset names if possible.
32229         * lib/config.charset: Don't output aliases if "$os" is os2*.
32230         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
32231         result for OS/2.
32232         (locale_charset) [OS2]: Use system codepage if codeset is omitted
32233         from the locale name which is neither "C" nor "POSIX".
32235 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
32237         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
32238         This reverts the last patch but one, as it shouldn't be needed now
32239         that the typo is fixed.
32240         * lib/count-leading-zeros.h (count_leading_zeros_ll):
32241         * lib/count-trailing-zeros.h:
32242         * lib/count-one-bits.h:
32243         Go back to using 64-bit intrinsics.
32245         count-leading-zeros: fix pragma typos
32246         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
32247         Fix typos in declaration of intrinsics when _MSC_VER.
32249 2015-01-06  Pádraig Brady  <P@draigBrady.com>
32251         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
32252         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
32253         intrinsics in this case.
32254         * lib/count-trailing-zeros.h: Likewise.
32255         * lib/count-one-bits.h: Likewise.
32257 2015-01-06  Daiki Ueno  <ueno@gnu.org>
32259         uniname/uniname: update to Unicode 7.0.0
32260         To accommodate new characters added since Unicode 5.1.0, this
32261         changes the internal representation of codepoint ranges.
32262         Previously, we grouped codepoint ranges by manually assigned 4-bit
32263         tag, which only allowed 16 groups.  This removes the limitation by
32264         switching to binary search on a table.  For the detail rationale
32265         and the benchmark results, see:
32266         https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
32267         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
32268         to INDEX, as it no longer represents a codepoint.
32269         (range): New struct.
32270         (main): Switch to intervals list from a bit-pattern based
32271         classification.
32272         * lib/uniname/uninames.h: Regenerate.
32273         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
32274         * modules/uniname/base (configure.ac): Bump minimum version to
32275         0.9.5.
32276         * modules/uniname/uniname (configure.ac): Bump minimum version to
32277         0.9.5.
32279 2015-01-05  Eric Blake  <eblake@redhat.com>
32281         doc: update INSTALL from autoconf
32282         * doc/install.texi: Resync from autoconf.
32283         * doc/INSTALL: Reflect recent autoconf update.
32284         * doc/INSTALL.ISO: Likewise.
32285         * doc/INSTALL.UTF-8: Likewise.
32287         stdio: fix use of PRIdMAX on modern mingw
32288         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
32289         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
32290         to work with modern mingw.
32292 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
32294         pthread: detect git mingw builds with only partial pollution
32295         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
32296         pollution, as seen temporarily in Fedora 21.
32298 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
32300         lib-symbol-versions: cache script check
32301         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
32302         Cache the check for linker version scripts.
32303         From a suggestion by Christophe Curis in:
32304         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html
32306 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
32308         maint: fix grammar nits in propername (trivial change)
32309         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
32310         and use an adequate verb and tense.
32312 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
32314         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
32315         * module/gendocs: Add 'doc/gendocs_template_min'.
32317         * build-aux/gendocs.sh: Change email addresses and upstream URLs
32318         from to Gnulib's.
32319         (scripturl, templateurl): Adjust accordingly.
32321 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
32323         gendocs: copyright date and version fix
32324         Reported by Karl Berry in:
32325         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
32326         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
32327         Fix copyright date.
32328         * build-aux/gendocs.sh (scriptversion): Update.
32330 2015-01-01  Karl Berry  <karl@gnu.org>
32332         * doc/install.texi,
32333         * build-aux/mdate-sh,
32334         * build-aux/depcomp,
32335         * build-aux/config.guess,
32336         * build-aux/config.sub,
32337         * build-aux/ar-lib,
32338         * build-aux/compile: revert copyright updates (some from last
32339         year) in slaved files.
32341 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
32343         version-etc: new year
32344         * doc/gnulib.texi:
32345         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
32346         * all files: Run 'make update-copyright'.
32348 2014-12-30  Pádraig Brady  <P@draigBrady.com>
32350         xstrtol: ensure errno is reset
32351         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
32352         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
32354         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
32356 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
32358         utimens: fix dependency typo
32359         * modules/utimens (Depends-on): Remove 'assure'.
32360         This bug was introduced in the recent 'assure' patch.
32362 2014-12-22  Eric Blake  <eblake@redhat.com>
32364         docs: mention why libgen.h is bad
32365         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
32367 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
32369         assure: new module
32370         This works better than 'assert' when compiling with -DNDEBUG,
32371         as it avoids some compiler diagnostics in that case.
32372         Reported by Norihiro Tanaka in:
32373         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
32374         * MODULES.html.sh (func_all_modules): Add 'assure'.
32375         * lib/assure.h, modules/assure: New files.
32376         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
32377         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
32378         Prefer 'assure' to 'assert'.
32379         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
32380         * modules/chdir-long, modules/cycle-check, modules/fchdir:
32381         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
32382         Depend on 'assure'.
32384 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
32386         stdalign: port better to HP compilers
32387         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
32388         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
32390         stdalign: work around Apple GCC 4.0 bug
32391         Reported by David Fang in:
32392         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
32393         * lib/stdalign.in.h (_Alignas):
32394         * m4/stdalign.m4 (gl_STDALIGN_H):
32395         Do not use aligned attribute with GCC 4.0 on Apple.
32397 2014-12-16  Pádraig Brady  <P@draigBrady.com>
32399         getcwd: fix test failure on OS X 10.9
32400         * m4/getcwd-path-max.m4: Avoid the replacement if it
32401         won't be effective due to the PATH_MAX limitation of lstat().
32402         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
32403         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
32404         for this case for use in tests, and also exclude this
32405         case when setting REPLACE_GETCWD.
32406         * tests/test-getcwd.c (test_long_name): Restrict the
32407         tested path length so that lstat() will not be passed
32408         a path greater than PATH_MAX.
32409         Also key a test condition on HAVE_OPENAT_SUPPORT rather
32410         than AT_FDCWD, since the latter is set unconditionally
32411         since Sep 2009 in commit 52c658e9.
32413 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
32415         parse-datetime: avoid a compiler warning with byacc (trivial)
32416         * lib/parse-datetime.y (yylex): Use the same prototype in the
32417         function definition as the declaration, to avoid a -Wstrict-prototypes
32418         warning seen when using byacc.
32420 2014-12-12  Daiki Ueno  <ueno@gnu.org>
32422         unicase/locale-language-tests: fix LOCALE_FR test
32423         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
32424         a French locale with traditional encoding.
32425         Reported by umerqayam in:
32426         http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html
32428 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
32430         stddef: support C11's max_align_t
32431         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
32432         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
32433         Do not undef, as that might cause max_align_t to be defined twice.
32434         Instead, change use to check for _GL_STDDEF_WINT_T too.
32435         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
32436         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
32437         Check for max_align_t.
32438         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
32439         * modules/stddef-tests (Depends-on): Add stdalign.
32440         * tests/test-stddef.c: Test max_align_t.
32442 2014-12-11  Daiki Ueno  <ueno@gnu.org>
32444         unistd: fix iOS check conditional
32445         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
32446         as 0 or 1 in <TargetConditionals.h>, and the previous check always
32447         yielded true on non-iOS environment.
32448         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
32449         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
32450         they are defined.
32452 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
32454         posixtm: avoid compiler warning in a better way
32455         * lib/posixtm.c (IF_LINT): Remove.
32456         (year, posix_time_parse):
32457         Return true (not 0) if successful.  All callers changed.
32458         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
32460 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
32462         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
32463         started with '/' on EMX.
32465 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
32467         freopen: workaround freopen() on OS/2 kLIBC
32468         * lib/freopen.c (rpl_freopen): Workaround.
32469         * m4/freopen.m4: Add os2* case.
32471         get_shared_library_fullname: port to EMX
32472         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
32473         on EMX, respectively.
32474         (_DLL_InitTerm): New on EMX.
32475         (get_shared_library_fullname): Implement on EMX.
32477         find_executable: port to EMX
32478         * lib/progreloc.c (find_executable): Implement on EMX.
32480         sched: check struct sched_param in spawn.h as well
32481         * lib/sched.in.h: Include spawn.h on kLIBC.
32482         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
32484 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
32486         bootstrap: Allow perl modules in $buildreq
32487         * build-aux/bootstrap: Add case for perl modules.
32489 2014-12-08  Pádraig Brady  <P@draigBrady.com>
32491         apply _GL_ATTRIBUTE_PURE to some inline functions
32492         clang 3.4.2 flagged these inline functions as pure
32493         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
32494         * lib/sig-handler.h (get_handler): Likewise.
32495         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
32496         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
32498 2014-12-06  Pádraig Brady  <P@draigBrady.com>
32500         vasnprintf: fix potential use after free
32501         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
32502         flagged by clang-analyzer 3.4.2.
32504 2014-12-05  Pádraig Brady  <P@draigBrady.com>
32506         filevercmp, posixtm: avoid compiler warnings with -O3
32507         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
32508         * lib/posixtm.c: (IF_LINT): Define.
32509         (posix_time_parse): Use it to void a "may be used uninitialized"
32510         warning, seen only with -O3.
32512 2014-12-05  Bruno Haible  <bruno@clisp.org>
32514         Fix LDBL80_WORDS macro on big endian platforms.
32515         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
32516         LDBL80_WORDS macro.
32517         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
32518         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
32519         * tests/test-isfinite.c (test_isfinitel): Likewise.
32520         * tests/test-isinf.c (test_isinfl): Likewise.
32521         * tests/test-isnan.c (test_long_double): Likewise.
32522         * tests/test-isnanl.h (main): Likewise.
32523         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
32524         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
32525         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
32526         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
32527         Reported by Pádraig Brady.
32529 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
32531         git-version-gen: do not print new line characters
32532         * build-aux/git-version-gen: Use printf instead of echo and tr.
32534         gnulib-tool: recognize x:* as an absolute path
32535         * gnulib-tool (func_gnulib_dir): Add ?:* case.
32536         (func_relconcat): Likewise.
32538 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
32540         argp: avoid extraneous translation and mem leak with empty pre doc
32541         * lib/argp-help.c (argp_doc): Never translate the empty string,
32542         when "\v" is the first or last character of the string, as that
32543         has a reserved meaning to return the header info from a po file.
32544         This also fixes a small memory leak in the !post case.
32545         The issue can be seen with this command for example:
32546         LC_MESSAGES=en_US grub2-mknetdir --help
32548 2014-11-27  Daiki Ueno  <ueno@gnu.org>
32550         uniname/uniname-tests: skip if system's libunistring is used
32551         * modules/uniname/uniname-tests (Makefile.am): Skip test if
32552         uniname/uniname module is not compiled.
32554 2014-11-27  Pádraig Brady  <P@draigBrady.com>
32556         printf: fix configure check on big endian systems
32557         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
32559 2014-11-22  Daiki Ueno  <ueno@gnu.org>
32561         pipe-filter-gi, pipe-filter-ii: port to AIX
32562         On AIX 7.1, 'select' is defined as static and cannot be referred
32563         to from inline function.
32564         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
32565         the definition...
32566         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
32567         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
32569 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
32571         gitlog-to-changelog: add --until
32572         * build-aux/gitlog-to-changelog: Support new --until option.
32573         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
32575 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
32577         extern-inline: update commentary about GCC bugs
32578         * m4/extern-inline.m4: Add another GCC bug number to comments.
32580 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32582         gen-uni-tables: untabify
32583         * lib/gen-uni-tables.c: Untabify.
32585 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32587         gen-uni-tables: check out-of-range values added to 3-level tables
32588         * lib/gen-uni-tables.c (output_category, output_bidi_category)
32589         (output_joining_type, output_ident_category): Check out-of-range
32590         values added to 3-level tables.
32592 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32594         gen-uni-tables: utilize 'assert'
32595         * lib/gen-uni-tables.c: Include <assert.h>.
32596         (output_category, output_combclass, output_decimal_digit_test)
32597         (output_decimal_digit, output_digit_test, output_digit)
32598         (output_numeric, get_mirror_value, fill_properties)
32599         (fill_property30, is_property_alphabetic)
32600         (is_property_default_ignorable_code_point)
32601         (is_property_uppercase, is_property_lowercase)
32602         (is_property_cased, is_property_case_ignorable)
32603         (is_property_changes_when_lowercased, is_property_iso_control)
32604         (is_property_math, fill_arabicshaping, output_joining_group)
32605         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
32606         (output_wbp, fill_org_gbp, get_decomposition)
32607         (output_decomposition, fill_composition_exclusions)
32608         (debug_output_composition_tables, output_composition_tables)
32609         (redistribute_casefolding_rules, output_casing_rules): Use
32610         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
32611         reporting.
32613 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32615         gen-uni-tables: cosmetic improvements
32616         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
32617         variables specification.
32618         (is_outdigit): Remove unused function.
32620 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
32622         fcntl-h-tests: port to PA-RISC GNU/Linux
32623         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
32625 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
32627         fts: port to C89
32628         Problem reported for MSVC 16 by Gisle Vanem in:
32629         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
32630         * lib/fts.c (fts_build): Avoid declaration before statement.
32632 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
32634         unistd: port to iOS
32635         Problem reported by André Klitzing in:
32636         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
32637         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
32639 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
32641         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
32642         Problem reported by Alan Modra in:
32643         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
32644         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
32645         Always cast the function arg, reverting this part of the previous
32646         change.
32648 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
32650         obstack: avoid potentially-nonportable function casts
32651         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
32652         Remove, replacing with ...
32653         (call_chunkfun, call_freefun): New static functions.
32654         All uses changed.  Avoid potentially-nonportable casts.
32655         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
32656         (_obstack_begin_worker): Omit last two args, since they
32657         rely on potentially-nonportable casts.  All callers changed.
32658         * lib/obstack.h (_OBSTACK_CAST): New macro.
32659         Use it everywhere the old API used a potentially-nonportable cast.
32660         The new API doesn't cast.
32661         (struct obstack): Use unions rather than requiring
32662         potentially-nonportable casts.
32663         (obstack_chunkfun, obstack_freefun): Return void.
32665 2014-11-03  Alan Modra  <amodra@gmail.com>
32667         obstack: fix macro return values
32668         * lib/obstack.h (obstack_next_free): Return void *.
32669         (obstack_1grow_fast, obstack_blank_fast): Return void.
32670         For __GNUC__ macros:
32671         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
32672         For !__GNUC__ macros:
32673         (obstack_make_room, obstack_grow, obstack_grow0)
32674         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
32676 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
32678         obstack: do not assume system-supplied obstack is size_t safe
32679         * m4/obstack.m4: New file.
32680         * modules/obstack (Files): Add it.
32682         obstack: port to platforms that #define __alignof__
32683         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
32684         not if !_LIBC.  We don't know of any platforms that #define
32685         __alignof__, but it might be useful in tests.  Conversely,
32686         glibc assumes GCC.
32688 2014-11-03  Pádraig Brady  <P@draigBrady.com>
32690         linkat: don't unconditionally replace on GNU/Linux
32691         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
32692         was redundant for a few reasons.  It was present to support compiling
32693         on new systems but running on the old narrow window of Linux 2.6.1[67].
32694         It setup and cleaned up test files which weren't actually used.
32695         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
32696         implicit in the following check.
32698 2014-11-03  Pádraig Brady  <P@draigBrady.com>
32700         linkat: wrap to handle symlinks on OS X 10.10
32701         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
32702         but not usable because it doesn't support creating hardlinks
32703         to symlinks.  Therefore add a generic test for this capability
32704         and fallback to our emulation if linkat() fails with ENOTSUP.
32706 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
32708         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
32709         * doc/posix-functions/open.texi (open):
32710         * doc/posix-functions/openat.texi (openat):
32711         Document that these functions do not set errno to ELOOP when
32712         a symlink is opened with O_NOFOLLOW.
32714 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
32716         obstack: add NEWS entry for recent incompatible changes
32717         * NEWS: Describe recent changes.
32719 2014-10-30  Pádraig Brady  <P@draigBrady.com>
32721         mountlist: don't use libmount to decide on dummy/remote
32722         * lib/mountlist.c (read_file_system_list): Don't use the libmount
32723         routines to determine whether a file system is dummy or remote,
32724         as they're not currently compatible.  For example the remoteness
32725         is determined on file system type (for which the list seems incomplete),
32726         rather than simply checking for a ':' in the device name.
32727         Also libmount currently determines that 'tmpfs' is a dummy file system
32728         even though it has associated storage.
32730 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
32732         obstack: prefer __alignof__ to alignof
32733         This is for portability to pre-4.7 GCC when compiling glibc.
32734         See Joseph S. Myers in:
32735         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
32736         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
32737         New macro, defined by including and using <alignof.h>.
32738         (MAX): New macro.
32739         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
32740         Do not use enums as they are not portable to some broken compilers.
32741         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
32743         obstack: prefer alignof to calculating alignments by hand
32744         * lib/obstack.c: Include <stdalign.h>.
32745         (struct fooalign): Remove.
32746         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
32747         * modules/obstack (Depends-on): Add stdalign.
32749 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
32751         obstack: use size_t alignments and check for overflow
32752         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
32753         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
32754         * lib/obstack.h (struct obstack.alignment_mask):
32755         Use _OBSTACK_SIZE_T, not int, for alignments.
32756         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
32757         overflows, e.g., when adding the alignment.
32759 2014-10-29  Alan Modra  <amodra@gmail.com>
32761         obstack: 64-bit obstack support, part 3
32762         This finally enables full 64-bit obstack support.  The glibc
32763         shared library specific code is removed from obstack.c too, and
32764         the error handling code conditionally compiled under control of
32765         another macro, _OBSTACK_NO_ERROR_HANDLER.
32766         * lib/obstack.h: Include string.h earlier.
32767         (_OBSTACK_INTERFACE_VERSION): Define.
32768         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
32769         * lib/obstack.c: Don't include shlib-compat.h.
32770         (OBSTACK_INTERFACE_VERSION): Delete.
32771         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
32772         glibc code is compatible with version 2.  Don't include stdio.h for
32773         __GNU_LIBRARY.
32774         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
32775         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
32776         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
32777         glibc shared library specific source.
32779         obstack: 64-bit obstack support, part 2
32780         This gets us 4G obstack support, without changing ABI
32781         compatibility, apart from possibly introducing some
32782         signed/unsigned comparison warnings in code that uses obstack.h.
32783         a) Replace "int" size parameters, return values, and macro local vars
32784            with _OBSTACK_SIZE_T, an "unsigned int" for now.
32785         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
32786         c) Make all obstack macros checking available room use obstack_room.
32787            "next_free + desired > chunk_limit" may wrap the lhs for chunks
32788            allocated near the top of memory.
32789         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
32790         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
32791         in place of "int" size parameters, return values and local vars.
32792         (_CHUNK_SIZE_T): Define.
32793         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
32794         union use an _OBSTACK_SIZE_T integer type.
32795         For __GNUC__ versions of the following macros...
32796         (obstack_room): Rename local var.
32797         (obstack_make_room): Use obstack_room.
32798         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
32799         obstack_int_grow, obstack_blank): Likewise.
32800         (obstack_finish): Use unsigned comparison when comparing aligned
32801         next_free against chunk_limit.
32802         (obstack_free): Cast OBJ to remove possible const qualifier.
32803         For !__GNUC__ versions of the following macros...
32804         (obstack_make_room): Use obstack_room.
32805         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
32806         obstack_int_grow, obstack_blank): Likewise.
32807         (obstack_finish): Use unsigned comparision when comparing aligned
32808         next_free against chunk_limit.
32809         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
32810         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
32811         _OBSTACK_SIZE_T.
32812         (_obstack_begin, _obstack_begin_1): Likewise.
32813         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
32814         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
32816         obstack: 64-bit obstack support, part 1
32817         a) Correct calls to alloc function, to use a size_t arg.  "long" is
32818            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
32819            and "size_t" 64 bits.
32820         b) Consolidate _obstack_begin and _obstack_begin1 code.
32821         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
32822         use "size_t" rather than "long".
32823         (_obstack_begin, _obstack_begin1): Likewise.
32824         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
32825         obstack_chunkfun): Update alloc function casts.
32826         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
32827         (chunkfun_type, freefun_type): New typdefs.
32828         (_obstack_begin_worker): Split out from ..
32829         (_obstack_begin, _obstack_begin_1): ..here.
32831         obstack: tidy part 2
32832         a) Don't be concerned about "not polluting the namespace with stddef.h
32833            symbols" in obstack.h, since gnulib string.h includes stddef.h
32834            anyway, and it seems unlikely that anyone would care.
32835         b) Don't roll our own slow memcpy in _obstack_newchunk.
32836         c) Rename obstack_free to _obstack_free.  This makes the naming
32837            consistent with other obstack functions and obviates the need for
32838            __obstack_free.  Ancient obstack.c defined both obstack_free and
32839            _obstack_free.  We continue to do that for _LIBC via an alias.
32840         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
32841            is clever, but nowadays gcc warns on undefined macros.  You'll get
32842            an undefined macro warning if simulating an old gcc with -U__GNUC__
32843            -U__GNUC_MINOR__ -D__GNUC__=1.
32844         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
32845         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
32846         (__obstack_free): Delete, update refs.
32847         (_obstack_free): Rename from obstack_free.
32848         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
32849         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
32850         * lib/obstack.c: Don't include stddef.h.
32851         (COPYING_UNIT): Delete.
32852         (_obstack_begin): Formatting fix.
32853         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
32854         (_obstack_free): Rename from __obstack_free, update alias.  Move
32855         undef of obstack_free to where it is needed.
32857         obstack: tidy part 1
32858         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
32859            to me, and result in overlong lines after later patches.
32860         b) Move error handling code, to avoid a forward declaration and to
32861            simplify later patches in this series.
32862         * lib/obstack.h (struct obstack <temp>): Rename fields of union
32863         and update all uses.
32864         * lib/obstack.c: Include stdlib.h earlier.
32865         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
32866         in file.
32867         (print_and_abort): Remove now redundant forward declaration.
32869 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
32871         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
32872         Without this change, in bleeding-edge fileutils Autoconf complains
32873         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
32874         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
32875         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
32876         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
32878 2014-10-24  Daiki Ueno  <ueno@gnu.org>
32880         iconv: avoid false detection of non-working iconv
32881         The INBUF arguments of iconv can be either 'const char **'
32882         or 'char **'.  If CC is g++, the difference causes a compile error
32883         and thus leads to a false detection of non-working iconv.
32884         Reported by Eli Zaretskii and Werner LEMBERG in:
32885         <https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
32886         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
32887         iconv.  Bump serial number.
32889 2014-10-23  Pádraig Brady  <P@draigBrady.com>
32891         bootstrap: print more diagnostics for missing programs
32892         * build-aux/bootstrap: only suppress stderr when checking for
32893         alternative program names.  This supports programs issuing non
32894         standard error messages.
32896 2014-10-23  Pádraig Brady  <P@draigBrady.com>
32898         bootstrap: only update the gnulib submodule
32899         * build-aux/bootstrap: Restrict the "submodule update" command
32900         to the gnulib path.
32902 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
32904         symlinkat: port to AIX 7.1
32905         * doc/posix-functions/symlinkat.texi (symlinkat):
32906         Mention AIX porting problem.
32907         * lib/symlinkat.c: Always include errno.h.
32908         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
32909         * lib/unistd.in.h (symlinkat): Add replacement machinery.
32910         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
32911         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
32912         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
32913         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
32914         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
32916         readlinkat: port to AIX 7.1
32917         * doc/posix-functions/readlink.texi (readlink):
32918         * doc/posix-functions/readlinkat.texi (readlinkat):
32919         Mention AIX porting problem.
32920         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
32921         New function.
32922         * lib/unistd.in.h (readlinkat): Add replacement machinery.
32923         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
32924         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
32925         * modules/readlinkat (configure.ac): Also compile replacement
32926         if REPLACE_READLINKAT.
32927         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
32929 2014-10-12  Karl Berry  <karl@gnu.org>
32931         * doc/posix-functions/dirname.texi: remove spurious {.
32933 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
32935         basename, dirname: Improve documentation.
32936         * doc/posix-functions/basename.texi: Mention dirname module and
32937         base_name() function.
32938         * doc/posix-functions/dirname.texi: Mention dir_name() and
32939         mdir_name() functions.
32940         Suggested by Werner LEMBERG <wl@gnu.org>.
32942 2014-09-24  Jim Meyering  <meyering@fb.com>
32944         exclude: declare exclude_patopts static
32945         * lib/exclude.c (exclude_patopts): Declare static,
32946         to avoid triggering a -Wmissing-prototypes warning.
32947         The alternative (declaring it in the .h file) would
32948         require publicizing the private "struct patopts".
32950 2014-09-21  Werner Lemberg  <wl@gnu.org>
32952         dirname: support compilation with C++
32953         * lib/dirname.h: Add necessary C linkage declarations.
32955 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
32957         qsort_r: include <config.h>
32958         Problem reported by Tom G. Christensen in:
32959         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
32960         * lib/qsort.c [!_LIBC]: Include <config.h> first.
32962 2014-09-16  Dylan Cali  <calid1984@gmail.com>
32964         avltree-list: avoid compiler warnings (trivial)
32965         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
32966         -Werror=suggest-attribute=pure.
32967         * lib/gl_array_list.c: Likewise.
32968         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
32969         declaration to avoid -Werror=missing-prototypes.  This is not added
32970         to a header as only exported for tests.  Add (void) to the
32971         check_invariants() call to indicate we're discarding the result
32972         in this context which avoids -Werror=unused-value.  Note we don't
32973         use ignore_value here to avoid a dependency as we know we'll not
32974         be adding __attribute__((warn_unused_result)) to check_invariants().
32975         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
32977 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
32979         qsort_r: new module, for GNU-style qsort_r
32980         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
32982 2014-09-15  Werner LEMBERG  <wl@gnu.org>
32984         strerror_r-posix: support compilation with C++
32985         * lib/strerror_r.c: Add necessary C linkage declarations.
32987 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
32989         fcntl-h: fix compilation with Intel C++ compiler (trivial)
32990         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
32992 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
32994         mountlist: use /proc/self/mountinfo when available
32995         Use libmount to propagate device IDs provided by Linux in
32996         /proc/self/mountinfo.  This will give more accurate output when
32997         using df in chroot'ed environments as the device IDs are not
32998         determined by stat() which may be inaccurate within the chroot.
32999         * lib/mountlist.c (read_file_system_list): Use the libmount routines
33000         from util-linux to parse "/proc/self/mountinfo" or fall back to
33001         standard getmntent() processing.
33002         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
33003         getmntent() is used, as is the case on GNU/Linux.
33005 2014-09-07  Eric Wong  <normalperson@yhbt.net>
33007         users.txt: add cmogstored
33008         cmogstored has used gnulib since the beginning in 2012 to support
33009         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
33011 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
33013         Trivial change.
33014         * gnulib-tool: Use same options as build-aux/bootstrap to download
33015         PO files.
33017 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
33019         Trivial change.
33020         * gnulib-tool: Fallback to wget when rsync of PO files fails.
33022 2014-09-04  Eric Blake  <eblake@redhat.com>
33024         maintainer-makefile: add syntax check for useless ';;'
33025         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
33027 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
33029         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
33030         Problem reported by Assaf Gordon in:
33031         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
33032         Apparently Ubuntu is doing some fancy link-time optimization
33033         that doesn't work with -lpthread but does work with -pthread.
33034         Work around the bug by preferring -pthread to -lpthread.
33035         * m4/pthread.m4 (gl_PTHREAD_CHECK):
33036         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
33037         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
33038         Treat -pthread like -lpthread.
33040 2014-09-04  Eric Blake  <eblake@redhat.com>
33042         error: drop spurious semicolon
33043         * lib/error.c (__error_at_line): Fix ';;'.
33045 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
33047         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
33048         * m4/gnulib-common.m4 (AC_C_RESTRICT):
33049         Override AC_C_RESTRICT unconditionally.
33050         Update from autoconf, incorporating:
33051         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
33052         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
33054 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
33056         manywarnings: add GCC 4.9 warnings
33057         Also, make it easier to maintain this in the future.
33058         * build-aux/gcc-warning.spec: Add -Wabi-tag,
33059         -Wconditionally-supported, -Wdelete-incomplete,
33060         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
33061         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
33062         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
33063         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
33064         only for older GCC versions that need them.  Handle
33065         -Wnormalized=nfc specially, so that the 'comm' command used
33066         for maintenance doesn't get confused.
33068 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
33070         vasnprintf: fix bugs in width computation
33071         * lib/vasnprintf.c (VASNPRINTF):
33072         Rework previous change, which introduced a bug,
33073         to avoid the warning in a different way.
33074         Avoid undefined behavior if the width arg is less than -INT_MAX.
33075         Avoid unnecessary use of HAS_WIDTH local.
33077 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
33079         vasnprintf: Avoid signed/unsigned comparison warning.
33080         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
33081         compare end addr of generated string w/ maximum end addr.
33083 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
33085         parse-datetime: Avoid pointer difference.
33086         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
33087         instead of calculating difference of pointers.  This removes an
33088         annoying warning, devoid of any use.
33090 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
33092         qsort_r: new module, for GNU-style qsort_r
33093         This works even on FreeBSD, which has an incompatible qsort_r API.
33094         * MODULES.html.sh: Add it.
33095         * doc/glibc-functions/qsort_r.texi: It's now supported.
33096         * lib/qsort.c: New file, taken from glibc with minor changes
33097         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
33098         removed.
33099         * lib/qsort_r.c: New file, compiled only on FreeBSD.
33100         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
33101         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
33102         * modules/qsort_r, modules/qsort_r-tests: New files.
33103         * modules/stdlib (Makefile): Set up its defaults.
33104         * tests/test-qsort_r.c: New file.
33106 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
33108         vla: new module
33109         GNU RCS can use this, mostly for documentation I expect.  See:
33110         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
33111         * MODULES.html.sh: Add vla.
33112         * lib/vla.h, modules/vla: New files.
33114 2014-08-07  Daiki Ueno  <ueno@gnu.org>
33116         localename: make gl_locale_name_thread really thread-safe on Windows
33117         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
33118         "glthread/lock.h".
33119         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
33120         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
33122 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
33124         getpass: don't assume struct termios
33125         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
33126         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
33127         * lib/getpass.c (getpass): Port to systems lacking struct termios.
33129         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
33130         Problem reported by Jonas 'Sortie' Termansen in:
33131         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
33132         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
33133         Implement via sysconf for platforms that lack getdtablesize.
33135         vararrays: modernize AC_C_VARARRAYS for C11
33136         This backports a change I recently made to Autoconf.
33137         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
33138         VLAs are not supported, as this is what C11 does.  The old macro
33139         HAVE_C_VARARRAYS is still defined if they are supported, but is
33140         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
33142 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
33144         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
33145         * build-aux/install-reloc (func_create_wrapper): Also wrap
33146         strerror-override, stat, stat.
33148 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
33150         sys_select: fix FD_ZERO problem on Solaris 10
33151         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
33152         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
33153         to expand to an expression that invoked memset without necessarily
33154         including <string.h>.  The problem was that the first include
33155         defined _SYS_TIME_H, causing the second include to short-circuit.
33156         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
33157         Also, fix what appears to be a cut-and-paste typo, by replacing
33158         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
33159         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
33161         accept: document Solaris 10 type glitch
33162         * doc/posix-functions/accept.texi (accept): Mention that
33163         Solaris 10 'accept' takes void * last arg, not socklen_t *.
33165 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
33167         extern-inline: port to FreeBSD, DragonFly
33168         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
33169         is present if either __DragonFly__ or __FreeBSD__ is defined.
33170         FreeBSD problem reported by Andrey Borzenkov in:
33171         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
33172         Also, worry about __APPLE__ only if __MACH__ is also defined,
33173         as this is more consistent with the rest of gnulib.
33174         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
33175         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
33177 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
33179         regex: Make #if/#ifdef usage consistent for DEBUG
33180         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
33181         of the inconsistent usage of #if and #ifdef as that works with
33182         both Glibc and Gnulib's style.
33184 2014-07-31  Eric Blake  <eblake@redhat.com>
33186         openat-die: use _Noreturn markup
33187         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
33188         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
33189         _Noreturn.
33191 2014-07-30  Eric Blake  <eblake@redhat.com>
33193         test-open: port to cygwin, which lacks Fortify
33194         * tests/test-open.h (ALWAYS_INLINE): New macro.
33195         (__always_inline): Don't abuse internal symbol on non-glibc.
33197 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
33199         localename: Enforce declarations before statements.
33200         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
33201         first statement.
33203 2014-07-18  Jim Meyering  <meyering@fb.com>
33205         test-userspec: don't look up numeric user names
33206         * tests/test-userspec.c: I found a system for which getpwnam("0")
33207         returned a pointer to a non-root user's entry, and that made the
33208         test fail.
33209         (T): Prefix each numeric input with "+", to inhibit lookup.
33211 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
33213         localcharset, localename: MS-Windows support for non-default locales
33214         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
33215         falling back on the default system codepage, try extracting
33216         the codepage from what 'setlocale' returns.  This allows to
33217         take into account changes of the codeset due to non-default
33218         locale set by a previous call to 'setlocale'.
33219         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
33220         Define if not already defined.
33221         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
33222         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
33223         current locale by calling 'setlocale', then converting the
33224         locale name into LCID by calling 'get_lcid'.  This allows to
33225         take into account changes in the current locale from the
33226         default one, in contrast to GetThreadLocale.
33228 2014-07-14  Daiki Ueno  <ueno@gnu.org>
33230         announce-gen: avoid failure when Digest::SHA is installed
33231         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
33232         Digest::SHA1->new in print_checksums fails.
33233         * build-aux/announce-gen (digest_classes): New associative array
33234         for available message digest implementations.
33235         (print_locations): Use it.
33237 2014-07-13  Pádraig Brady  <P@draigBrady.com>
33239         gettext: revert "update macros to version 0.19"
33240         This reverts commit 9b9370ca, as it currently requires that
33241         developers of any project that explicitly uses the gettext module
33242         or implicitly uses it through the utimens-tests or
33243         futimens-tests modules, use gettext >= 0.19.
33244         However there are some stability and availablity issues with
33245         that version at present.  We can reinstate this soon, when stability
33246         is addressed and packages are more readily available.
33248 2014-07-12  Jim Meyering  <meyering@fb.com>
33250         regex: don't deref NULL upon heap allocation failure
33251         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
33252         failure in one more place.
33253         To trigger the segfault, configure grep -with-included-regex,
33254         build it, and run these commands:
33255         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
33256         I discovered this while replying to a private report from
33257         Jens Schleusener about excessive memory consumption by grep
33258         when using a regular expression like the one above.
33260 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
33262         regex: fix memory leak in compiler
33263         Fix by Andreas Schwab in:
33264         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
33265         * lib/regcomp.c (parse_reg_exp): Deallocate partially
33266         constructed tree before returning error.
33268 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
33270         announce-gen: avoid perl warnings
33271         * build-aux/announce-gen: add two minor checks to avoid
33272         "use of uninitialized value" warnings when command-line parameters are
33273         missing.
33275 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
33277         localename: avoid -Wsuggest-attribute={const,pure} warnings
33278         * lib/localename.c (string_has): Tag internal function as pure.
33279         * lib/localename.h (gl_locale_name_default): Tag extern declaration
33280         as const when appropriate.
33282 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
33284         nl_langinfo: Fix last change.
33285         * lib/nl_langinfo.c (includes): Drop redundant include.
33287 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
33289         error: Fix -Wundef warnings in glibc
33290         * lib/error.c [_LIBC]: Define default macros for
33291         glibc.
33292         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
33293         Check _LIBC before STRERROR_R_CHAR_P.
33295         error: Sync from glibc master
33296         * lib/error.c [_LIBC]: Remove INTUSE usage.
33297         (error_tail): Remove unused macro ALLOCA_LIMIT.
33298         Fix potential buffer overflow.  Fix potential NULL dereference
33299         in strcmp.
33301 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
33303         nl_langinfo: fix build under mingw
33304         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
33306 2014-07-09  Andrew D Warshall  <warshall@99main.com>
33308         mountlist: do not classify a bind-mounted dir entry as "dummy"
33309         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
33310         1-argument getmntent() (instead of assuming absence).
33312 2014-07-08  Eric Blake  <eblake@redhat.com>
33314         maint.mk: less syntax-check noise when SIGPIPE is ignored
33315         * top/maint.mk (_sc_header_without_use)
33316         (sc_require_config_h_first): Parse full list.
33318 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
33319             Paul Eggert  <eggert@cs.ucla.edu>
33321         nl_langinfo: CODESET on MS-Windows and more items from localeconv
33322         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
33323         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
33324         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
33325         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
33326         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
33327         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
33328         Include <stdio.h> if Microsoft Windows.
33329         Include <time.h> if !REPLACE_NL_LANGINFO.
33330         (ctype_codeset): New function, taken from rpl_nl_langinfo,
33331         and with improvements for Microsoft Windows.
33332         (rpl_nl_langinfo): Use it.
33333         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
33334         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
33335         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
33336         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
33337         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
33338         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
33339         corresponding values returned by 'localeconv'.  Compute the values
33340         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
33341         'strftime' with a suitable struct tm value.
33343 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
33345         Bruno Haible has stepped down as maintainer.
33346         See Karl Berry in:
33347         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
33348         Daiki Ueno has volunteered to maintain libunistring; see:
33349         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
33350         * modules/gen-uni-tables, modules/libunistring:
33351         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
33352         * modules/unicase/base, modules/unicase/cased:
33353         * modules/unicase/empty-prefix-context:
33354         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
33355         * modules/unicase/locale-language, modules/unicase/special-casing:
33356         * modules/unicase/tocasefold, modules/unicase/tolower:
33357         * modules/unicase/totitle, modules/unicase/toupper:
33358         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
33359         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
33360         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
33361         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
33362         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
33363         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
33364         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
33365         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
33366         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
33367         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
33368         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
33369         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
33370         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
33371         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
33372         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
33373         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
33374         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
33375         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
33376         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
33377         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
33378         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
33379         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
33380         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
33381         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
33382         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
33383         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
33384         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
33385         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
33386         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
33387         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
33388         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
33389         * modules/unicase/ulc-casexfrm, modules/unicodeio:
33390         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
33391         * modules/uniconv/u16-conv-to-enc:
33392         * modules/uniconv/u16-strconv-from-enc:
33393         * modules/uniconv/u16-strconv-from-locale:
33394         * modules/uniconv/u16-strconv-to-enc:
33395         * modules/uniconv/u16-strconv-to-locale:
33396         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
33397         * modules/uniconv/u32-strconv-from-enc:
33398         * modules/uniconv/u32-strconv-from-locale:
33399         * modules/uniconv/u32-strconv-to-enc:
33400         * modules/uniconv/u32-strconv-to-locale:
33401         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
33402         * modules/uniconv/u8-strconv-from-enc:
33403         * modules/uniconv/u8-strconv-from-locale:
33404         * modules/uniconv/u8-strconv-to-enc:
33405         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
33406         * modules/unictype/bidicategory-all:
33407         * modules/unictype/bidicategory-byname:
33408         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
33409         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
33410         * modules/unictype/bidiclass-byname:
33411         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
33412         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
33413         * modules/unictype/block-all, modules/unictype/block-list:
33414         * modules/unictype/block-of, modules/unictype/block-test:
33415         * modules/unictype/category-C, modules/unictype/category-Cc:
33416         * modules/unictype/category-Cf, modules/unictype/category-Cn:
33417         * modules/unictype/category-Co, modules/unictype/category-Cs:
33418         * modules/unictype/category-L, modules/unictype/category-LC:
33419         * modules/unictype/category-Ll, modules/unictype/category-Lm:
33420         * modules/unictype/category-Lo, modules/unictype/category-Lt:
33421         * modules/unictype/category-Lu, modules/unictype/category-M:
33422         * modules/unictype/category-Mc, modules/unictype/category-Me:
33423         * modules/unictype/category-Mn, modules/unictype/category-N:
33424         * modules/unictype/category-Nd, modules/unictype/category-Nl:
33425         * modules/unictype/category-No, modules/unictype/category-P:
33426         * modules/unictype/category-Pc, modules/unictype/category-Pd:
33427         * modules/unictype/category-Pe, modules/unictype/category-Pf:
33428         * modules/unictype/category-Pi, modules/unictype/category-Po:
33429         * modules/unictype/category-Ps, modules/unictype/category-S:
33430         * modules/unictype/category-Sc, modules/unictype/category-Sk:
33431         * modules/unictype/category-Sm, modules/unictype/category-So:
33432         * modules/unictype/category-Z, modules/unictype/category-Zl:
33433         * modules/unictype/category-Zp, modules/unictype/category-Zs:
33434         * modules/unictype/category-all, modules/unictype/category-and:
33435         * modules/unictype/category-and-not, modules/unictype/category-byname:
33436         * modules/unictype/category-longname, modules/unictype/category-name:
33437         * modules/unictype/category-none, modules/unictype/category-of:
33438         * modules/unictype/category-or, modules/unictype/category-test:
33439         * modules/unictype/category-test-withtable:
33440         * modules/unictype/combining-class:
33441         * modules/unictype/combining-class-all:
33442         * modules/unictype/combining-class-byname:
33443         * modules/unictype/combining-class-longname:
33444         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
33445         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
33446         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
33447         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
33448         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
33449         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
33450         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
33451         * modules/unictype/digit, modules/unictype/joininggroup-all:
33452         * modules/unictype/joininggroup-byname:
33453         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
33454         * modules/unictype/joiningtype-all:
33455         * modules/unictype/joiningtype-byname:
33456         * modules/unictype/joiningtype-longname:
33457         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
33458         * modules/unictype/mirror, modules/unictype/numeric:
33459         * modules/unictype/property-all, modules/unictype/property-alphabetic:
33460         * modules/unictype/property-ascii-hex-digit:
33461         * modules/unictype/property-bidi-arabic-digit:
33462         * modules/unictype/property-bidi-arabic-right-to-left:
33463         * modules/unictype/property-bidi-block-separator:
33464         * modules/unictype/property-bidi-boundary-neutral:
33465         * modules/unictype/property-bidi-common-separator:
33466         * modules/unictype/property-bidi-control:
33467         * modules/unictype/property-bidi-embedding-or-override:
33468         * modules/unictype/property-bidi-eur-num-separator:
33469         * modules/unictype/property-bidi-eur-num-terminator:
33470         * modules/unictype/property-bidi-european-digit:
33471         * modules/unictype/property-bidi-hebrew-right-to-left:
33472         * modules/unictype/property-bidi-left-to-right:
33473         * modules/unictype/property-bidi-non-spacing-mark:
33474         * modules/unictype/property-bidi-other-neutral:
33475         * modules/unictype/property-bidi-pdf:
33476         * modules/unictype/property-bidi-segment-separator:
33477         * modules/unictype/property-bidi-whitespace:
33478         * modules/unictype/property-byname:
33479         * modules/unictype/property-case-ignorable:
33480         * modules/unictype/property-cased:
33481         * modules/unictype/property-changes-when-casefolded:
33482         * modules/unictype/property-changes-when-casemapped:
33483         * modules/unictype/property-changes-when-lowercased:
33484         * modules/unictype/property-changes-when-titlecased:
33485         * modules/unictype/property-changes-when-uppercased:
33486         * modules/unictype/property-combining:
33487         * modules/unictype/property-composite:
33488         * modules/unictype/property-currency-symbol:
33489         * modules/unictype/property-dash:
33490         * modules/unictype/property-decimal-digit:
33491         * modules/unictype/property-default-ignorable-code-point:
33492         * modules/unictype/property-deprecated:
33493         * modules/unictype/property-diacritic:
33494         * modules/unictype/property-extender:
33495         * modules/unictype/property-format-control:
33496         * modules/unictype/property-grapheme-base:
33497         * modules/unictype/property-grapheme-extend:
33498         * modules/unictype/property-grapheme-link:
33499         * modules/unictype/property-hex-digit:
33500         * modules/unictype/property-hyphen:
33501         * modules/unictype/property-id-continue:
33502         * modules/unictype/property-id-start:
33503         * modules/unictype/property-ideographic:
33504         * modules/unictype/property-ids-binary-operator:
33505         * modules/unictype/property-ids-trinary-operator:
33506         * modules/unictype/property-ignorable-control:
33507         * modules/unictype/property-iso-control:
33508         * modules/unictype/property-join-control:
33509         * modules/unictype/property-left-of-pair:
33510         * modules/unictype/property-line-separator:
33511         * modules/unictype/property-logical-order-exception:
33512         * modules/unictype/property-lowercase, modules/unictype/property-math:
33513         * modules/unictype/property-non-break:
33514         * modules/unictype/property-not-a-character:
33515         * modules/unictype/property-numeric:
33516         * modules/unictype/property-other-alphabetic:
33517         * modules/unictype/property-other-default-ignorable-code-point:
33518         * modules/unictype/property-other-grapheme-extend:
33519         * modules/unictype/property-other-id-continue:
33520         * modules/unictype/property-other-id-start:
33521         * modules/unictype/property-other-lowercase:
33522         * modules/unictype/property-other-math:
33523         * modules/unictype/property-other-uppercase:
33524         * modules/unictype/property-paired-punctuation:
33525         * modules/unictype/property-paragraph-separator:
33526         * modules/unictype/property-pattern-syntax:
33527         * modules/unictype/property-pattern-white-space:
33528         * modules/unictype/property-private-use:
33529         * modules/unictype/property-punctuation:
33530         * modules/unictype/property-quotation-mark:
33531         * modules/unictype/property-radical:
33532         * modules/unictype/property-sentence-terminal:
33533         * modules/unictype/property-soft-dotted:
33534         * modules/unictype/property-space:
33535         * modules/unictype/property-terminal-punctuation:
33536         * modules/unictype/property-test, modules/unictype/property-titlecase:
33537         * modules/unictype/property-unassigned-code-value:
33538         * modules/unictype/property-unified-ideograph:
33539         * modules/unictype/property-uppercase:
33540         * modules/unictype/property-variation-selector:
33541         * modules/unictype/property-white-space:
33542         * modules/unictype/property-xid-continue:
33543         * modules/unictype/property-xid-start:
33544         * modules/unictype/property-zero-width, modules/unictype/scripts:
33545         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
33546         * modules/unictype/syntax-c-whitespace:
33547         * modules/unictype/syntax-java-ident:
33548         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
33549         * modules/unigbrk/u16-grapheme-breaks:
33550         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
33551         * modules/unigbrk/u32-grapheme-breaks:
33552         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
33553         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
33554         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
33555         * modules/unigbrk/uc-is-grapheme-break:
33556         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
33557         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
33558         * modules/unilbrk/u16-width-linebreaks:
33559         * modules/unilbrk/u32-possible-linebreaks:
33560         * modules/unilbrk/u32-width-linebreaks:
33561         * modules/unilbrk/u8-possible-linebreaks:
33562         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
33563         * modules/unilbrk/ulc-possible-linebreaks:
33564         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
33565         * modules/uniname/uniname, modules/uninorm/base:
33566         * modules/uninorm/canonical-decomposition:
33567         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
33568         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
33569         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
33570         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
33571         * modules/uninorm/nfkc, modules/uninorm/nfkd:
33572         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
33573         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
33574         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
33575         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
33576         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
33577         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
33578         * modules/unistdio/base, modules/unistdio/u-printf-args:
33579         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
33580         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
33581         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
33582         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
33583         * modules/unistdio/u16-u16-sprintf:
33584         * modules/unistdio/u16-u16-vasnprintf:
33585         * modules/unistdio/u16-u16-vasprintf:
33586         * modules/unistdio/u16-u16-vsnprintf:
33587         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
33588         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
33589         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
33590         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
33591         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
33592         * modules/unistdio/u32-u32-asnprintf:
33593         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
33594         * modules/unistdio/u32-u32-sprintf:
33595         * modules/unistdio/u32-u32-vasnprintf:
33596         * modules/unistdio/u32-u32-vasprintf:
33597         * modules/unistdio/u32-u32-vsnprintf:
33598         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
33599         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
33600         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
33601         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
33602         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
33603         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
33604         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
33605         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
33606         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
33607         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
33608         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
33609         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
33610         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
33611         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
33612         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
33613         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
33614         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
33615         * modules/unistr/u16-check, modules/unistr/u16-chr:
33616         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
33617         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
33618         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
33619         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
33620         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
33621         * modules/unistr/u16-move, modules/unistr/u16-next:
33622         * modules/unistr/u16-prev, modules/unistr/u16-set:
33623         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
33624         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
33625         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
33626         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
33627         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
33628         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
33629         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
33630         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
33631         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
33632         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
33633         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
33634         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
33635         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
33636         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
33637         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
33638         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
33639         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
33640         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
33641         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
33642         * modules/unistr/u32-next, modules/unistr/u32-prev:
33643         * modules/unistr/u32-set, modules/unistr/u32-startswith:
33644         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
33645         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
33646         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
33647         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
33648         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
33649         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
33650         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
33651         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
33652         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
33653         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
33654         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
33655         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
33656         * modules/unistr/u8-check, modules/unistr/u8-chr:
33657         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
33658         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
33659         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
33660         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
33661         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
33662         * modules/unistr/u8-next, modules/unistr/u8-prev:
33663         * modules/unistr/u8-set, modules/unistr/u8-startswith:
33664         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
33665         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
33666         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
33667         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
33668         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
33669         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
33670         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
33671         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
33672         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
33673         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
33674         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
33675         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
33676         * modules/uniwbrk/base, modules/uniwbrk/table:
33677         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
33678         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
33679         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
33680         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
33681         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
33682         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
33683         * modules/uniwidth/width, modules/utf16-ucs4:
33684         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
33685         * modules/utf8-ucs4-unsafe:
33686         Change maintainer from Bruno Haible to Daiki Ueno.
33687         This is my guess at the libunistring modules; please feel free
33688         to fix if I guessed incorrectly.
33689         * modules/accept4, modules/acl, modules/acos, modules/acosf:
33690         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
33691         * modules/areadlink, modules/array-list, modules/array-mergesort:
33692         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
33693         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
33694         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
33695         * modules/binary-io, modules/bison-i18n, modules/btowc:
33696         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
33697         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
33698         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
33699         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
33700         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
33701         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
33702         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
33703         * modules/closedir, modules/concat-filename, modules/copy-file:
33704         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
33705         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
33706         * modules/csharpcomp-script, modules/csharpexec:
33707         * modules/csharpexec-script, modules/ctype, modules/diffseq:
33708         * modules/dprintf, modules/dprintf-posix, modules/dup:
33709         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
33710         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
33711         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
33712         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
33713         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
33714         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
33715         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
33716         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
33717         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
33718         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
33719         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
33720         * modules/findprog, modules/findprog-lgpl, modules/floor:
33721         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
33722         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
33723         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
33724         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
33725         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
33726         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
33727         * modules/freadable, modules/freadahead, modules/freadptr:
33728         * modules/freadseek, modules/freopen, modules/frexp:
33729         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
33730         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
33731         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
33732         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
33733         * modules/ftello, modules/full-read, modules/full-write:
33734         * modules/fwritable, modules/fwriteerror, modules/gcd:
33735         * modules/get-rusage-as, modules/get-rusage-data:
33736         * modules/getdtablesize, modules/getrusage, modules/gettext:
33737         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
33738         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
33739         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
33740         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
33741         * modules/iconv, modules/iconv-h, modules/iconv_open:
33742         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
33743         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
33744         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
33745         * modules/integer_length_ll, modules/ioctl, modules/isatty:
33746         * modules/isblank, modules/isnand, modules/isnand-nolibm:
33747         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
33748         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
33749         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
33750         * modules/javaexec, modules/javaexec-script, modules/javaversion:
33751         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
33752         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
33753         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
33754         * modules/lib-symbol-visibility, modules/libsigsegv:
33755         * modules/linked-list, modules/linkedhash-list, modules/list:
33756         * modules/localcharset, modules/locale, modules/localeconv:
33757         * modules/localename, modules/lock, modules/log, modules/log-ieee:
33758         * modules/log10, modules/log10-ieee, modules/log10f:
33759         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
33760         * modules/log1p, modules/log1p-ieee, modules/log1pf:
33761         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
33762         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
33763         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
33764         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
33765         * modules/logf, modules/logf-ieee, modules/login_tty:
33766         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
33767         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
33768         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
33769         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
33770         * modules/mbscspn, modules/mbsinit, modules/mbslen:
33771         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
33772         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
33773         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
33774         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
33775         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
33776         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
33777         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
33778         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
33779         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
33780         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
33781         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
33782         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
33783         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
33784         * modules/posix_spawn, modules/posix_spawn-internal:
33785         * modules/posix_spawn_file_actions_addclose:
33786         * modules/posix_spawn_file_actions_adddup2:
33787         * modules/posix_spawn_file_actions_addopen:
33788         * modules/posix_spawn_file_actions_destroy:
33789         * modules/posix_spawn_file_actions_init:
33790         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
33791         * modules/posix_spawnattr_getpgroup:
33792         * modules/posix_spawnattr_getschedparam:
33793         * modules/posix_spawnattr_getschedpolicy:
33794         * modules/posix_spawnattr_getsigdefault:
33795         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
33796         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
33797         * modules/posix_spawnattr_setschedparam:
33798         * modules/posix_spawnattr_setschedpolicy:
33799         * modules/posix_spawnattr_setsigdefault:
33800         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
33801         * modules/pow, modules/powf, modules/printf-frexp:
33802         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
33803         * modules/progname, modules/propername, modules/pselect:
33804         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
33805         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
33806         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
33807         * modules/read, modules/readdir, modules/readlink:
33808         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
33809         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
33810         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
33811         * modules/relocatable-script, modules/remainder:
33812         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
33813         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
33814         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
33815         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
33816         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
33817         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
33818         * modules/setlocale, modules/sh-quote, modules/shutdown:
33819         * modules/signal, modules/signbit, modules/sigpipe:
33820         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
33821         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
33822         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
33823         * modules/snippet/link-warning, modules/snippet/unused-parameter:
33824         * modules/snprintf, modules/snprintf-posix, modules/spawn:
33825         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
33826         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
33827         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
33828         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
33829         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
33830         * modules/streq, modules/strerror_r-posix, modules/striconv:
33831         * modules/striconveh, modules/striconveha, modules/strncat:
33832         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
33833         * modules/sublist, modules/sys_resource, modules/sys_utsname:
33834         * modules/sys_wait, modules/system-posix, modules/system-quote:
33835         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
33836         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
33837         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
33838         * modules/truncf, modules/truncf-ieee, modules/truncl:
33839         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
33840         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
33841         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
33842         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
33843         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
33844         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
33845         * modules/wait-process, modules/waitpid, modules/wcpcpy:
33846         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
33847         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
33848         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
33849         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
33850         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
33851         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
33852         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
33853         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
33854         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
33855         * modules/write, modules/xconcat-filename, modules/xlist:
33856         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
33857         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
33858         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
33859         * modules/y0, modules/y1, modules/yn:
33860         Remove Bruno Haible as maintainer; if he's the sole maintainer,
33861         change the maintainer to 'all'.  Let's hope someone volunteers.
33863 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
33865         mktime: merge #if/#ifdef usage from glibc
33866         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
33867         as that works with both Glibc's and Gnulib's style.
33868         See thread starting at Siddhesh Poyarekar's bug report at:
33869         http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html
33871 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
33873         git-version-gen: improve option descriptions
33874         * build-aux/git-version-gen: Mention that --prefix and --fallback
33875         have a mandatory argument.
33877 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
33879         regex: fix memory leak in compiler
33880         Fix by Andreas Schwab in:
33881         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
33882         * lib/regcomp.c (parse_expression): Deallocate partially
33883         constructed tree before returning error.
33885         regex: merge patch from libc
33886         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
33887         Combine __USE_BSD and __USE_SVID into __USE_MISC.
33888         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
33890 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
33892         acl: port to gcc -Wredundant-decls
33893         From a request by Dmitry Antipov in:
33894         http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
33895         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
33896         "#ifndef _GL_ACL_H".
33898 2014-06-11  Bruce Korb  <bkorb@gnu.org>
33899         Jim Meyering  <meyering@fb.com>
33901         parse-duration: eliminate 68-year duration limit
33902         * lib/parse-duration.c: Include "intprops.h".
33903         (TIME_MAX): Rename to MAX_DURATION and define to
33904         TYPE_MAXIMUM(time_t).
33905         * modules/parse-duration (Depends-on): Add intprops.
33906         Reported by Jonas 'Sortie' Termansen.
33908 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
33910         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
33911         * modules/pthread (Depends-on): Add 'extensions', as it defines
33912         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
33913         (configure.ac-early): New section.
33914         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
33915         it is no longer needed.
33917 2014-06-14  Pádraig Brady  <P@draigBrady.com>
33919         pthread: define thread-safe macros on some platforms
33920         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
33921         for thread-safe operation on some platforms.
33923 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
33925         regex: don't be multithreaded if USE_UNLOCKED_IO.
33926         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
33927         * lib/regex_internal.h: Do not use multithreaded version if
33928         USE_UNLOCKED_IO is defined.  This is a hack, but it works
33929         around a porting bug with coreutils 8.22 on AIX 7.1.
33931 2014-06-11  Daiki Ueno  <ueno@gnu.org>
33933         gettext: update macros to version 0.19
33934         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
33935         depend on gl_EXTERN_INLINE and drop support for older Bison
33936         versions.
33938 2014-06-10  Pádraig Brady  <P@draigBrady.com>
33940         select,poll: fix console handle check on windows 8
33941         lib/poll.c (IsConsoleHandle): Change from testing the lower
33942         2 bits of the handle to the more expensive but accurate syscall.
33943         lib/select.c: Likewise.
33945 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
33947         select: fix waiting on anonymous pipes on MS-Windows
33948         * lib/select.c (rpl_select): Fall back to polling when select()
33949         indicates there is nothing to check, while due to the timeout not
33950         expiring, activity is indicated on one of the handles.
33951         Also clear the TIMEOUT argument if the timer does expire.
33953 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
33955         times: fix to return non constant value on MS-Windows
33956         * lib/times.c (times): Don't use the process creation time,
33957         rather clock() which on windows returns the number of
33958         clock ticks since the process started.
33960 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
33962         isatty: fix to work on windows 8
33963         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
33964         2 bits of the handle to the more expensive but accurate syscall.
33966 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
33968         maint: fix typo in fdl.texi
33969         * doc/fdl.texi: Fix typo (missing '@').
33970         Somehow this was in fdl.texi but not fdl-1.3.texi.
33972 2014-06-06  Ben Walton  <bdwalton@gmail.com>
33974         mountlist: avoid hasmntopt const type warning on solaris
33975         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
33976         with char * instead of const char *.  Passing the constant string
33977         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
33978         to avoid the warning.
33980 2014-06-04  Eric Blake  <eblake@redhat.com>
33982         maintainer-makefile: delete obsolete code
33983         * top/maint.mk (build_aux): Drop old code, as threatened.
33985         maintainer-makefile: avoid spurious error messages
33986         * top/maint.mk (syntax-check): Guard definition and use of
33987         $(shell) by whether Makefile is present.
33989 2014-06-03  Ben Walton  <bdwalton@gmail.com>
33991         rename: avoid unused-but-set-variable compiler warning
33992         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
33993         it is possible that dst_exists may be set but not used.  Mark it with
33994         the unused attribute to avoid compiler warnings.
33996 2014-06-02  Ben Walton  <bdwalton@gmail.com>
33998         rename: mark a label as potentially unused
33999         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
34000         by marking the out label as potentially unused.
34001         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
34003 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
34005         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
34006         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
34008 2014-06-02  Ben Walton  <bdwalton@gmail.com>
34010         acl: apply pure attribute to two functions
34011         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
34012         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
34014 2014-06-01  Pádraig Brady  <P@draigBrady.com>
34016         gnulib-common.m4: add _GL_UNUSED_LABEL
34017         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
34018         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
34020 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
34022         dup2, fcntl, fcntl-h: port to AIX 7.1
34023         This fixes some porting problems discovered when testing the latest
34024         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
34025         in grep but it could be important for other applications.
34026         * doc/posix-functions/dup2.texi:
34027         * doc/posix-functions/fcntl.texi:
34028         * doc/posix-headers/fcntl.texi:
34029         Document AIX bugs.
34030         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
34031         Define to 0 if outside 'int' range.
34032         * m4/dup2.m4 (gl_FUNC_DUP2):
34033         * m4/fcntl.m4 (gl_FUNC_FCNTL):
34034         Check for getdtablesize.  If it's available, test a value just
34035         outside its range instead of testing 1000000.  When cross-compiling,
34036         guess that AIX will fail this improved test.
34038 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
34040         printf, config.rpath: Port to FreeBSD 10.
34041         Problem reported by Tijl Coosemans in:
34042         http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
34043         * build-aux/config.rpath (hardcode_libdir_flag_spec)
34044         (hardcode_direct): Simplify FreeBSD configuration.
34045         (library_names_spec): Don't mishandle FreeBSD 10+.
34046         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
34047         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
34048         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
34049         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
34050         Don't mishandle FreeBSD 10+ when cross-compiling.
34052         ftoastr: work around compiler bug in IBM xlc 12.1
34053         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
34054         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
34055         around a compiler bug in IBM xlc 12.1.0.0: it complains
34056         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
34057         _GL_FLT_PREC_BOUND.'
34059 2014-05-30  Kieran Colford  <colfordk@gmail.com>
34061         valgrind-tests: fixed misleading help message
34062         * m4/valgrind-tests.m4: The help message generated by configure
34063         implied that valgrind was disabled by default, which it wasn't.
34064         Adjusted the help message using s/enable/disable/ to clarify.
34066 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
34068         isfinite, isinf, isnan tests: fix for little-endian PowerPC
34069         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
34070         first double of a PowerPC "double double" pair.
34071         * tests/test-isinf.c (test_isinfl): Likewise.
34072         * tests/test-isnan.c (test_long_double): Likewise.
34073         * tests/test-isnanl.h (main): Likewise.
34074         * tests/test-signbit.c (test_signbitl): Likewise.
34076 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
34078         exclude-tests: port to AIX 7.1
34079         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
34080         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
34081         the regex code uses locks.
34083 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
34085         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
34086         Without this fix, Emacs would sometimes call sigprocmask instead
34087         of pthread_sigmask, which is a no-no in multithreaded applications.
34088         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
34089         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
34090         Suppress check for pthread_sigmask working without -lpthread if
34091         the application always links with -lpthread.  Do not link with
34092         $LIBMULTITHREAD if gl_THREADLIB is not defined.
34093         * m4/timer_time.m4 (gl_TIMER_TIME):
34094         Require gl_THREADLIB only if it is defined.  Do not append
34095         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
34097 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
34099         gnulib-tool: wget translations using --no-verbose rather than --quiet
34100         This allows the user to see error messages if any (--quiet hides them)
34101         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
34103 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
34105         gnulib-tool: adjust translation wget to avoid a https redirection
34106         Context: http://translationproject.org/latest/gnulib redirects to
34107            https://translationproject.org/latest/gnulib/
34108         Rationale: if the user falls back to wget, she doesn't have rsync and
34109         is probably in a minimal build environment, where packages such as
34110         'ca-certificates' are missing as well, resulting in a failed (and
34111         difficult to detect since ignored) translation initial fetch.
34112         Consequently let's avoid https if possible, and add the missing
34113         trailing slash.  This also avoids an unnecessary 302 redirection.
34114         * gnulib-tool: Add trailing slash to gnulib URL.
34116 2014-05-22  Pádraig Brady  <P@draigBrady.com>
34118         getlogin_r-tests: check return value rather than errno
34119         * tests/test-getlogin_r.c (main): As per POSIX we should be
34120         verifying the return value from getlogin_r() rather than errno.
34122 2014-05-22  Pádraig Brady  <P@draigBrady.com>
34124         getlogin_r-tests: fix various issues in recent change
34125         * tests/test-getlogin_r.c: Include required headers that were
34126         missed in recent commit eec20b4e.
34127         Also consistently check the errno rather than the return value from
34128         getlogin_r as POSIX only specifies that non zero is returned on error.
34129         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
34131 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
34133         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
34134         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
34135         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
34136         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
34137         * lib/spawn-pipe.c:
34138         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
34139         and then 'int open64(const char *, int, ...);', which means the
34140         declaration for 'open' gets lost if we later '#undef open'.
34141         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
34142         where the compilation reported the non-fatal error "In function
34143         'openat_proc_name' ... warning: implicit declaration of function
34144         'open'".  In this case the error is relatively harmless, but in
34145         other cases it might not be so minor.
34147 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
34149         xalloc: don't potentially generate invalid code for xmemdup calls
34150         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
34151         this function can initialize the newly-allocated storage with new
34152         pointers, which means this function is not malloc-like.  See:
34153         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
34155 2014-05-19  Pádraig Brady  <P@draigBrady.com>
34157         getlogin_r-tests: avoid false failure under sudo/ssh etc.
34158         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
34159         changes from commit 97249cf29 to not depend on environment variables.
34161 2014-05-18  Pádraig Brady  <P@draigBrady.com>
34163         getlogin-tests: avoid false failure under cron
34164         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
34165         since that's not what's under test.  Centos 6 was seen to return
34166         EINVAL for ttyname() when run from cron.
34168 2014-05-16  Jim Meyering  <meyering@fb.com>
34170         mbrtowc.m4: fix a comment typo
34171         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
34172         emitted documentation string.
34174 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
34176         mbrlen, mbrtowc: fix bug with empty input
34177         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
34178         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
34179         so this is mainly for documentation.
34180         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
34181         (gl_FUNC_MBRTOWC): Use it.
34182         * tests/test-mbrtowc.c (main): Test for the bug.
34184 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
34186         doc: document mbrtowc and mbrlen problem with empty input
34187         * doc/posix-functions/mbrlen.texi (mbrlen):
34188         * doc/posix-functions/mbrtowc.texi (mbrtowc):
34189         Document portability problem when the input string is empty.  See:
34190         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
34192         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
34193         Problem reported by Eli Zaretskii in:
34194         http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
34195         * doc/posix-functions/execl.texi (execl):
34196         * doc/posix-functions/execle.texi (execle):
34197         * doc/posix-functions/execlp.texi (execlp):
34198         * doc/posix-functions/execv.texi (execv):
34199         * doc/posix-functions/execve.texi (execve):
34200         * doc/posix-functions/execvp.texi (execvp):
34201         Mention spawn+exit problem on non-Cygwin Windows platforms.
34203 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
34205         getlogin-tests: avoid false failure under sudo/ssh etc.
34206         * modules/getlogin-tests (configure.ac): Check for ttyname().
34207         * tests/test-getlogin.c (main): Don't depend on environment variables
34208         to correlate with getlogin(), since sudo and ssh etc. can tamper
34209         with the LOGNAME and USER env vars.  Instead lookup the name from
34210         the uid associated with the stdin tty.
34212 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
34214         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
34215         These were found when building the latest grep snapshot on IRIX 6.5.
34216         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
34217         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
34218         never used later.
34219         * lib/quotearg.c (quoting_options_from_style):
34220         * lib/xstrtol.c (__xstrtol):
34221         Use enum instead of 0, to pacify IRIX 6.5 cc.
34223 2014-04-18  Pádraig Brady  <P@draigBrady.com>
34225         gitlog-to-changelog: revert inclusion of git-log-fix file
34226         * build-aux/git-log-fix: Delete dummy file.
34227         * modules/gitlog-to-changelog: Don't reference (overwrite)
34228         the project specific git-log-fix file.
34230 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
34232         maint.mk: Relax the copyright check to cater for non FSF projects
34233         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
34234         to not require the "Free" suffix after the copyright years.
34236 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
34238         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
34239         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
34240         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
34241         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
34242         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
34244 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
34246         exclude: port to strict C99
34247         Strict C does not allow converting a function pointer to void *
34248         and vice versa.  Pass a pointer to a function pointer instead.
34249         * lib/exclude.c (add_exclude_file):
34250         Pass the address of the function pointer.
34251         (call_addfn): And deference the address here, to match.
34253 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
34255         regex: do not depend on malloc-gnu
34256         * modules/regex (Depends-on): Remove malloc-gnu.
34257         It's no longer needed, because of the 2012-12-29 patch
34258         "regex: port to hosts where malloc (0) == NULL".
34259         Reported by Nathan Kennedy in:
34260         http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html
34262 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
34264         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
34265         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
34266         * doc/posix-functions/expl.texi: Mention the workaround.
34268 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
34270         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
34271         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
34272         size to be zero even when the pointer is nonnull.  This
34273         accommodates the use case where P is malloc (0) and *PN is 0 on a
34274         host where malloc (0) yields nonnull.
34276 2014-04-09  Eric Blake  <eblake@redhat.com>
34278         fts: avoid unnecessary strlen calls
34279         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
34281 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
34283         fts: avoid unnecessary strlen calls
34284         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
34285         when that can be faster than strlen.
34287 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
34289         fts: avoid unnecessary strlen calls
34290         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
34291         (fts_build): Store the length of the dp->d_name entry in a local variable
34292         instead of calling strlen() several times via the above, removed macro.
34293         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
34294         run by ~4%, yet this reduces the execution time by about a third if run
34295         via "ltrace -c rm -rf some-dir".
34297 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
34299         obstack: Remove ancient NeXTSTEP gcc support conditional
34300         This change will ease merging with glibc.  The "#if ... __NEXT__"
34301         causes a warning with -Wundef which glibc now enables by default.
34302         Problem reported by Will Newton in
34303         <http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
34304         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
34305         so go with that.
34306         * lib/obstack.h (__extension__):
34308 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
34310         obstack: merge with glibc changes
34311         * lib/obstack.c, lib/obstack.h: Merge from glibc.
34312         This is mostly indenting and commentary changes.
34313         Instances of 'register' have been removed.
34315 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
34317         strftime: wrap macros in "do {...} while(0)"
34318         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
34319         this macro in "do {...} while(0)" to prevent false use as a
34320         single statement, e.g., in an un-braced "{}" else-block.
34321         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
34322         (strftime_case_): Remove 'else' after 'goto' - which was the
34323         only non-fatal, un-braced use of one of the above macros.
34324         Spotted by coverity (NESTING_INDENT_MISMATCH).
34326 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
34328         modechange: avoid memory leaks for invalid octal modes
34329         * lib/modechange.c (mode_compile): During the parsing of
34330         notations like +40, free the 'mc' buffer for invalid mode
34331         strings like +17777 (greater than the maximum octal mode),
34332         =18 (bad octal mode characters) or u=1 ('affected' with
34333         octal modes).
34334         Reproducer, e.g.:
34335             $ valgrind --leak-check=full chmod +17777 file
34336         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
34337         add notations +40, 00440, etc.".
34338         Spotted by coverity (RESOURCE_LEAK).
34340 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
34342         gitlog-to-changelog: include a dummy git-log-fix file
34343         Problem reported by Nathan Stratton Treadway in:
34344         http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
34345         * build-aux/git-log-fix: New file.
34347 2014-03-13  Jim Meyering  <meyering@fb.com>
34349         gitlog-to-changelog: also include the file, git-log-fix
34350         * modules/gitlog-to-changelog (Files): Add git-log-fix.
34351         Reported by Assaf Gordon.
34353 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
34355         regex: port to OS X 10.8.5 en_US.UTF-8 locale
34356         This fixes a bug when ignoring case and when comparing the
34357         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
34358         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
34359         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
34360         titlecase letter is neither lowercase nor uppercase, but
34361         uppercasing the titlecase letter (via towupper) yields the
34362         uppercase letter, so the two letters should match when ignoring case.
34363         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
34364         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
34365         Don't test whether a character is lowercase before uppercasing it.
34367 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
34369         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
34370         This is basically one of the options Bruno Haible proposed in:
34371         http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
34372         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
34373         * lib/stdint.in.h: Use it.
34374         * modules/stdint (Depends-on): Add sys_types.
34376 2014-02-26  Pádraig Brady  <P@draigBrady.com>
34378         parse-datetime: fix crash or infloop in TZ="" parsing
34379         * lib/parse-datetime.y (parse_datetime): Break out of the
34380         TZ="" parsing loop once the second significant " is found.
34381         Also skip over any subsequent whitespace to be consistent
34382         with the non TZ= case.
34383         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
34385 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
34387         savedir: new symbol for fast-read version
34388         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
34389         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
34390         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
34391         http://lists.gnu.org/r/coreutils/2014-02/msg00037.html
34393 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
34395         unistd: port readlink to Mac OS X 10.3.9
34396         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
34397         around self-include problem in Mac OS X 10.3.9 when combined with
34398         readlink module.  Problem reported by Klaus Zietler in
34399         <http://bugs.gnu.org/16825>.
34401 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
34403         diffseq: remove TOO_EXPENSIVE heuristic
34404         Problem with diffutils reported by Vincent Lefevre in
34405         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
34406         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
34407         Although appropriate for circa-1993 hardware, these days the heuristic
34408         seems to be more trouble than it's worth.
34409         * lib/diffseq.h: Modernize citations.
34410         (struct context): Remove member too_expensive.
34411         All uses changed.
34412         (struct partition): Remove members lo_minimal, hi_minimal.
34413         All uses changed.
34414         (diag, compareseq): Remove arg find_minimal.  All uses changed.
34415         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
34416         1993 to make 'diff' run faster (but not as well) on large inputs.
34417         These days, computers are fast enough that it's typically better
34418         to run slower but more accurately.
34419         * lib/fstrcmp.c: Remove duplicate comment.
34420         * lib/fstrcmp.c (strcmp_bounded):
34421         * lib/git-merge-changelog.c (compute_differences):
34422         Adjust to diffseq.h changes.
34423         * NEWS: Document the change.
34425         savedir: simplify by using stpcpy
34426         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
34427         (streamsavedir): Use stpcpy instead.
34428         * modules/savedir (Depends-on): Add stpcpy.
34430 2014-02-21  Pádraig Brady  <P@draigBrady.com>
34432         spawn: fix link error on uclibc
34433         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
34434         to incorporate -lrt if needed (on uclibc for example).
34435         * modules/posix_spawn: Reference the substituted LIB.
34437 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
34438         timer: fix uClibc detection of threading
34439         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
34440         enabled in uClibc.
34442 2014-02-21  Eric Blake  <eblake@redhat.com>
34444         maintainer-makefiles: provide AC_PROG_SED for older autoconf
34445         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
34447 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
34449         exclude: add support for posix regexps
34451         This commit adds support for POSIX extended regular expressions
34452         and fixes a long-standing memory leak (pattern buffer was never
34453         freed).  It also implements a new interface function to read
34454         exclude patterns from a FILE, which passes an additional parameter
34455         to its callback function, thereby allowing to preserve its state
34456         between invocations.
34458         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
34459         (pattern_buffer): New struct.
34460         (exclude): New member patbuf.
34461         (exclude_add_pattern_buffer): New function.
34462         (free_exclude_segment): Free regexps.
34463         (free_exclude): Free allocated pattern buffers.
34464         (exclude_patopts): New function.
34465         (file_pattern_matches): Use exclude_patopts.
34466         (add_exclude): support regexps.
34467         (add_exclude_fp): New function.
34468         (add_exclude_file): Rewrite using add_exclude_fp.
34469         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
34470         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
34471         (add_exclude_fp)
34472         (add_exclude_file): Rewrite using add_exclude_fp.
34473         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
34474         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
34475         (add_exclude_fp)
34476         (exclude_add_pattern_buffer): New prototypes.
34477         * modules/exclude: Depends on regex and filename.
34479 2014-02-20  Eric Blake  <eblake@redhat.com>
34481         maintainer-makefiles: use $(SED) for syntax check
34482         * modules/maintainer-makefile (configure.ac): Check for sane sed.
34483         * top/maint.mk: Change sed to $(SED).
34485 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
34486             Paul Eggert  <eggert@cs.ucla.edu>
34488         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
34489         Patch based on an idea by Dick Streefland in
34490         <https://savannah.gnu.org/patch/?7892>.
34491         * NEWS: Document this.
34492         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
34493         (direntry_t, comparison_function): New types.
34494         (direntry_cmp_name): New function.
34495         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
34496         (streamsavedir, savedir): New arg OPTION.
34497         (streamsavedir): Simplify memory allocation.
34498         (fdsavedir): Remove.
34499         * lib/savedir.h (enum savedir_option): New type.
34500         (streamsavedir, savedir): New arg OPTION.
34501         (fdsavedir): Remove.
34503 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
34505         file-type: add support for doors and other less-common file types
34506         Problem with S_ISDOOR reported by Rich Burridge.
34507         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
34508         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
34509         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
34511 2014-01-23  Eric Blake  <eblake@redhat.com>
34513         pthread: work around winpthread header pollution on mingw
34514         * lib/time.in.h: Move pthread workarounds...
34515         * lib/pthread.in.h: ...here.
34516         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
34517         detect macro pollution on mingw.
34518         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
34520 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
34522         qacl: check for fchmod
34523         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
34524         and qset-acl.c both use HAVE_FCHMOD.
34526 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
34528         fdopen-tests: port to Tru64
34529         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
34530         descriptor that is not open, as POSIX doesn't specify the
34531         resulting behavior and the test does not work on Tru64.
34532         Problem reported by Steven M. Schweda in:
34533         http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html
34535         stdalign: port to HP-UX compilers
34536         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
34537         if __HP_cc or __HP_aCC are nonzero.
34539 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
34541         strtoimax: port to platforms lacking 'long long'
34542         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
34543         check whether strtoll is declared, which causes the C file to
34544         wrongly report an error.  Problem reported by Steven M. Schweda in:
34545         http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
34546         * lib/strtoimax.c (strtoull):
34547         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
34548         (strtoll): Declare only if HAVE_LONG_LONG_INT.
34550 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
34552         relocatable-perl: fix texi syntax
34553         * doc/relocatable-maint.texi: Escape braces.
34555 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
34557         relocatable-perl: like relocatable-script, but for Perl scripts
34558         * build-aux/relocatable.pl.in: Add.
34559         * doc/relocatable-maint.texi: Add documentation.
34560         * modules/relocatable-perl: Add.
34562 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
34564         tests: fix export bug in previous patch
34565         Problem reported by Jim Meyering.
34566         * tests/init.sh (re_shell): New var, which is exported instead of
34567         re_shell_.
34569         tests: simplify porting to Solaris 10 /bin/sh
34570         Some test cases in 'grep' need a shell that groks '$(';
34571         export re_shell_ for their benefit.  Problem reported for 'grep'
34572         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
34573         * tests/init.sh (re_shell_): Export if it's used.
34575 2014-01-06  Eric Blake  <eblake@redhat.com>
34577         md5, sha1, sha256, sha512: support older autoconf
34578         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
34579         for autoconf < 2.63b.
34581         include_next: port to autoconf 2.63
34582         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
34584 2014-01-04  Jim Meyering  <meyering@fb.com>
34586         maint: add a gnulib-local rule to keep non-ascii out of .texi files
34587         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
34588         so that "make sc_maint" will ding anyone who puts non-ascii
34589         in any of gnulib's .texi files.
34591 2014-01-03  Jim Meyering  <meyering@fb.com>
34593         freadable, fwritable, fwriting: declare with the "pure" attribute
34594         * lib/freadable.h (freadable): Declare with the "pure" attribute.
34595         * lib/fwritable.h (fwritable): Likewise.
34596         * lib/fwriting.h (fwriting): Likewise.
34597         Suggested by Bruno Haible.
34599         maint.mk: adapt openat.h-include-without-use test
34600         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
34601         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
34602         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
34603         With this change, running "make sc_maint" in gnulib's top-level
34604         directory now passes for me.
34606 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
34608         doc: use ASCII in .texi files where UTF-8 isn't needed
34609         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
34610         * doc/posix-functions/setkey.texi, doc/regex.texi:
34611         Use ASCII input, not UTF-8.
34613 2014-01-02  Jim Meyering  <meyering@fb.com>
34615         freading: declare with the "pure" attribute
34616         * lib/freading.h (freading): Declare with the "pure" attribute.
34618         manywarnings: remove -Wmudflap
34619         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
34620         it is no longer supported in gcc-4.9-to-be.
34622 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34624         relocatable-script: remove unused code
34625         Problem reported by Reuben Thomas in:
34626         http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
34627         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
34629 2014-01-01  Jim Meyering  <meyering@fb.com>
34631         maint: fix public-submodule-commit to work with newer git
34632         * top/maint.mk (public-submodule-commit): Remove excess quoting.
34633         We were over-quoting the test arguments, and somewhere prior to
34634         version 1.8.5.2.229, git stopped removing those excess quotes,
34635         which made the test fail, since the unexpanded strings would
34636         always differ; using GIT_TRACE=1 confirmed that the git merge-base
34637         command wasn't even being run.
34639 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34641         doc: update main copyright year
34642         * doc/gnulib.texi: Update copyright date.
34644 2014-01-01  Eric Blake  <eblake@redhat.com>
34646         version-etc: new year
34647         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
34648         * all files: run 'make update-copyright'
34650 2013-12-24  Eric Blake  <eblake@redhat.com>
34652         passfd: give nicer error for recvfd at eof
34653         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
34654         * tests/test-passfd.c (main): Enhance test to cover this.
34656 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
34658         gettimeofday: port recent C++ fix to Emacs
34659         Without this further patch, Emacs won't build due to
34660         the portcheck failing.  Also, this simplifies the patch a bit.
34661         * lib/time.in.h (localtime, gmtime): Don't replace unless
34662         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
34663         * lib/time.in.h (localtime, gmtime):
34664         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
34665         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
34666         * modules/time (time.h):
34667         Don't worry about the possibility of localtime and gmtime
34668         being absent; they're present in all C libraries we know about.
34669         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
34670         Don't assume sys_time is present and has been initialized.
34671         Instead, use a hack that should work even if it hasn't been.
34672         Don't use a portcheck for gmtime or localtime; this supports
34673         the hack.
34674         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
34676 2013-12-17  John W. Eaton  <jwe@gnu.org>
34678         gettimeofday: fix C++ crosscompilation
34680         Never replace gmtime and localtime by macros when compiling with
34681         C++, this prevents <ctime> from being included.
34683         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
34684         define gmtime and localtime as preprocessor macros.  Instead
34685         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
34686         REPLACE_LOCALTIME substitutions.
34687         * lib/time.in.h: Declare gmtime and localtime when needed.
34688         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
34689         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
34690         * modules/time: Depend on gettimeofday, and substitute the above
34691         variables in time.h.
34693 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
34695         qacl: port to Windows better
34696         See Eli Zaretskii in
34697         <http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
34698         * lib/file-has-acl.c (acl_access_nontrivial):
34699         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
34700         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
34702 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
34704         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
34705         * lib/gl_openssl.h: Cast void pointers to a specific type.
34707 2013-12-07  Pádraig Brady  <P@draigBrady.com>
34709         open-tests: fix build failure with -Werror=old-style-declaration
34710         * tests/test-open.h: Reorder the inline to avoid the issue.
34712 2013-12-07  Pádraig Brady  <P@draigBrady.com>
34714         md5, sha1, sha256, sha512: fix link error with partial libcrypto
34715         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
34716         init time, so that if early checks find crypto routines,
34717         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
34718         avoiding link failures.
34720 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
34722         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
34723         This provides a new way to specify the default for
34724         gl_CRYPTO_CHECK, one that is reflected in the --help message.
34725         Emacs uses this, as well as the old way.
34726         This attempts to implement a suggestion by Pádraig Brady in
34727         <http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
34728         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
34729         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
34731         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
34732         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
34733         Add support for a new option, --with-openssl=auto, which causes
34734         the library to be used if available and silently ignored if not.
34735         Add support to allow configure.ac to specify its own
34736         default, by setting with_openssl_default before invoking gl_INIT.
34738 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
34740         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
34741         Problem reported by Daiki Ueno in:
34742         http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
34743         * tests/test-open.h (__always_inline):
34744         New macro, if not already defined.
34745         (test_open): Use it.
34747 2013-12-04  Eric Blake  <eblake@redhat.com>
34749         include_next: minimize code duplication
34750         * modules/include_next (Depends-on): Add absolute-header.
34751         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
34752         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
34754 2013-12-04  Pádraig Brady  <P@draigBrady.com>
34756         getcwd: fix compile error in configure check
34757         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
34759 2013-12-04  Pádraig Brady  <P@draigBrady.com>
34761         regex: suppress core dumps from detection code
34762         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
34763         to suppress core dumps that may well occur on glibc systems.
34764         These core dumps might not be cleaned up automatically, or could
34765         trigger some system core dump handling logic.
34767 2013-12-03  Pádraig Brady  <P@draigBrady.com>
34769         md5, sha1, sha256, sha512: support mandating use of openssl
34770         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
34771         description, to list the now 3 separate options.  also don't
34772         mention the default=no, since this is implicit given the option
34773         is described as --with-openssl rather than --without-openssl.
34774         If projects change the default they're free to document that.
34775         with --with-openssl[=yes] we now error out when the specified
34776         hash algorithm is not available in libcrypto.
34778 2013-12-03  Ivailo  <xakepa10@gmail.com>
34780         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
34781         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
34782         -Wformat-nonliteral checks, as these edge cases are part of the test.
34784 2013-12-03  Eric Blake  <eblake@redhat.com>
34786         regex: avoid glibc deadlock during configure
34787         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
34788         glibc bug 15078 in turn triggers bug 16159.
34789         Reported by Michal Privoznik.
34791 2013-12-02  Pádraig Brady  <P@draigBrady.com>
34793         md5, sha1, sha256, sha512: use openssl routines if available.
34794         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
34795         routines will be used if available, requiring apps to link @LIB_CRYPTO@
34796         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
34797         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
34798         in the standard system location.
34799         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
34800         * m4/sha256.m4: Likewise with SHA256.
34801         * m4/sha512.m4: Likewise with SHA512.
34802         * m4/md5.m4: Likewise with MD5.
34803         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
34804         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
34805         * lib/sha256.h: Likewise with SHA256.
34806         * lib/sha512.h: Likewise with SHA512.
34807         * lib/md5.h: Likewise with MD5.
34808         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
34809         * lib/sha256.c: Likewise with SHA256.
34810         * lib/sha512.c: Likewise with SHA512.
34811         * lib/md5.c: Likewise with MD5.
34812         * modules/crypto/sha1 (Link:): Add the new optional lib.
34813         (Depends-on:): Add dependency on extern-inline.
34814         * modules/crypto/sha256: Likewise.
34815         * modules/crypto/sha512: Likewise.
34816         * modules/crypto/md5: Likewise.
34817         * modules/crypto/sha1-tests: Reference the lib here too.
34818         * modules/crypto/md5-tests: Likewise.
34819         * modules/crypto/gc-des-tests: Likewise.
34820         * modules/crypto/gc-hmac-md5-tests: Likewise.
34821         * modules/crypto/gc-hmac-sha1-tests: Likewise.
34822         * modules/crypto/gc-hmac-sha256-tests: Likewise.
34823         * modules/crypto/gc-hmac-sha512-tests: Likewise.
34824         * modules/crypto/gc-md5-tests: Likewise.
34825         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
34826         * modules/crypto/gc-sha1-tests: Likewise.
34827         * modules/crypto/gc-tests: Likewise.
34828         * modules/crypto/hmac-md5-tests: Likewise.
34829         * modules/crypto/hmac-sha1-tests: Likewise.
34830         * modules/crypto/hmac-sha256-tests: Likewise.
34831         * modules/crypto/hmac-sha512-tests: Likewise.
34833 2013-11-29  RV1971  <rv1971@web.de>
34835         base64: (trivial) fix compilation regression on some compilers
34836         * lib/base64.c: Don't return the void function,
34837         instead split to a separate return statement.
34839 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
34841         ignore-value: revert previous code change
34842         * lib/ignore-value.h (ignore_value): Use __extension__ and
34843         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
34844         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
34845         Change the comment to try to explain this better.
34847 2013-11-27  Pádraig Brady  <P@draigBrady.com>
34849         selinux-h: improve stub types and add more stub functions
34851         * lib/se-selinux.in.h: Change security_context_t to a typedef
34852         rather than a define, as it's a pointer type and so is better
34853         as a typedef to avoid issues declaring multiple variables
34854         with the comma operator.  Also add stub for string_to_security_class().
34855         * lib/se-context.in.h: Add stub functions for
34856         context_{type,range,role,user}_get().
34858 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
34860         ignore-value: prefer GCC version back through 2.0
34861         The code didn't match the comments, so I did a bit of software
34862         archaeology.  GCC 2.0 seems to support __extension__ and
34863         __typeof__, so fix both code and comments to use 2.0.
34864         * lib/ignore-value.h (ignore_value): Use __extension__ and
34865         __typeof__ for GCC 2.0 through 3.3, too.
34867 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
34869         pty: Activate the signature wrapper of forkpty.
34870         The intended preprocessor macro HAVE_FORKPTY is
34871         never defined, yet `lib/forkpty.c' depends on it.
34873         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
34874         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
34875         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
34877 2013-11-18  Jim Meyering  <meyering@fb.com>
34878         and Paul Eggert  <eggert@cs.ucla.edu>
34880         quotearg: don't attempt to store 1 << 31 into an "int"
34881         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
34882         gcc's new -fsanitize=undefined and running its tests triggered some
34883         new test failures due to undefined behavior, all with this diagnostic:
34884           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
34885             cannot be represented in type int
34886         Rather than shifting "1" left to form a mask, shift the bits right and
34887         simply use "1" as the mask.
34889 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
34891         error: depend on stdio
34892         Problem reported by Nikos Mavrogiannopoulos in
34893         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
34894         * modules/error (Depends-on): Add stdio.
34896 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
34898         * doc/relocatable-maint.texi (Supporting Relocation): Improve
34899         wording.
34900         Reported by Reuben Thomas <rrt@sc3d.org>.
34902 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
34904         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
34905         New function and macro, to work around _DARWIN_C_SOURCE problem.
34906         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
34908 2013-11-11  Pádraig Brady  <P@draigBrady.com>
34910         base64: provide a fast path for encoding well sized buffers
34911         Avoid conditionals in the base64 encoding loop,
34912         which was seen to give 60% better throughput.
34913         * lib/base64.c (base64_encode_fast): A new function to be called
34914         when we don't want to NUL terminate, and we have enough space
34915         in the output to encode the given input.
34916         (base64_encode): Call the _fast() version when appropriate.
34917         Also remove a redundant mask with 0x3F on the first encoded byte.
34919 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
34921         extern-inline: port better to OS X 10.9
34922         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
34923         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
34924         OS X 10.9, except for g++ where the bug is still present.
34925         See <http://trac.macports.org/ticket/41033>.
34927 2013-11-08  Eric Blake  <eblake@redhat.com>
34929         fpending: fix regression on DragonFly BSD
34930         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
34931         * lib/fpending.h (__fpending): Don't declare twice.
34932         Reported by GW in
34933         <https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>
34935 2013-11-05  Jim Meyering  <meyering@fb.com>
34937         hash: relax license to LGPLv2+, for libguestfs
34938         * modules/hash (License): Change from GPL to LGPLv2+.
34940 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
34942         intprops: port to Oracle Studio c99
34943         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
34944         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
34946 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
34948         obstack: pacify HP C
34949         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
34950         warning "conversion from pointer to smaller integer" from HP
34951         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
34952         C89 or later nowadays, so cast to void instead of int.  Privately
34953         reported by H.Merijn Brand.  Also, change header to match glibc's,
34954         to make checking against glibc easier.
34956 2013-10-29  Jim Meyering  <meyering@fb.com>
34958         maint.mk: prefer gpgv2 over gpgv
34959         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
34960         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
34961         Reported by Gary Vaughan.
34963 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
34965         isnan: port to VAX
34966         Reported by John Klos for NetBSD-5/VAX in
34967         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
34968         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
34969         (FUNC): Use it.
34971 2013-10-28  Jim Meyering  <meyering@fb.com>
34973         gnulib-tool: protect against CDPATH
34974         * gnulib-tool: Many "cd" built-in functions print a directory name
34975         to stdout when CDPATH is set, e.g.,
34976           $ bash -c 'CDPATH=/; cd tmp'
34977           /tmp
34978         Unset it, when possible.  Prompted by a comment from Bruce Korb.
34980         maint.mk: restore functionality removed by recent change...
34981         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
34982         the context of a shallow-cloned gnulib repository: "git describe"
34983         would fail in such a directory.  However, that change made it so
34984         the reported gnulib revision no longer includes the version number
34985         or a commit count, even when run from a full clone.
34986         * top/maint.mk (gnulib-version): Use the full "git describe"
34987         output when possible, e.g., the form above, rather than the
34988         abbreviated, no-tag, no-commit-count string, and fall back to
34989         using a 10-byte hash, rather than the default minimal-length
34990         hash prefix, since while the minimal-length one may be fine today,
34991         it is likely not to be unique for very long.
34993 2013-10-26  Jim Meyering  <meyering@fb.com>
34995         maint.mk: fix "release" target to build _version
34996         This fixes a bug in README-release whereby following the outlined
34997         steps, one would publish a tarball whose programs would report
34998         --version output not consistent with the package version number.
34999         This bug caused grep-2.15 to produce a grep program whose
35000         --version option made it print 2.14.56-1e3d rather than 2.15.
35001         * top/maint.mk (release): Making this target build "_version"
35002         ensures that the new version number is reflected in configure.
35004 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
35006         install-reloc: Support multi-binary installation.
35007         * build-aux/install-reloc: Support installing multiple programs in
35008         one invocation, as done by Automake starting with commit
35009         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
35010         Haible <bruno@clisp.org>, archived at
35011         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
35012         Reported by Sylvain <beuc@gnu.org>.
35014 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
35016         selinux-h: Really build without selinux when library is missing.
35017         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
35018         continue without selinux, as already told in the warning message.
35020 2013-10-21  Jim Meyering  <meyering@fb.com>
35022         regex: also remove dependency on HAVE_WCSCOLL
35023         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
35025 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
35027         xfreopen: Fix typo. s/frepoen/freopen/
35028         * lib/xfreopen.c: Fix description.
35029         * modules/xfreopen: Likewise.
35031 2013-10-21  Jim Meyering  <meyering@fb.com>
35033         regex: don't depend on wcscoll
35034         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
35035         It is no longer used.
35037 2013-10-20  Jim Meyering  <meyering@fb.com>
35039         error: add the printf attribute to a static function
35040         * lib/error.c (error_tail): Add the printf attribute, to placate
35041         gcc's -Werror=suggest-attribute=format option.
35043 2013-09-30  Jim Meyering  <meyering@fb.com>
35045         fpending, obstack, strerror-override: use pure+const function attrs
35046         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
35047         * lib/obstack.c (_obstack_allocated_p): Likewise.
35048         * lib/obstack.h (_obstack_memory_used): Likewise.
35049         (_obstack_memory_used): Likewise.
35050         * lib/strerror-override.h (strerror_override): Declare with
35051         the "const" attribute.
35053 2013-10-18  Eric Blake  <eblake@redhat.com>
35055         extern-inline: make safe for -Wundef usage
35056         Reported by Vladimir 'phcoder' Serbinenko in
35057         https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
35058         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
35060 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
35062         mkfifo-tests, etc.: allow HP-UX 11.11 bug
35063         Problem reported by Daniel Richard G. in
35064         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
35065         * doc/posix-functions/mkfifo.texi (mkfifo):
35066         * doc/posix-functions/mkfifoat.texi (mkfifoat):
35067         * doc/posix-functions/mknod.texi (mknod):
35068         * doc/posix-functions/mknodat.texi (mknodat):
35069         Document the HP-UX 11.11 bug.
35070         * tests/test-mkfifo.h (test_mkfifo):
35071         Allow the HP-UX 11.11 bug.
35073 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
35075         acl: allow cross-compilation to Gentoo
35076         Problem reported by Gabriel Marcano in
35077         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
35078         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
35079         test only whether it links.
35081 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
35083         mgetgroups: remove dependency on realloc-gnu
35084         The dependency violates the comment in realloc-gnu, which
35085         says that tests can't depend on realloc-gnu; some tests depend
35086         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
35087         Problem reported by Daniel Richard G. in
35088         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
35089         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
35090         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
35091         not realloc-gnu.
35093 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
35095         regex-tests: port to HP-UX 11.11
35096         Problem reported by Daniel Richard G. in
35097         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
35098         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
35100 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
35102         verify: document some 'assume' pitfalls
35103         * doc/verify.texi (Compile-time Assertions):
35104         Mention that 'assume (E)' can sometimes slow things down.
35105         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
35107 2013-10-10  Eric Blake  <eblake@redhat.com>
35109         strtoumax: fix typo in previous commit.
35110         * modules/strtoumax (Depends-on): Fix typo.
35111         * modules/strtoimax (Depends-on): Likewise.
35113 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
35115         strtoumax: port to Solaris 8
35116         This problem was introduced in the recent HP-UX patch.
35117         Reported by Tom G. Christensen in
35118         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
35119         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
35120         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
35122 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
35124         strtoimax, strtoumax: port to HP-UX 11.11
35125         Problem reported by Daniel Richard G. in
35126         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
35127         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
35128         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
35129         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
35130         REPLACE_STRTOUMAX.
35131         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
35132         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
35133         Replace the function if defined as a macro but not as a function.
35134         * modules/inttypes-incomplete (inttypes.h): Substitute
35135         REPLACE_STRTOUMAX.
35136         * modules/strtoumax (configure.ac): Replace strtoumax if
35137         REPLACE_STRTOUMAX.
35139 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
35141         strtoimax: port to HP-UX 11.11
35142         Problem reported by Daniel Richard G.
35143         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
35144         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
35145         they might clash with inttypes.h.
35147 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
35149         New module 'count-trailing-zeros'.
35150         * MODULES.html.sh: Mention it.
35151         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
35152         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
35153         * modules/count-trailing-zeros-tests:
35154         * tests/test-count-trailing-zeros.c:
35155         New files.
35157         count-leading-zeros: port to MSC; support types wider than 64 bits
35158         The ideas behind the MSC port are stolen from Emacs.
35159         * lib/count-leading-zeros.h:
35160         Don't include verify.h: it's no longer needed, as types wider than
35161         64 bits are now supported.
35162         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
35163         performance with MSC.  All uses changed.  Do not assume that TYPE
35164         has at most 64 bits.
35165         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
35166         All uses changed.  Fold the subtraction from 31 into the table.
35168         count-one-bits: port to MSC; support types wider than 64 bits
35169         The ideas behind the MSC port are stolen from Emacs.
35170         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
35171         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
35172         Don't include verify.h: it's no longer needed, as types wider than
35173         64 bits are now supported.
35174         (COUNT_ONE_BITS_GENERIC): New macro.
35175         (popcount_supported) [_MSC_VER]: New inline function.
35176         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
35177         performance with MSC.  All uses changed.  Do not assume that TYPE
35178         has at most 64 bits.
35179         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
35181 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
35183         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
35184         * lib/mountlist.c (read_file_system_list): fix leak of directory
35185         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
35187 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
35189         tests: improve diagnostic when an assertion fails
35190         * tests/macros.h (ASSERT): Report the assertion that failed.
35192 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
35194         verify: new macro 'assume'
35195         This is taken from Emacs, and should be generally useful.
35196         * doc/verify.texi (assume): Document it.
35197         * lib/verify.h (assume): New macro.
35198         (__has_builtin): Expand to 0 if not defined.
35200 2013-09-26  Eric Blake  <eblake@redhat.com>
35202         dup2, dup3: work around another cygwin crasher
35203         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
35204         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
35205         * tests/test-dup2.c (main): Likewise.
35206         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
35207         * lib/dup3.c (dup3): Likewise.
35208         * doc/posix-functions/dup2.texi (dup2): Document it.
35209         * doc/glibc-functions/dup3.texi (dup3): Likewise.
35211         getdtablesize: work around cygwin issue
35212         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
35213         * modules/getdtablesize (configure.ac): Build replacement.
35214         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
35215         * modules/unistd (Makefile.am): Expose the witness.
35216         * lib/unistd.in.h (getdtablesize): Declare replacement.
35217         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
35218         * tests/test-getdtablesize.c (main): Test it.
35219         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
35221 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
35223         pmccabe2html: escaping of special characters
35224         Escape all '<', '>', and '&' in HTML output.
35225         * build-aux/pmccabe2html (html_fnc): Call gsub()
35226         instead of sub() to capture all '<', '>', and '&'.
35227         Neither of '<' and '>' is special in a regexp,
35228         so first arguments to gsub() are corrected. Also,
35229         in replacement strings, ampersand must be escaped.
35230         Finally, '&' must be handled first, then '<' and '>'.
35232 2013-09-24  Eric Blake  <eblake@redhat.com>
35234         manywarnings: enable nicer gcc warning messages
35235         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
35236         some -f options for optimal warnings.
35238 2013-09-21  Jim Meyering  <meyering@fb.com>
35240         timespec: use the new TIMESPEC_RESOLUTION in a few more places
35241         * lib/timespec-add.c (timespec_add): Also replace 999999999
35242         with TIMESPEC_RESOLUTION - 1.
35243         * lib/timespec-sub.c (timespec_sub): Likewise.
35245 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
35247         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
35248         Problem reported by Dagobert Michelsen via Eric Blake in
35249         <http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
35250         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
35251         not AC_COMPILE_IFELSE.
35253 2013-09-23  Eric Blake  <eblake@redhat.com>
35255         configmake: support new --runstatedir option
35256         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
35257         even if autoconf was too old to provide the command line option.
35258         * modules/configmake (Makefile.am): Propagate it to .h file.
35260 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
35262         ctype, string: depend on extern-inline
35263         This is needed to complete the recent OS X fixes.
35264         Also, fix related documentation as suggested by Eric Blake.
35265         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
35266         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
35267         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
35268         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
35269         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
35270         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
35271         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
35272         * doc/posix-functions/toupper.texi:
35273         List the 'ctype' gnulib module.
35274         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
35275         * doc/posix-functions/strncpy.texi:
35276         List the 'string' gnulib module.
35277         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
35278         Add string.
35279         * modules/ctype, modules/string (Depends-on): Add extern-inline.
35281 2013-09-19  Pádraig Brady  <P@draigBrady.com>
35283         userspec: support optional parameters to parse_user_spec()
35284         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
35285         then avoid group processing and treat the full spec as a user.
35286         (parse_with_separator): Allow the USERNAME and GROUPNAME to
35287         be optional params (NULL), in which case they're ignored.
35289 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
35291         timespec: new function make_timespec, and new constants
35292         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
35293         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
35294         (make_timespec): New function.
35295         * lib/dtotimespec.c (dtotimespec):
35296         * lib/timespec-add.c (timespec_add):
35297         * lib/timespec-sub.c (timespec_sub):
35298         * lib/utimens.c (validate_timespec):
35299         * lib/utimensat.c (rpl_utimensat):
35300         Use these new constants and functions.
35302         stdio: OS X port of putc_unlocked + extern inline
35303         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
35304         * doc/posix-functions/putc_unlocked.texi:
35305         * doc/posix-functions/putchar_unlocked.texi:
35306         Document this portability problem.
35308         signal: OS X port of sigaddset etc. + extern inline
35309         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
35310         (sigismember): #undef on problematic Apple platforms.
35311         * doc/posix-functions/sigaddset.texi:
35312         * doc/posix-functions/sigdelset.texi:
35313         * doc/posix-functions/sigemptyset.texi:
35314         * doc/posix-functions/sigfillset.texi:
35315         * doc/posix-functions/sigismember.texi:
35316         Document this portability problem.
35318         extern-inline: do not always suppress extern inline on OS X
35319         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
35320         extern inline on Apple only if the particular compile-time
35321         configuration is known to have the problem.
35322         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
35323         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
35324         other Gnulib modules.
35326         extern-inline: document fixes for ctype and wctype macros
35327         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
35328         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
35329         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
35330         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
35331         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
35332         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
35333         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
35334         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
35335         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
35336         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
35337         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
35338         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
35339         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
35340         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
35341         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
35342         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
35343         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
35344         * doc/posix-functions/strncpy.texi:
35345         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
35346         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
35347         Document that Gnulib fixes portability problems with these
35348         functions on OS X 10.8 and earlier when called from plain inline
35349         or extern inline functions.
35351 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
35353         fflush, freadahead, fseeko: Fix for Android
35354         Suggested by Bruno Haible in:
35355         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
35356         * lib/stdio-impl.h: Use local __sfileext definition.
35358 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
35360         pmccabe2html: Portability to other awk versions.
35361         The functions systime() and strftime() are available
35362         in Gawk only.  Properly close two HTML-tags 'style'
35363         and 'span'.
35364         * build-aux/pmccabe2html (BEGIN): Store timing
35365         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
35366         systime() in HTML_COMMENT.
35367         (html_header): Correctly close tag 'style'.
35368         (END): Replace strftime() by CHRONOS_TIME.  Close
35369         tag 'span' correctly, not as 'div'.
35371 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
35373         getgroups: statement without effect
35374         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
35375         Change equality conditional to expected assignment.
35377 2013-09-09  Eric Blake  <eblake@redhat.com>
35379         glob: fix compilation
35380         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
35382 2013-09-07  Eric Blake  <eblake@redhat.com>
35384         glob: fix build for platforms without __THROW
35385         * lib/glob.in.h (__THROW): Add definition again.
35387 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
35389         regex-quote: fix buffer access out of bounds
35390         http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
35391         * lib/regex-quote.c (regex_quote_spec_pcre):
35392         Fix typo that resulted in an out-of-bounds read.
35394 2013-09-04  Eric Blake  <eblake@redhat.com>
35396         glob: avoid -Wattribute warnings on glibc
35397         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
35398         __THROWNL, not __THROW, on static functions.
35399         * lib/glob.in.h (__THROW): Adjust...
35400         (__THROWNL): ...accordingly.
35402 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
35404         headers: check that _GL_INLINE_HEADER_BEGIN is defined
35405         Suggested by Bruce Korb in:
35406         http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
35407         * doc/extern-inline.texi (extern inline):
35408         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
35409         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
35410         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
35411         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
35412         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
35413         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
35414         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
35415         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
35416         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
35417         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
35418         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
35419         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
35420         * lib/xtime.h:
35421         Check that _GL_INLINE_HEADER_BEGIN is defined.
35423 2013-08-29  Pádraig Brady  <P@draigBrady.com>
35425         bootstrap: remove the --version requirement from ancillary tools
35426         * build-aux/bootstrap (check_exists): A new refactored function to
35427         determine if a command exists.
35428         (find_tool): Use the new function which does not require the
35429         --version option to be supported.
35430         (check_versions): Use the new function.
35432 2013-08-26  Simon Josefsson  <simon@josefsson.org>
35434         gc: support HMAC-SHA256 and HMAC-SHA512.
35435         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
35436         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
35437         functions.
35438         (gc_hmac_md5): Use symbolic constant.
35439         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
35440         (gc_hmac_sha256, gc_hmac_sha512): New functions.
35441         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
35442         * m4/sha256.m4: Protect against empty expansion.
35443         * m4/sha512.m4: Likewise.
35444         * lib/hmac-sha256.c: New file.
35445         * lib/hmac-sha512.c: Likewise.
35446         * m4/gc-hmac-sha256.m4: Likewise.
35447         * m4/gc-hmac-sha512.m4: Likewise.
35448         * m4/gc-sha256.m4: Likewise.
35449         * m4/gc-sha512.m4: Likewise.
35450         * modules/crypto/gc-hmac-sha256: Likewise.
35451         * modules/crypto/gc-hmac-sha256-tests: Likewise.
35452         * modules/crypto/gc-hmac-sha512: Likewise.
35453         * modules/crypto/gc-hmac-sha512-tests: Likewise.
35454         * modules/crypto/hmac-sha256: Likewise.
35455         * modules/crypto/hmac-sha256-tests: Likewise.
35456         * modules/crypto/hmac-sha512: Likewise.
35457         * modules/crypto/hmac-sha512-tests: Likewise.
35458         * tests/test-gc-hmac-sha256.c: Likewise.
35459         * tests/test-gc-hmac-sha512.c: Likewise
35460         * tests/test-hmac-sha256.c: Likewise.
35461         * tests/test-hmac-sha512.c: Likewise
35463 2013-08-24  Daiki Ueno  <ueno@gnu.org>
35465         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
35466         of AC_CHECK_DECLS.
35468 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
35470         selinux-at: omit unnecessary include
35471         * lib/selinux-at.c: Don't include dosname.h; not needed, since
35472         this source file doesn't use its macros, and subsidiary files that
35473         use the macros already include it.
35475 2013-08-21  Eric Blake  <eblake@redhat.com>
35477         d-ino: avoid false negative on symlink
35478         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
35479         Reported by Stephane Chazelas.
35481 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
35483         bootstrap: port to OpenBSD sed
35484         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
35485         does not interpret `-' as a file argument to mean stdin.
35487 2013-08-15  Eric Blake  <eblake@redhat.com>
35489         warnings: minor optimization
35490         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
35492         warnings: check -Wfoo rather than -Wno-foo
35493         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
35494         -Wno-, test if the compiler recognizes the positive form instead.
35496 2013-08-15  Karl Berry  <karl@gnu.org>
35498         * config/srclist-update: add option "doclicense" to placate
35499         pulling *.texi files from Emacs.  Write terse usage
35500         documentation at the top.
35502 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
35504         xvasprintf-tests: port to GCC with hardening flags
35505         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
35506         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
35507         http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html
35509 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
35511         fpending: port to recent Cygwin change to stdio_ext.h
35512         Reported by LRN in
35513         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
35514         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
35515         just declare __fpending unless it's a macro.
35516         A duplicate decl shouldn't hurt.
35517         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
35518         call compiles and links, instead of separately checking for
35519         decl and lib function.
35520         * modules/fpending (configure-ac):
35521         Adjust to fpending.m4's renaming of shell variable.
35523 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
35525         sys_time: port to OpenBSD
35526         * lib/sys_time.in.h: Simply delegate to the system's header
35527         in the BSDish cases as well.  Problem reported by Mike Miller in
35528         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
35529         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
35530         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
35531         wider than time_t.
35533 2013-08-09  Pádraig Brady  <P@draigBrady.com>
35535         bootstrap: support checksum utils having -c but not --status
35536         * build-aux/bootstrap: Only look for sha1sum if updating po files.
35537         Add sha1 to the list of supported checksum utils since it's now
35538         supported through adjustments below.
35539         (update_po_files): Remove the use of --status
35540         in a way that will suppress all error messages, but since this is
35541         only used to minimize updates, it shouldn't cause an issue.
35542         Exit early if there is a problem updating the po file checksums.
35543         (find_tool): Remove the check for --version support as this
35544         is optional as per commit 86186b17.  Don't even check for the
35545         presence of the command as if that is needed, it's supported
35546         through configuring prerequisites in bootstrap.conf.
35547         Prompt that when a tool isn't found, one can define an environment
35548         variable to add to the hardcoded search list.
35550 2013-08-05  Jim Meyering  <meyering@fb.com>
35552         regex: port to non-glibc/lock-using systems
35553         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
35554         system with GNULIB_LOCK would fail due to absence of the
35555         included "glthread/lock.h".  This would affect any package
35556         for which the "lock" module is used only by the regex module,
35557         and not explicitly used.
35558         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
35559         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
35560         Add a dependency on the "lock" module.
35562 2013-07-20  Daiki Ueno  <ueno@gnu.org>
35564         localecharset: make locale_charset thread-safe on Mac OS X
35565         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
35566         instead of MB_CUR_MAX.
35568 2013-07-20  Daiki Ueno  <ueno@gnu.org>
35570         gettext: update to version 0.18.3
35571         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
35572         require AC_PROG_SED to allow user to specify custom sed command when
35573         generating en@quot PO file.
35575 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
35577         bootstrap: use correct source when copying build-aux files
35578         * build-aux/bootstrap (gnulib_extra_files): This variable is
35579         relative to upstream gnulib layout, not downstream.
35581 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
35583         tmpdir: fix bug in VMS port
35584         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
35585         See Steven M. Schweda in
35586         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.
35588 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
35590         tmpdir: port to VMS, to // != /, and to long dirs
35591         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
35592         __secure_getenv, so that we're more like the glibc version.
35593         All uses changed.
35594         (path_search): Don't put slash after directory if __VMS.
35595         Problem reported by Steven M. Schweda in
35596         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
35597         Simplify code to add slash; no need for a loop.
35598         Do not remove trailing slash from "//".
35599         Do not assume dlen <= INT_MAX.
35601 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
35603         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
35604         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
35605         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
35606         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.
35608         accept4, dup3, pipe2: port to Cygwin
35609         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
35610         * lib/accept4.c (accept4) [O_BINARY]:
35611         * lib/dup3.c (dup3) [O_BINARY]:
35612         * lib/pipe2.c (pipe2) [O_BINARY]:
35613         Use set_binary_mode, not setmode.
35614         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
35615         * modules/binary-io (Depends-on): Remove module indicator.
35616         These last two bits undo the previous change to pipe2 and binary-io.
35618 2013-07-09  Pádraig Brady  <P@draigBrady.com>
35620         mountlist: add support for deallocating returned list entries
35621         * lib/mountlist.c (free_mount_entry): A new exported function
35622         to deallocate a mount list entry.
35623         (read_file_system_list): Refactor to use the new deallocation function.
35624         Suggested by Anton Ovchinnikov.
35626 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
35628         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
35629         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
35630         * lib/stdalign.in.h (_Alignas, _Alignof):
35631         Port to FreeBSD 9.1, and to C11 and C++11.
35632         (_Alignas): Also support ICC.
35633         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
35634         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
35636 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
35638         fnmatch: don't goto over declaration
35639         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
35640         undefined behavior for goto over a declaration.
35641         Problem reported by Charlie Brown in
35642         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.
35644         pipe2: decouple from binary-io a bit
35645         This is for Emacs, which needs pipe2 but not binary-io.
35646         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
35647         * modules/binary-io (Depends-on): Add module indicator.
35649 2013-07-03  Eric Blake  <eblake@redhat.com>
35651         mgetgroups: relax license to LGPLv2+
35652         * modules/getugroups (License): Change from GPLv3+.
35653         * modules/mgetgroups (License): Likewise.
35654         * modules/getgroups (License): Change from LGPLv3+.
35656         xalloc-oversized: relax license to LGPLv2+
35657         * modules/xalloc-oversized (License): Change from GPLv3+.
35659         nproc: relax license to LGPLv2+
35660         * modules/nproc (License): Change from LGPLv3+.
35662         bootstrap: honor --no-git
35663         * build-aux/bootstrap: Don't even try to use git when user is
35664         pointing to a static checkout.
35666 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
35668         ignore-value: port to gcc -pedantic
35669         * lib/ignore-value.h (ignore_value):
35670         Port to gcc -pedantic, by using __extension__.
35671         Reindent as per usual gnulib style nowadays.
35672         Simplify GCC version check.
35674 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
35676         extern-inline: port to gcc -std=c89
35677         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
35678         Do not use __gnu_inline__ if pedantic and pre-C99.
35680 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
35682         doc: document extern-inline
35683         * doc/extern-inline.texi: New file.
35684         * doc/gnulib.texi (alloca-opt): Include it.
35685         * m4/extern-inline.m4: Move some comments to documentation,
35686         and others closer to what they describe.
35688         doc: chatter less
35689         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
35690         (updated-stamp): Use it.  This causes 'make' to output just
35691         one file name rather than zillions.
35693         fflush, fseeko: port to musl cross-compiles
35694         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
35695         on some implementation that (1) is not known to be buggy,
35696         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
35697         cross-compiled to so we can't easily check for lack of
35698         conformance.  This is for cross-compiling to musl.
35699         Reported by Rich Felker in
35700         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
35701         * m4/fclose.m4 (gl_FUNC_FCLOSE):
35702         * m4/fflush.m4 (gl_FUNC_FFLUSH):
35703         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
35704         Adjust to above change.
35705         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
35706         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
35707         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
35708         known not to work, or unknown.
35710 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
35712         msvc-inval: port to mingw-w64
35713         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
35714         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
35715         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.
35717 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
35719         getcwd-lgpl: port to Tru64
35720         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
35721         Problem reported by Steven M. Schweda in
35722         <http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.
35724         tests: port large-fd POSIX spawn tests to OS X
35725         Problem reported by Daiki Ueno in
35726         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
35727         * tests/test-posix_spawn_file_actions_addclose.c:
35728         * tests/test-posix_spawn_file_actions_adddup2.c:
35729         * tests/test-posix_spawn_file_actions_addopen.c:
35730         Include <limits.h>, for OPEN_MAX, if available.
35731         (big_fd): New static function.
35732         (main): Use it.
35734 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
35736         tests/nap.h: use an adaptive delay to avoid ctime update issues
35737         The recent change in nap.h (5191133e) decreased the probability of lost
35738         races to about a third, however such problems could still be observed
35739         in virtual machines and openSUSE's OBS.
35740         Before, nap() detected the needed time once empirically and then used
35741         that delay (together with a small correction multiplier) in further
35742         calls.  This problem has been reported and discussed several times,
35743         including guesses about possible kernel issues:
35744         https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
35745         http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
35746         https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
35747         http://bugs.gnu.org/12820
35748         https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
35749         https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
35750         Now, nap() avoids the race alltogether by verifying on a reference
35751         file whether a timestamp difference has happened.
35752         * tests/nap.h (nap_fd): Define file descriptor variable for the
35753         witness file.
35754         (nap_works): Change return value to bool.  Change passing
35755         the old file's status by value instead of by reference as this function
35756         does no longer update that timestamp; rename the function argument from
35757         st to old_st.  Remove the local variables cdiff and mdiff because that
35758         function now returns true/false instead of the precise delay.
35759         (guess_delay): Remove function.
35760         (clear_tmp_file): Add new function to close and unlink the witness file.
35761         (nap): Instead of re-using the delay which has been calculated during
35762         the first call, avoid the race by actually verifying that a timestamp
35763         difference can be observed on the current file system.  Use an adaptive
35764         approach for the delay to minimize execution time.  Assert that the
35765         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
35766         = 2^31 - 1 = 2.1s.
35767         Use atexit to call clear_tmp_file when the process terminates.
35769 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
35771         sig2str: port to C++
35772         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
35773         Reported by Daniel J Sebald in
35774         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.
35776 2013-05-30  Eric Blake  <eblake@redhat.com>
35778         docs: mention cygwin shortcoming in <sys/un.h>
35779         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
35781         vasnprintf: silence mingw compiler warning
35782         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
35784 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
35786         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
35787         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
35788         This fixes a porting bug I recently reintroduced in regex, and
35789         some other instances that I discovered while testing the fix.
35790         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
35791         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
35792         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
35793         with an empty argument if this is a pedantic pre-C99 GCC.
35794         * lib/verify.h: Do not use _Static_assert if this is a pedantic
35795         pre-C11 GCC.
35797         regex: adapt to locking regime instead of depending on pthread
35798         Instead of depending on pthread, adapt to whatever thread
35799         modules are in use.  Problem reported by Ludovic Courtès in
35800         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
35801         and by Mats Erik Andersson in
35802         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
35803         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
35804         Support either the 'lock' module, or the 'pthread' module, or
35805         no module.
35806         (lock_lock, lock_unlock): New macros.
35807         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
35808         * modules/lock, modules/pthread (configure.ac): Add module indicator.
35809         * modules/regex (Depends-on): Remove pthread.
35811 2013-05-22  Eric Blake  <eblake@redhat.com>
35813         getgroups: document portability issues
35814         * doc/glibc-functions/initgroups.texi (initgroups): Mention
35815         multithread safety.
35816         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
35817         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
35818         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
35819         getugroups.
35820         * doc/posix-functions/getgroups.texi (getgroups): Mention
35821         multithread safety and mgetgroups.
35823 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
35825         test-lchown, test-chown: also skip test if chown fails with EPERM
35826         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
35827         skip this test, to handle FAT file systems.
35828         * tests/test-chown.h (test_chown): Likewise.
35830 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
35832         regex: fix dfa race in multithreaded uses
35833         Problem reported by Ludovic Courtès in
35834         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
35835         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
35836         New macros.  All uses of __libc_lock_define, __libc_lock_init
35837         changed to use the first two of these.
35838         (__libc_lock_lock, __libc_lock_unlock): New macros, for
35839         non-glibc platforms.
35840         (struct re_dfa_t): Define the lock unconditionally.
35841         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
35842         '#ifdef _LIBC"s.
35843         * modules/regex (Depends-on): Add pthread, if we use the
35844         included regex.
35846         * lib/regcomp.c: Do actions that are not needed for glibc,
35847         but may be needed elsewhere.
35848         (regfree, re_compile_internal): Destroy the lock.
35849         (re_compile_internal): Check for lock-initialization failure.
35851         malloca: port to compilers that reject size-zero arrays
35852         This fixes a bug introduced in my previous patch.
35853         * lib/malloca.c (struct preliminary_header): Use an int
35854         rather than a character array of size int; that's simpler.
35855         (struct header): Remove, replacing with ...
35856         (union header): New type.  This avoids the need for declaring a
35857         character array of size zero, which is not allowed on some platforms.
35858         All uses changed.
35860 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
35862         parse-datetime, tests: don't use "string" + int
35863         Recent versions of 'clang' complain about C source code that
35864         uses expressions of the form '"string literal" + integer',
35865         I guess on the theory that it's confusing for readers who are
35866         used to C++.  On those grounds I suppose it's OK to make this
35867         minor style change.
35868         * lib/parse-datetime.y (parse_datetime):
35869         * tests/test-fchdir.c (main):
35870         * tests/test-snprintf-posix.h (test_function):
35871         * tests/test-snprintf.c (main):
35872         * tests/test-vasnprintf-posix.c (test_function):
35873         * tests/test-vasnprintf.c (test_function):
35874         * tests/test-vsnprintf.c (main):
35875         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
35876         Rewrite '"str" + E' to '&"str"[E]'.
35878 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
35880         argmatch: port to C++
35881         * lib/argmatch.h [__cplusplus]: Add extern "C".
35883         argp: typo fix
35884         * lib/argp-help.c: Typo in comment.
35886 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
35888         manywarnings: update for GCC 4.8.0
35889         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
35890         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
35891         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
35892         -Wmissing-noreturn, as they are duplicates of other warnings.
35893         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
35894         was documented to be flaky in earlier versions of GCC.
35896         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
35897         * tests/test-spawn.c (main):
35898         * tests/test-sys_socket.c (main):
35899         * tests/test-sys_wait.c (main):
35900         Don't have a switch value that isn't covered by a case.
35902         getaddrinfo-tests: port --enable-gcc-warnings to clang
35903         * tests/test-getaddrinfo.c (simple):
35904         Avoid casts from looser to stricter-aligned pointers.
35906         thread: port --enable-gcc-warnings to clang
35907         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
35908         Include <signal.h>, to pacify a warning about pthread_sigmask.
35910         stdio: use __REDIRECT for fwrite, fwrite_unlocked
35911         * lib/stdio.in.h (fwrite):
35912         When working around bug 11959, use __REDIRECT rather than '#define
35913         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
35914         fix the -Wunused-value issue with clang, and it works with GCC too.
35915         Problem with targeting reported by Eric Blake in
35916         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
35917         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
35918         debugging the fwrite issue.
35920         stdio: port --enable-gcc-warnings to clang
35921         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
35922         since the GCC workaround for fwrite does not pacify clang.
35924         sig2str: port --enable-gcc-warnings to clang
35925         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
35927         obstack: port --enable-gcc-warnings to clang
35928         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
35929         Avoid casts from looser to stricter-aligned pointers.
35931         memchr2: port --enable-gcc-warnings to clang
35932         * lib/memchr2.c (memchr2):
35933         Avoid casts from looser to stricter-aligned pointers.
35935         mbsstr: port --enable-gcc-warnings to clang
35936         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
35937         Avoid casts from looser to stricter-aligned pointers.
35939         malloca: port --enable-gcc-warnings to clang
35940         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
35941         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
35943         inttostr: port --enable-gcc-warnings to clang
35944         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
35946         warnings: port to clang
35947         Problem reported by Daniel P. Berrange via Eric Blake in
35948         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
35949         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
35950         (gl_WARN_ADD): Use it.
35952 2013-05-11  Jim Meyering  <meyering@fb.com>
35954         quotearg: do not read beyond end of buffer
35955         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
35956         end of an ARG for which no length was specified.  With an N-byte
35957         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
35958         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
35959         via coreutils' misc/sort-debug-keys.sh test and detected by running
35960         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
35961         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
35962         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
35963         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
35964         characters correctly."
35966 2013-05-11  Daiki Ueno  <ueno@gnu.org>
35968         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
35969         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
35970         compilation target is Mac OS X 10.6.
35971         Problem reported by parafin and Andoni Morales in
35972         <http://savannah.gnu.org/bugs/?37844> and
35973         <http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.
35975 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
35977         mkdir-p: remove assumptions about umask and mode
35978         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
35979         umask is 0, or that MODE is a subset of MODE_BITS.
35981 2013-05-10  Eric Blake  <eblake@redhat.com>
35983         maint.mk: catch more abuse of HAVE_DECL in syntax-check
35984         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
35986 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
35988         deps: require Automake >= 1.9.6 in generated Makefile fragments
35990         That is the same minimal version required in the DEPENDENCIES file.
35991         Moreover, the old code generated a requirement of Automake >= 1.5,
35992         and that is an insanely outdated version.
35994         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
35995         * tests/havelib/rpathlx/Makefile.am: Likewise.
35996         * tests/havelib/rpathly/Makefile.am: Likewise.
35997         * tests/havelib/rpathlyx/Makefile.am: Likewise.
35998         * tests/havelib/rpathlz/Makefile.am: Likewise.
35999         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
36000         * tests/havelib/rpathx/Makefile.am: Likewise.
36001         * tests/havelib/rpathy/Makefile.am: Likewise.
36002         * tests/havelib/rpathz/Makefile.am: Likewise.
36004 2013-05-08  Eric Blake  <eblake@redhat.com>
36006         bootstrap: AC_INIT may have more than four parameters
36007         * build-aux/bootstrap (extract_package_name): Correctly extract
36008         non-empty tarname field.  Avoid range in regex.
36009         Based on a report by Sami Kerola <kerolasa@iki.fi>.
36011 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
36013         qacl: port to MS-Windows port of GNU Emacs
36014         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
36015         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
36016         port of GNU Emacs.  Problem reported by Eli Zaretskii in
36017         <http://bugs.gnu.org/14295#14>.
36019 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
36021         acl: include quote.h
36022         * lib/copy-acl.c: Include quote.h.
36023         * lib/set-acl.c: Likewise.
36025 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
36027         fchownat, renameat, unlinkat: update statat dependencies
36028         These modules use statat and lstatat, not fstatat; so depend on
36029         the statat module, which was split out recently from fstatat.
36030         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
36031         * modules/renameat: Likewise.  Also delete fstat.
36032         URL: http://bugs.gentoo.org/468790
36034 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
36036         Assume gnulib is checked out from Git, not CVS
36038         In fact, access to the gnulib repository through CVS has been
36039         disabled, or more precisely, got broken and was never restored; see:
36040         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>
36042         Note that support for CVS is not removed completely and unthinkingly
36043         by this change: only support for CVS checkouts of gnulib itself is
36044         removed.  For example, the 'bootstrap' script still cater to .cvsingore
36045         files and CVS directories, for the benefit of those poor gnulib clients
36046         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
36048         * gnulib-tool: Simplify accordingly.
36049         * posix-modules: Likewise.
36050         * MODULES.html.sh: Likewise.
36051         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
36052         repository.
36053         * doc/gnulib-intro.texi: Likewise.
36054         * doc/gnulib-readme.texi: Likewise.
36055         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
36056         sample '.gitignore' file rather than a sample '.cvsignore'.
36057         * NEWS: Update.
36058         * m4/extensions.m4: While at it, remove a comment mistakenly referring
36059         to "CVS Autoconf" rather than "git Autoconf".
36061 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
36063         utimensat-tests, etc.: try to fix some races
36064         Problem reported by Bernhard Voelker in
36065         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
36066         I don't know whether this patch fixes that race condition, but it
36067         fixes *some* race conditions, so it should be a win.
36068         * modules/chown-tests (Depends-on):
36069         * modules/fchownat-tests (Depends-on):
36070         * modules/fdutimensat-tests (Depends-on):
36071         * modules/futimens-tests (Depends-on):
36072         * modules/lchown-tests (Depends-on):
36073         * modules/stat-time-tests (Depends-on):
36074         * modules/utimens-tests (Depends-on):
36075         * modules/utimensat-tests (Depends-on):
36076         Depend on nanosleep, not usleep.
36077         * modules/chown-tests (test_chown_LDADD):
36078         * modules/lchown-tests (test_lchown_LDADD):
36079         * modules/stat-time-tests (test_stat_time_LDADD):
36080         New macro.
36081         * modules/fchownat-tests (test_fchownat_LDADD):
36082         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
36083         * modules/futimens-tests (test_futimens_LDADD):
36084         * modules/utimens-tests (test_utimens_LDADD):
36085         * modules/utimensat-tests (test_utimensat_LDADD):
36086         Add $(LIB_NANOSLEEP).
36087         * modules/stat-time-tests (Files): Add tests/nap.h.
36088         * tests/nap.h: Include <limits.h>, for INT_MAX.
36089         (lt_mtime): Remove.
36090         (diff_timespec): New function.
36091         (get_stat): Rename from get_mtime.  All callers changed.
36092         (nap_works): Determine the needed delay by inspecting the
36093         file system's timestamp jumps; this should be more reliable.
36094         Look at both mtime and ctime, and take the maximum of the two jumps.
36095         (nap_works, guess_delay):
36096         Return a nanosecond count, not a microsecond count.
36097         All callers changed.
36098         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
36099         failure.
36100         (nap): Multiply the guess by 1.125, to accommodate the case where
36101         the file system's clock is a bit slower than nanosleep's clock.
36102         * tests/test-stat-time.c (BASE): New macro.
36103         Include nap.h.
36104         (nap): Remove; nap.h now defines this.  This removes a duplicate
36105         implementation of 'nap'.
36107         utimens, utimensat: work around Solaris UTIME_OMIT bug
36108         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
36109         Linux kernel 2.6.32 does.  Work around it in the same way.
36110         * doc/posix-functions/futimens.texi (futimens):
36111         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
36112         * lib/utimens.c (fdutimens, lutimens):
36113         * lib/utimensat.c (rpl_utimensat): Work around the bug.
36115         gettext: now it's your responsibility to add -I$(top_builddir)/intl
36116         Formerly, it was your responsibility to do this for all Makefile.ams
36117         other than Gnulib's.  Now it's your responsibility to do it for
36118         Gnulib's Makefile.am, too.
36119         * NEWS: Document this.
36120         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
36122         acl: include errno.h to get errno
36123         Reported by Daiki Ueno in
36124         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
36125         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
36127 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
36129         tests: don't assume getdtablesize () <= 10000000
36130         * modules/cloexec-tests:
36131         * modules/dup2-tests:
36132         * modules/dup3-tests:
36133         * modules/nonblocking-tests:
36134         * modules/posix_spawn_file_actions_addclose-tests:
36135         * modules/posix_spawn_file_actions_adddup2-tests:
36136         * modules/posix_spawn_file_actions_addopen-tests:
36137         * modules/unistd-safer-tests:
36138         Depend on the getdtablesize module.
36139         * tests/test-cloexec.c:
36140         * tests/test-dup-safer.c:
36141         * tests/test-dup2.c:
36142         * tests/test-dup3.c:
36143         * tests/test-fcntl.c:
36144         * tests/test-nonblocking.c:
36145         * tests/test-posix_spawn_file_actions_addclose.c:
36146         * tests/test-posix_spawn_file_actions_adddup2.c:
36147         * tests/test-posix_spawn_file_actions_addopen.c:
36148         Don't assume getdtablesize () <= 10000000.
36150 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
36152         extern-inline: work around bug in Sun c99
36153         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
36154         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
36156 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
36158         qacl: new module, broken out from the acl module
36159         This is for GNU Emacs, which wants the acl functions but does
36160         not want 'error' invoked when they fail.
36161         * lib/acl-internal.h: Do not include error.h, quote.h.
36162         (ENOSYS, ENOTSUP): Remove; no longer needed.
36163         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
36164         * lib/acl.h: Include <stdbool.h>.
36165         (acl_errno_valid): New function.
36166         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
36167         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
36168         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
36169         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
36170         (ACL_INTERNAL_INLINE): Remove; no longer needed.
36171         * lib/file-has-acl.c (file_has_acl):
36172         * lib/qcopy-acl.c (qcopy_acl):
36173         * lib/qset-acl.c (qset_acl):
36174         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
36175         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
36176         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
36177         lib/file-has-acl.c, m4/acl.m4 to qacl module.
36178         Add lib/set-acl.c.
36179         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
36180         Add qacl.
36181         (configure.ac): Move gl_FUNC_ACL to qacl module.
36182         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
36183         Rename set-mode-acl.c to set-acl.c.
36184         * lib/acl-errno-valid.c: New file.
36185         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
36186         copy_acl function remains in copy-acl.c.
36187         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
36188         (_): Remove; not needed.
36189         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
36190         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
36191         * modules/qacl: New file, moved from the old modules/acl.
36192         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
36193         Remove set-mode-acl.c, copy-acl.c.
36194         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
36196         alignof, intprops, malloca: port better to IBM's C compiler
36197         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
36198         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
36199         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
36201 2013-04-25  Daiki Ueno  <ueno@gnu.org>
36203         wctype-h: fix gettext link error on mingw
36204         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
36205         <https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
36206         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
36207         rpl_towupper and rpl_towupper.
36209 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
36211         regex-tests, regex: allow glibc re_search behavior
36212         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
36213         re_search input data to make the multi-character collating element
36214         in it clearly visible, and treat re_search return code 0 as valid.
36215         * m4/regex.m4 (gl_REGEX): Likewise.
36217 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
36219         stdalign: doc fix
36220         * doc/posix-headers/stdalign.texi (stdalign.h):
36221         Gnulib doesn't support '_Alignof expr'.
36223 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
36225         stdalign: port to stricter ISO C11
36226         ISO C11 says that _Alignof's operand must be a parenthesized type.
36227         Problem reported by Eli Zaretskii in
36228         <http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
36229         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
36230         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
36232 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
36234         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
36235         Problem reported by Marco Atzeri in
36236         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
36237         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
36238         Simply delegate to the system <sys/select.h> in this case too.
36239         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
36240         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
36241         be needed on Solaris either.
36242         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
36243         Simply delegate to the system <sys/time.h> in this case.
36245 2013-03-19  Karl Berry  <karl@gnu.org>
36247         * build-aux/gnupload: check for erroneous (with gnupload) use of
36248         ftp-upload.gnu.org, tweak help.
36250 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
36252         copy-file, rpmatch: fix problems found by cppcheck
36253         Reported by Arno Onken in
36254         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
36255         * lib/rpmatch.c (try): Fix memory leak.
36256         * lib/copy-file.c: Include "ignore-value.h".
36257         (qcopy_file_preserving): Ignore chown value.
36258         * modules/copy-file (Depends-on): Add ignore-value.
36260 2013-01-27  Jim Meyering  <jim@meyering.net>
36262         prefix-gnulib-mk: give better diagnostics
36263         * build-aux/prefix-gnulib-mk: Don't just "die".
36264         Give better diagnostics upon failure.
36266 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
36268         putenv: port to Solaris 10
36269         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
36270         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
36271         is not what is wanted here.
36272         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
36273         declaration, not for its existence.
36275 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
36277         mktime: fix configure typo
36278         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
36280 2013-03-12  Eric Blake  <eblake@redhat.com>
36282         regex-tests: skip UTF-8 test on mingw
36283         * modules/regex-tests (Depends-on): Add localcharset.
36284         * tests/test-regex.c (main): Use it to skip test on mingw.
36286 2013-03-11  Eric Blake  <eblake@redhat.com>
36288         tests: make it easier to bypass alarm time in debugger
36289         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
36290         * tests/test-memmem.c (main): Likewise.
36291         * tests/test-passfd.c (main): Likewise.
36292         * tests/test-ptsname.c (main): Likewise.
36293         * tests/test-ptsname_r.c (main): Likewise.
36294         * tests/test-strcasestr.c (main): Likewise.
36295         * tests/test-strstr.c (main): Likewise.
36297         regex: port to mingw's recent addition of undeclared alarm
36298         * doc/posix-functions/alarm.texi (alarm): Document that alarm
36299         exists but still doesn't work in newer mingw.
36300         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
36301         not existence.  Ensure SIGALRM is not trapped.
36302         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
36303         * m4/regex.m4 (gl_REGEX): Likewise.
36304         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
36305         * tests/test-regex.c (main): Use correct probe for alarm.
36307         putenv: avoid compilation warning on mingw
36308         * lib/putenv.c (_unsetenv): Protect variable declaration.
36309         (putenv): Fix indentation.
36311 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
36313         unistd: don't prevent Tru64 Unix from using gnulib strtod.
36314         * lib/unistd.in.h: be careful not to include un-needed system
36315         stdlib.h from here, because that prevents gnulib stdlib.h from
36316         defining rpl_strtod correctly.
36318 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
36320         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
36321         changesets, but for the 'precision 0' test.
36322         * tests/test-vasprintf-posix.c (test_function): Don't insist on
36323         round-to-even, since POSIX says rounding is implementation-defined
36324         and OS X 10.8.2 rounds 1.51 to 1 here.
36326         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
36327         changeset.
36328         * tests/test-vasprintf-posix.c (test_function): Don't insist on
36329         round-to-even, since POSIX says rounding is implementation-defined
36330         and OS X 10.8.2 rounds 1.5 to 1 here.
36332 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
36334         vasnprintf-posix-tests: allow rounding 1.5 to 1
36335         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
36336         round-to-even, since POSIX says rounding is implementation-defined
36337         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
36338         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.
36340         bootstrap: port to FreeBSD
36341         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
36342         that treat '--' differently.  Reported by Mats Erik Andersson in
36343         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.
36345 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
36347         regex: rename remaining __attribute calls to __attribute__.
36348         2012-02-25 changed definition of __attribute, but left some uses
36349         unchanged, preventing compilation of regex module on most non-gcc
36350         environments.
36351         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
36352         (lookup_collation_sequence_value, build_range_exp)
36353         (build_collating_symbol): Set attributes with newly renamed
36354         __attribute__ decorator.
36355         * lib/regex_internal.c (re_string_peek_byte_case)
36356         (re_node_set_compare, re_node_set_contains): Likewise.
36357         * lib/regexec.c (acquire_init_state_context): Likewise.
36359 2013-03-06  Bruno Haible  <bruno@clisp.org>
36361         execute: Revert last change, but use a different condition.
36362         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
36363         on Windows.
36365 2013-03-05  Eric Blake  <eblake@redhat.com>
36367         execute: drop dead code
36368         * lib/execute.c (nonintr_close, nonintr_open): Delete.
36370 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
36372         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
36373         * m4/non-recursive-gnulib-prefix-hack.m4
36374         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
36375         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
36376         <http://bugs.gnu.org/10305#237>.
36378 2013-03-04  Eric Blake  <eblake@redhat.com>
36380         test-getsockopt: avoid compiler warning
36381         * tests/test-getsockopt.c (includes): Ensure close is declared.
36383 2013-03-02  Bruno Haible  <bruno@clisp.org>
36385         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
36386         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
36388 2013-03-02  Bruno Haible  <bruno@clisp.org>
36390         gettext: Update to version 0.18.2.
36391         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
36392         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
36393                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
36395 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
36397         regex: merge patches from libc
36399         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
36400         * lib/regex_internal.h (__attribute__): Rename from __attribute.
36401         All uses changed.
36402         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
36403         (re_string_wchar_at, re_string_elem_size_at):
36404         Mark function as possibly unused.
36406         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
36407         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
36408         elements compare against the byte sequence of it, not its name.
36410 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
36412         putenv: port better to native Windows
36413         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
36414         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
36415         (_unsetenv): Use _putenv if available.
36416         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
36417         a bit less likely to cause damage.
36418         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
36419         Fix the wrong value with SetEnvironmentVariable.
36420         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
36421         code better.
36423 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
36425         regex: ignore old-style-definition warnings
36426         * lib/regex.c: Add pragma to ignore these warnings.
36427         Problem reported for GNU tar by Pavel Raiskup.
36429 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
36431         getcwd: support coreutils better
36432         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
36433         but this might not be correct in coreutils, which disables
36434         the raw decl checks.  Problem reported by Nagendra in
36435         <http://bugs.gnu.org/10305#192>.
36436         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
36437         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
36438         Test the getcwd function, not any macro, since getcwd.c wants the
36439         function.
36440         * m4/getcwd.m4 (gl_FUNC_GETCWD):
36441         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
36442         compile, as might happen if there's a macro but no function.
36444         strtod: support coreutils better
36445         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
36446         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
36447         disables the raw decl checks.  This assumes there is an underlying
36448         strtod, but that's a safe assumption these days.
36449         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
36451         mountlist: port to HP NonStop
36452         Reported by Joachim Schmitz in
36453         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00084.html>.
36454         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
36455         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
36457 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
36459         extern-inline: avoid compilation error with HP-UX cc
36460         Reported by Richard Lloyd in
36461         <http://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
36462         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
36463         Suppress extern inline with HP-UX cc.  This should be safe,
36464         though it may hurt performance.  Perhaps someone with some HP-UX
36465         experience can come up with a higher-performance fix.
36467 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
36469         putenv: fix heap corruption with mixed putenv/_putenv
36470         Problem reported by Michael Goffioul in
36471         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00061.html>.
36472         * lib/putenv.c (putenv) [HAVE__PUTENV]:
36473         Rely on _putenv to allocate the new environment.
36474         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
36475         * modules/putenv (configure.ac): Use it.
36477 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
36479         unsetenv etc.: port to Solaris 11 + GNU Emacs
36480         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
36481         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
36482         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
36483         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
36484         idea but is too painful to fix right now), and without this gnulib
36485         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
36486         compiling unsetenv.c on Solaris 11.  Fix the problem for
36487         unsetenv.c, and fix other similar occurrences.
36489 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
36491         secure_getenv: fix C++ declaration typo
36492         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
36493         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
36494         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00057.html>.
36496 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
36498         careadlinkat: stop exporting careadlinkatcwd
36499         Only Emacs used it directly, and Emacs no longer needs it.
36500         * NEWS: Document this simplification.
36501         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
36502         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
36503         for readlink.
36504         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
36505         Don't include stdlib.h; no longer needed.
36506         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
36507         * lib/relocwrapper.c: Adjust comment to match new dependencies.
36508         * modules/areadlink (Depends-on): Add readlink.
36509         (Maintainer): Add self.
36510         * modules/careadlinkat (Depends-on): Remove readlink.
36512         extensions: port better to HP-UX
36513         This is merged from git Autoconf.
36514         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
36515         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
36516         so that it's compatible with the value used when compiling.
36518         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
36519         Problem reported by Mats Erik Andersson in
36520         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00051.html>.
36521         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
36522         openpty function exists, not merely when we intend to replace it.
36523         This corrects the 2013-01-31 patch, which mistakenly defined
36524         HAVE_OPENPTY even on hosts that lacked it.
36526 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
36528         secure_getenv: fix include typo
36529         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
36531         secure_getenv: port better to FreeBSD and Solaris
36532         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
36533         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
36534         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
36535         This works better on BSDish platforms.
36536         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
36537         Test for issetugid if __secure_getenv is missing.
36539 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
36541         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
36542         Some of these changes are merged in from git Autoconf.
36543         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
36544         When deciding whether to define _XOPEN_SOURCE, inspect the
36545         preprocessor macro __hpux instead of the more-heavyweight
36546         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
36547         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
36548         as the key for __EXTENSIONS__.
36550         unistd: avoid namespace pollution on non-glibc systems
36551         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
36552         This avoids namespace pollution on non-glibc systems, by causing
36553         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
36554         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
36555         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00027.html>.
36557 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
36559         tmpdir: use secure_getenv
36560         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
36561         Define to secure_getenv, not getenv.
36562         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
36563         as that's now secure_getenv's job.
36564         * modules/tmpdir (Depends-on): Add secure_getenv.
36566         tempname: use secure_getenv
36567         * lib/tempname.c (__secure_getenv) [!_LIBC]:
36568         Define to secure_getenv, not getenv.
36569         * modules/tempname (Depends-on):
36570         Add secure_getenv.
36572         secure_getenv: new module
36573         * MODULES.html.sh (Extra functions based on ANSI C 89):
36574         Add secure_getenv.
36575         * doc/glibc-functions/secure_getenv.texi: New file.
36576         * doc/gnulib.texi: Include it.
36577         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
36578         New files.
36579         * lib/stdlib.in.h (secure_getenv): New decl.
36580         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
36581         * modules/stdlib (stdlib.h):
36582         Add secure_getenv checks.
36584 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
36586         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
36587         Reported for OS X 10.8.2 by Assaf Gordon in
36588         <http://bugs.gnu.org/13516>.
36589         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
36590         !HAVE_OPENAT && !HAVE_FDOPENDIR.
36591         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
36592         so that they can be kept in sync more easily.  Avoid PATH_MAX
36593         test on the Hurd.  Sync from test-getcwd.c for errno tests after
36594         mkdir or chdir failure.
36595         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
36596         lib/getcwd.c.
36597         (test_abort_bug): Do not test for the deep directory bug unless we
36598         have openat support.  Avoid PATH_MAX test on the Hurd.
36600         regex-tests, regex: fix bug: memset undeclared
36601         * tests/test-regex.c: Don't include regex.h twice.  Include
36602         string.h, to declare memset.  Christensen's report also mentioned
36603         this issue.
36604         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
36605         test-regex.c, to avoid future problems like this.  Remove
36606         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
36607         twice.
36609         regex-tests: fix link errors on older Solaris
36610         These need to link with @LIBINTL@ to get libintl_gettext.
36611         Problem reported by Tom G. Christensen in
36612         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00003.html>.
36613         * modules/regex-tests (test_regex_LDADD): New macro.
36615 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
36617         regex-tests: new module
36618         * modules/regex-tests, tests/test-regex.c: New files.
36620         regex: fix off-by-one error in configure test
36621         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
36623 2013-01-31  Eric Blake  <eblake@redhat.com>
36625         regex: avoid infinite configure test
36626         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
36628 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
36630         openpty: fix bug where HAVE_OPENPTY wasn't defined
36631         See the thread starting at:
36632         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00185.html
36633         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
36634         openpty function exists, not merely when we intend to replace it.
36636 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
36638         sys_time: port to Solaris 2.6
36639         There is a circularity problem on Solaris 2.6, where <time.h> includes
36640         <sys/time.h> for struct timespec.  The include nesting is gnulib
36641         <time.h>, system <time.h>, gnulib <sys/time.h>, system
36642         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
36643         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
36644         <sys/siginfo.h>; the last, innermost file needs struct
36645         timestruc_t, which is defined in <sys/time.h>, which has not been
36646         fully parsed.  Problem reported by Tom G. Christensen in
36647         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00113.html>.
36648         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
36649         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
36650         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
36651         uses split double-inclusion guards.
36653 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
36655         regex: test for buffer overrun
36656         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
36657         for the just-fixed regex bug.
36659 2013-01-29  Andreas Schwab  <schwab@suse.de>
36661         regex: fix buffer overrun in regexp matcher [BZ #15078]
36662         * lib/regexec.c (extend_buffers): Add parameter min_len.
36663         (check_matching): Pass minimum needed length.
36664         (clean_state_log_if_needed): Likewise.
36665         (get_subexp): Likewise.
36667 2013-01-28  Pádraig Brady  <P@draigBrady.com>
36669         mountlist: don't consider "devtmpfs" as dummy
36670         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
36671         as there is storage associcated with it.
36673 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
36675         futimens-tests, utimens-tests: Depend on gettext.
36676         This works around a problem introduced in my 2013-01-12 patch,
36677         which added @LIBINTL@ to these modules.
36678         * modules/futimens-tests (Depends-on):
36679         * modules/utimens-tests (Depends-on): Add gettext.
36681 2013-01-26  Eric Blake  <eblake@redhat.com>
36683         test-getpeername: fix typo
36684         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
36686 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
36688         bootstrap: remove the need for a sorted .gitignore file
36689         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
36690         rename to insert_if_absent(), so that we don't need or generate
36691         a sorted .gitignore file.  We do require a .gitignore with no
36692         existing duplicate entries and enforce that.
36693         (sort_patterns): Remove this function as we now use the simpler
36694         technigue of inserting blacklist entries at the top of the file,
36695         assuming gnulib won't be inserting !whitelist entries.
36697 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
36699         readlinkat: don't depend on gl_FUNC_OPENAT
36700         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
36701         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
36702         renameat.m4, symlinkat.m4; but one thing at a time.
36704         statat: new module, split out from fstatat
36705         GNU Emacs needs the POSIX-specified fstatat, but not the
36706         gnulib-specified statat and lstat.  Split the latter two into a
36707         new module 'statat'.
36708         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
36709         * lib/openat.h, lib/statat.c (STATAT_INLINE):
36710         Rename from FSTATAT_INLINE. All uses changed.
36711         * modules/fstatat (Files): Remove lib/statat.c.
36712         (gl_MODULE_INDICATOR([fstatat])): Remove.
36713         (lib_SOURCES): Remove.
36714         (Maintainer): Add self.
36715         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
36716         * tests/test-fstatat.c (BASE): Don't define if already defined.
36717         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
36719 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
36721         tests: don't assume fd 99 is closed
36722         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
36723         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
36724         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
36725         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
36726         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
36727         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
36728         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
36729         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
36730         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
36731         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
36732         * tests/test-fwrite.c, tests/test-getpeername.c:
36733         * tests/test-getsockname.c, tests/test-getsockopt.c:
36734         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
36735         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
36736         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
36737         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
36738         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
36739         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
36740         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
36741         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
36742         * tests/test-unlinkat.c, tests/test-unlockpt.c:
36743         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
36744         Close file descriptor 99, instead of assuming it's already closed.
36746 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
36748         stpncpy: port to OS X 10.8
36749         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
36750         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
36752 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
36754         unistd: port to recent mingw
36755         * lib/unistd.in.h: Remove special invocation convention for mingw,
36756         which breaks for the latest mingw version.  See John W. Eaton in
36757         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00100.html>.
36759         largefile: port better to Mac OS X 10.5
36760         This patch is backported from Autoconf git.
36761         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
36762         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
36763         with ino_t size being different for configuration time versus
36764         build/run time.  Problem reported by PHO in
36765         <http://lists.gnu.org/r/bug-autoconf/2013-01/msg00040.html>.
36767 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
36769         doc: clarify -Werror
36770         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
36771         clarify that it's intended for developers, not for ordinary builds,
36772         and mention --enable-gcc-warnings as one possible use.
36774 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
36776         stdint: fix build with Android's Bionic fox x86
36777         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
36778         was already included as _SSIZE_T_DEFINED_ might also be defined
36779         in include/machine/_types.h, which is included by stdio.h
36781 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
36783         net_if-tests: port to Solaris 7 + GCC 3.4.6
36784         Problem reported by Tom G. Christensen in
36785         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00091.html>.
36786         * tests/test-net_if.c (ni): Move to next the code that uses it,
36787         so that it's declared only if needed.
36789 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
36791         net_if-tests: port to older Solaris
36792         Problem reported by Tom G. Christensen in
36793         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
36794         * modules/net_if-tests (NET_IF_LIB): New substitution.
36795         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
36796         (HAVE_IF_NAMEINDEX): New C macro.
36797         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
36799         system-quote-tests: port to older Solaris
36800         Problem reported by Tom G. Christensen in
36801         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
36802         * tests/test-system-quote-child.c (fopen, fread): Undef.
36804         c-xvasprintf etc.: fix link errors on older Solaris
36805         These need to link with @LIBINTL@ to get libintl_gettext.
36806         Problem reported by Tom G. Christensen in
36807         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
36808         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
36809         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
36810         * modules/futimens-tests (test_futimens_LDADD):
36811         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
36813 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
36815         locale: port to Solaris 2.6 and 7 + GNU gettext
36816         * lib/locale.in.h: Just include_next <locale.h> when
36817         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
36818         when combining the localename module with GNU gettext 0.18.2.
36819         Problem reported by Tom G. Christensen in
36820         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00084.html>.
36822 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
36824         stdlib: port to Solaris 2.6
36825         Also, the code worked on Solaris 7 through 9 only by accident.
36826         Problem reported by Tom G. Christensen in
36827         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00059.html>.
36828         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
36829         simply include the system stdlib.h.
36830         * lib/getopt.in.h (__need_system_stdlib_h):
36831         * lib/pthread.in.h (__need_system_stdlib_h):
36832         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
36833         Define when including <stdlib.h>, to avoid problems at least for
36834         the pthread case on Solaris 2.6 and 7.  These .h files can get by
36835         with the system stdlib.h.
36837 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
36839         doc: update main copyright year
36840         * doc/gnulib.texi: Update copyright date.
36842         doc: improve ISO 8601 discussion
36843         * doc/parse-datetime.texi (Combined date and time of day items):
36844         Specify more carefully what formats are supported and what is
36845         done with excess precision.
36847 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
36849         doc: avoid small caps
36850         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
36851         they're more trouble than they're worth.  Suggested by Karl Berry
36852         in <http://bugs.gnu.org/13360>.
36854         regex: conform to strict C
36855         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
36856         From Aharon Robbins.
36858         gnulib-tool: fix incompatibility with autopoint 0.18.2
36859         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
36860         Problem reported by Tom G. Christensen in
36861         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00053.html>.
36863 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
36865         fprintftime: bring back and reword fwrite comment
36866         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
36868         stdio: remove now-unnecessary stdio.c
36869         Since stdio.in.h no longer uses inline functions, we no longer
36870         need to compile the extern versions.
36871         * lib/stdio.c: Remove.
36872         * modules/stdio (Files): Remove lib/stdio.c.
36873         (lib_SOURCES): Remove.
36875         unicodeio: depend on stdio, not ignore-value
36876         * lib/unicodeio.c: Do not include ignore-value.h.
36877         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
36878         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
36880         fprintftime: depend on stdio, not ignore-value
36881         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
36882         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
36883         since the stdio module arranges to silence that warning now.
36884         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
36886 2012-10-04  Simon Josefsson  <simon@josefsson.org>
36888         stdint-tests: Fix expanded-before-required-warning.
36889         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
36891 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
36893         fwrite: silence __wur only for older glibc versions
36894         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
36895         This will help us remove this workaround some time in the far future.
36897 2013-01-03  Eric Blake  <eblake@redhat.com>
36899         fwrite: silence __wur without using inline
36900         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
36901         just gcc, and in a way that avoids inline issues.
36902         * modules/stdio (Depends-on): Drop extern-inline.
36904 2013-01-03  Jim Meyering  <jim@meyering.net>
36906         update-copyright: avoid copyright notice date corruption
36907         Given a sequence of copyright year numbers in which the final
36908         one was a two-digit number that happened to be a substring of
36909         a preceding four-digit year number, we would mistakenly update
36910         the substring (from two- to four-digit) rather than the two-digit
36911         number at the end, which, combined with the addition of the current
36912         4-digit year number would yield two 5-digit year numbers, e.g.,
36913         here, it would convert the first "99" to "1999, 2013" rather than
36914         the final one:
36915           1991, 99
36916           11999, 20131, 1999
36917         * build-aux/update-copyright: Tighten a regexp.
36918         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
36919         Reported by Joseph Myers in
36920         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
36922 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
36924         regex: omit needless signed-pointer casts
36925         * lib/regcomp.c (build_charclass, build_charclass_op):
36926         Use char *, not unsigned char *, for class name and extra.
36927         The char values are always nonnegative so there's no need to
36928         insist on unsigned char * here, and using char * removes the need
36929         for casts.  Reported by Aharon Robbins in
36930         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36932         regex: support Gawk, which never uses alloca
36933         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
36934         Do not include in this case.  Gawk doesn't supply a substitute
36935         alloca.h and doesn't need one.
36937         regex: port __libc_lock_define usage to C89
36938         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
36939         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
36940         does not conform to C89, as it has an empty macro argument.
36941         Reported by Aharon Robbins in
36942         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36944 2013-01-01  Eric Blake  <eblake@redhat.com>
36946         maint: update all copyright year number ranges
36947         Run "make update-copyright".
36949         version-etc: bump copyright year reported in --version
36950         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
36952 2012-12-31  Eric Blake  <eblake@redhat.com>
36954         sigprocmask-tests: skip test if pid is unexpectedly large
36955         * tests/test-sigprocmask.c (main): Add range check.
36957         git-version-gen: avoid test -z portability glitch
36958         * build-aux/git-version-gen: Prefer portable test spelling, since
36959         git-version-gen is run on more than just developer machines.
36961 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
36963         git-version-gen: add --fallback option to use if git is not present
36964         * build-aux/git-version-gen: Add support for the new option --fallback,
36965         which comes into play when there is no $tarball_version_file and
36966         git is not working.
36967         (scriptversion): Update.
36969         maint.mk: handle missing git with more grace
36970         * top/maint.mk (no-submodule-changes, public-submodule-commit):
36971         Quietly proceed if git is not present.
36973 2012-12-31  Eric Blake  <eblake@redhat.com>
36975         dup2: work around cygwin bug
36976         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
36977         * lib/dup2.c (rpl_dup2): Work around it.
36978         * doc/posix-functions/dup2.texi (dup2): Document it.
36980 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
36982         regex: remove unnecessary dependency on localcharset.h
36983         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
36984         hasn't been needed for years.
36985         * modules/regex (Depends-on): Remove localcharset.
36987         regex: revert single-byte change
36988         * lib/regexec.c (check_node_accept_bytes): Revert previous change
36989         to this function.  This was alredy fixed in a different way, at
36990         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
36991         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
36992         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
36994         regex: simplify based on Gawk version
36995         * lib/regex_internal.c (re_dfa_add_node): Simplify.
36996         Reported by Aharon Robbins in
36997         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36999 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
37001         regex: check that pattern char is single-byte
37002         Reported by Aharon Robbins in
37003         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37004         * lib/regexec.c (check_node_accept_bytes):
37005         Return 0 if the pattern string has a multibyte character here.
37007         regex: implement rational ranges
37008         Reported by Aharon Robbins in
37009         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37010         * lib/regcomp.c (build_range_exp) [!_LIBC]:
37011         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
37012         Implement rational ranges.
37014         regex: avoid redefining __wctype
37015         Reported by Aharon Robbins in
37016         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37017         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
37018         #undef before defining.
37020         regex: port to hosts where malloc (0) == NULL
37021         Reported by Aharon Robbins in
37022         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37023         * lib/regex_internal.c (re_node_set_alloc):
37024         Don't assume that malloc (0) yields nonnull.
37025         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
37026         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
37027         * modules/regex (Files): Add m4/eealloc.m4.
37029         regex: port to C89
37030         Reported by Aharon Robbins in
37031         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37032         * lib/regcomp.c (init_word_char): Declaration before statement.
37034         regex: merge glibc changes
37035         Also, copy the license wording from glibc.  This simplifies
37036         merging changes.  gnulib-tool will change the wording to GPL as
37037         appropriate, when importing it to other packages.  The only
37038         glibc change made since the last merge, which needs merging, is:
37039         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
37040         * lib/regex_internal.h (gettext): Remove use of INTUSE.
37042         * users.txt: Add Emacs.
37044         doc: omit mention of version when not needed
37045         * doc/gnulib-intro.texi (Portability and Application Code):
37046         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
37047         Don't mention particular dates or versions when not necessary, so
37048         that the documentation won't go out of date so quickly.
37050         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
37052 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
37054         bootstrap: pass --force to autoreconf.
37055         * build-aux/bootstrap (AUTORECONFFLAGS): New.
37056         Add "--force" so that Automake's ylwrap and other such tools
37057         be updated at each bootstrap invocation.
37058         Use it.
37060 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
37062         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
37063         The earlier patch forgot to update one of the #if conditions, causing
37064         a problem on Debian testing i386 reported by Mats Erik Andersson
37065         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00124.html>.
37066         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
37067         (__argp_fmtstream_puts, argp_fmtstream_puts)
37068         (__argp_fmtstream_write, argp_fmtstream_write)
37069         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
37071         * doc/gnulib-readme.texi: Minor fixups.
37072         (Portability guidelines): Modernize URLs.  Remove some repetition.
37073         (Indent with spaces not TABs): Reword to avoid too-long lines.
37074         Remove some '@ifset standalone' stuff that isn't used.
37076         * doc/gnulib-readme.texi (Portability guidelines):
37077         ctype.h, not ctime.h.
37079         Correct name of POSIX.1-2001.
37080         * doc/posix-functions/fgetc.texi (fgetc):
37081         * doc/posix-functions/fgets.texi (fgets):
37082         * doc/posix-functions/fread.texi (fread):
37083         * doc/posix-functions/fscanf.texi (fscanf):
37084         * doc/posix-functions/getc.texi (getc):
37085         * doc/posix-functions/getchar.texi (getchar):
37086         * doc/posix-functions/scanf.texi (scanf):
37087         POSIX.1-2001, not POSIX-2001.
37089         doc: move README into manual
37090         * README: Move contents to new file doc/gnulib-readme.texi.
37091         Replace with a one-line summary.
37092         * doc/gnulib.texi (Brief Overview): New section,
37093         with old intro preface.  Include gnulib-readme.texi for contents.
37094         (Philosophy): Rename from "Introduction", since this
37095         section no longer introduces the rest.  Write a new preface.
37096         * doc/gnulib-readme.texi: New file, with the old contents of
37097         README texinfo-ized.  This way, the README info appears
37098         in the online and printed manual.
37100 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
37102         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
37103         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
37104         c_vasprintf() prototype.
37106 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
37108         c-vasprintf: Fix "empty declaration" warning reported by GCC.
37109         * lib/c-vasprintf.h: Remove stray semicolon.
37111 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
37113         gettext: avoid obsolete macro AM_PROG_MKDIR_P
37114         It is obsolete and is planned to be removed from Automake 1.14; see
37115         <http://lists.gnu.org/r/automake/2012-12/msg00029.html>.
37116         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
37117         (installdirs-data, installdirs-data-yes):
37118         Use $(MKDIR_P), not $(mkdir_p).
37119         * m4/intl.m4 (AM_INTL_SUBDIR):
37120         * m4/po.m4 (AM_PO_SUBDIRS):
37121         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
37123 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
37125         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
37126         On this platform, we are not optimizing but we are using
37127         the substitute for extern inlines, so compile as if
37128         C99-style extern inline, or a substitute, is available.
37129         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
37130         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
37131         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
37132         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
37133         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
37134         Declare as ARGP_FS_EI, not as extern.
37135         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
37136         (__option_is_short, _option_is_end, __option_is_end)
37137         [!_LIBC && __USE_EXTERN_INLINES]:
37138         Declare as ARGP_EI, not as extern.
37140 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
37142         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
37143         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
37144         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
37145         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
37146         ...), as the latter is fatal with older Autoconfs.
37147         Problem reported and fix suggested by Eric Blake in thread starting at
37148         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00097.html>.
37150 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
37152         AC_PROG_MKDIR_P: don't workaround if not buggy
37153         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
37154         Define only for Autoconf versions before 2.62.
37155         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
37156         undocumented m4_PACKAGE_VERSION, for consistency with the
37157         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
37158         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
37159         was introduced in 2.62.
37161 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
37163         New 'c-*printf' modules for formatted output in C locale.
37165         New module 'c-vasnprintf'.
37166         * modules/c-vasnprintf: New file.
37167         * lib/c-vasnprintf.c: New file.
37168         * lib/c-vasnprintf.h: New file.
37170         New module 'c-snprintf'.
37171         * modules/c-snprintf: New file.
37172         * modules/c-snprintf-tests: New file.
37173         * lib/c-snprintf.c: New file.
37174         * lib/c-snprintf.h: New file.
37175         * tests/test-c-snprintf.c: New file.
37176         * tests/test-c-snprintf.sh: New file.
37178         New module 'c-vsnprintf'.
37179         * modules/c-vsnprintf: New file.
37180         * modules/c-vsnprintf-tests: New file.
37181         * lib/c-vsnprintf.c: New file.
37182         * lib/c-vsnprintf.h: New file.
37183         * tests/test-c-vsnprintf.c: New file.
37184         * tests/test-c-vsnprintf.sh: New file.
37186         New module 'c-vasprintf'.
37187         * modules/c-vasprintf: New file.
37188         * modules/c-vasprintf-tests: New file.
37189         * lib/c-asprintf.c: New file.
37190         * lib/c-vasprintf.c: New file.
37191         * lib/c-vasprintf.h: New file.
37192         * tests/test-c-vasprintf.c  +: New file.
37193         * tests/test-c-vasprintf.sh: New file.
37195         New module 'c-xvasprintf'.
37196         * modules/c-xvasprintf: New file.
37197         * modules/c-xvasprintf-tests: New file.
37198         * lib/c-xasprintf.c: New file.
37199         * lib/c-xvasprintf.c: New file.
37200         * lib/c-xvasprintf.h: New file.
37201         * tests/test-c-xvasprintf.c: New file.
37202         * tests/test-c-xvasprintf.sh: New file.
37204 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
37206         argp: better 'inline'
37207         Use extern-inline module to declare extern inline functions.
37208         This avoids some bogus warning diagnostics.  Problem discovered
37209         when modifying GNU tar to use the manywarnings module.
37210         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
37211         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
37212         Define based on extern-inline.
37213         * modules/argp (Depends-on): Add extern-inline.
37215 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
37217         filemode, sys_stat: Handle MPX files a la AIX.
37218         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
37219         * lib/sys_stat.in.h (S_ISMPX): New macro.
37220         * tests/test-sys_stat.c: Add tests for MPX files.
37222 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
37224         x-to-1: honor $PERL
37225         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
37226         a chance to use his preferred version of Perl.  This is typically
37227         required by Darwin users whose default /usr/bin/perl does not have all
37228         the libraries required by help2man, and who need to use their MacPorts
37229         installation of Perl instead.
37231 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
37233         gnu-web-doc-update: add all the new files, even in new directories
37234         See http://lists.gnu.org/r/bug-gnulib/2012-12/msg00057.html
37235         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
37236         Use it.
37237         (main): Don't use cvsutils to get the list of unknown files,
37238         just add all the existing files and directories.
37240 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
37242         gnu-web-doc-update: improve --help
37243         * build-aux/gnu-web-doc-update: Move comments into --help.
37245 2012-12-07  Eric Wong  <normalperson@yhbt.net>
37247         mountlist: recognize more "dummy" file systems
37248         * lib/mountlist.c (ME_DUMMY_0):
37249         Add these dummy FS names to the list:
37250         - "debugfs" virtual filesystem for kernel debugging
37251         - "devpts" PTY slave filesystem
37252         - "devtmpfs" device filesystem on top of tmpfs/ramfs
37253         - "fusectl" control filesystem for FUSE
37254         - "mqueue" enumerates POSIX message queues
37255         - "rpc_pipefs" kernel <-> userspace bridge for NFS
37256         - "sysfs" is for exporting kernel objects
37257         - "devfs" device filesystem for Linux 2.4 and FreeBSD
37259 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
37261         extern-inline: avoid incompatibility with Darwin Libc
37262         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
37263         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
37264         Problem reported by Akim Demaille in
37265         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
37267 2012-12-11  Simon Josefsson  <simon@josefsson.org>
37269         gnupload: Work with GnuPG using gpg-agent (for smartcards).
37270         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
37271         let it handle password prompting.
37273 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
37275         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
37276         * lib/canonicalize.c (canonicalize_filename_mode):
37277         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
37278         fetching the current directory.  Don't overrun the beginning of
37279         rpath if there's no slashes after the MS-Windows drive letter.
37281 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
37283         maint.mk: avoid extra forks
37284         * top/maint.mk (_cfg_mk): The GNU make manual documents that
37285         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
37286         So use that instead of "$(shell test -f FILE && echo FILE)".
37288 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
37290         vasnprintf: fix ASCII_ONLY typo
37291         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
37292         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
37293         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
37294         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
37295         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00021.html>.
37297 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
37299         list, oset, xlist, xoset: fix extern inline issue with C99
37300         This was introduced by my recent changes for 'inline'.
37301         Problem reported for gettext by Daiki Ueno in
37302         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00000.html>.
37303         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
37304         (gl_list_nx_create, gl_list_size, gl_list_node_value)
37305         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
37306         (gl_list_previous_node, gl_list_get_at)
37307         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
37308         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
37309         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
37310         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
37311         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
37312         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
37313         (gl_list_iterator_free, gl_sortedlist_search)
37314         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
37315         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
37316         (gl_sortedlist_remove):
37317         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
37318         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
37319         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
37320         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
37321         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
37322         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
37323         (gl_list_add_at, gl_sortedlist_add):
37324         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
37325         Wrap these extern decls inside "#if 0", because they are implemented
37326         as inline functions, and extern inline is not what's wanted here.
37327         It would simplify these .h files to remove the extern decls entirely,
37328         although a downside would be less-clear separation between
37329         specification and implementation.
37331 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
37333         sys_stat: no 'static inline'
37334         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
37335         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
37337         extern-inline: no 'static inline'
37338         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
37339         Do not require AC_C_INLINE.
37340         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
37341         'static inline', for older compilers.
37343         snippet/warn-on-use: no 'static inline'
37344         * build-aux/snippet/warn-on-use.h:
37345         Remove unnecessary 'inline' in comment.
37347         rbtree-list, rbtreehash-list: no 'static inline'
37348         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
37349         * lib/gl_anytree_list2.h (node_at):
37350         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
37351         (gl_oset_first, add_nodes_to_buckets):
37352         Now static, not static inline.
37354         regex: no 'static inline'
37355         * lib/regex_internal.c (calc_state_hash):
37356         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
37357         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
37358         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
37359         Now static, not static inline.
37360         (inline) [__GNUC__ < 3 && _LIBC]:
37361         Remove macro; no longer needed.
37363         xvasprintf: no 'static inline'
37364         * lib/xvasprintf.c (xstrcat):
37365         Now static, not static inline.
37366         * m4/xvasprintf.m4 (gl_XVASPRINTF):
37367         Do not require AC_C_INLINE.
37369         parse-datetime, parse-duration: no 'static inline'
37370         * lib/parse-datetime.y (to_uchar):
37371         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
37372         (scale_n_add):
37373         Now static, not static inline.
37374         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
37375         * modules/parse-duration (configure.ac):
37376         Do not require AC_C_INLINE.
37378         getaddrinfo: no 'static inline'
37379         * lib/getaddrinfo.c (validate_family):
37380         Now static, not static inline.
37381         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
37382         Do not require AC_C_INLINE.
37384         ftruncate, fts, lstat, openat, raise: no 'static inline'
37385         * lib/ftruncate.c (chsize_nothrow):
37386         * lib/fts.c (opendirat, diropen):
37387         * lib/lstat.c (orig_lstat):
37388         * lib/openat.c (orig_openat):
37389         * lib/raise.c (raise_nothrow):
37390         Now static, not static inline.
37391         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
37392         * m4/fts.m4 (gl_FUNC_FTS_CORE):
37393         * m4/lstat.m4 (gl_PREREQ_LSTAT):
37394         * m4/openat.m4 (gl_PREREQ_OPENAT):
37395         * m4/raise.m4 (gl_PREREQ_RAISE):
37396         Do not require AC_C_INLINE.
37398         fflush, stat: no 'static inline'
37399         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
37400         (clear_ungetc_buffer, disable_seek_optimization)
37401         (restore_seek_optimization, update_fpos_cache):
37402         * lib/stat.c (orig_stat):
37403         Now static, not static inline.
37404         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
37405         (update_fpos_cache):
37406         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
37407         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
37408         * m4/stat.m4 (gl_PREREQ_STAT):
37409         Do not require AC_C_INLINE.
37411         error, filevercmp: no 'static inline'
37412         * lib/error.c (is_open, flush_stdout):
37413         * lib/filevercmp.c (order):
37414         Now static, not static inline.
37415         * m4/error.m4 (gl_PREREQ_ERROR):
37416         * modules/filevercmp (configure.ac):
37417         Do not require AC_C_INLINE.
37419         dup, execute, fatal-signal, etc.: no 'static inline'
37420         * lib/dup.c (dup_nothrow):
37421         * lib/execute.c (nonintr_close, nonintr_open):
37422         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
37423         * lib/fopen.c (orig_fopen):
37424         * lib/freadseek.c (freadptrinc):
37425         * lib/freopen.c (orig_freopen):
37426         * lib/fstat.c (orig_fstat, fstat_nothrow):
37427         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
37428         (get_rusage_as_via_iterator):
37429         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
37430         * lib/getdtablesize.c (_setmaxstdio_nothrow):
37431         * lib/isatty.c (_isatty_nothrow):
37432         * lib/open.c (orig_open):
37433         * lib/read.c (read_nothrow):
37434         * lib/sigprocmask.c (signal_nothrow):
37435         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
37436         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
37437         * lib/wait-process.c (unregister_slave_subprocess):
37438         * lib/write.c (write_nothrow):
37439         Now static, not static inline.
37440         * lib/spawn-pipe.c (nonintr_open): Define only if
37441         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
37442         * m4/dup.m4 (gl_PREREQ_DUP):
37443         * m4/execute.m4 (gl_EXECUTE):
37444         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
37445         * m4/fopen.m4 (gl_PREREQ_FOPEN):
37446         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
37447         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
37448         * m4/fstat.m4 (gl_PREREQ_FSTAT):
37449         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
37450         * m4/isatty.m4 (gl_PREREQ_ISATTY):
37451         * m4/open.m4 (gl_PREREQ_OPEN):
37452         * m4/read.m4 (gl_PREREQ_READ):
37453         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
37454         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
37455         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
37456         * m4/wait-process.m4 (gl_WAIT_PROCESS):
37457         * m4/write.m4 (gl_PREREQ_WRITE):
37458         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
37459         Do not require AC_C_INLINE.
37461         c-strtod, memcoll, readutmp: no 'static inline'
37462         * lib/c-strtod.c (c_locale):
37463         * lib/memcoll.c (strcoll_loop):
37464         * lib/readutmp.c (desirable_utmp_entry):
37465         Now static, not static inline.
37466         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
37467         * m4/memcoll.m4 (gl_MEMCOLL):
37468         * m4/readutmp.m4 (gl_READUTMP):
37469         Do not require AC_C_INLINE.
37471         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
37472         * lib/arctwo.c (to_uchar):
37473         * lib/md4.c (set_uint32):
37474         * lib/md5.c (set_uint32):
37475         * lib/sha1.c (set_uint32):
37476         * lib/sha256.c (set_uint32):
37477         * lib/sha512.c (set_uint64):
37478         Now static, not static inline.  This is a bit simpler, and doesn't
37479         affect performance with GCC and default optimization.
37480         * m4/arctwo.m4 (gl_ARCTWO):
37481         * m4/md4.m4 (gl_MD4):
37482         * m4/md5.m4 (gl_MD5):
37483         * m4/sha1.m4 (gl_SHA1):
37484         * m4/sha256.m4 (gl_SHA256):
37485         * m4/sha512.m4 (gl_SHA512):
37486         Do not require AC_C_INLINE.
37488         cond, lock, thread: better 'inline'
37489         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
37490         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
37491         New macros.  Use them instead of static inline, for header functions.
37492         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
37493         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
37494         * lib/glthread/lock.c (gl_waitqueue_init)
37495         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
37496         * lib/glthread/thread.c (get_current_thread_handle):
37497         Change 'static inline' to 'inline'.
37498         * lib/glthread/cond.h, lib/glthread/thread.h:
37499         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37500         * m4/cond.m4 (gl_COND):
37501         * m4/lock.m4 (gl_PREREQ_LOCK):
37502         * m4/thread.m4 (gl_THREAD):
37503         Do not require AC_C_INLINE.
37504         * modules/cond, modules/thread (Depends-on): Add extern-inline.
37506         chdir-long, cycle-check, savewd: better 'inline'
37507         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
37508         (find_non_slash):
37509         * lib/cycle-check.c (is_zero_or_power_of_two):
37510         * lib/savewd.c (savewd_delegating):
37511         Change 'static inline' to 'inline'.
37512         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
37513         Replace all remaining uses of 'static inline' with it.
37514         * lib/savewd.h:
37515         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37516         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
37517         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
37518         * m4/savewd.m4 (gl_SAVEWD):
37519         Do not require AC_C_INLINE.
37520         * modules/savewd (Depends-on): Add extern-inline.
37522         base32, base64: no need for 'inline'
37523         * lib/base32.c (to_uchar, get_8, decode_8):
37524         * lib/base64.c (to_uchar, get_4, decode_4):
37525         Change 'static inline' to 'inline'.
37526         * m4/base32.m4 (gl_PREREQ_BASE32):
37527         * m4/base64.m4 (gl_PREREQ_BASE64):
37528         Do not require AC_C_INLINE.
37530         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
37531         * lib/gl_array_oset.c (gl_array_nx_add_at):
37532         (gl_array_remove_at):
37533         * lib/gl_linkedhash_list.c (hash_resize_after_add)
37534         (add_to_bucket, remove_from_bucket):
37535         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
37536         Change 'static inline' to 'static', as it's simpler to omit
37537         'inline' unless there's a significant performance advantage.
37539         list, oset, xlist, xoset, xsublist: simplify via extern inline
37540         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
37541         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
37542         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
37543         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
37544         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
37545         New macro.  Replace all uses of 'static inline' with it.
37546         [HAVE_INLINE]: Implement functions as *_INLINE functions,
37547         instead of as macros FOO that are defined to static inline
37548         functions FOO_inline.
37549         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
37550         * lib/gl_xsublist.c:
37551         Reimplement from scratch, by defining the corresponding *_INLINE
37552         macro and including the corresponding .h file.  This is simpler.
37553         * modules/list, modules/oset, modules/xlist, modules/xoset:
37554         (Files): Remove m4/gl_list.m4.
37555         (configure.ac): Remove gl_LIST.
37556         * m4/gl_list.m4: Remove.
37557         * modules/list, modules/oset, modules/xlist, modules/xoset:
37558         * modules/xsublist:
37559         (Depends-on): Depend on extern-inline, not inline.
37561         xalloc: better 'inline'
37562         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
37563         New macro.  Replace all uses of 'static inline' with it.
37564         (static_inline): Remove.
37565         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
37566         Let 'extern inline' do the work automatically, instead of doing
37567         it by hand.
37568         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
37569         Remove.  All uses removed.
37570         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
37572         gethrxtime: better 'inline'
37573         * lib/xtime.c: New file.
37574         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
37575         * lib/xtime.h (XTIME_INCLUDE):
37576         New macros.  Replace all uses of 'static inline' with them.
37577         * lib/gethrxtime.c (gethrxtime): Define only if
37578         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
37579         this source file is now always compiled, because of the extern inline.
37580         * lib/gethrxtime.h, lib/xtime.h:
37581         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37582         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
37583         if gethrtime works, as they're not needed in that case.
37584         (gl_XTIME): Do not require AC_C_INLINE.
37585         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
37586         compiled now.  Move the check into gl_GETHRXTIME.
37587         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
37588         (Depends-on): Add extern-inline.
37589         (configure.ac): gethrxtime is always compiled now.
37590         (lib_SOURCES): Add gethrxtime.c.
37592         wctype-h: better 'inline'
37593         * lib/wctype-h.c: New file.
37594         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
37595         New macro.  Replace all uses of 'static inline' with it.
37596         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37597         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
37598         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
37599         (Depends-on): Add extern-inline.
37601         unistd: better 'inline'
37602         * lib/unistd.c: New file.
37603         * lib/unistd.in.h (_GL_UNISTD_INLINE):
37604         New macro.  Replace all uses of 'static inline' with it.
37605         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37606         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
37607         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
37608         (Depends-on): Add extern-inline.
37610         sys_socket: better 'inline'
37611         * lib/sys_socket.c: New file.
37612         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
37613         New macro.  Replace all uses of 'static inline' with it.
37614         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37615         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
37616         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
37617         (Depends-on): Add extern-inline.
37619         stdio: better 'inline'
37620         * lib/stdio.c: New file.
37621         * lib/stdio.in.h (_GL_STDIO_INLINE):
37622         New macro.  Replace all uses of 'static inline' with it.
37623         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37624         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
37625         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
37626         (Depends-on): Add extern-inline.
37628         sigaction: better 'inline'
37629         * lib/sig-handler.c: New file.
37630         * lib/sig-handler.h (SIG_HANDLER_INLINE):
37631         New macro.  Replace all uses of 'static inline' with it.
37632         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37633         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
37634         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
37635         (Depends-on): Add extern-inline.
37637         selinux-h: better 'inline'
37638         * lib/se-context.c, lib/se-selinux.c: New files.
37639         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
37640         * lib/se-context.in.h (SE_CONTEXT_INLINE):
37641         New macro.  Replace all uses of 'static inline' with it.
37642         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37643         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
37644         New macro.  Replace all uses of 'static inline' with it.
37645         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37646         * modules/selinux-h (Files, lib_SOURCES):
37647         Add lib/se-context.c, lib/se-selinux.c.
37648         (Depends-on): Add extern-inline.
37649         (configure.ac): Do not require AC_C_INLINE.
37651         pthread: better 'inline'
37652         * lib/pthread.c: New file.
37653         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
37654         New macro.  Replace all uses of 'static inline' with it.
37655         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37656         * m4/pthread.m4 (gl_PTHREAD_CHECK):
37657         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
37658         * modules/pthread (Files): Add lib/pthread.c.
37659         (Depends-on): Add extern-inline.
37661         math: better 'inline'
37662         * lib/math.c: New file.
37663         * lib/math.in.h (_GL_MATH_INLINE):
37664         New macro.  Replace all uses of 'static inline' with it.
37665         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37666         * m4/math_h.m4 (gl_MATH_H):
37667         Do not require AC_C_INLINE.
37668         * modules/math (Files, lib_SOURCES):
37669         Add lib/math.c.
37670         (Depends-on): Add extern-inline.
37672         count-one-bits: better 'inline'
37673         * lib/count-one-bits.c: New file.
37674         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
37675         New macro.  Replace all uses of 'static inline' with it.
37676         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37677         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
37678         Do not require AC_C_INLINE.
37679         * modules/count-one-bits (Files, lib_SOURCES):
37680         Add lib/count-one-bits.c.
37681         (Depends-on): Add extern-inline.
37683         count-leading-zeros: better 'inline'
37684         * lib/count-leading-zeros.c: New file.
37685         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
37686         New macro.  Replace all uses of 'static inline' with it.
37687         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37688         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
37689         Do not require AC_C_INLINE.
37690         * modules/count-leading-zeros (Files, lib_SOURCES):
37691         Add lib/count-leading-zeros.c.
37692         (Depends-on): Add extern-inline.
37694         bitrotate: better 'inline'
37695         * lib/bitrotate.c: New file.
37696         * lib/bitrotate.h (BITROTATE_INLINE):
37697         New macros.
37698         Replace all uses of 'static inline' with them.
37699         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37700         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
37701         (Depends-on): Add extern-inline.
37702         (configure.ac): Do not require AC_C_INLINE.
37704 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
37706         maint.mk: avoid gratuitous failure
37707         Reported by Stefano Lattarini in
37708         <http://lists.gnu.org/r/bug-bison/2012-11/msg00022.html>
37709         * top/maint.mk (public-submodule-commit): Quote more safely.
37711 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
37713         canonicalize, canonicalize-lgpl: support MS-Windows file names
37714         See <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00074.html>
37715         for test cases, which it'd be nice to add at some point.
37716         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
37717         * lib/canonicalize.c (canonicalize_filename_mode):
37718         * lib/canonicalize-lgpl.c (__realpath):
37719         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
37720         slash is at the beginning of the file name.  Use ISSLASH, instead
37721         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
37722         the first character with '/'.  Test for
37723         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
37724         with a drive letter.
37725         * lib/canonicalize.c (SLASHES): New macro.
37726         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
37728 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
37730         fts: introduce FTS_VERBATIM
37731         * lib/fts_.h (FTS_VERBATIM): New bit flag.
37732         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
37733         * lib/fts.c (fts_open): Honor it.
37735 2012-11-09  Pádraig Brady  <P@draigBrady.com>
37737         getlogin-tests: allow errno == ENXIO
37738         * tests/test-getlogin.c (main): Skip tests if getlogin fails
37739         with errno == ENXIO (No controlling tty).
37740         getlogin_r-tests: Likewise. Also allow errno == ENOENT
37741         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
37742         with errno == ENOENT.  This was reported to happen in various
37743         situations on GNU/Linux.
37745 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
37747         getlogin-tests: allow errno == ENOENT
37748         * tests/test-getlogin.c (main): Skip tests if getlogin fails
37749         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
37750         when running a test in an Emacs shell buffer.
37752 2012-11-08  Jim Meyering  <jim@meyering.net>
37754         tests/nap.h: avoid warning about unused variable
37755         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
37757         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
37758         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
37759         white space before each of the special-cased file names, to avoid
37760         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
37761         in http://bugs.gnu.org/12830.
37763 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
37765         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
37766         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
37767         fails with errno == EBADF when fd is opened with O_PATH.
37768         Reported by Jim Meyering in
37769         <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00026.html>.
37770         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
37771         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
37773 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
37775         test-utimens: speed up by taking shorter naps
37776         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
37777         New functions.
37778         (nap): Use them, to do a better job of guessing the delay.
37779         On Fedora 17 with ext4 atop md atop hard disks, this made
37780         test-utimens run 10x faster, because the test napped for
37781         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
37782         <http://bugs.gnu.org/12820#11>.
37784 2012-11-07  Jim Meyering  <jim@meyering.net>
37786         mountlist.c: fix a compilation failure
37787         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
37788         I introduced while transforming commit v0.0-7683-g613bcb6
37790 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
37792         errno: port to LynxOS 178 2.2.2
37793         Problem reported by Joel Brobecker in
37794         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00088.html>.
37795         * doc/posix-headers/errno.texi (errno.h): Document this.
37796         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
37797         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
37798         Supply a string for EILSEQ.
37799         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
37801 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
37803         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
37804         Linux kernel 2.6.39 introduced O_PATH (see
37805         <http://lwn.net/Articles/433854/>) and this is a better fallback
37806         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
37807         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
37808         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
37809         * lib/fcntl.in.h (O_ACCMODE):
37810         * tests/test-fcntl-h.c (main):
37811         Do not reject O_ACCMODE merely because it has more than the
37812         minimal number of bits, as POSIX allows extensions here.
37814 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
37816         mountlist: do not classify a bind-mounted dir entry as "dummy"
37817         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
37818         the "none"-testing clause.
37819         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
37820         exception for bind-mounted directories.
37822 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
37824         quote: provide a means to escape strings with nul characters
37825         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
37826         (quote, quote_n): Rename formal arguments for consistency with
37827         quotearg.
37829 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
37831         test-raise: don't assume 199 is an invalid signal
37832         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
37834         sh-quote-tests: port to Solaris 9
37835         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
37836         Problem reported by Dagobert Michelsen in
37837         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00114.html>.
37839 2012-10-28  Jim Meyering  <jim@meyering.net>
37841         maint.mk: rename a new configurable variable
37842         * top/maint.mk (_gl_translatable_string_re): Rename from
37843         translation-markers: _gl_ prefix to insulate from user Makefile code,
37844         and the _re suffix to inform that it's a regular expression.
37846 2012-10-26  Eric Blake  <eblake@redhat.com>
37848         maint.mk: let packages tweak sc_po_check pattern
37849         * top/maint.mk (sc_po_check): Add translation-markers, to allow
37850         finding files with other translation markers.
37852 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
37854         euidaccess: speed up 'configure' on GNU hosts
37855         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
37856         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
37857         it's needed only in this case.  Use AC_CHECK_DECLS, not
37858         AC_CHECK_DECLS_ONCE.
37859         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
37860         or AC_REQUIRE for AC_FUNC_GETGROUPS.
37862         * lib/regexec.c (re_search_internal): Fix grammar in comment.
37864 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
37866         fchmodat, fchownat, fstatat: port to non-inlining compilers
37867         Problem reported for FreeBSD 9 by Jim Meyering in
37868         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00070.html>.
37869         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
37870         New files, which define FCHMODAT_INLINE etc.
37871         * lib/fchmodat.c (FCHMODAT_INLINE):
37872         * lib/fchownat.c (FCHOWNAT_INLINE):
37873         * lib/fstatat.c (FSTATAT_INLINE):
37874         Remove, as chmodat.c etc. now do this.
37875         * modules/fchmodat (Files): Add lib/chmodat.c.
37876         * modules/fchownat (Files): Add lib/chownat.c.
37877         * modules/fstatat (Files): Add lib/statat.c.
37879 2012-10-15  Jim Meyering  <jim@meyering.net>
37881         fchmodat.c, fchownat.c: compile-impeding typos
37882         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
37883         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
37884         Introduced in commit v0.0-7636-gd202279.
37886 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
37888         fcntl-h: support GNU flags like O_IGNORE_CTTY
37889         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
37890         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
37891         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
37892         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
37893         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
37894         Define to 0 if not already defined.
37895         * tests/test-fcntl-h.c: Test these new flags.
37897 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
37899         faccessat, etc.: support AT_FDCWD-only use
37900         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
37901         this function only if its first argument is AT_FDCWD.
37902         Emacs wants faccessat for AT_EACCESS but not for any first-arg
37903         values other than AT_FDCWD, so it doesn't want all the openat
37904         machinery with fchdir etc.
37905         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
37906         * modules/fstatat, modules/mkdirat, modules/openat (Files):
37907         * modules/unlinkat (Files):
37908         Remove lib/openat-priv.h, as at-internal supplies this file.
37909         Removing this file here allows us to support programs like Emacs
37910         that avoid at-internal.
37912         faccessat: speed up 'configure' on mainstream hosts
37913         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
37914         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
37915         since it's only on unusual platforms that we need to check for
37916         'access', and it's better not to slow 'configure' down on all
37917         platforms.
37919         faccessat: port to Solaris 10
37920         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
37921         Needed on Solaris 10, which doesn't have AT_EACCESS,
37922         so we need the Gnulib fcntl.h, which defines it.
37924 2012-10-14  Pádraig Brady  <P@draigBrady.com>
37925         canonicalize: fix C89 compilation
37926         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
37927         declarations so C89 is supported.  Also remove the comment
37928         referencing memorty allocation as the suggested feature could
37929         not be implemented as suggested.
37930         Reported by Michael Goffioul.
37932 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
37934         group-member: omit unnecessary dependencies
37935         This is for Emacs, which has its own allocator and where we
37936         don't want to use xalloc.
37937         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
37938         since we no longer use xmalloc.  Do not include stdbool.h, since
37939         the changes below happen to remove the only use of bool.
37940         (GROUPBUF_SIZE): New constant.
37941         (struct group_info): Remove n_groups member.  Add groupbuf member.
37942         This lets us get the groups without using malloc, usually.
37943         (free_group_info, get_group_info): Adjust to this.
37944         (get_group_info): Return the number of groups found, or -1 on error.
37945         Use plain malloc not xmalloc, and treat its failure as if there
37946         are no groups, as the user already loses in case of error.
37947         (group_member): Simplify, based on changes to get_group_info.
37948         * modules/group-member (Depends-on): Remove dependencies on
37949         xalloc and stdbool.  Add dependency on xalloc-oversized.
37951 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
37953         gethrxtime: port to C++
37954         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
37956 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
37958         ptsname: fix macro-name typo
37959         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
37961 2012-10-03  Simon Josefsson  <simon@josefsson.org>
37963         inttostr: Relax license.
37964         * modules/inttostr (License): Change from LGPL to LGPLv2+.
37966 2012-10-03  Eric Blake  <eblake@redhat.com>
37968         ptsname_r: support ptys returned by FreeBSD posix_openpt
37969         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
37970         lives in /dev/pts/.
37972 2012-10-02  Eric Blake  <eblake@redhat.com>
37974         pselect: reject invalid file descriptors
37975         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
37976         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
37977         * modules/pselect (Depends-on): Add dup2.
37978         * doc/posix-functions/pselect.texi (pselect): Document this.
37980         select: reject invalid file descriptors
37981         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
37982         * lib/select.c (rpl_select) [!win32]: Work around it.
37983         * modules/select (Depends-on): Add dup2.
37984         * doc/posix-functions/select.texi (select): Document this.
37986         select: enhance test
37987         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
37988         New functions.
37989         (test_function): Enhance test.
37990         (do_select_bad_fd): Avoid any stale errno values.
37992         ptsname: reject invalid file descriptors
37993         http://www.austingroupbugs.net/view.php?id=503
37994         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
37995         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
37996         * modules/stdlib (Makefile.am): Replace witness.
37997         * lib/stdlib.in.h (ptsname): Allow for replacement.
37998         * modules/ptsname (configure.ac): Trigger replacement.
37999         * doc/posix-functions/ptsname.texi (ptsname): Document this.
38001 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
38003         hash-pjw-bare: new module
38004         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
38005         * lib/hash-pjw-bare.h: Likewise.
38006         * modules/hash-pjw-bare: New file.
38007         * MODULES.html.sh (Misc): Add it.
38009 2012-10-02  Eric Blake  <eblake@redhat.com>
38011         manywarnings: cater to more gcc infelicities
38012         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
38013         -Wuninitialized without -O.
38015 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
38017         select, poll tests: Make setsockopt invocation effective.
38018         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
38019         the bind() call.
38020         * tests/test-select.h (open_server_socket): Likewise.
38022 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
38024         sockets, sys_stat: restore AC_C_INLINE
38025         This undoes the 2012-09-22 patch.
38026         * m4/sockets.m4 (gl_SOCKETS):
38027         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
38028         Restore AC_C_INLINE, since MSVC requires __inline or _inline
38029         and does not support plain 'inline'.  Reported by Bruno Haible in
38030         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00183.html>.
38032 2012-09-30  Bruno Haible  <bruno@clisp.org>
38034         localeconv tests: Avoid test failure on OpenIndiana.
38035         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
38036         skip the 'grouping' and 'mon_grouping' tests.
38037         Reported by Jim Meyering.
38039 2012-09-30  Bruno Haible  <bruno@clisp.org>
38041         havelib: Follow libtool developments.
38042         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
38043         Suggested by Simon Josefsson.
38045 2012-09-29  Jim Meyering  <meyering@redhat.com>
38047         fstatat.c: fix a compile-impeding typo
38048         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
38049         Introduced in commit v0.0-7636-gd202279.
38050         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
38052 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
38054         extern-inline: provide a -Wundef safe config.h
38055         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
38056         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
38057         to produce a -Wundef warning free config.h.
38059 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
38061         hash-pjw: relax license to LGPLv2+
38062         * modules/hash-pjw (License): Relax, with consent of author.
38064 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
38066         maint.mk: fix strict vs. lazy variable issues with RELEASE
38067         * top/maint.mk (_equal): New function.
38068         (member_check): Strip the result to avoid spurious spaces.
38069         (url_dir_list): Do not use ifeq, which is strict, as it will
38070         require RELEASE_TYPE to be defined.
38071         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
38072         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
38073         (announcement_Cc_alpha,announcement_mail_headers_alpha)
38074         (announcement_Cc_beta,announcement_mail_headers_beta)
38075         (announcement_Cc_stable,announcement_mail_headers_stable): these.
38076         (release): Do not depend on $(release-type), as it forces its
38077         evaluation.  Bounce to it.
38079 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
38081         maint.mk: formatting changes
38082         * top/maint.mk: Indent bodies of if's.
38084 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
38086         maint.mk: factor the validation of RELEASE_TYPE
38087         With help from Jim Meyering.
38088         http://lists.gnu.org/r/bug-gnulib/2012-09/msg00132.html
38089         * top/maint.mk (_empty, _sp): Move their definition earlier.
38090         (member-check, release-type): New.
38091         Use the latter instead of $(RELEASE_TYPE).
38092         Remove now useless local checks.
38094 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
38096         maint.mk: provide "make upload" to ease uploading
38097         See
38098         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00028.html>.
38099         Do not depend simply on the current $(VERSION), as there may have been
38100         new commits since the tarball generation.  Rather, rely on $(RELEASE),
38101         as "make release-commit" already does.
38103         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
38104         "make TYPE".
38106         * top/maint.mk (upload_command, upload, release): New.
38107         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
38108         (VERSION): first word of $(RELEASE) is always right.
38109         (emit_upload_commands): Adjust.
38110         * top/README-release: Update.
38112 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
38114         maint.mk: silent rules
38115         With help from Stefano Lattarini.
38116         * top/maint.mk (writable-files): Use $(AM_V_GEN).
38117         (announcement): Use $(AM_V_at).
38119 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
38121         localename: port gl_locale_name_thread_unsafe to FreeBSD
38122         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
38123         and use the simpler FreeBSD implementation on Mac OS X as well.
38124         Original idea suggested by Ed Maste in
38125         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00094.html>.
38127 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
38129         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
38130         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
38131         * lib/mbuiter.c, lib/xsize.c: New files.
38132         * lib/binary-io.h (BINARY_IO_INLINE):
38133         * lib/eealloc.h (EEALLOC_INLINE):
38134         * lib/mbfile.h (MBFILE_INLINE):
38135         * lib/mbiter.h (MBITER_INLINE):
38136         * lib/mbuiter.h (MBUITER_INLINE):
38137         * lib/xsize.h (XSIZE_INLINE):
38138         New macros.
38139         Replace all uses of 'static inline' with them.
38140         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38141         * m4/eealloc.m4 (gl_EEALLOC):
38142         * m4/mbfile.m4 (gl_MBFILE):
38143         * m4/mbiter.m4 (gl_MBITER):
38144         * m4/xsize.m4 (gl_XSIZE):
38145         Do not require AC_C_INLINE.
38146         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
38147         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
38148         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
38149         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
38150         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
38151         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
38152         * modules/binary-io, modules/eealloc, modules/mbfile:
38153         * modules/mbiter, modules/mbuiter:
38154         (Depends-on): Add extern-inline.
38156         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
38157         * lib/pipe-filter-aux.c: New file.
38158         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
38159         Replace all uses of 'static inline' with it.
38160         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38161         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
38162         (filter_retcode): No real need for inline here.
38163         * modules/pipe-filter-gi, modules/pipe-filter-ii:
38164         (Files): Add lib/pipe-filter-aux.c.
38165         (Depends-on): Add extern-inline.
38166         (configure.ac): Do not require AC_C_INLINE.
38167         (lib_SOURCES): Add pipe-filter-aux.c.
38169         fdutimensat: omit unnecessary AC_C_INLINE
38170         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
38172         fchmodat, fchownat, fstatat: use extern-inline
38173         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
38174         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
38175         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
38176         New macros.
38177         * lib/openat.h:
38178         Replace all uses of 'static inline' with them.
38179         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38180         * modules/fchmodat, modules/fchownat, modules/fstatat:
38181         * modules/openat-h:
38182         (Depends-on):
38183         Add extern-inline.
38184         (configure.ac): Remove AC_C_INLINE.
38186         acl, mbchar, priv-set: use extern-inline
38187         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
38188         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
38189         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
38190         New macros.
38191         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
38192         Replace all uses of 'static inline' with it.
38193         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38194         * m4/acl.m4 (gl_FUNC_ACL):
38195         * m4/mbchar.m4 (gl_MBCHAR):
38196         * m4/priv-set.m4 (gl_PRIV_SET):
38197         Remove AC_C_INLINE, since 'inline' is no longer used directly.
38198         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
38199         Add extern-inline.
38201         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
38202         * m4/sockets.m4 (gl_SOCKETS):
38203         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
38204         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
38205         environments where it's already guaranteed to work, so we needn't
38206         check for it at 'configure'-time.
38208         tls-tests: omit unnecessary 'inline'
38209         * tests/test-tls.c (perhaps_yield): No longer inline.
38210         Simplicity and portability trump efficiency in test cases.
38212         utimens-tests: avoid unnecessary 'inline'
38213         * modules/fdutimensat-tests (configure.ac):
38214         * modules/futimens-tests (configure.ac):
38215         * modules/utimens-tests (configure.ac):
38216         * modules/utimensat-tests (configure.ac):
38217         Remove AC_C_INLINE.
38218         * tests/test-utimens-common.h (ctime_compare):
38219         No longer inline.  Simplicity and portability trump efficiency here.
38221         misc: don't limit commentary to inline functions
38222         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
38223         * lib/xalloc-oversized.h, lib/xsize.h:
38224         Contrast macros to functions in general, not just to inline functions,
38225         when the commentary does not apply only to inline functions.
38227 2012-09-20  Jim Meyering  <meyering@redhat.com>
38229         non-recursive-gnulib-prefix-hack: new module
38230         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
38231         the file that originated in Bison.
38232         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
38233         largely copied from a snippet that resided in bison's configure.ac.
38234         * modules/non-recursive-gnulib-prefix-hack: New file.
38235         * MODULES.html.sh (Support for maintaining and releasing projects):
38236         Add it.
38238 2012-09-18  Jim Meyering  <meyering@redhat.com>
38240         maint.mk: generalize _gl_tight_scope for non-recursive make
38241         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
38242         that *.h would describe additional .h files in the directory
38243         specified by $(_gl_TS_dir).  I.e., add this...
38244         (_gl_TS_other_headers): New variable.
38246         maint.mk: exempt trailing blanks found in "binary" files
38247         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
38248         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
38249         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
38251 2012-09-17  Jim Meyering  <meyering@redhat.com>
38253         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
38254         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
38255         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
38256         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
38258 2012-09-17  Jim Meyering  <meyering@redhat.com>
38260         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
38261         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
38262         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
38263         It is not in the same category as "exit (0)" or "exit (1)", and
38264         besides, I know of no symbolic name for that 77.  Reported by
38265         Richard W.M. Jones in
38266         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
38268 2012-09-17  Jim Meyering  <meyering@redhat.com>
38270         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
38271         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
38272         all uses of #define, not just those that start in column 1.
38273         Richard W.M. Jones reported a false positive in
38274         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
38276 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
38278         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
38279         * lib/localcharset.c (locale_charset) [DARWIN7]:
38280         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
38281         as these two values are incompatible.  Problem reported by Max Horn.
38282         For more discussion, please see
38283         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00061.html>.
38285         doc: document sticky-EOF issue
38286         * doc/posix-functions/fgetc.texi (fgetc):
38287         * doc/posix-functions/fgets.texi (fgets):
38288         * doc/posix-functions/fread.texi (fread):
38289         * doc/posix-functions/fscanf.texi (fscanf):
38290         * doc/posix-functions/getc.texi (getc):
38291         * doc/posix-functions/getchar.texi (getchar):
38292         * doc/posix-functions/scanf.texi (scanf):
38293         Mention that glibc and default Solaris do not conform to
38294         C99 and POSIX-2001 or later, with respect to how getchar
38295         etc. behave when feof reports nonzero.
38297 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
38299         poll: fix poll(0, NULL, msec)
38300         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
38301         but nfd is 0.  In that case poll should behave like select.
38303 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
38304             Paolo Bonzini  <bonzini@gnu.org>
38306         poll: fix for systems that can't recv() on a non-socket
38307         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
38308         is readable.  In this case POLLHUP will not be supported.
38309         * doc/posix-functions/poll.texi: Document this.
38311 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
38313         poll/select: document portability problems not fixed by Gnulib.
38314         * doc/posix-functions/poll.texi: poll does not work well on
38315         pipes under Windows.  It has the same limitations as select on
38316         BeOS.
38317         * doc/posix-functions/select.texi: select does not work well
38318         on pipes under Windows.
38320 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
38322         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
38323         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
38324         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
38325         <http://lists.gnu.org/r/bug-tar/2012-07/msg00018.html>.
38327 2012-09-06  Eric Blake  <eblake@redhat.com>
38329         net_if: give more details about the bug being fixed
38330         * doc/posix-headers/net_if.texi: Add clarification.
38332 2012-09-05  Eric Blake  <eblake@redhat.com>
38334         net_if: new module
38335         * modules/net_if: New module, borrowing ideas from netinet_in.
38336         * m4/net_if_h.m4: New file.
38337         * lib/net_if.in.h: Likewise.
38338         * doc/posix-headers/net_if.texi (net/if.h): Document it.
38339         * MODULES.html.sh (lacking POSIX:2008): Likewise.
38340         * tests/test-net_if.c: Make function checks conditional.
38341         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
38343 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
38345         readutmp: fix non-portable UT_PID use
38346         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
38347         Use `UT_PID (u) > 0' as absolute condition.
38349 2012-09-04  Jim Meyering  <meyering@redhat.com>
38351         fts: reduce two or more trailing spaces to just one, usually
38352         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
38353         or more slashes, trim all but the final one.  But if a name consists
38354         solely of two slashes, don't modify it.  If it consists solely of
38355         three or more slashes, strip all but one.
38357         This is part of the solution to a minor problem with rm:
38358         it would print a bogus ELOOP diagnostic when failing to remove
38359         the slash-decorated name of a symlink-to-directory:
38361             $ mkdir d && ln -s d s && env rm -r s/
38362             rm: cannot remove 's': Too many levels of symbolic links
38364         With the change below and a trivial don't-trim-trailing-slashes
38365         adjustment to remove.c, it does this:
38367             $ env rm -r s/
38368             rm: cannot remove 's/': Not a directory
38370         Improved by: Eric Blake
38372         fts: when there is no risk of overlap, use memcpy, not memmove
38373         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
38375 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
38377         stdbool: be more compatible with mixed C/C++ compiles
38378         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
38379         Define to bool, true, false, respectively, as GCC's builtin
38380         stdbool.h does.  Problem reported by Michael Goffioul in
38381         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00143.html>.
38383 2012-08-28  Jim Meyering  <meyering@redhat.com>
38385         revert last change: it was not needed
38386         * tests/test-vc-list-files-git.sh: There's already a test for
38387         a working git, just below.
38389 2012-08-28  Jim Meyering  <meyering@redhat.com>
38391         tests: test-vc-list-files-git.sh: skip if git is not available
38392         * tests/test-vc-list-files-git.sh: Skip this test when git is
38393         not available.
38395 2012-08-26  Bruno Haible  <bruno@clisp.org>
38397         gnulib-tool: Remove no-op option --no-changelog.
38398         * gnulib-tool (func_usage): Don't mention --no-changelog.
38399         (do_changelog): Remove variable.
38400         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38402 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
38404         doc: remove fdl-1.2.texi
38405         It is no longer used or maintained, and its use of @acronym
38406         is problematic.  See the thread containing
38407         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00134.html>.
38408         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
38409         * doc/old-licenses/fdl-1.2.texi: Remove.
38411         execinfo: port to FreeBSD
38412         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
38413         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
38414         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00113.html>.
38415         * modules/execinfo (Link): Add $(LIB_EXECINFO).
38417 2012-08-23  Jim Meyering  <meyering@redhat.com>
38419         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
38420         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
38421         to placate gcc's -Wold-style-declaration.
38423 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
38425         doc: do not use @acronym
38426         * doc/inet_ntoa.texi (inet_ntoa):
38427         * doc/parse-datetime.texi (Seconds since the Epoch)
38428         (Specifying time zone rules):
38429         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
38430         Don't use @acronym.  Problem reported by John Darlington in
38431         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00124.html>.
38433 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
38435         stdnoreturn: port to newer GCCs
38436         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
38437         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
38438         Problem reported by Jim Meyering in
38439         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00121.html>.
38440         Also, rename the 'test' function to a void a clash with the
38441         already-supplied 'main' function; this fixes a bug that incorrectly
38442         rejected GCC 4.7.1's <stdnoreturn.h>.
38443         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
38444         Document GCC problem.
38446 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
38448         pipe-filter: fix comment typo
38449         * lib/pipe-filter.h: Mention correct function.
38451 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
38453         execinfo: new module
38454         This is for Emacs.  Currently, it provides a no-effect stub
38455         on all platforms where it does not already work.
38456         It already works on glibc-based systems, and on Solaris 11.
38457         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
38458         New files.
38459         * doc/glibc-headers/execinfo.texi (execinfo.h):
38460         * MODULES.html.sh (Misc): Document it.
38462 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
38464         extern-inline: support old GCC 'inline'
38465         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
38466         if available.  This applies to GCC versions 2.7 through 4.2, or
38467         when newer GCC is using -fgnu89-inline.  The goal is to address
38468         some of the performance issues mentioned by Bruno Haible in
38469         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00097.html>.
38471 2012-08-20  Eric Blake  <eblake@redhat.com>
38473         maint.mk: avoid redundant file name in message
38474         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
38475         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
38476         (sc_makefile_path_separator_check): Remove bogus $(ME).
38478 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
38480         timer-time: fix link order when static linking on glibc
38481         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
38482         _after_ -lrt so that it's significant.
38484 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
38486         timespec: omit unnecessary AC_C_INLINE
38487         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
38489         stat-time: omit unnecessary AC_C_INLINE
38490         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
38491         Do not require AC_C_INLINE.
38493         ignore-value: omit unnecessary AC_C_INLINE
38494         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
38496         sys_select: avoid 'static inline'
38497         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
38499         mktime: avoid 'static inline'
38500         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
38501         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
38503 2012-08-19  Bruno Haible  <bruno@clisp.org>
38505         gnulib-tool: Improve coding style.
38506         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
38507         func_emit_lib_Makefile_am.
38508         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38510 2012-08-19  Bruno Haible  <bruno@clisp.org>
38512         gnulib-tool: Fix indentation.
38513         * gnulib-tool (func_import): Fix indentation.
38515 2012-08-19  Bruno Haible  <bruno@clisp.org>
38517         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
38518         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
38519         on the list of removed files.
38521 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
38523         test-parse-datetime: avoid glibc leap-second glitch
38524         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
38525         with the 2012 rules.  Problem reported by Bruce Dubbs in
38526         <http://bugs.gnu.org/12206>.
38528 2012-08-14  Bruno Haible  <bruno@clisp.org>
38530         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
38531         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
38532         from argument.
38533         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38535 2012-08-14  Eric Blake  <eblake@redhat.com>
38537         ldexp: relax license
38538         * modules/ldexp (License): Trivial relax, since the module only
38539         provides a permissively licensed m4 file.
38541 2012-08-13  Bruno Haible  <bruno@clisp.org>
38543         gnulib-tool: Fix persistence of --witness-c-macro option.
38544         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
38545         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38547 2012-08-11  Eric Blake  <eblake@redhat.com>
38549         count-leading-zeros: use a lookup table on non-gcc compilers
38550         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
38551         alternate implementation, suggested by Jim Meyering.
38553 2012-08-10  Eric Blake  <eblake@redhat.com>
38555         count-leading-zeros: new module
38556         * modules/count-leading-zeros: New module.
38557         * m4/count-leading-zeros.m4: New file.
38558         * lib/count-leading-zeros.h: Likewise.
38559         * modules/count-leading-zeros-tests: New test.
38560         * tests/test-count-leading-zeros.c: New file.
38561         * MODULES.html.sh (Integer arithmetic functions): Document it.
38563 2012-08-07  Simon Josefsson  <simon@josefsson.org>
38564             Jim Meyering  <meyering@redhat.com>
38566         maintainer-makefile: Fix syntax error with dash.
38567         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
38568         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
38570 2012-08-05  Jim Meyering  <meyering@redhat.com>
38572         extern-inline: also ignore -Wmissing-declarations
38573         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
38574         required with gcc-4.8.0-to-be.
38576         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
38577         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
38578         for /error ?([^,]*)/.  This avoids false-positives for strings like
38579         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
38581 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
38583         gnumakefile: better interaction with Automake-NG
38584         * modules/gnumakefile [Makefile.am]: The makefiles generated by
38585         Automake-NG always contain a definition of VPATH, even in non-VPATH
38586         builds (its value being simply '.' in that case).  So, in the
38587         'clean-GNUmakefile' rule, to determine whether running under a
38588         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
38589         '$(VPATH)' expands to the empty string.
38591 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
38593         base64: Use extern C scope in header file, for C++.
38594         * lib/base64.h: Add C++ namespace protection.
38596 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
38598         stat-time, timespec, u64: support naive out-of-dir builds
38599         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
38600         Use '#include "foo.h"', not '#include <foo.h>', when including
38601         one's own interface.  This works better when configuring with
38602         out-of-directory builds, since packages need not add an
38603         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
38605 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
38607         utimens: use extern-inline
38608         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
38609         * lib/utimens.h: Add copyright notice, since this is now large enough
38610         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38611         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
38612         * modules/utimens (Depends-on): Add extern-inline.
38614         u64: use extern-inline
38615         * lib/u64.c: New file.
38616         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38617         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
38618         * modules/u64 (Files): Add lib/u64.c.
38619         (Depends-on): Add extern-inline.
38620         (configure.ac): No need to require AC_C_INLINE, since extern-inline
38621         does that now.
38622         (lib_SOURCES): Add u64.c.
38624         timespec: use extern-inline
38625         * lib/timespec.c: New file.
38626         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38627         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
38628         * modules/timespec (Files): Add lib/timespec.c.
38629         (Depends-on): Add extern-inline.
38630         (lib_SOURCES): Add timespec.c.
38632         stat-time: use extern-inline
38633         * lib/stat-time.c: New file.
38634         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38635         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
38636         * modules/stat-time (Files): Add lib/stat-time.c.
38637         (Depends-on): Add extern-inline.
38638         (lib_SOURCES): Add stat-time.c.
38640         extern-inline: new module
38641         * modules/extern-inline, m4/extern-inline.m4: New files.
38642         This is for better support of 'extern inline' a la ISO C99,
38643         with a portable alternative on compilers that do not support
38644         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
38645         of the Emacs executable, when compiled with debugging disabled,
38646         which is a typical way that Emacs is built while developing.
38648 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
38650         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
38651         * build-aux/do-release-commit-and-tag: Move variable definitions
38652         together.
38653         ($branch): Instead of defaulting to "master", default to the current
38654         branch (as gnu-web-doc-update does).
38655         (help): Display the current values of the option arguments.
38656         * top/maint.mk (release-commit): New.
38657         * top/README-release: Simplify the corresponding step.
38659 2012-07-30  Eric Blake  <eblake@redhat.com>
38661         passfd: fix comment on recvfd
38662         * lib/passfd.c (recvfd): Fix comment.
38663         Reported by Jann Horn <jannhorn@googlemail.com>.
38665 2012-07-30  Jim Meyering  <meyering@redhat.com>
38667         maint.mk: avoid a sub-shell
38668         * top/maint.mk (release-prep): Remove unneeded sub-shell.
38670 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38672         maint.mk: use silent-rules support from Automake
38673         * top/maint.mk (news-check, vc-diff-check, announcement)
38674         (no-submodule-changes, alpha beta stable, release-prep)
38675         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
38677 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38679         maint.mk: provide a web-manual-update target
38680         * top/maint.mk: here.
38681         * top/README-release: Use it to simplify the web manual update step.
38683 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38685         README-release: shorten the circuit to post a news
38686         * top/README-release: Point directly to the news submission form.
38688 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38690         gnu-web-doc-update: fix --help
38691         * build-aux/gnu-web-doc-update: The information "top level" was written
38692         twice.
38694 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38696         maint.mk: absolute VPATH issue
38697         * top/maint.mk (release-prep): Help Git find .git/.
38698         From Jim Meyering.
38700 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
38702         gitlog-to-changelog: fix previous change
38703         * build-aux/gitlog-to-changelog: Fix condition.
38704         Add missing ";".
38706 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
38708         gitlog-to-changelog: don't expect .git to be in $srcdir
38709         Reported by Bruno Haible.
38710         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00265.html>
38711         * build-aux/gitlog-to-changelog (&git_dir_option): New.
38712         Use it.
38714 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
38716         maint.mk: absolute VPATH build fix
38717         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
38718         $(srcdir) is not a parent of $(builddir).
38720 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
38722         clean-temp: Fix memory leak.
38723         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
38724         'files' members of tmpdir.
38726 2012-07-27  Jim Meyering  <meyering@redhat.com>
38728         maint.mk: new rule: refresh-gnulib-patches
38729         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
38730         Use this rule to refresh them.
38731         * top/maint.mk (refresh-gnulib-patches): New rule.
38733 2012-07-24  Bruno Haible  <bruno@clisp.org>
38735         gnulib-tool: Fix handling of inctests variable.
38736         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
38737         Reported by Nick Bowler <nbowler@elliptictech.com>.
38739 2012-07-22  Bruno Haible  <bruno@clisp.org>
38741         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
38742         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
38743         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
38744         Remove exemption for getpass.h.
38745         Suggested by Eric Blake.
38747 2012-07-20  Eric Blake  <eblake@redhat.com>
38749         verify: document conflict with -Wnested-externs
38750         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
38752         maint.mk: forbid exit(-1)
38753         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
38755 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
38757         fsusage: port back to Solaris
38758         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
38759         error (fsd not declared) on Solaris 10.  Reported privately by
38760         Andrew Borodin.
38762 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
38764         gnu-web-doc-update: fix error messages
38765         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
38767         gnu-web-doc-update: check the requirements.
38768         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
38769         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
38770         * build-aux/bootstrap (find_tool): Comment change.
38772 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
38774         maint.mk: minor simplication.
38775         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
38776         for default values.
38778 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
38780         gitlog-to-changelog: VPATH build issues
38781         If builddir is not a subdirectory of srcdir, running git from it will
38782         fail.
38783         * build-aux/gitlog-to-changelog (--srcdir): New option.
38785 2012-07-15  Bruno Haible  <bruno@clisp.org>
38787         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
38788         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
38789         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
38790         Remove exemption for fpending.h.
38791         Suggested by Eric Blake.
38793 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
38795         pthread_sigmask: fix bug on FreeBSD 9
38796         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
38797         Include string.h.
38798         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
38799         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
38800         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
38801         but pthread_sigmask (1729, NULL, NULL) returns zero.
38802         See <http://bugs.gnu.org/11884>.
38803         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
38804         by inspecting whether the main call changed the old mask.
38806 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
38808         README-release: make it more legible
38809         * top/README-release: Improve typography slightly.
38811 2012-07-15  Jim Meyering  <meyering@redhat.com>
38813         maint: require that each sc_... command start with "@"
38814         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
38815         "make sc_maint" helps us avoid this nit.
38817 2012-07-15  Jim Meyering  <meyering@redhat.com>
38819         maint.mk: add leading "@" to quiet new "make syntax-check" rule
38820         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
38822 2012-07-13  Eric Blake  <eblake@redhat.com>
38824         maint.mk: new syntax check for HAVE_DECL checks
38825         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
38826         * cfg.mk
38827         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
38828         Exempt some false positives.
38829         Based on a report by Karel Zak.
38831         argp: make HAVE_DECL usage consistent
38832         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
38833         macros, not whether they are defined.
38834         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
38835         convention with other declaration checks.
38836         Reported by Karel Zak, with suggestions from Paul Eggert.
38838         stat-time: relax license to LGPLv2+
38839         * modules/stat-time (License): Relax, with consent of all authors.
38841         strndup: fix m4 usage error
38842         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
38843         defined, to either 0 or 1.
38844         Reported by Karel Zak.
38846 2012-07-11  Jim Meyering  <meyering@redhat.com>
38848         maint: enable the sc_avoid_if_before_free syntax-check rule
38849         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
38850         (if_before_free_offenders_): Define.
38851         (if_before_free_basename_re_): Define.
38852         Exempt current files with useless if-before-free.
38854 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
38856         gettext: do not assume '#define ... defined ...' behavior
38857         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
38858         Do not use '#define FOO ... defined BAR ...', as the C standard says
38859         it's not portable to expect that this works after macro expansion.
38860         Problem reported for gzip by Steven M. Schweda in
38861         <http://lists.gnu.org/r/bug-gzip/2012-07/msg00000.html>.
38863 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
38865         getloadavg: clean out old Emacs and Autoconf cruft
38866         See Glenn Morris in <http://bugs.gnu.org/11905>.
38867         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
38868         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
38869         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
38870         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
38872 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
38874         bootstrap: let warn be like tests/init.sh's warn_
38875         Reported by Jim Meyering.
38876         * build-aux/bootstrap (warn): Remove, replaced by...
38877         (warnf_, warn_): these.
38878         Adjust callers.
38879         Shorten messages that no longer fit in 80 columns.
38881 2012-07-09  Bruno Haible  <bruno@clisp.org>
38883         getopt: Simplify after Emacs changed.
38884         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
38885         (gl_GETOPT_IFELSE): Remove macro.
38887 2012-07-09  Jim Meyering  <meyering@redhat.com>
38889         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
38890         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
38892         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
38893         Bugs in both of those conspired to make the
38894         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
38895         _sc_search_regexp's handling of non-empty $in_files would filter
38896         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
38897         choice of in_files value meant there would be no match in most
38898         projects, due to the presence of two or more Makefile.in files.
38899         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
38900         Fix a bug in how a non-empty $$in_files was processed:
38901         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
38902         in spite of the name, it's a regexp, not a list of file names.
38904 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
38906         getloadavg, getopt: fix commentary re configure.in
38907         Autoconf is deprecating the name 'configure.in', so change it to
38908         to the new name 'configure.ac' in a couple of places.
38909         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
38910         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
38911         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
38912         Emacs has renamed it to configure.ac, and it no longer refers
38913         to these macros anyway.
38915         timespec: mark functions with const attributes
38916         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
38917         Mark with _GL_ATTRIBUTE_CONST.
38919 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
38921         canonicalize[-lgpl]: handle "guessing" values when cross-building
38922         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
38923         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
38924         matches "*yes" instead of just "yes".  Regression introduced in commit
38925         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
38927 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
38928             Bruno Haible  <bruno@clisp.org>
38930         canonicalize: make the right guess when cross-compiling to GNU
38931         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
38932         determine whether cross-compiling to glibc systems, so as to
38933         include GNU/Hurd.
38935 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
38937         timespec-sub: avoid duplicate include
38938         * lib/timespec-sub.c: Do not include <config.h> twice.
38939         Reported by Juanma Barranquero.
38941 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
38943         bootstrap: use a more consistent error reporting scheme
38944         * build-aux/bootstrap (warn, die): New.
38945         Use them.
38947 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
38949         sys_time: allow too-wide tv_sec
38950         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
38951         timeval even if tv_sec is wider than time_t.  This allows
38952         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
38953         as without this patch gnulib replaces struct timeval
38954         and OpenBSD futimes therefore has a type mismatch.
38955         * doc/posix-headers/sys_time.texi: Mention this.
38957         pthread: check for both pthread_create and pthread_join
38958         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
38959         alter the check so that it tests for both pthread_create and
38960         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
38961         Suggested by Bruno Haible and Richard Yao in
38962         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00048.html>.
38964         parse-datetime: doc tuneup
38965         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
38966         spacing issues.
38968 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
38970         do-release-commit-and-tag: fix the previous commit
38971         * build-aux/do-release-commit-and-tag: Actually the test was right,
38972         but the comment and the error message were misleading.
38973         Fix comment, and improve error message.
38974         Perform check first, so that NEWS is not modified uselessly.
38976         do-release-commit-and-tag: fix typo
38977         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
38978         _not_ start with a stub.
38980 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
38982         pthread: check for pthread_create, not pthread_join
38983         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
38984         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
38985         pthread_join in libc.  I hope this removes the need for all the
38986         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
38987         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00042.html>.
38989 2012-07-04  Jim Meyering  <meyering@redhat.com>
38991         parse-datetime: fix failure to diagnose invalid input
38992         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
38993         rather than diagnosing the invalid input.  Now it reports this:
38994         date: invalid date '\260'
38995         * lib/parse-datetime.y (to_uchar): Define.
38996         (yylex): Don't sign-extend "other" bytes.
38997         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
38998         Thanks to Bruno Haible for the patch to this file.
38999         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
39000         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
39002 2012-07-03  Jim Meyering  <meyering@redhat.com>
39004         bootstrap: do not require now-removed build-aux/missing
39005         Now that build-aux/missing is, er, missing, bootstrap would
39006         silently fail.
39007         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
39008         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
39009         no longer part of gnulib.
39010         Diagnose the failure.
39012 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
39014         alloca: add support for HP NonStop TNS/E native
39015         * lib/alloca.in.h (alloca): Support the new host.
39016         From a suggestion by Joachim Schmitz in
39017         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00355.html>.
39019 2012-07-02  Pádraig Brady  <P@draigBrady.com>
39021         fsusage: remove code not needed on non GNU/Linux systems.
39023         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
39024         Don't include headers no longer needed in this case.
39025         * lib/fsusage.c [STAT_STATVFS &&
39026         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
39027         STAT_STATFS2_FRSIZE to exclude code not used in this case.
39029 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
39031         fsusage: include files needed for glibc 2.6 fallback
39032         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
39033         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
39034         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
39035         Problem reported by Ludovic Courtès in
39036         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00005.html>.
39038         fsusage: avoid needless check on GNU/Linux
39039         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
39040         on GNU/Linux systems, since it can't possibly work.
39042 2012-07-01  Bruno Haible  <bruno@clisp.org>
39044         log: Fix an autoconf >= 2.64 warning.
39045         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
39046         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
39048 2012-06-28  Bruno Haible  <bruno@clisp.org>
39050         log10f: Fix possible configuration problem.
39051         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
39052         $LOGF_LIBM.
39053         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
39055 2012-06-28  Bruno Haible  <bruno@clisp.org>
39057         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
39058         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
39059         not gl_cv_func_unlink_works.
39060         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
39062 2012-06-27  Eric Blake  <eblake@redhat.com>
39064         config: drop scripts that automake says are not independent
39065         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
39066         * build-aux/elisp-comp: Delete.
39067         * build-aux/missing: Likewise.
39068         * build-aux/ylwrap: Likewise.
39069         * modules/elisp-comp: Likewise.
39070         * MODULES.html.sh: Drop mention of elisp-comp.
39071         * NEWS: Mention this.
39073 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
39075         root-uid: new module
39076         This is for portability to Tandem's NonStop Kernel.
39077         * lib/root-uid.h, modules/root-uid: New files.
39078         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
39079         * lib/write-any-file.c, tests/test-sethostname2.c:
39080         Include "root-uid.h".
39081         * lib/euidaccess.c (euidaccess):
39082         * lib/pt_chown.c (main):
39083         * lib/unlinkdir.c (cannot_unlink_dir):
39084         * lib/write-any-file.c (can_write_any_file):
39085         * m4/mknod.m4 (gl_FUNC_MKNOD):
39086         * tests/test-sethostname2.c (geteuid, main):
39087         Don't assume ROOT_UID == 0.
39088         * modules/euidaccess (Depends-on):
39089         * modules/pt_chown (Depends-on):
39090         * modules/sethostname-tests (Depends-on):
39091         * modules/unlinkdir (Depends-on):
39092         * modules/write-any-file (Depends-on):
39093         Add root-uid.
39095         regex: use locale-independent comparison for codeset name
39096         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
39097         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
39098         for codeset name.
39099         * lib/regex_internal.h: Do not include <strings.h>, since we
39100         no longer use strcasecmp.
39101         * modules/regex (Depends-on): Remove strcase.
39103 2012-06-23  Bruno Haible  <bruno@clisp.org>
39105         getopt-posix: No longer guarantee that option processing is resettable.
39106         * doc/posix-functions/getopt.texi: Drop description of problem with
39107         internal state. Fix info about mingw and msvc9.
39108         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
39109         option processing by getopt(). Run three test programs instead of one.
39110         Simplify cross-compilation guess.
39111         * NEWS: Mention the change.
39112         Reported by Rich Felker <dalias@aerifal.cx>.
39114 2012-06-26  Bruno Haible  <bruno@clisp.org>
39116         argp, regex: Ensure strcasecmp gets declared.
39117         * lib/argp-help.c: Include <strings.h>.
39118         * lib/regex_internal.h: Likewise.
39119         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
39121 2012-06-24  Bruno Haible  <bruno@clisp.org>
39123         ptsname_r: Make it consistent with ptsname on AIX.
39124         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
39125         implementation as for OSF/1.
39126         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
39127         a pty master.
39129         ptsname_r: Make it consistent with ptsname on OSF/1.
39130         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
39131         OSF/1.
39133 2012-06-24  Bruno Haible  <bruno@clisp.org>
39135         ttyname_r: Fix result on OSF/1, Solaris.
39136         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
39138 2012-06-24  Bruno Haible  <bruno@clisp.org>
39140         ptsname_r: Add support for Solaris.
39141         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
39142         Solaris.
39144         ptsname_r: Fix test failure on native Windows.
39145         * modules/ptsname_r (Depends-on): Add isatty.
39147         ptsname_r: Fix test failures on IRIX, Solaris.
39148         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
39149         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
39150         accordingly.
39151         * lib/ptsname_r.c: Include <fcntl.h>.
39152         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
39153         set errno if fd is invalid.
39154         * tests/test-isatty.c (main): Update comments.
39156 2012-06-24  Bruno Haible  <bruno@clisp.org>
39158         ptsname test: Extend test.
39159         * tests/test-ptsname.c: Include <errno.h>.
39160         (main): Test behaviour with invalid file descriptor.
39162 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
39164         time: fix obsolete comment
39165         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
39166         reference to HAVE_STRUCT_TIMESPEC in comment.
39168 2012-06-23  Bruno Haible  <bruno@clisp.org>
39170         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
39171         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
39172         does not handle abbreviated long options with equivalent
39173         disambiguations, set gl_replace_getopt to yes.
39174         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
39176 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
39178         time_r: fix typo that always overrode localtime_r decl
39179         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
39180         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
39181         not in a standard include.
39183 2012-06-22  Bruno Haible  <bruno@clisp.org>
39185         Write "Mac OS X" instead of "MacOS X".
39186         * README: Write "Mac OS X" instead of "MacOS X".
39187         * build-aux/bootstrap: Likewise.
39188         * build-aux/install-reloc: Likewise.
39189         * lib/acl-internal.h: Likewise.
39190         * lib/acl_entries.c: Likewise.
39191         * lib/argp-ba.c: Likewise.
39192         * lib/argp-pv.c: Likewise.
39193         * lib/config.charset: Likewise.
39194         * lib/copy-acl.c: Likewise.
39195         * lib/csharpexec.c: Likewise.
39196         * lib/euidaccess.c: Likewise.
39197         * lib/fbufmode.c: Likewise.
39198         * lib/fflush.c: Likewise.
39199         * lib/file-has-acl.c: Likewise.
39200         * lib/filemode.h: Likewise.
39201         * lib/fpurge.c: Likewise.
39202         * lib/freadable.c: Likewise.
39203         * lib/freadahead.c: Likewise.
39204         * lib/freading.c: Likewise.
39205         * lib/freadptr.c: Likewise.
39206         * lib/freadseek.c: Likewise.
39207         * lib/fseeko.c: Likewise.
39208         * lib/fseterr.c: Likewise.
39209         * lib/fsusage.c: Likewise.
39210         * lib/fwritable.c: Likewise.
39211         * lib/fwriting.c: Likewise.
39212         * lib/get-rusage-as.c: Likewise.
39213         * lib/get-rusage-data.c: Likewise.
39214         * lib/getdomainname.c: Likewise.
39215         * lib/idpriv-drop.c: Likewise.
39216         * lib/idpriv-droptemp.c: Likewise.
39217         * lib/localcharset.c: Likewise.
39218         * lib/locale.in.h: Likewise.
39219         * lib/localename.c: Likewise.
39220         * lib/mbsrtowcs-state.c: Likewise.
39221         * lib/nproc.c: Likewise.
39222         * lib/passfd.c: Likewise.
39223         * lib/posix_openpt.c: Likewise.
39224         * lib/printf-parse.c: Likewise.
39225         * lib/progreloc.c: Likewise.
39226         * lib/safe-read.h: Likewise.
39227         * lib/safe-write.h: Likewise.
39228         * lib/sched.in.h: Likewise.
39229         * lib/set-mode-acl.c: Likewise.
39230         * lib/signal.in.h: Likewise.
39231         * lib/stdint.in.h: Likewise.
39232         * lib/stdio-impl.h: Likewise.
39233         * lib/stdlib.in.h: Likewise.
39234         * lib/strtod.c: Likewise.
39235         * lib/sys_select.in.h: Likewise.
39236         * lib/tcgetsid.c: Likewise.
39237         * lib/unistd.in.h: Likewise.
39238         * lib/unlockpt.c: Likewise.
39239         * lib/vasnprintf.c: Likewise.
39240         * lib/vma-iter.c: Likewise.
39241         * lib/wcsrtombs-state.c: Likewise.
39242         * m4/acl.m4: Likewise.
39243         * m4/acosl.m4: Likewise.
39244         * m4/asinl.m4: Likewise.
39245         * m4/atanl.m4: Likewise.
39246         * m4/c-stack.m4: Likewise.
39247         * m4/cosl.m4: Likewise.
39248         * m4/expl.m4: Likewise.
39249         * m4/extensions.m4: Likewise.
39250         * m4/fdatasync.m4: Likewise.
39251         * m4/fmal.m4: Likewise.
39252         * m4/frexp.m4: Likewise.
39253         * m4/frexpf.m4: Likewise.
39254         * m4/frexpl.m4: Likewise.
39255         * m4/fsusage.m4: Likewise.
39256         * m4/getdomainname.m4: Likewise.
39257         * m4/getloadavg.m4: Likewise.
39258         * m4/getopt.m4: Likewise.
39259         * m4/gettext.m4: Likewise.
39260         * m4/gnulib-common.m4: Likewise.
39261         * m4/intdiv0.m4: Likewise.
39262         * m4/intlmacosx.m4: Likewise.
39263         * m4/largefile.m4: Likewise.
39264         * m4/ldexpl.m4: Likewise.
39265         * m4/link-follow.m4: Likewise.
39266         * m4/locale-ar.m4: Likewise.
39267         * m4/locale-fr.m4: Likewise.
39268         * m4/locale-ja.m4: Likewise.
39269         * m4/locale-tr.m4: Likewise.
39270         * m4/locale-zh.m4: Likewise.
39271         * m4/locale_h.m4: Likewise.
39272         * m4/lock.m4: Likewise.
39273         * m4/logl.m4: Likewise.
39274         * m4/mathfunc.m4: Likewise.
39275         * m4/minus-zero.m4: Likewise.
39276         * m4/mktime.m4: Likewise.
39277         * m4/mmap-anon.m4: Likewise.
39278         * m4/multiarch.m4: Likewise.
39279         * m4/nanosleep.m4: Likewise.
39280         * m4/nocrash.m4: Likewise.
39281         * m4/poll.m4: Likewise.
39282         * m4/printf-frexpl.m4: Likewise.
39283         * m4/printf.m4: Likewise.
39284         * m4/signbit.m4: Likewise.
39285         * m4/sinl.m4: Likewise.
39286         * m4/sqrtl.m4: Likewise.
39287         * m4/strerror_r.m4: Likewise.
39288         * m4/tanl.m4: Likewise.
39289         * m4/threadlib.m4: Likewise.
39290         * m4/ttyname_r.m4: Likewise.
39291         * m4/unlink.m4: Likewise.
39292         * m4/visibility.m4: Likewise.
39293         * m4/wcwidth.m4: Likewise.
39294         * tests/minus-zero.h: Likewise.
39295         * tests/test-alloca-opt.c: Likewise.
39296         * tests/test-copy-acl.sh: Likewise.
39297         * tests/test-copy-file.sh: Likewise.
39298         * tests/test-fdatasync.c: Likewise.
39299         * tests/test-file-has-acl.sh: Likewise.
39300         * tests/test-flock.c: Likewise.
39301         * tests/test-fsync.c: Likewise.
39302         * tests/test-localename.c: Likewise.
39303         * tests/test-malloca.c: Likewise.
39304         * tests/test-nonblocking-pipe.h: Likewise.
39305         * tests/test-nonblocking-socket.h: Likewise.
39306         * tests/test-openpty.c: Likewise.
39307         * tests/test-posix_openpt.c: Likewise.
39308         * tests/test-ptsname.c: Likewise.
39309         * tests/test-ptsname_r.c: Likewise.
39310         * tests/test-sameacls.c: Likewise.
39311         * tests/test-select.h: Likewise.
39312         * tests/test-set-mode-acl.sh: Likewise.
39313         * tests/test-snprintf-posix.h: Likewise.
39314         * tests/test-sprintf-posix.h: Likewise.
39315         * tests/test-strtod.c: Likewise.
39316         * tests/test-time.c: Likewise.
39317         * tests/test-vasnprintf-posix.c: Likewise.
39318         * tests/test-vasprintf-posix.c: Likewise.
39319         * doc/acl-resources.txt: Likewise.
39320         * doc/**/*.texi: Likewise.
39321         Reported by Max Horn <max@quendi.de>.
39323 2012-06-22  Bruno Haible  <bruno@clisp.org>
39325         grantpt: Relax requirement regarding invalid file descriptors.
39326         * lib/grantpt.c: Don't include <fcntl.h>.
39327         (grantpt): Don't verify the validity of the file descriptor.
39328         * modules/grantpt (Depends-on): Remove fcntl-h.
39329         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
39330         file descriptors.
39331         * doc/posix-functions/grantpt.texi: Document more platforms on which
39332         grantpt succeeds for invalid file descriptors.
39333         Reported by Rich Felker <dalias@aerifal.cx>.
39335 2012-06-22  Bruno Haible  <bruno@clisp.org>
39337         fbufmode test: Don't test unportable behaviour.
39338         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
39339         (main): Invoke it three times.
39340         Reported by Szabolcs Nagy <nsz@port70.net>
39341         and Rich Felker <dalias@aerifal.cx>.
39343 2012-06-21  Bruno Haible  <bruno@clisp.org>
39345         gnulib-tool: Refactor inctests variable.
39346         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
39347         (func_modules_transitive_closure,
39348         func_modules_transitive_closure_separately,
39349         func_import, func_create_testdir): Update.
39351         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
39352         * gnulib-tool: Accept option --without-tests.
39353         (func_usage): Document --without-tests option. Rearrange.
39354         (inctests): Normalize according to the mode.
39355         * NEWS: Mention the change.
39356         Suggested by Simon Josefsson.
39358 2012-06-21  Bruce Korb  <bkorb@gnu.org>
39360         parse-duration test: Avoid spurious output.
39361         * tests/test-parse-duration.sh: Reindent with leading tabs.
39363 2012-06-21  Jim Meyering  <meyering@redhat.com>
39365         maint: disable the strncpy prohibition
39366         * cfg.mk: Do not prohibit strncpy here.
39368 2012-06-21  Bruno Haible  <bruno@clisp.org>
39370         nonblocking: Avoid compilation error on mingw64.
39371         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
39372         fscanf.
39373         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
39374         * modules/vfscanf (configure.ac): Likewise.
39375         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
39376         definition only if stdio.h has prepared it.
39377         Reported by Daniel P. Berrange <berrange@redhat.com>.
39379 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
39381         gnulib-tool: Use readlink if it is available.
39382         * gnulib-tool (func_readlink): Choose function more appropriately.
39384 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
39386         posixtm-tests: port to buggy compiler
39387         Problem reported by Simon Josefsson in
39388         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00246.html>.
39389         * modules/posixtm-tests (Depends-on): Add stdint.
39390         * tests/test-posixtm.c (struct posixtm_test.t_expected):
39391         Now of type int_least64_t, not int64_t, both because that's
39392         what INT64_C returns and because int_least64_t works even
39393         on 72-bit hosts.
39394         (T): Use INT64_C on constants outside the traditional int range,
39395         to work around compiler bug noted by Simon.
39397         mktime: fix integer overflow in 'configure'-time test
39398         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
39399         after integer overflow.  Problem reported by Rich Felker in
39400         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00257.html>.
39401         Also, don't look for further instances of a bug if we've already
39402         found one instance; this helps 'configure' run faster.
39404 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
39406         tmpfile, clean-temp: Fix invocation of GetVersionEx.
39407         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
39408         GetVersionEx correctly.
39409         * lib/clean-temp.c (supports_delete_on_close): Likewise.
39411 2012-06-20  Bruno Haible  <bruno@clisp.org>
39413         fdopen: Allow implementations that don't reject invalid fd arguments.
39414         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
39415         succeeds.
39416         Reported by Rich Felker <dalias@aerifal.cx>.
39418 2012-06-20  Simon Josefsson  <simon@josefsson.org>
39420         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
39421         bring in LIBINTL.
39423 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
39425         init.sh: do not rely on autoupated PWD
39426         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
39427         <http://lists.gnu.org/r/bug-gzip/2012-06/msg00008.html>.
39428         Although Nelson's bug was not necessarily fixed by this patch,
39429         it seems wise to make the change for safety.
39430         * tests/init.sh (path_prepend_): Do not rely on PWD updating
39431         automagically after 'cd'; this is not reliable on older shells.
39432         (setup_): Fail if we cannot cd to temporary directory.
39434 2012-06-19  Bruno Haible  <bruno@clisp.org>
39436         stat, fstat: Avoid warnings on mingw64.
39437         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
39438         redefining.
39439         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
39440         Reported by Daniel P. Berrange <berrange@redhat.com>.
39442 2012-06-19  Bruno Haible  <bruno@clisp.org>
39444         stdioext: Add support for musl libc.
39446         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
39447         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
39449         * m4/fseterr.m4: New file.
39450         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
39451         function exists.
39452         * modules/fseterr (Files): Add m4/fseterr.m4.
39453         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
39454         __fseterr does not exist.
39455         (Makefile.am): Remove fseterr.c from lib_SOURCES.
39457         * lib/freadable.h: Update comment.
39459         * lib/fwritable.h: Update comment.
39461         * lib/freading.h: Update comment.
39463         * lib/fwriting.h: Update comment.
39465         * m4/freadahead.m4: New file.
39466         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
39467         that function exists.
39468         * modules/freadahead (Files): Add m4/freadahead.m4.
39469         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
39470         __freadahead does not exist.
39471         (Makefile.am): Remove freadahead.c from lib_SOURCES.
39473         * m4/freadptr.m4: New file.
39474         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
39475         function exists.
39476         * modules/freadptr (Files): Add m4/freadptr.m4.
39477         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
39478         __freadptr does not exist.
39479         (Makefile.am): Remove freadptr.c from lib_SOURCES.
39481         * m4/freadseek.m4: New file.
39482         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
39483         exists.
39484         * modules/freadseek (Files): Add m4/freadseek.m4.
39485         (configure.ac): Invoke gl_FUNC_FREADSEEK.
39487         * lib/fpurge.c (fpurge): Update comment.
39489         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
39491 2012-06-19  Bruno Haible  <bruno@clisp.org>
39493         *printf-posix: Put more info into config.log.
39494         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
39495         exit code into config.log.
39497 2012-06-19  Bruno Haible  <bruno@clisp.org>
39499         getopt-gnu: Fix exit code overflow in autoconf test.
39500         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
39501         to keep them below < 128.
39503 2012-06-17  Jim Meyering  <meyering@redhat.com>
39505         maint.mk: fix typo in code to derive GPG key at release time
39506         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
39508 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
39510         regex: avoid warning when pointers are not long
39511         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
39512         and uintptr_t, not long, for portability to hosts where pointers and
39513         long have different sizes.  Issue noted by Daniel P. Berrange in
39514         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00122.html>
39515         and fix suggested by Bruno Haible in
39516         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00128.html>.
39518 2012-06-17  Bruno Haible  <bruno@clisp.org>
39520         dummy: Relicense into the public domain.
39521         * modules/dummy (License): Set to "public domain".
39522         Suggested by Reuben Thomas.
39524 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
39526         announce-gen: VPATH issues
39527         * build-aux/announce-gen (--srcdir): New option, used to trim the
39528         $srcdir part of the path from $builddir to NEWS.
39529         * top/maint.mk (announcement): Adjust.
39531 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
39533         gnu-web-doc-update: VPATH builds
39534         * build-aux/gnu-web-doc-update (--builddir): New option.
39535         Revamp the handling of options.
39536         Prefer $(...) to `...`.
39537         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
39538         the template, and it is GNU mktemp specific.
39539         Prefer set -e to long series of &&.
39540         Restore the initial git branch, not "master".
39541         Properly initialize submodules (don't rely only on bootstrap).
39542         Do not reconfigure blindly, use config.status.
39543         * top/README-release: Update instructions for gnu-web-doc-update.
39545 2012-06-11  Jim Meyering  <meyering@redhat.com>
39547         maint.mk: revert most of the previous change re "all these"
39548         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
39549         For rationale, see the discussion at
39550         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
39552 2012-06-10  Karl Berry  <karl@gnu.org>
39554         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
39556         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
39558 2012-06-10  Bruce Korb  <bkorb@gnu.org>
39560         parse-duration: Relicense under LGPLv2+.
39561         * modules/parse-duration (License): Change to LGPLv2+.
39563 2012-06-10  Jim Meyering  <meyering@redhat.com>
39565         maint.mk: prohibit common grammar error: "all these"
39566         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
39567         the list of prohibited word sequences.  It should be "all of these".
39568         * lib/tempname.c (__gen_tempname): Fix one of them.
39570 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
39572         do-release-commit-and-tag: support VPATH builds
39573         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
39574         (noteworthy): Defined earlier to factor its value.
39575         (noteworthy_stub): New.
39576         Use it to factor.
39577         (help_version): Split into...
39578         (help, version): these.
39579         Adjust the option processing part.
39580         Support "--option=value" in addition to "--option value".
39581         (builddir): New.
39582         (--builddir): New option.
39583         * top/README-release: Document this.
39584         Reword slightly so that the reader cannot understand that he
39585         has to do these steps before calling do-release-commit-and-tag.
39587 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
39589         readme-release: also require announce-gen and maintainer-makefile
39590         * modules/readme-release (Depends-on): here.
39591         * modules/announce-gen, modules/do-release-commit-and-tag,
39592         modules/gnu-web-doc-update, modules/maintainer-makefile
39593         (Description): Point to readme-release.
39595 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
39597         maint.mk: fix VPATH issues.
39598         * top/maint.mk (news-check): GNU Make understand $< very well.
39599         (release-prep): NEWS is in $(srcdir).
39601 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
39603         readme-release: require the promoted modules.
39604         * modules/readme-release (Depends-on): Add
39605         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
39606         in this text.
39608 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
39609             Bruno Haible  <bruno@clisp.org>
39611         error, strerror-override: Support mingw64 from Fedora 17.
39612         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
39613         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
39614         EINPROGRESS.
39615         * lib/strerror-override.h (strerror_override): Test it.
39616         * lib/strerror-override.c (strerror_override): Likewise.
39617         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
39619 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
39620             Bruno Haible  <bruno@clisp.org>
39622         error, strerror-override: Support mingw64 from Fedora 17.
39623         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
39624         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
39625         * lib/strerror-override.h (strerror_override): Test it.
39626         * lib/strerror-override.c (strerror_override): Likewise.
39628 2012-06-03  Bruno Haible  <bruno@clisp.org>
39630         error, strerror-override: Support new errno values from POSIX:2008.
39631         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
39632         ENOTRECOVERABLE.
39633         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
39634         platforms.
39635         * lib/strerror-override.c (strerror_override): Conditionalize the
39636         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
39637         * lib/strerror-override.h (strerror_override): Declare also if
39638         GNULIB_defined_EOWNERDEAD is defined.
39639         * tests/test-errno.c (e130, e131): New variables.
39640         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
39641         ENOTRECOVERABLE.
39642         Reported by Paolo Bonzini.
39644 2012-05-31  Jim Meyering  <meyering@redhat.com>
39646         savewd: add missing dependency on sys_wait module
39647         * modules/savewd (Depends-on): Add sys_wait, needed at least
39648         for MSVC.  Report and suggested change by Michael Goffioul.
39650 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
39652         system-quote-tests: port to CentOS 5
39653         Problem reported by Tom G. Christensen in
39654         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00255.html>.
39655         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
39657 2012-05-29  Jim Meyering  <meyering@redhat.com>
39659         maint: fix typos in comments and ChangeLog
39660         Culprits identified and fixed mostly automatically using these commands:
39661         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
39662         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
39663         using http://github.com/lyda/misspell-check
39664         * ChangeLog: Fix typos.
39665         * doc/solaris-versions: Likewise.
39666         * lib/regexec.c (re_search_stub): Likewise.
39667         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
39669 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
39671         manywarnings: remove duplicate -Wmultichar entry
39672         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
39673         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
39674         so keep the entry marked as documented.
39676 2012-05-27  Karl Berry  <karl@gnu.org>
39678         * config/srclist.txt (mktime.c): remove last libc sync,
39679         perhaps just temporarily.
39681 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
39683         regex: don't assume uint64_t or uint32_t
39684         * lib/regcomp.c (init_word_char): Don't assume that the types
39685         uint64_t and uint32_t exist.  The C standard doesn't guarantee
39686         them, and on some 32-bit compilers there is no uint64_t.
39687         Problem reported by Gianluigi Tiesi in
39688         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00154.html>.
39690 2012-05-25  Jim Meyering  <meyering@redhat.com>
39692         maint.mk: add strncpy-prohibiting syntax-check rule
39693         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
39695 2012-05-24  Jim Meyering  <meyering@redhat.com>
39697         maint.mk: compute $(gpg_key_ID) more portably
39698         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
39699         That use of sed is not portable to some fringe systems.
39700         Reported by Paul Eggert in
39701         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
39703 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
39705         mktime: sync from glibc
39706         * config/srclist.txt: Uncomment mktime.c.
39707         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
39708         First, indent with tabs, since glibc uses tabs and doesn't want to
39709         change and we'd rather be identical to glibc.  Also, two small
39710         coding changes:
39711         (isdst_differ): Use &&, not &, as && is the usual style.
39712         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
39713         for clarity.
39715 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
39717         announce-gen: du -h is more portable than du --human
39718         * build-aux/announce-gen (sizes): Invoke du with -h instead
39719         of --human.  Accept leading white space in its output.
39721 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
39723         announce-gen: Improve diagnostics.
39724         * build-aux/announce-gen: When parsing command line options,
39725         prefer "announce-gen: option --release-type requires an argument"
39726         to "Option release-type requires an argument".
39728 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
39730         maint.mk: gpg_key_ID: use sed more portably
39731         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
39732         the closing brace.
39733         (refresh-po): Fuse two sed invocations into one.
39735 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
39737         gitlog-to-changelog: support the log message format used in Bison.
39738         * build-aux/gitlog-to-changelog: Support --strip-tab and
39739         --strip-cherry-picked.
39741 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
39743         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
39744         the rest of the current time slice to another thread in the current
39745         process. So if the thread that feeds the file decscriptor we're
39746         polling is not in the current process, we get busy-waiting.
39747         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
39748         Patch from Theodore Leblond.
39749         * lib/select.c: Split polling out of the loop that sets the output
39750         fd_sets.  Check for zero result and loop if the wait timeout is
39751         infinite.
39753 2012-05-21  Simon Josefsson  <simon@josefsson.org>
39755         select: Fix build error on IRIX 6.5.
39756         * lib/select.c: Include stddef.h for NULL.
39758 2012-05-21  Simon Josefsson  <simon@josefsson.org>
39760         gc: fix libgcrypt detection on older machines.
39761         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
39762         copyright years because the file has been distributed every year
39763         since it was created.
39765 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
39767         crypto: fix bug in large buffer handling
39768         Problem reported by Serge Belyshev for glibc in
39769         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
39770         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00226.html>.
39771         * lib/md4.c (md4_process_block):
39772         * lib/md5.c (md5_process_block):
39773         * lib/sha1.c (sha1_process_block):
39774         * lib/sha256.c (sha256_process_block):
39775         Don't assume the buffer length is less than 2**32.
39776         * lib/sha512.c (sha512_process_block): Likewise.
39777         Here, the bug is present only in the rare case where the host does
39778         not support uint64_t or where size_t is wider than 64 bits.
39779         Use u64size to work around the problems.
39780         * lib/u64.h (u64size): New macro.
39782 2012-05-15  Pádraig Brady  <P@draigBrady.com>
39784         fsusage: fix block size returned on older Linux 2.6
39786         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
39787         which is available since Linux 2.6.
39788         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
39789         when the member is available so it can be used as a fallback.
39790         * doc/posix-functions/statvfs.texi: Mention the hang issue
39791         on Linux < 2.6.36.
39793 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
39795         bootstrap: suppress stderr chatter
39796         * build-aux/bootstrap (insert_sorted_if_absent, main program):
39797         Omit unnecessary chatter to stderr.  The main program chatter
39798         was there only inadvertantly.
39800         bootstrap: .gitignore files created by autopoint, libtool
39801         I ran into this problem when bootstrapping the latest diffutils.
39802         After './bootstrap', 'git status' reported lots of untracked files
39803         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
39804         autopoint and do not need to be version-controlled.
39805         * build-aux/bootstrap: Put into .gitignore the files that
39806         autopoint and libtool create, by keeping track of files that exist
39807         after but not before these programs are run.
39808         (version_controlled_file): Move up.  2nd arg is now full file
39809         name, not base name; this is more convenient.  Put CVS at the end,
39810         as it's now somewhat deprecated.
39812 2012-05-14  Jim Meyering  <meyering@redhat.com>
39814         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
39815         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
39816         definition.  Reported by Bruno Haible.
39818 2012-05-13  Bruno Haible  <bruno@clisp.org>
39819             Paul Eggert  <eggert@cs.ucla.edu>
39821         binary-io: Define set_binary_mode function.
39822         * lib/binary-io.h (set_binary_mode): New function.
39823         (SET_BINARY): Define in terms of set_binary_mode.
39824         * modules/binary-io (configure.ac): Require AC_C_INLINE.
39825         * tests/test-binary-io.c (main): Accept an argument, and test either
39826         set_binary_mode or SET_BINARY depending on the argument.
39827         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
39828         argument. Clean up also t-bin-out0.tmp.
39830 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
39832         bootstrap: take advantage of POSIX shell features
39834         The 'bootstrap' script offered by Gnulib script already uses POSIX
39835         shell features (like $((...)) arithmetic expansions) that are not
39836         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
39837         means that bootstrap must already be run using a proper POSIX shell,
39838         which will thus provide more features, like ${var#pattern} parameter
39839         expansion or inversion of a command exit status with '!'.  We can
39840         thus use these features to improve the clarity and the performances
39841         of the bootstrap script.
39843         Suggested by Eric Blake.
39845         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
39846         of sed/expr plus command substitutions, to save some forks.  While
39847         we are at it, prefer the POSIX $(...) form of command substitution,
39848         rather than the legacy form `...` (since the former is visually
39849         clearer and interacts better with quoting), and prefer the idiom:
39850           "if ! CMD; then ACTION ..."
39851         over the idiom:
39852           "if CMD; then :; else ACTION ..."
39853         which was required by legacy Bourne shells not supporting '!'.
39855 2012-05-12  Bruno Haible  <bruno@clisp.org>
39857         system-quote: Add more comments.
39858         * lib/system-quote.h: Add more comments about wilcards and limitations.
39859         Suggested by Eli Zaretskii <eliz@gnu.org>.
39861         sh-quote, system-quote: Add comments about wildcards.
39862         * lib/sh-quote.h: Clarify what happens with wildcard characters.
39863         * lib/system-quote.h: Likewise.
39864         Reported by Eli Zaretskii <eliz@gnu.org>.
39866 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
39868         fsusage: check for GNU/Linux statvfs problem dynamically
39869         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
39870         Define STAT_STATFS2_BSIZE too, since in this case the code now
39871         checks dynamically whether statvfs is reliable, falling back on
39872         Linux-style statfs otherwise.
39873         (statvfs_works): New function, for dynamically testing statvfs.
39874         (get_fs_usage) [STAT_STATVFS]: Use it.
39875         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
39876         statvfs on GNU/Linux hosts, since it's now done dynamically.
39878 2012-05-10  Bruno Haible  <bruno@clisp.org>
39880         system-quote, execute, spawn-pipe: Escape '?' on Windows.
39881         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
39882         '?' character.
39883         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
39884         * tests/test-system-quote-main.c (check_all): Check also strings like
39885         "??????????".
39886         Reported by Eli Zaretskii <eliz@gnu.org>.
39888 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
39890         _Noreturn: port config.h to gcc -Wundef
39891         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
39892         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
39893         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00147.html>.
39895 2012-05-10  Bruno Haible  <bruno@clisp.org>
39897         system-quote: Refactor.
39898         * lib/system-quote.h (system_quote_copy): Fix comment.
39899         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
39900         New functions, extracted from system_quote_copy.
39901         (system_quote_length, system_quote_copy): Use these functions.
39902         Reported by Paul Eggert.
39904 2012-05-08  Bruno Haible  <bruno@clisp.org>
39906         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
39907         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
39909 2012-05-08  Bruno Haible  <bruno@clisp.org>
39911         Tests for module 'system-quote'.
39912         * modules/system-quote-tests: New file.
39913         * tests/test-system-quote.sh: New file.
39914         * tests/test-system-quote-main.c: New file.
39915         * tests/test-system-quote-child.c: New file.
39917         New module 'system-quote'.
39918         * lib/system-quote.h: New file.
39919         * lib/system-quote.c: New file.
39920         * modules/system-quote: New file.
39922 2012-05-08  Bruno Haible  <bruno@clisp.org>
39924         sh-quote: Make C++ safe and allow multiple inclusion.
39925         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
39926         declarations in extern "C".
39928 2012-05-08  Bruno Haible  <bruno@clisp.org>
39930         sh-quote tests: Make tests stricter.
39931         * tests/test-sh-quote.c (check_one): Check the return value of
39932         shell_quote_copy.
39933         (main): Check a string with a CR character. Check a string that
39934         contains UCHAR_MAX.
39936 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
39938         warnings.m4: provide a means to specify the program to compile.
39939         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
39940         (gl_WARN_ADD): here.
39941         Use gl_AS_VAR_APPEND.
39942         Support an argument to specify the program to compile.
39943         (gl_WARN_ADD): Accept an argument to specify the program to compile.
39944         AC_SUBST the WARN_CFLAGS when they are used.
39945         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
39946         leave this to gl_WARN_ADD.
39948 2012-05-08  Eric Blake  <eblake@redhat.com>
39950         doc: recommendations on gettext version
39951         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
39952         choice between versions.
39953         * DEPENDENCIES (gettext): Cover both approaches.
39955 2012-05-08  Jim Meyering  <meyering@redhat.com>
39957         init.sh: explain why EXEEXT support uses aliases rather than functions
39958         * tests/init.sh: Add a comment.
39960         init.sh: don't let bash aliases interfere with tests
39961         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
39962         is bash.  This avoids problems for those who alias standard commands to
39963         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
39964         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
39966 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
39968         stdint: be more consistent with glibc, SunOS libc
39969         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
39970         (gl_int_fast16_t, gl_uint_fast16_t)
39971         (gl_int_fast32_t, gl_uint_fast32_t)
39972         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
39973         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
39974         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
39975         Be consistent with glibc by default, and with SunOS 5.10 and later
39976         if __sun is defined.  This lessens the likelihood of clashes if
39977         code compiled for older hosts is combined with code compiled for
39978         newer ones.  Problem reported by Niels Möller in
39979         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00074.html>.
39981 2012-05-07  Eric Blake  <eblake@redhat.com>
39983         isatty: relax license to LGPLv2+
39984         * modules/isatty (License): Relax license.
39986 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
39988         stat-size: comment fix
39989         * lib/stat-size.h: Remove obsolete comment about indenting.
39991 2012-05-06  Bruno Haible  <bruno@clisp.org>
39993         Tests for module 'sh-quote'.
39994         * modules/sh-quote-tests: New file.
39995         * tests/test-sh-quote.c: New file.
39997 2012-05-06  Bruno Haible  <bruno@clisp.org>
39999         sh-quote: Improve shell_quote_argv's signature.
40000         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
40001         * lib/sh-quote.c (shell_quote_argv): Likewise.
40003 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
40005         stdint: document issues with int_fast8_t etc.
40006         * doc/posix-headers/stdint.texi (stdint.h): Say that other
40007         stdint.h substitutes may define these types differently.  See
40008         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00071.html>.
40010 2012-05-05  Bruno Haible  <bruno@clisp.org>
40012         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
40013         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
40014         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
40015         or 'guessing no (mishandles large arguments)'.
40017 2012-05-05  Bruno Haible  <bruno@clisp.org>
40019         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
40020         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
40021         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
40022         set gl_cv_func_link_follows_symlink to "guessing no".
40024 2012-05-05  Bruno Haible  <bruno@clisp.org>
40026         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
40027         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
40028         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
40029         "guessing no".
40030         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
40032 2012-05-05  Bruno Haible  <bruno@clisp.org>
40034         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
40035         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
40036         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
40037         set gl_cv_struct_dirent_d_ino to "guessing yes".
40039 2012-05-05  Bruno Haible  <bruno@clisp.org>
40041         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
40042         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
40043         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
40044         "guessing yes".
40046 2012-05-05  Bruno Haible  <bruno@clisp.org>
40048         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
40049         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
40050         compiling to a glibc system, set gl_cv_func_signbit and
40051         gl_cv_func_signbit_gcc to "guessing yes".
40053 2012-05-05  Bruno Haible  <bruno@clisp.org>
40055         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
40056         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
40057         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
40058         to "guessing yes".
40059         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
40060         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
40062 2012-05-05  Bruno Haible  <bruno@clisp.org>
40064         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
40065         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
40066         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
40067         gl_cv_func_realpath_works to "guessing yes".
40069 2012-05-05  Bruno Haible  <bruno@clisp.org>
40071         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
40072         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
40073         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
40075 2012-05-04  Bruno Haible  <bruno@clisp.org>
40077         Tweak last commit.
40078         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
40079         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
40081 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
40083         unistd_h: make it easier to avoid sys_types_h
40084         This is useful for Emacs, which has its own method of porting to
40085         Windows, and which therefore does not need the sys_types_h module.
40086         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
40087         code moved here from gl_SYS_TYPES_H.
40088         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
40089         using the code directly.
40090         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
40091         gl_SYS_TYPES_H.
40092         * modules/sys_types (Files):
40093         * modules/unistd (Files): Add m4/off_t.m4.
40095 2012-05-03  Bruno Haible  <bruno@clisp.org>
40097         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
40098         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
40099         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
40100         "guessing yes" or "guessing no".
40101         (gl_FUNC_LSTAT): Update.
40102         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
40103         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
40104         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
40106 2012-05-03  Bruno Haible  <bruno@clisp.org>
40108         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
40109         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
40110         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
40111         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
40112         cross-compiling, choose the first alternative on glibc systems.
40113         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
40115 2012-05-03  Bruno Haible  <bruno@clisp.org>
40117         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
40118         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
40119         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
40121 2012-05-03  Bruno Haible  <bruno@clisp.org>
40123         chown: Avoid "guessing no" when cross-compiling to glibc systems.
40124         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
40126 2012-05-03  Bruno Haible  <bruno@clisp.org>
40128         Avoid "guessing no" guesses when cross-compiling to glibc systems.
40129         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
40130         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
40131         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
40132         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
40133         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
40134         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
40135         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
40136         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
40137         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
40138         compiling to glibc systems, set gl_cv_func_chown_slash_works,
40139         gl_cv_func_chown_ctime_works to "guessing yes".
40140         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
40141         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
40142         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
40143         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
40144         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
40145         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
40146         compiling to glibc systems, set gl_cv_func_open_directory_works to
40147         "guessing yes".
40148         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
40149         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
40150         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
40151         "guessing yes".
40152         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
40153         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
40154         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
40155         compiling to glibc systems, set gl_cv_func_floorf_ieee to
40156         "guessing yes".
40157         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
40158         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
40159         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
40160         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
40161         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
40162         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
40163         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
40164         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
40165         "guessing yes".
40166         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
40167         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
40168         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
40169         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
40170         "guessing yes".
40171         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
40172         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
40173         "guessing yes".
40174         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
40175         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
40176         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
40177         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
40178         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
40179         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
40180         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
40181         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
40182         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
40183         compiling to glibc systems, set gl_cv_func_log10f_ieee to
40184         "guessing yes".
40185         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
40186         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
40187         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
40188         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
40189         "guessing yes".
40190         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
40191         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
40192         "guessing yes".
40193         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
40194         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
40195         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
40196         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
40197         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
40198         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
40199         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
40200         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
40201         compiling to glibc systems, set gl_cv_func_mkfifo_works to
40202         "guessing yes".
40203         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
40204         compiling to glibc systems, set gl_cv_func_mknod_works to
40205         "guessing yes".
40206         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
40207         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
40208         "guessing yes".
40209         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
40210         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
40211         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
40212         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
40213         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
40214         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
40215         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
40216         compiling to glibc systems, set gl_cv_func_svid_putenv to
40217         "guessing yes".
40218         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
40219         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
40220         "guessing yes".
40221         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
40222         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
40223         "guessing yes".
40224         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
40225         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
40226         to "guessing yes".
40227         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
40228         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
40229         to "guessing yes".
40230         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
40231         compiling to glibc systems, set gl_cv_func_rmdir_works to
40232         "guessing yes".
40233         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
40234         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
40235         gl_cv_func_unlink_parent_fails to "guessing yes".
40236         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
40237         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
40238         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
40239         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
40240         gl_cv_func_rename_dest_works to "guessing yes".
40241         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
40242         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
40243         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
40244         compiling to glibc systems, set gl_cv_func_roundf_ieee to
40245         "guessing yes".
40246         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
40247         compiling to glibc systems, set gl_cv_func_roundl_ieee to
40248         "guessing yes".
40249         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
40250         compiling to glibc systems, set gl_cv_func_setenv_works to
40251         "guessing yes".
40252         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
40253         compiling to glibc systems, set gl_cv_func_unsetenv_works to
40254         "guessing yes".
40255         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
40256         compiling to glibc systems, set gl_cv_func_sleep_works to
40257         "guessing yes".
40258         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
40259         compiling to glibc systems, set gl_cv_func_stat_file_slash to
40260         "guessing yes".
40261         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
40262         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
40263         "guessing yes".
40264         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
40265         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
40266         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
40267         compiling to glibc systems, set gl_cv_func_truncf_ieee to
40268         "guessing yes".
40269         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
40270         compiling to glibc systems, set gl_cv_func_truncl_ieee to
40271         "guessing yes".
40272         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
40273         compiling to glibc systems, set gl_cv_func_usleep_works to
40274         "guessing yes".
40275         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
40276         compiling to glibc systems, set gl_cv_func_futimesat_works to
40277         "guessing yes".
40279 2012-05-03  Bruno Haible  <bruno@clisp.org>
40281         Say "guessing yes" or "guessing no" when cross-compiling.
40282         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
40283         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
40284         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
40285         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
40286         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
40287         am_cv_func_working_getline to "guessing yes" or "guessing no".
40288         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
40289         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
40290         (gl_FUNC_MEMMEM): When cross-compiling, set
40291         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
40292         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
40293         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
40294         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
40295         set gl_cv_func_strcasestr_works_always to "guessing yes" or
40296         "guessing no".
40297         (gl_FUNC_STRCASESTR): When cross-compiling, set
40298         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
40299         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
40300         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
40301         (gl_FUNC_STRSTR): When cross-compiling, set
40302         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
40303         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
40304         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
40305         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
40306         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
40308 2012-05-01  Bruno Haible  <bruno@clisp.org>
40310         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
40311         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
40312         * build-aux/reloc-ldflags: Likewise.
40313         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
40315 2012-05-01  Bruno Haible  <bruno@clisp.org>
40317         gnulib-tool: Remove transitional code.
40318         * gnulib-tool: Don't warn about --import with 0 arguments any more.
40319         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
40321 2012-05-01  Bruno Haible  <bruno@clisp.org>
40323         getcwd: Fix misindentation.
40324         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
40326 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
40328         exclude: process exclude and include directives in order
40329         This restores the pre-2009 behavior, and is part of a fix of a
40330         grep bug reported by Quentin Arce in
40331         <http://lists.gnu.org/r/bug-grep/2012-04/msg00056.html>.
40332         * lib/exclude.c (struct exclude): Remove 'tail' member.
40333         (new_exclude_segment): Prepend the new segment instead of appending.
40334         Return void, since that's now more convenient.
40335         (file_pattern_matches): Renamed from excluded_file_pattern_p.
40336         (file_name_matches): Renamed from excluded_file_name_p.
40337         (file_pattern_matches, file_name_matches):
40338         Return true if the pattern matches, not if it excludes.
40339         All callers changed.
40340         (excluded_file_name): Process the list in reverse order;
40341         since the list is now reversed this restores the pre-2009 behavior.
40342         (add_exclude): Adjust to new reversed-order list.  Use local var
40343         rather than macro, for clarity.
40344         * tests/test-exclude7.sh: Adjust to corrected behavior.
40346         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
40347         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
40348         it's not possible here.  Handle the case of \ at end of pattern
40349         without dumping core.
40350         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
40352         _Noreturn: future-proof non-GNU and non-MSVC compilers
40353         * build-aux/snippet/_Noreturn.h (_Noreturn):
40354         * m4/gnulib-common.m4 (gl_COMMON_BODY):
40355         Do not define _Noreturn if __STDC_VERSION__ indicates this is
40356         C11 or later.  This is more likely to work with random future C
40357         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
40358         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00195.html>.
40360         exclude: handle wildcards with FNM_EXTMATCH
40361         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
40362         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
40363         comment that "has wildcards" really means "has or may have
40364         wildcards".  Simplify by avoiding the need to call strcspn.
40366 2012-04-29  Bruno Haible  <bruno@clisp.org>
40368         gnulib-tool: Fix list of authors.
40369         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
40371 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
40373         bootstrap: support Automake-NG in $buildreq
40374         * bootstrap (check_versions): Handle automake and aclocal from
40375         Automake-NG specially.  They can be specified as respectively
40376         the "automake-ng" and "aclocal-ng" requirements.
40378 2012-04-25  Eric Blake  <eblake@redhat.com>
40380         bootstrap: only force latest Makefile.in.in for gettext module
40381         * build-aux/bootstrap (with_gettext): Only install latest
40382         Makefile.in.in for projects requesting bleeding edge gettext.
40384 2012-04-22  Bruno Haible  <bruno@clisp.org>
40386         doc: Mention reason for replacement on glibc/Linux systems.
40387         * doc/posix-functions/dprintf.texi: Mention the problem with special
40388         'long double' values.
40389         * doc/posix-functions/fprintf.texi: Likewise.
40390         * doc/posix-functions/printf.texi: Likewise.
40391         * doc/posix-functions/snprintf.texi: Likewise.
40392         * doc/posix-functions/sprintf.texi: Likewise.
40393         * doc/posix-functions/vdprintf.texi: Likewise.
40394         * doc/posix-functions/vfprintf.texi: Likewise.
40395         * doc/posix-functions/vprintf.texi: Likewise.
40396         * doc/posix-functions/vsnprintf.texi: Likewise.
40397         * doc/posix-functions/vsprintf.texi: Likewise.
40398         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
40399         platforms with F_DUPFD_CLOEXEC problems.
40400         * doc/posix-functions/glob.texi: Mention which platforms are affected
40401         by the problem with symbolic links.
40402         * doc/posix-functions/linkat.texi: Mention the problem with
40403         AT_SYMLINK_FOLLOW on Linux.
40405 2012-04-22  Bruno Haible  <bruno@clisp.org>
40407         pwrite: Don't replace on all platforms.
40408         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
40410 2012-04-22  Bruno Haible  <bruno@clisp.org>
40412         rint* tests: Avoid gcc warnings.
40413         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
40414         * tests/test-rintf.c (INFINITY, NAN): Likewise.
40415         * tests/test-rintl.c (INFINITY, NAN): Likewise.
40417 2012-04-21  Bruno Haible  <bruno@clisp.org>
40419         users.txt: Update.
40420         * users.txt: Add freedink, wdiff. Update URLs for projects that have
40421         switched from CVS to git, bzr, or svn.
40423 2012-04-21  Bruno Haible  <bruno@clisp.org>
40425         Large File Support for native Windows platforms.
40427         * m4/largefile.m4 (gl_LARGEFILE): New macro.
40428         * modules/largefile (configure.ac): Require gl_LARGEFILE.
40430         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
40431         type.
40432         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
40433         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
40434         * doc/posix-headers/sys_types.texi: Mention the effect of the
40435         'largefile' module.
40437         * lib/fcntl.in.h: Add comments about off_t.
40438         * modules/fcntl-h (Depends-on): Add sys_types.
40440         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
40441         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
40442         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
40443         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
40444         * modules/unistd (Depends-on): Add sys_types.
40445         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
40447         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
40448         instead of lseek.
40449         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
40450         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
40451         * modules/lseek (Depends-on): Add sys_types.
40453         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
40454         msvc-nothrow.h.
40455         (SetFileSize): New function.
40456         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
40457         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
40458         if Large File Support is requested.
40459         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
40460         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
40462         * lib/stdio.in.h: Add comments about off_t.
40463         * modules/stdio (Depends-on): Add sys_types.
40465         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
40466         instead of ftello.
40467         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
40468         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
40469         (gl_PREREQ_FTELLO): New macro.
40470         * modules/ftello (Depends-on): Add sys_types.
40471         (configure.ac): Incoke gl_PREREQ_FTELLO.
40473         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
40474         instead of fseeko.
40475         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
40476         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
40477         (gl_PREREQ_FSEEKO): New macro.
40478         * modules/fseeko (Depends-on): Add sys_types.
40479         (configure.ac): Invoke gl_PREREQ_FSEEKO.
40481         * lib/sys_stat.in.h: Add comments about off_t.
40482         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
40483         64-bit integer for st_size in 'struct stat'.
40484         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
40485         Define _GL_WINDOWS_64_BIT_ST_SIZE.
40486         * modules/sys_stat (Depends-on): Add sys_types.
40487         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
40489         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
40490         instead of stat or _stat.
40492         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
40493         'struct _stati64' instead of fstat and 'struct stat'.
40494         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
40495         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
40497         Reported by Ray Satiro <raysatiro@yahoo.com>.
40499 2012-04-19  Eric Blake  <eblake@redhat.com>
40501         bootstrap: accommodate older libtool
40502         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
40503         Reported by Daniel P. Berrange.
40505 2012-04-19  Jim Meyering  <meyering@redhat.com>
40507         announce-gen: avoid failure due to lack of Digest::SHA1
40508         Even with the preferred Digest::SHA available, this script
40509         would fail when the backup module, Digest::SHA1, was not installed.
40510         * build-aux/announce-gen: Quote the conditional use of "use".
40511         Reported by Reuben Thomas in:
40512         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
40514         bootstrap: don't let a user's CDPATH setting affect this script
40515         When CDPATH is set, cd will sometimes generate output.
40516         When "cd" is run in a subshell whose output matters, that
40517         surprising-to-some output can cause malfunction.
40518         Unsetting CDPATH turns off this shell "feature."
40519         * build-aux/bootstrap (CDPATH): Unset.
40520         Reported by Reuben Thomas in:
40521         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
40522         and inspired by his patch here:
40523         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
40525 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
40526         and Jim Meyering  <meyering@redhat.com>
40528         maint.mk: catch "see @xref{}" and similar
40529         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
40530         prohibit "See also @xref{", "Also see @pxref{", and similar.
40532 2012-04-16  Jim Meyering  <meyering@redhat.com>
40534         bootstrap: really use gnulib's po/Makefile.in.in
40535         * build-aux/bootstrap: Correct the source file name in previous change.
40536         Reported by Akim Demaille.
40538         configmake: correct minor inconsistency in Makefile rule
40539         * modules/configmake (Makefile.am): All other rules like this one
40540         run the final "mv -f ..." in the same backslash-continued command
40541         as the one that does everything else.  This one put the mv -f ...
40542         command on a separate, non-backslash-continued line.
40543         Make it like the others.
40545         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
40546         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
40547         the one from gettext.  Reported by Akim Demaille.
40549 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
40551         Fix recursion of install-* into po directories.
40552         Bison's install-pdf bug reported by Hans Aberg at
40553         <http://lists.gnu.org/r/bug-bison/2011-05/msg00008.html>.
40554         * build-aux/po/Makefile.in.in (install-dvi, install-html)
40555         (install-info, install-pdf, install-ps): New targets.
40557 2012-04-16  Jim Meyering  <meyering@redhat.com>
40559         maint: avoid spurious "make sc_maint" failure
40560         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
40561         exempt all *.class file names, for lib/javaversion.class.
40563 2012-04-15  Bruno Haible  <bruno@clisp.org>
40565         lseek: Make configure test independent of environment.
40566         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
40567         Windows, we know that lseek() on pipes is broken; skip the runtime
40568         test.
40570 2012-04-14  Bruno Haible  <bruno@clisp.org>
40572         stat: Bypass buggy override in mingw64.
40573         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
40574         * lib/stat.c (stat) [mingw64]: Define to _stat.
40575         * doc/posix-functions/stat.texi: Mention mingw64 bug.
40577 2012-04-14  Bruno Haible  <bruno@clisp.org>
40579         pathmax: Fix compilation error on MSVC 9.
40580         * modules/pathmax (Depends-on): Add unistd.
40582 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
40584         README: document pointer comparison assumption
40585         * README (Portability guidelines): Document assumption about
40586         pointer comparisons, in response to a recent bug-gnulib comment by
40587         Jeffrey Kegler.
40589 2012-04-12  Bruno Haible  <bruno@clisp.org>
40591         Tests for module 'getrusage'.
40592         * modules/getrusage-tests: New file.
40593         * tests/test-getrusage.c: New file.
40595         New module 'getrusage'.
40596         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
40597         warn-on-use.h.
40598         (getrusage): New declaration.
40599         * lib/getrusage.c: New file.
40600         * m4/getrusage.m4: New file.
40601         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
40602         is declared.
40603         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
40604         HAVE_GETRUSAGE.
40605         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
40606         snippet/c++defs, snippet/warn-on-use.
40607         (Makefile.am): Update generation of sys/resource.h. Substitute
40608         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
40609         * modules/getrusage: New file.
40610         * doc/posix-functions/getrusage.texi: Mention the new module.
40612 2012-04-12  Bruno Haible  <bruno@clisp.org>
40614         Tests for module 'sys_resource'.
40615         * modules/sys_resource-tests: New file.
40616         * tests/test-sys_resource.c: New file.
40618         New module 'sys_resource'.
40619         * lib/sys_resource.in.h: New file.
40620         * m4/sys_resource_h.m4: New file.
40621         * modules/sys_resource: New file.
40622         * doc/posix-headers/sys_resource.texi: Mention the new module.
40624 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
40626         ioctl: Fix compilation error on mingw.
40627         * lib/ioctl.c: Include <windows.h>.
40628         Also reported by Ray Satiro <raysatiro@yahoo.com>.
40630 2012-04-04  Jim Meyering  <meyering@redhat.com>
40632         regex: correct #pragma guard expression
40633         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
40634         not 4.3.  Correct its cpp guard expression.
40636 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
40638         regex: remove unnecessary type punning
40639         Problem reported by Vladimir Serbinenko in
40640         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00006.html>.
40641         * lib/regex.h (struct re_pattern_buffer): Change the type of
40642         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
40643         Fix comment to match code.
40644         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
40645         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
40646         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
40647         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
40648         (set_regs):
40649         Omit no-longer-necessary casts.
40651 2012-04-03  Bruno Haible  <bruno@clisp.org>
40653         Tests for module 'ilogbl'.
40654         * modules/ilogbl-tests: New file.
40655         * tests/test-ilogbl.c: New file.
40657         New module 'ilogbl'.
40658         * lib/math.in.h (ilogbl): New declaration.
40659         * lib/ilogbl.c: New file.
40660         * m4/ilogbl.m4: New file.
40661         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
40662         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
40663         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
40664         Split sed invocation, to avoid the limit of 100 substitutions of
40665         HP-UX 'sed'.
40666         * modules/ilogbl: New file.
40667         * tests/test-math-c++.cc: Check the declaration of ilogbl.
40668         * doc/posix-functions/ilogbl.texi: Mention the new module.
40670 2012-04-03  Bruno Haible  <bruno@clisp.org>
40672         Tests for module 'ilogbf'.
40673         * modules/ilogbf-tests: New file.
40674         * tests/test-ilogbf.c: New file.
40676         New module 'ilogbf'.
40677         * lib/math.in.h (ilogbf): New declaration.
40678         * lib/ilogbf.c: New file.
40679         * m4/ilogbf.m4: New file.
40680         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
40681         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
40682         REPLACE_ILOGBF.
40683         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
40684         REPLACE_ILOGBF.
40685         * modules/ilogbf: New file.
40686         * tests/test-math-c++.cc: Check the declaration of ilogbf.
40687         * doc/posix-functions/ilogbf.texi: Mention the new module.
40689 2012-04-03  Bruno Haible  <bruno@clisp.org>
40691         Tests for module 'ilogb'.
40692         * modules/ilogb-tests: New file.
40693         * tests/test-ilogb.c: New file.
40694         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
40695         tests/test-logb-ieee.h.
40697         New module 'ilogb'.
40698         * lib/math.in.h (ilogb): New declaration.
40699         * lib/ilogb.c: New file.
40700         * m4/ilogb.m4: New file.
40701         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
40702         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
40703         REPLACE_ILOGB.
40704         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
40705         REPLACE_ILOGB.
40706         * modules/ilogb: New file.
40707         * tests/test-math-c++.cc: Check the declaration of ilogb.
40708         * doc/posix-functions/ilogb.texi: Mention the new module.
40710 2012-04-03  Bruno Haible  <bruno@clisp.org>
40712         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
40713         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
40714         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
40715         (main): Check their values.
40716         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
40717         problem.
40719 2012-04-03  Bruno Haible  <bruno@clisp.org>
40721         Tests for module 'logbl-ieee'.
40722         * modules/logbl-ieee-tests: New file.
40723         * tests/test-logbl-ieee.c: New file.
40725         New module 'logbl-ieee'.
40726         * modules/logbl-ieee: New file.
40728         Tests for module 'logb-ieee'.
40729         * modules/logb-ieee-tests: New file.
40730         * tests/test-logb-ieee.c: New file.
40732         New module 'logb-ieee'.
40733         * modules/logb-ieee: New file.
40735         Tests for module 'logbf-ieee'.
40736         * modules/logbf-ieee-tests: New file.
40737         * tests/test-logbf-ieee.c: New file.
40738         * tests/test-logb-ieee.h: New file.
40740         New module 'logbf-ieee'.
40741         * modules/logbf-ieee: New file.
40743 2012-04-03  Bruno Haible  <bruno@clisp.org>
40745         Tests for module 'logbl'.
40746         * modules/logbl-tests: New file.
40747         * tests/test-logbl.c: New file.
40749         New module 'logbl'.
40750         * lib/math.in.h (logbl): New declaration.
40751         * lib/logbl.c: New file.
40752         * m4/logbl.m4: New file.
40753         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
40754         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
40755         REPLACE_LOGBL.
40756         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
40757         REPLACE_LOGBL.
40758         * modules/logbl: New file.
40759         * tests/test-math-c++.cc: Check the declaration of logbl.
40760         * doc/posix-functions/logbl.texi: Mention the new module.
40762 2012-04-02  Bruno Haible  <bruno@clisp.org>
40764         Tests for module 'logbf'.
40765         * modules/logbf-tests: New file.
40766         * tests/test-logbf.c: New file.
40768         New module 'logbf'.
40769         * lib/math.in.h (logbf): New declaration.
40770         * lib/logbf.c: New file.
40771         * m4/logbf.m4: New file.
40772         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
40773         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
40774         REPLACE_LOGBF.
40775         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
40776         REPLACE_LOGBF.
40777         * modules/logbf: New file.
40778         * tests/test-math-c++.cc: Check the declaration of logbf.
40779         * doc/posix-functions/logbf.texi: Mention the new module.
40781 2012-04-02  Bruno Haible  <bruno@clisp.org>
40783         logb tests: More tests.
40784         * tests/test-logb.h: New file, based on tests/test-logb.c and
40785         tests/test-frexp.h.
40786         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
40787         (main): Just invoke test_function.
40788         * modules/logb-tests (Files): Add tests/test-logb.h,
40789         tests/minus-zero.h, tests/randomd.c.
40790         (Makefile.am): Add randomd.c to test_logb_SOURCES.
40792         logb: Provide replacement and workarounds.
40793         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
40794         is 1.
40795         * lib/logb.c: New file.
40796         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
40797         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
40798         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
40799         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
40800         * modules/logb (Files): Add lib/logb.c.
40801         (Depends-on): Add isfinite, frexp, isnand.
40802         (configure.ac): Compile the replacement code logb.c if needed.
40803         * tests/test-math-c++.cc: Check the declaration of logb.
40804         * doc/posix-functions/logb.texi: Mention the replacement and the bug
40805         with subnormal numbers.
40807 2012-04-02  Bruno Haible  <bruno@clisp.org>
40809         log10* tests: Speed up.
40810         * tests/test-log10.h (test_function): Reduce amount of random numbers
40811         to test.
40813 2012-04-01  Bruno Haible  <bruno@clisp.org>
40815         logf-ieee: Fix test whether logf works.
40816         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
40818 2012-04-01  Bruno Haible  <bruno@clisp.org>
40820         log10l: Work around log10l-ieee test failure on IRIX 6.5.
40821         * lib/log10l.c: Include <float.h>
40822         (log10l): On IRIX, normalize the +Infinity value.
40823         * modules/log10l (Depends-on): Add 'float'.
40824         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
40825         +Infinity.
40827         log10f-ieee: Work around test failure on NetBSD 5.1.
40828         * m4/log10f-ieee.m4: New file.
40829         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
40830         test whether log10f works with a negative argument. Replace it if not.
40831         * lib/log10f.c (log10f): For negative arguments, return NaN.
40832         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
40833         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
40834         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
40836         log10f-ieee: Work around test failure on Solaris 9.
40837         * modules/log10f-ieee (Depends-on): Add log10-ieee.
40838         (configure.ac): Require gl_FUNC_LOG10F.
40840         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
40841         * m4/log10-ieee.m4: New file.
40842         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
40843         whether log10 works with a negative argument. Replace it if not.
40844         * lib/log10.c (log10): For negative arguments, return NaN.
40845         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
40846         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
40847         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
40849         Tests for module 'log10l-ieee'.
40850         * modules/log10l-ieee-tests: New file.
40851         * tests/test-log10l-ieee.c: New file.
40853         New module 'log10l-ieee'.
40854         * modules/log10l-ieee: New file.
40856         Tests for module 'log10-ieee'.
40857         * modules/log10-ieee-tests: New file.
40858         * tests/test-log10-ieee.c: New file.
40860         New module 'log10-ieee'.
40861         * modules/log10-ieee: New file.
40863         Tests for module 'log10f-ieee'.
40864         * modules/log10f-ieee-tests: New file.
40865         * tests/test-log10f-ieee.c: New file.
40866         * tests/test-log10-ieee.h: New file.
40868         New module 'log10f-ieee'.
40869         * modules/log10f-ieee: New file.
40871 2012-04-01  Bruno Haible  <bruno@clisp.org>
40873         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
40874         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
40875         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
40876         workaround.
40877         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
40878         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
40879         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
40880         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
40881         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
40882         (Depends-on): Update conditions.
40883         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
40884         IRIX 6.5, OSF/1 5.1 problems.
40886 2012-04-01  Bruno Haible  <bruno@clisp.org>
40888         log10f: Work around OSF/1 5.1 bug.
40889         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
40890         * lib/log10f.c (log10f): If logf exists, use it and provide just the
40891         workaround.
40892         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
40893         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
40894         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
40895         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
40896         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
40897         (Depends-on): Update conditions.
40898         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
40900 2012-04-01  Bruno Haible  <bruno@clisp.org>
40902         log10: Work around OSF/1 5.1 bug.
40903         * lib/math.in.h (log10): New declaration.
40904         * lib/log10.c: New file.
40905         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
40906         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
40907         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
40908         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
40909         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
40910         * modules/log10 (Files): Add lib/log10.c.
40911         (Depends-on): Add math.
40912         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
40913         * tests/test-math-c++.cc: Check the declaration of log10.
40914         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
40916 2012-03-31  Bruno Haible  <bruno@clisp.org>
40918         log10l tests: More tests.
40919         * modules/log10l-tests (Files): Add tests/test-log10l.h,
40920         tests/minus-zero.h, tests/randoml.c.
40921         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
40922         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
40923         (main): Invoke test_function.
40925         log10f tests: More tests.
40926         * modules/log10f-tests (Files): Add tests/test-log10.h,
40927         tests/minus-zero.h, tests/randomf.c.
40928         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
40929         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
40930         (main): Invoke test_function.
40932         log10 tests: More tests.
40933         * tests/test-log10.h: New file.
40934         * modules/log10-tests (Files): Add tests/test-log10.h,
40935         tests/minus-zero.h, tests/randomd.c.
40936         (Makefile.am): Add randomd.c to test_log10_SOURCES.
40937         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
40938         (main): Invoke test_function.
40940 2012-03-31  Simon Josefsson  <simon@josefsson.org>
40942         fflush: Fix syntax error.
40943         * lib/fflush.c: Include unused-parameter.h, needed for
40944         _GL_UNUSED_PARAMETER.
40945         * modules/fflush (Depends-on): Add snippet/unused-parameter.
40947 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
40949         regex: pacify GCC when compiling GRUB
40950         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
40951         a diagnostic.  Reported by Vladimir Serbinenko in
40952         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00163.html>.
40954 2012-03-29  Eric Blake  <eblake@redhat.com>
40956         stdio: don't assume gets any more
40957         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
40958         support.
40959         * modules/stdio (Makefile.am): Likewise.
40960         * lib/stdio-read.c (gets): Likewise.
40961         * tests/test-stdio-c++.cc: Likewise.
40962         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
40963         * lib/stdio.in.h (gets): Make warning occur in more places.
40964         * doc/posix-functions/gets.texi (gets): Update documentation.
40965         Reported by Christer Solskogen.
40967         maint.mk: fix syntax checks without exclusions
40968         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
40969         Reported by Daniel P. Berrange.
40971         strerror_r: avoid compiler warning
40972         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
40973         level.
40975         fflush: avoid compiler warning
40976         * lib/fflush.c (update_fpos_cache): Mark variables that are
40977         potentially unused.
40979 2012-03-25  Bruno Haible  <bruno@clisp.org>
40981         Tests for module 'localeconv'.
40982         * modules/localeconv-tests: New file.
40983         * tests/test-localeconv.c: New file.
40985         New module 'localeconv'.
40986         * lib/locale.in.h (localeconv): New declaration.
40987         * lib/localeconv.c: New file.
40988         * m4/localeconv.m4: New file.
40989         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
40990         REPLACE_LOCALECONV.
40991         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
40992         REPLACE_LOCALECONV.
40993         * modules/localeconv: New file.
40994         * modules/nl_langinfo (Depends-on): Add localeconv.
40995         * modules/human (Depends-on): Likewise.
40996         * doc/posix-functions/localeconv.texi: Mention the new module.
40998 2012-03-25  Bruno Haible  <bruno@clisp.org>
41000         locale: Provide a complete 'struct lconv'.
41001         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
41002         'struct lconv' does not contain int_p_cs_precedes.
41003         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
41004         * doc/posix-headers/locale.texi: Update.
41006         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
41007         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
41008         * doc/posix-headers/locale.texi: Update.
41010         locale: Provide a working 'struct lconv'.
41011         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
41012         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
41013         'struct lconv' does not even contain decimal_point.
41014         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
41015         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
41016         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
41017         * doc/posix-headers/locale.texi: Mention the problems with
41018         'struct lconv'.
41019         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
41021 2012-03-24  Bruno Haible  <bruno@clisp.org>
41023         Enable common subexpression optimization in GCC.
41024         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
41025         macros.
41026         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
41027         GCC attribute 'const'.
41028         (uc_locale_language): Declare with GCC attribute 'pure'.
41029         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
41030         with GCC attribute 'const'.
41031         * lib/unictype.in.h (uc_is_general_category_withtable,
41032         uc_combining_class, uc_combining_class_name,
41033         uc_combining_class_long_name, uc_bidi_class_name,
41034         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
41035         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
41036         uc_decimal_value, uc_digit_value, uc_numeric_value,
41037         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
41038         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
41039         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
41040         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
41041         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
41042         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
41043         Declare with GCC attribute 'const'.
41044         (uc_general_category_name, uc_general_category_long_name,
41045         uc_general_category_byname, uc_general_category,
41046         uc_is_general_category, uc_combining_class_byname,
41047         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
41048         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
41049         Declare with GCC attribute 'pure'.
41050         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
41051         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
41052         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
41053         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
41054         with GCC attribute 'pure'.
41055         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
41056         'const'.
41057         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
41058         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
41059         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
41060         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
41061         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
41062         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
41063         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
41064         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
41065         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
41066         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
41067         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
41068         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
41069         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
41070         GCC attribute 'pure'.
41071         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
41072         'const'.
41073         * lib/uniwidth.in.h (uc_width): Simplify declaration.
41074         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
41075         u32_strwidth): Declare with GCC attribute 'pure'.
41077         Enable common subexpression optimization in GCC.
41078         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
41079         (alphasort): Declare with GCC attribute 'pure'.
41080         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
41081         (atoll): Declare with GCC attribute 'pure'.
41082         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
41083         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
41084         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
41085         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
41086         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
41087         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
41088         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
41090 2012-03-24  Bruno Haible  <bruno@clisp.org>
41092         gnulib-tool: Avoid unintended error output from 'cmp'.
41093         * gnulib-tool (func_add_file, func_update_file, func_import): Use
41094         "cmp -s", not "cmp > /dev/null".
41096 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
41098         gnulib-tool: fix imprecise comments w.r.t. an automake bug
41100         It's not just Automake versions < 1.9b that creates an empty
41101         pkgdatadir at installation time if pkgdata_DATA is specified
41102         to empty; modern automake versions do this as well, at least
41103         until automake 1.11.4 (not yet released at the moment of writing,
41104         but soon to appear).  That behaviour was generally considered a
41105         feature rather than a bug, at least until this discussion:
41106         <http://lists.gnu.org/r/automake/2012-03/msg00014.html>
41108         See also automake bugs #10997 and #11030.
41110         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
41111         reference to relevant automake bug numbers.
41112         (func_emit_tests_Makefile_am): Likewise.
41114 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
41116         announce-gen: use Digest::SHA when possible
41117         * build-aux/announce-gen: Use Digest::SHA when possible, falling
41118         back to Digest::SHA1 if necessary.
41120 2012-03-20  Jim Meyering  <meyering@redhat.com>
41122         tests: avoid gcc warnings about argv vs. const initializers
41123         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
41124         warnings about discarding 'const' qualifier from pointer target type.
41125         * tests/test-posix_spawn2.c (main): Likewise.
41127 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
41129         README-release: simplify slightly
41130         * top/README-release: Run "git checkout master" only once.
41132 2012-03-15  Mark Wielaard  <mark@klomp.org>
41134         git-merge-changelog: add specific example on how to use with hg.
41135         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
41137 2012-03-18  Mark Wielaard  <mark@klomp.org>
41139         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
41141 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
41143         git-version-gen: don't let "prefix" envvar cause trouble
41144         * build-aux/git-version-gen (prefix): Initialize properly,
41145         so as not to use a value specified via the environment.
41146         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
41148 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
41150         regex: diagnose too-large repeat counts in EREs
41151         Previously, the code did not diagnose the too-large repeat count
41152         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
41153         as if it were 'b\{1000000000}', which is unexpected.
41154         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
41155         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
41156         is a reasonable one for this problem.  Another option would be to
41157         create a new REG_OVERFLOW error for repeat counts that are too large.
41158         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
41159         count is too large, so that the caller can distinguish the two cases.
41160         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
41161         "Too large" return code, and that repeat counts are one example of this.
41163 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
41165         doc: some glibc x32 integer width issues
41166         * doc/posix-headers/sys_types.texi (sys/types.h):
41167         * doc/posix-headers/time.texi (time.h):
41168         Mention that glibc x32 does not conform to POSIX in a couple of
41169         areas related to integer widths.
41171 2012-03-15  Bruno Haible  <bruno@clisp.org>
41173         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
41174         * lib/fma.c (VOLATILE): New macro.
41175         (FUNC): Use it to work around a GCC compiler bug.
41177 2012-03-13  Bruno Haible  <bruno@clisp.org>
41179         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
41180         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
41181         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
41182         REPLACE_HYPOTL to 1.
41183         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
41185 2012-03-13  Bruno Haible  <bruno@clisp.org>
41187         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
41188         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
41189         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
41190         REPLACE_REMAINDERL to 1.
41191         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
41192         bug.
41194 2012-03-13  Bruno Haible  <bruno@clisp.org>
41196         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
41197         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
41198         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
41199         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
41200         too big rounding errors.
41201         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
41202         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
41203         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
41204         (Depends-on): Update conditions.
41205         * tests/test-sqrtl.c (my_ldexpl): New function.
41206         (main): Add test of a particular value.
41207         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
41209 2012-03-13  Pádraig Brady  <P@draigBrady.com>
41211         doc: Update timer_* platform portability notes.
41212         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
41213         that always return ENOSYS.
41214         * doc/posix-functions/timer_delete.texi: Likewise.
41215         * doc/posix-functions/timer_gettime.texi: Likewise.
41216         * doc/posix-functions/timer_settime.texi: Likewise.
41218 2012-03-13  Bruno Haible  <bruno@clisp.org>
41220         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
41221         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
41222         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
41223         REPLACE_CBRTL to 1.
41224         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
41226 2012-03-13  Bruno Haible  <bruno@clisp.org>
41228         remainderl: Avoid compilation error on AIX >= 5.2.
41229         * lib/math.in.h (remainderl): Undefine macro from the system header.
41231 2012-03-13  Bruno Haible  <bruno@clisp.org>
41233         Avoid compilation errors with MSVC option -fp:strict.
41234         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
41235         * lib/cbrtf.c: Likewise.
41236         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
41238 2012-03-12  Bruno Haible  <bruno@clisp.org>
41240         uninorm: Don't crash in out-of-memory conditions.
41241         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
41242         gracefully.
41243         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
41244         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
41246 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
41248         quote: fix syntax-check
41249         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
41250         also exports quote_quoting_options.
41252 2012-03-12  Simon Josefsson  <simon@josefsson.org>
41254         Collapse list of copyright years to ranges.  See
41255         <https://lists.gnu.org/r/bug-gnulib/2012-03/msg00051.html>.
41256         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
41257         build-aux/csharpexec.sh.in, build-aux/gnupload,
41258         build-aux/install-reloc, build-aux/javacomp.sh.in,
41259         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
41260         build-aux/move-if-change, build-aux/reloc-ldflags,
41261         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
41263 2012-03-11  Bruno Haible  <bruno@clisp.org>
41265         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
41266         * m4/log2f-ieee.m4: New file.
41267         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
41268         whether log2f works with a minus zero argument. Replace it if not.
41269         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
41270         (Depends-on): Add log2-ieee.
41271         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
41272         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
41274         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
41275         * m4/log2-ieee.m4: New file.
41276         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
41277         whether log2 works with a minus zero argument. Replace it if not.
41278         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
41279         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
41280         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
41282         Tests for module 'log2l-ieee'.
41283         * modules/log2l-ieee-tests: New file.
41284         * tests/test-log2l-ieee.c: New file.
41286         New module 'log2l-ieee'.
41287         * modules/log2l-ieee: New file.
41289         Tests for module 'log2-ieee'.
41290         * modules/log2-ieee-tests: New file.
41291         * tests/test-log2-ieee.c: New file.
41293         New module 'log2-ieee'.
41294         * modules/log2-ieee: New file.
41296         Tests for module 'log2f-ieee'.
41297         * modules/log2f-ieee-tests: New file.
41298         * tests/test-log2f-ieee.c: New file.
41299         * tests/test-log2-ieee.h: New file.
41301         New module 'log2f-ieee'.
41302         * modules/log2f-ieee: New file.
41304 2012-03-11  Bruno Haible  <bruno@clisp.org>
41306         Tests for module 'log2l'.
41307         * modules/log2l-tests: New file.
41308         * tests/test-log2l.c: New file.
41310         New module 'log2l'.
41311         * lib/math.in.h (log2l): New declaration.
41312         * lib/log2l.c: New file.
41313         * m4/log2l.m4: New file.
41314         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
41315         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
41316         REPLACE_LOG2L.
41317         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
41318         REPLACE_LOG2L.
41319         * modules/log2l: New file.
41320         * tests/test-math-c++.cc: Check the declaration of log2l.
41321         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
41322         and OSF/1 problems.
41324 2012-03-11  Bruno Haible  <bruno@clisp.org>
41326         Tests for module 'log2f'.
41327         * modules/log2f-tests: New file.
41328         * tests/test-log2f.c: New file.
41330         New module 'log2f'.
41331         * lib/math.in.h (log2f): New declaration.
41332         * lib/log2f.c: New file.
41333         * m4/log2f.m4: New file.
41334         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
41335         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
41336         REPLACE_LOG2F.
41337         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
41338         REPLACE_LOG2F.
41339         * modules/log2f: New file.
41340         * tests/test-math-c++.cc: Check the declaration of log2f.
41341         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
41342         and OSF/1 and Cygwin problems.
41344 2012-03-11  Bruno Haible  <bruno@clisp.org>
41346         Tests for module 'log2'.
41347         * modules/log2-tests: New file.
41348         * tests/test-log2.c: New file.
41349         * tests/test-log2.h: New file.
41351         New module 'log2'.
41352         * lib/math.in.h (log2): New declaration.
41353         * lib/log2.c: New file.
41354         * m4/log2.m4: New file.
41355         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
41356         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
41357         REPLACE_LOG2.
41358         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
41359         REPLACE_LOG2.
41360         * modules/log2: New file.
41361         * tests/test-math-c++.cc: Check the declaration of log2.
41362         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
41363         and OSF/1 and Cygwin problems.
41365 2012-03-11  Bruno Haible  <bruno@clisp.org>
41367         exp2* tests: More tests.
41368         * tests/test-exp2.h (test_function): Test all integral arguments that
41369         don't need to overflow or denormalized numbers.
41370         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
41371         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
41372         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
41374 2012-03-10  Bruno Haible  <bruno@clisp.org>
41376         log1pl-ieee: Work around test failure on AIX 7.1.
41377         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
41379         log1pl-ieee: Work around test failure on IRIX 6.5.
41380         * m4/log1pl-ieee.m4: New file.
41381         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
41382         test whether log1pl works with a minus zero argument. Replace it if
41383         not.
41384         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
41385         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
41386         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
41387         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
41388         (Depends-on): Update conditions.
41389         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
41390         m4/signbit.m4.
41391         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
41392         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
41394         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
41395         * m4/log1pf-ieee.m4: New file.
41396         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
41397         test whether log1pf works with a minus zero argument. Replace it if
41398         not.
41399         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
41400         m4/signbit.m4.
41401         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
41402         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
41404         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
41405         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
41406         (configure.ac): Require gl_FUNC_LOG1PF.
41408         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
41409         * m4/log1p-ieee.m4: New file.
41410         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
41411         whether log1p works with a minus zero argument. Replace it if not.
41412         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
41413         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
41414         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
41415         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
41416         (Depends-on): Update conditions.
41417         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
41418         m4/signbit.m4.
41419         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
41420         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
41422         Tests for module 'log1pl-ieee'.
41423         * modules/log1pl-ieee-tests: New file.
41424         * tests/test-log1pl-ieee.c: New file.
41426         New module 'log1pl-ieee'.
41427         * modules/log1pl-ieee: New file.
41429         Tests for module 'log1p-ieee'.
41430         * modules/log1p-ieee-tests: New file.
41431         * tests/test-log1p-ieee.c: New file.
41433         New module 'log1p-ieee'.
41434         * modules/log1p-ieee: New file.
41436         Tests for module 'log1pf-ieee'.
41437         * modules/log1pf-ieee-tests: New file.
41438         * tests/test-log1pf-ieee.c: New file.
41439         * tests/test-log1p-ieee.h: New file.
41441         New module 'log1pf-ieee'.
41442         * modules/log1pf-ieee: New file.
41444 2012-03-10  Bruno Haible  <bruno@clisp.org>
41446         Tests for module 'log1pl'.
41447         * modules/log1pl-tests: New file.
41448         * tests/test-log1pl.c: New file.
41450         New module 'log1pl'.
41451         * lib/math.in.h (log1pl): New declaration.
41452         * lib/log1pl.c: New file.
41453         * m4/log1pl.m4: New file.
41454         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
41455         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
41456         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
41457         * modules/log1pl: New file.
41458         * tests/test-math-c++.cc: Check the declaration of log1pl.
41459         * doc/posix-functions/log1pl.texi: Mention the new module.
41461 2012-03-10  Bruno Haible  <bruno@clisp.org>
41463         Tests for module 'log1pf'.
41464         * modules/log1pf-tests: New file.
41465         * tests/test-log1pf.c: New file.
41467         New module 'log1pf'.
41468         * lib/math.in.h (log1pf): New declaration.
41469         * lib/log1pf.c: New file.
41470         * m4/log1pf.m4: New file.
41471         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
41472         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
41473         REPLACE_LOG1PF.
41474         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
41475         REPLACE_LOG1PF.
41476         * modules/log1pf: New file.
41477         * tests/test-math-c++.cc: Check the declaration of log1pf.
41478         * doc/posix-functions/log1pf.texi: Mention the new module.
41480 2012-03-10  Bruno Haible  <bruno@clisp.org>
41482         log1p tests: More tests.
41483         * tests/test-log1p.h: New file.
41484         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
41485         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
41486         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
41487         (main): Invoke test_function.
41489         log1p: Provide replacement for Minix and MSVC.
41490         * lib/math.in.h (log1p): New declaration.
41491         * lib/log1p.c: New file.
41492         * m4/log1p.m4: New file.
41493         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
41494         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
41495         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
41496         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
41497         (Depends-on): Add math, isnand, log, round.
41498         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
41499         HAVE_LOG1P is 0.
41500         * tests/test-math-c++.cc: Check the declaration of log1p.
41501         * doc/posix-functions/log1p.texi: Mention the replacement.
41503 2012-03-10  Bruno Haible  <bruno@clisp.org>
41505         math tests: Small simplification.
41506         * tests/test-exp.h (test_function): Use the same err_bound for
41507         'double' on platforms with sizeof (long double) == sizeof (double)
41508         than on platforms with sizeof (long double) > sizeof (double).
41509         * tests/test-exp2.h (test_function): Likewise.
41510         * tests/test-expm1.h (test_function): Likewise.
41511         * tests/test-log.h (test_function): Likewise.
41513 2012-03-10  Bruno Haible  <bruno@clisp.org>
41515         Fix some comments.
41516         * lib/expl.c: Fix an ambiguous comment.
41517         * lib/expm1.c: Likewise.
41518         * lib/expm1l.c: Likewise.
41519         * lib/exp2.c: Likewise.
41520         * lib/exp2l.c: Likewise.
41522 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
41524         regex: allow inclusion of <regex.h> before <limits.h>
41525         Without this patch, portable programs had to include <limits.h> before
41526         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
41527         I ran into this problem with a test version of GNU grep on Solaris 8.
41528         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
41529         This is done conditionally so that this change can be merged
41530         back to glibc.
41531         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
41532         using the included regex.
41534         fts: depend on fdopendir
41535         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
41536         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
41537         problem was introduced when fdopendir was split out.
41539 2012-03-10  Bruno Haible  <bruno@clisp.org>
41541         Remove unused variables.
41542         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
41543         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
41545 2012-03-10  Bruno Haible  <bruno@clisp.org>
41547         isnanf-nolibm: Fix last commit.
41548         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
41550         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
41551         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
41553 2012-03-10  Bruno Haible  <bruno@clisp.org>
41555         logf-ieee: Work around test failure on NetBSD 5.1.
41556         * m4/logf-ieee.m4: New file.
41557         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
41558         whether logf works with a negative argument. Replace it if not.
41559         * lib/logf.c (logf): For negative arguments, return NaN.
41560         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
41561         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
41562         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
41564         logf-ieee: Work around test failure on Solaris 9.
41565         * modules/logf-ieee (Depends-on): Add log-ieee.
41566         (configure.ac): Require gl_FUNC_LOGF.
41568         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
41569         * m4/log-ieee.m4: New file.
41570         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
41571         log works with a negative argument. Replace it if not.
41572         * lib/log.c (log): For negative arguments, return NaN.
41573         * modules/log-ieee (Files): Add m4/log-ieee.m4.
41574         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
41575         * doc/posix-functions/log.texi: Mention the log-ieee module.
41577         Tests for module 'logl-ieee'.
41578         * modules/logl-ieee-tests: New file.
41579         * tests/test-logl-ieee.c: New file.
41581         New module 'logl-ieee'.
41582         * modules/logl-ieee: New file.
41584         Tests for module 'log-ieee'.
41585         * modules/log-ieee-tests: New file.
41586         * tests/test-log-ieee.c: New file.
41588         New module 'log-ieee'.
41589         * modules/log-ieee: New file.
41591         Tests for module 'logf-ieee'.
41592         * modules/logf-ieee-tests: New file.
41593         * tests/test-logf-ieee.c: New file.
41594         * tests/test-log-ieee.h: New file.
41596         New module 'logf-ieee'.
41597         * modules/logf-ieee: New file.
41599 2012-03-10  Bruno Haible  <bruno@clisp.org>
41601         log: Fix bug introduced on 2012-03-09.
41602         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
41604 2012-03-10  Pádraig Brady  <P@draigBrady.com>
41606         timer-time: link explicitly with pthreads on glibc
41607         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
41608         to support static linking, when newer glibc is
41609         detected, as that contains pthread emulation of
41610         POSIX timer functions where required.
41611         * modules/timer-time: Depend on threadlib to
41612         pull in the appropriate library to link.
41614 2012-03-10  Bruno Haible  <bruno@clisp.org>
41616         log* tests: More tests.
41617         * tests/test-log.h: New file.
41618         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
41619         (main): Invoke test_function.
41620         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
41621         (main): Invoke test_function.
41622         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
41623         (main): Invoke test_function.
41624         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
41625         tests/randomd.c.
41626         (Makefile.am): Add randomd.c to test_log_SOURCES.
41627         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
41628         tests/randomf.c.
41629         (Makefile.am): Add randomf.c to test_logf_SOURCES.
41630         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
41631         tests/randoml.c.
41632         (Depends-on): Add 'float'.
41633         (Makefile.am): Add randoml.c to test_logl_SOURCES.
41635 2012-03-09  Bruno Haible  <bruno@clisp.org>
41637         logl: Work around OSF/1 5.1 bug.
41638         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
41639         * lib/logl.c (logl): If logl exists, use it and provide just the
41640         workaround.
41641         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
41642         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
41643         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
41644         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
41645         * modules/logl (configure.ac): Consider REPLACE_LOGL.
41646         (Depends-on): Update conditions.
41647         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
41649 2012-03-09  Bruno Haible  <bruno@clisp.org>
41651         logf: Work around OSF/1 5.1 bug.
41652         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
41653         * lib/logf.c (logf): If logf exists, use it and provide just the
41654         workaround.
41655         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
41656         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
41657         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
41658         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
41659         * modules/logf (configure.ac): Consider REPLACE_LOGF.
41660         (Depends-on): Update conditions.
41661         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
41663 2012-03-09  Bruno Haible  <bruno@clisp.org>
41665         log: Work around OSF/1 5.1 bug.
41666         * lib/math.in.h (log): New declaration.
41667         * lib/log.c: New file.
41668         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
41669         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
41670         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
41671         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
41672         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
41673         * modules/log (Files): Add lib/log.c.
41674         (Depends-on): Add math.
41675         (configure.ac): If REPLACE_LOG is 1, compile an override.
41676         * tests/test-math-c++.cc: Check the declaration of log.
41677         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
41679 2012-03-09  Jim Meyering  <meyering@redhat.com>
41681         readtokens.c: adjust wording in a comment
41682         * lib/readtokens.c: Insert omitted "that" in a comment.
41684 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
41686         modechange: add notations +40, 00440, etc.
41687         * lib/modechange.c (mode_compile): Support new notations
41688         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
41690 2012-03-08  Bruno Haible  <bruno@clisp.org>
41692         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
41693         * m4/exp2l-ieee.m4: New file.
41694         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
41695         test whether exp2l works with a NaN argument and with a negative
41696         infinity argument. Replace it if not.
41697         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
41698         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
41699         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
41700         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
41701         (Depends-on): Update conditions.
41702         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
41703         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
41704         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
41706         Tests for module 'exp2l-ieee'.
41707         * modules/exp2l-ieee-tests: New file.
41708         * tests/test-exp2l-ieee.c: New file.
41710         New module 'exp2l-ieee'.
41711         * modules/exp2l-ieee: New file.
41713         Tests for module 'exp2-ieee'.
41714         * modules/exp2-ieee-tests: New file.
41715         * tests/test-exp2-ieee.c: New file.
41717         New module 'exp2-ieee'.
41718         * modules/exp2-ieee: New file.
41720         Tests for module 'exp2f-ieee'.
41721         * modules/exp2f-ieee-tests: New file.
41722         * tests/test-exp2f-ieee.c: New file.
41723         * tests/test-exp2-ieee.h: New file.
41725         New module 'exp2f-ieee'.
41726         * modules/exp2f-ieee: New file.
41728 2012-03-08  Bruno Haible  <bruno@clisp.org>
41730         Tests for module 'exp2l'.
41731         * modules/exp2l-tests: New file.
41732         * tests/test-exp2l.c: New file.
41734         New module 'exp2l'.
41735         * lib/math.in.h (exp2l): New declaration.
41736         * lib/exp2l.c: New file.
41737         * lib/expl-table.c: New file, extracted from lib/expl.c.
41738         * lib/expl.c (gl_expl_table): New declaration.
41739         (expl): Remove expl_table. Update reference.
41740         * m4/exp2l.m4: New file.
41741         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
41742         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
41743         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
41744         * modules/exp2l: New file.
41745         * modules/expl (Files): Add lib/expl-table.c.
41746         (configure.ac): Compile also expl-table.c.
41747         * tests/test-math-c++.cc: Check the declaration of exp2l.
41748         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
41749         problem.
41751 2012-03-08  Bruno Haible  <bruno@clisp.org>
41753         Tests for module 'exp2f'.
41754         * modules/exp2f-tests: New file.
41755         * tests/test-exp2f.c: New file.
41757         New module 'exp2f'.
41758         * lib/math.in.h (exp2f): New declaration.
41759         * lib/exp2f.c: New file.
41760         * m4/exp2f.m4: New file.
41761         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
41762         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
41763         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
41764         * modules/exp2f: New file.
41765         * tests/test-math-c++.cc: Check the declaration of exp2f.
41766         * doc/posix-functions/exp2f.texi: Mention the new module and the
41767         IRIX problem.
41769 2012-03-08  Bruno Haible  <bruno@clisp.org>
41771         Tests for module 'exp2'.
41772         * modules/exp2-tests: New file.
41773         * tests/test-exp2.c: New file.
41774         * tests/test-exp2.h: New file.
41776         New module 'exp2'.
41777         * lib/math.in.h (exp2): New declaration.
41778         * lib/exp2.c: New file.
41779         * m4/exp2.m4: New file.
41780         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
41781         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
41782         REPLACE_EXP2.
41783         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
41784         REPLACE_EXP2.
41785         * modules/exp2: New file.
41786         * tests/test-math-c++.cc: Check the declaration of exp2.
41787         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
41788         and OpenBSD problems.
41790 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
41792         savedir: fix comment typo
41793         * lib/savedir.c (savedirstream): Fix typo in comment.
41795 2012-03-08  Bruno Haible  <bruno@clisp.org>
41797         test-readtokens.c: use const; remove unwarranted cast
41798         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
41800 2012-03-08  Bruno Haible  <bruno@clisp.org>
41802         fmal: Avoid compilation error on AIX.
41803         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
41804         AIX 5.2..7.1.
41806 2012-03-08  Bruno Haible  <bruno@clisp.org>
41808         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
41809         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
41810         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
41811         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
41812         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
41813         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
41814         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
41816 2012-03-08  Bruno Haible  <bruno@clisp.org>
41818         remainderf: Override buggy system function on IRIX 6.5.
41819         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
41820         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
41821         when it exists.
41822         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
41824 2012-03-08  Jim Meyering  <meyering@redhat.com>
41826         test-readtokens.c: avoid const-related compilation warnings
41827         * tests/test-readtokens.c: Avoid const-related compilation warnings.
41829 2012-03-07  Jim Meyering  <meyering@redhat.com>
41830             Bruno Haible  <bruno@clisp.org>
41832         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
41833         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
41834         tests/randomd.c.
41835         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
41836         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
41837         tests/randoml.c.
41838         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
41840 2012-03-07  Bruno Haible  <bruno@clisp.org>
41842         expm1l: Avoid compilation error on AIX.
41843         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
41844         AIX 5.2..7.1.
41846 2012-03-07  Bruno Haible  <bruno@clisp.org>
41848         expm1l: Don't override undeclared system function on IRIX 6.5.
41849         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
41850         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
41851         it exists. Set HAVE_DECL_EXPM1L.
41852         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
41853         HAVE_EXPM1L.
41854         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
41855         HAVE_EXPM1L.
41856         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
41858 2012-03-07  Bruno Haible  <bruno@clisp.org>
41860         remainderl: Don't override undeclared system function on IRIX 6.5.
41861         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
41862         HAVE_REMAINDERL.
41863         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
41864         declared when it exists. Set HAVE_DECL_REMAINDERL.
41865         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
41866         not HAVE_REMAINDERL.
41867         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
41868         HAVE_REMAINDERL.
41869         * doc/posix-functions/remainderl.texi: Mention missing declaration
41870         problem.
41872 2012-03-07  Bruno Haible  <bruno@clisp.org>
41874         rintf: Don't override undeclared system function on IRIX 6.5.
41875         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
41876         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
41877         exists. Set HAVE_DECL_RINTF.
41878         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
41879         HAVE_RINTF.
41880         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
41881         HAVE_RINTF.
41882         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
41884 2012-03-07  Bruno Haible  <bruno@clisp.org>
41886         roundl: Avoid compilation error on AIX.
41887         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
41888         AIX 5.2..7.1.
41890 2012-03-07  Bruno Haible  <bruno@clisp.org>
41892         roundl: Don't override undeclared system function on IRIX 6.5.
41893         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
41894         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
41895         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
41896         * modules/roundl (configure.ac): For replacement code, test
41897         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
41898         (Depends-on): Update conditions.
41899         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
41901 2012-03-07  Bruno Haible  <bruno@clisp.org>
41903         roundf: Don't override undeclared system function on IRIX 6.5.
41904         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
41905         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
41906         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
41907         * modules/roundf (configure.ac): For replacement code, test
41908         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
41909         (Depends-on): Update conditions.
41910         * modules/roundf-ieee (Depends-on): Update conditions.
41911         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
41913 2012-03-07  Bruno Haible  <bruno@clisp.org>
41915         round: Don't override undeclared system function on IRIX 6.5.
41916         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
41917         argument.
41918         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
41919         also when it is not declared. Set HAVE_ROUND. For replacement code,
41920         test HAVE_ROUND, not HAVE_DECL_ROUND.
41921         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
41922         not HAVE_DECL_ROUND.
41923         (Depends-on): Update conditions.
41924         * modules/round-ieee (Depends-on): Update conditions.
41925         * doc/posix-functions/round.texi: Mention the IRIX problem.
41927 2012-03-07  Bruno Haible  <bruno@clisp.org>
41929         copysignf: Don't override undeclared system function on IRIX 6.5.
41930         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
41931         HAVE_COPYSIGNF.
41932         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
41933         declared when it exists. Set HAVE_DECL_COPYSIGNF.
41934         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
41935         not HAVE_COPYSIGNF.
41936         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
41937         HAVE_COPYSIGNF.
41938         * doc/posix-functions/copysignf.texi: Mention missing declaration
41939         problem.
41941 2012-03-07  Jim Meyering  <meyering@redhat.com>
41943         readtokens: add tests
41944         * modules/readtokens-tests: New file.
41945         * tests/test-readtokens.c: New file.
41947 2012-03-07  Jim Meyering  <meyering@redhat.com>
41949         quotearg: the module must now include quote.h
41950         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
41951         So must the module.
41952         * modules/quotearg (Files): Add quote.h.
41954 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
41956         readtokens: avoid core dumps with unusual calling patterns
41957         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
41958         * lib/readtokens.c: Include limits.h.
41959         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
41960         (readtoken): Don't cache the delimiters; the cache code was buggy
41961         if !delim && saved_delim, or if the new n_delim differs from the old.
41962         Also, it wasn't thread-safe.
41964 2012-03-07  Bruno Haible  <bruno@clisp.org>
41966         quote: Adhere to common module description layout.
41967         * modules/quote (Makefile.am): Add back empty section.
41969 2012-03-06  Akim Demaille  <demaille@gostai.com>
41971         quote: fuse into quotearg
41972         This patch is made for the benefit of Bison.
41973         quote does not leave the choice of the quoting style to the user.
41974         quoting_style provides poor customizability, yet quoting_options,
41975         which is very rich, is hidden inside quotearg.c.  So in order to
41976         allow quote customization, move its implementation to quotearg.c.
41977         * lib/quote.c: Remove.
41978         * modules/quote: Adjust.
41979         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
41980         warning: provide all the members of literal structs.
41981         (quote_quoting_options): New.
41982         (quote, quote_n): Import implementation from quote.c.
41983         * lib/quote.h: Import the comments from quote.c.
41984         (quote_quoting_options): New.
41986 2012-03-06  Bruno Haible  <bruno@clisp.org>
41988         Tests for module 'expm1l-ieee'.
41989         * modules/expm1l-ieee-tests: New file.
41990         * tests/test-expm1l-ieee.c: New file.
41992         New module 'expm1l-ieee'.
41993         * modules/expm1l-ieee: New file.
41995         Tests for module 'expm1f-ieee'.
41996         * modules/expm1f-ieee-tests: New file.
41997         * tests/test-expm1f-ieee.c: New file.
41999         New module 'expm1f-ieee'.
42000         * modules/expm1f-ieee: New file.
42002         Tests for module 'expm1-ieee'.
42003         * modules/expm1-ieee-tests: New file.
42004         * tests/test-expm1-ieee.c: New file.
42005         * tests/test-expm1-ieee.h: New file.
42007         New module 'expm1-ieee'.
42008         * modules/expm1-ieee: New file.
42009         * m4/expm1-ieee.m4: New file.
42010         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
42011         whether expm1 works with a minus zero argument. Replace it if not.
42012         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
42013         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
42014         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
42015         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
42016         (Depends-on): Update conditions.
42017         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
42018         AIX problem.
42020 2012-03-06  Bruno Haible  <bruno@clisp.org>
42022         Work around expm1f bug on IRIX 6.5.
42023         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
42024         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
42025         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
42026         not work.
42027         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
42028         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
42029         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
42030         (Depends-on): Update conditions.
42031         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
42033 2012-03-06  Bruno Haible  <bruno@clisp.org>
42035         Tests for module 'expm1l'.
42036         * modules/expm1l-tests: New file.
42037         * tests/test-expm1l.c: New file.
42039         New module 'expm1l'.
42040         * lib/math.in.h (expm1l): New declaration.
42041         * lib/expm1l.c: New file.
42042         * m4/expm1l.m4: New file.
42043         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
42044         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
42045         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
42046         * modules/expm1l: New file.
42047         * tests/test-math-c++.cc: Check the declaration of expm1l.
42048         * doc/posix-functions/expm1l.texi: Mention the new module.
42050 2012-03-06  Bruno Haible  <bruno@clisp.org>
42052         Tests for module 'expm1f'.
42053         * modules/expm1f-tests: New file.
42054         * tests/test-expm1f.c: New file.
42056         New module 'expm1f'.
42057         * lib/math.in.h (expm1f): New declaration.
42058         * lib/expm1f.c: New file.
42059         * m4/expm1f.m4: New file.
42060         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
42061         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
42062         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
42063         * modules/expm1f: New file.
42064         * tests/test-math-c++.cc: Check the declaration of expm1f.
42065         * doc/posix-functions/expm1f.texi: Mention the new module.
42067 2012-03-06  Bruno Haible  <bruno@clisp.org>
42069         Tests for module 'expm1'.
42070         * modules/expm1-tests: New file.
42071         * tests/test-expm1.c: New file.
42072         * tests/test-expm1.h: New file.
42074         New module 'expm1'.
42075         * lib/math.in.h (expm1): New declaration.
42076         * lib/expm1.c: New file.
42077         * m4/expm1.m4: New file.
42078         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
42079         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
42080         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
42081         * modules/expm1: New file.
42082         * tests/test-math-c++.cc: Check the declaration of expm1.
42083         * doc/posix-functions/expm1.texi: Mention the new module.
42085 2012-03-06  Bruno Haible  <bruno@clisp.org>
42087         math: Ensure declarations of math functions.
42088         * modules/acosf (Depends-on): Add 'extensions'.
42089         * modules/asinf (Depends-on): Likewise.
42090         * modules/atan2f (Depends-on): Likewise.
42091         * modules/atanf (Depends-on): Likewise.
42092         * modules/cbrt (Depends-on): Likewise.
42093         * modules/cbrtf (Depends-on): Likewise.
42094         * modules/cbrtl (Depends-on): Likewise.
42095         * modules/copysignf (Depends-on): Likewise.
42096         * modules/copysignl (Depends-on): Likewise.
42097         * modules/cosf (Depends-on): Likewise.
42098         * modules/coshf (Depends-on): Likewise.
42099         * modules/expf (Depends-on): Likewise.
42100         * modules/fabsf (Depends-on): Likewise.
42101         * modules/fabsl (Depends-on): Likewise.
42102         * modules/fmaf (Depends-on): Likewise.
42103         * modules/fmal (Depends-on): Likewise.
42104         * modules/fmodf (Depends-on): Likewise.
42105         * modules/fmodl (Depends-on): Likewise.
42106         * modules/frexpf (Depends-on): Likewise.
42107         * modules/frexpl (Depends-on): Likewise.
42108         * modules/hypot (Depends-on): Likewise.
42109         * modules/hypotf (Depends-on): Likewise.
42110         * modules/hypotl (Depends-on): Likewise.
42111         * modules/ldexpf (Depends-on): Likewise.
42112         * modules/ldexpl (Depends-on): Likewise.
42113         * modules/log10f (Depends-on): Likewise.
42114         * modules/log10l (Depends-on): Likewise.
42115         * modules/log1p (Depends-on): Likewise.
42116         * modules/logb (Depends-on): Likewise.
42117         * modules/logf (Depends-on): Likewise.
42118         * modules/modff (Depends-on): Likewise.
42119         * modules/modfl (Depends-on): Likewise.
42120         * modules/powf (Depends-on): Likewise.
42121         * modules/remainderf (Depends-on): Likewise.
42122         * modules/remainderl (Depends-on): Likewise.
42123         * modules/rintf (Depends-on): Likewise.
42124         * modules/rintl (Depends-on): Likewise.
42125         * modules/sinf (Depends-on): Likewise.
42126         * modules/sinhf (Depends-on): Likewise.
42127         * modules/sqrtf (Depends-on): Likewise.
42128         * modules/tanf (Depends-on): Likewise.
42129         * modules/tanhf (Depends-on): Likewise.
42130         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
42131         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
42132         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
42133         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
42134         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
42135         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
42136         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
42137         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
42138         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
42139         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
42140         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
42141         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
42142         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
42143         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
42144         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
42145         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
42146         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
42147         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
42148         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
42149         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
42150         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
42151         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
42152         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
42153         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
42154         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
42155         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
42156         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
42157         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
42158         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
42159         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
42160         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
42161         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
42162         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
42163         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
42164         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
42165         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
42166         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
42167         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
42168         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
42169         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
42170         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
42172 2012-03-06  Bruno Haible  <bruno@clisp.org>
42174         math: Update module names in warnings.
42175         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
42176         tanl): Use specific module name in warn-on-use warning.
42178 2012-03-06  Bruno Haible  <bruno@clisp.org>
42180         expl: Simplify computation.
42181         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
42183 2012-03-05  Bruno Haible  <bruno@clisp.org>
42185         exp* tests: More tests.
42186         * tests/test-exp.h: New file.
42187         * tests/test-exp.c: Include <float.h> and test-exp.h.
42188         (main): Invoke test_function.
42189         * tests/test-expf.c: Include <float.h> and test-exp.h.
42190         (main): Invoke test_function.
42191         * tests/test-expl.c: Include <float.h> and test-exp.h.
42192         (main): Invoke test_function.
42193         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
42194         (Makefile.am): Add randomd.c to test_exp_SOURCES.
42195         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
42196         (Makefile.am): Add randomf.c to test_expf_SOURCES.
42197         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
42198         (Depends-on): Add 'float'.
42199         (Makefile.am): Add randoml.c to test_expl_SOURCES.
42201         expl: Fix precision of computed result.
42202         * lib/expl.c: Completely rewritten.
42203         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
42204         (Maintainer): Add me.
42205         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
42207 2012-03-05  Bruno Haible  <bruno@clisp.org>
42209         cbrt* tests: More tests.
42210         * tests/test-cbrt.h: New file.
42211         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
42212         (main): Invoke test_function.
42213         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
42214         (main): Invoke test_function.
42215         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
42216         (main): Invoke test_function.
42217         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
42218         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
42219         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
42220         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
42221         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
42222         (Depends-on): Add 'float'.
42223         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
42225 2012-03-05  Bruno Haible  <bruno@clisp.org>
42227         hypot* tests: More tests.
42228         * tests/test-hypot.h: New file, partially extracted from
42229         tests/test-hypotl.c.
42230         * tests/test-hypot.c: Include test-hypot.h.
42231         (main): Invoke test_function.
42232         * tests/test-hypotf.c: Include test-hypot.h.
42233         (main): Invoke test_function.
42234         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
42235         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
42236         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
42237         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
42238         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
42239         tests/randomf.c.
42240         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
42241         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
42242         tests/randoml.c.
42243         (Depends-on): Add 'fpucw', 'float'.
42244         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
42246 2012-03-05  Bruno Haible  <bruno@clisp.org>
42248         fpucw: Doc about FreeBSD.
42249         * lib/fpucw.h: Mention FreeBSD in comments.
42251 2012-03-04  Bruno Haible  <bruno@clisp.org>
42253         sqrt* tests: More tests.
42254         * tests/test-sqrt.h: New file.
42255         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
42256         (main): Invoke test_function.
42257         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
42258         (main): Invoke test_function.
42259         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
42260         (main): Invoke test_function.
42261         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
42262         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
42263         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
42264         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
42265         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
42266         (Depends-on): Add 'float'.
42267         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
42269 2012-03-04  Bruno Haible  <bruno@clisp.org>
42271         remainder* tests: More tests.
42272         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
42273         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
42274         (main): Invoke test_function.
42275         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
42276         (main): Invoke test_function.
42277         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
42278         (main): Invoke test_function.
42279         * modules/remainder-tests (Files): Add tests/test-remainder.h,
42280         tests/randomd.c.
42281         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
42282         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
42283         tests/randomf.c.
42284         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
42285         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
42286         tests/randoml.c.
42287         (Depends-on): Add 'float'.
42288         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
42290 2012-03-04  Bruno Haible  <bruno@clisp.org>
42292         remainder, remainderf, remainderl: Fix computation for large quotients.
42293         * lib/remainder.c: Completely rewritten.
42294         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
42295         USE_FLOAT.
42296         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
42297         USE_LONG_DOUBLE.
42298         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
42299         isnand, isinf. Remove round, fma.
42300         * modules/remainderf (Files): Add lib/remainder.c.
42301         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
42302         Remove roundf, fmaf.
42303         * modules/remainderl (Files): Add lib/remainder.c.
42304         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
42305         isinf. Remove roundl, fmal.
42306         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
42307         REMAINDER_LIBM.
42308         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
42309         REMAINDERF_LIBM.
42310         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
42311         REMAINDERL_LIBM.
42313 2012-03-04  Bruno Haible  <bruno@clisp.org>
42315         fmod* tests: More tests.
42316         * tests/test-fmod.h (my_ldexp): New function.
42317         (test_function): Reduce amount of random numbers to test. Add tests
42318         of very large quotients x / y.
42319         * tests/test-fmod.c (MAX_EXP): New macro.
42320         * tests/test-fmodf.c (MAX_EXP): Likewise.
42321         * tests/test-fmodl.c (MAX_EXP): Likewise.
42323 2012-03-04  Bruno Haible  <bruno@clisp.org>
42325         fmod, fmodl: Fix computation for large quotients x / y.
42326         * lib/fmod.c: Completely rewritten.
42327         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
42328         USE_LONG_DOUBLE.
42329         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
42330         isnand. Remove fma.
42331         * modules/fmodl (Files): Add lib/fmod.c.
42332         (Depends-on): Add float, isfinite, signbit, fabsl,
42333         frexpl, ldexpl, isnanl. Remove fma.
42334         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
42335         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
42337 2012-03-03  Bruno Haible  <bruno@clisp.org>
42339         fmod* tests: More tests.
42340         * tests/test-fmod.h: New file.
42341         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
42342         (main): Invoke test_function.
42343         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
42344         (main): Invoke test_function.
42345         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
42346         (main): Invoke test_function.
42347         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
42348         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
42349         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
42350         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
42351         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
42352         (Depends-on): Add 'float'.
42353         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
42355 2012-03-03  Bruno Haible  <bruno@clisp.org>
42357         rint* tests: More tests.
42358         * tests/test-rint.h: New file, partially extracted from
42359         tests/test-rintl.c.
42360         * tests/test-rint.c: Include test-rint.h.
42361         (main): Invoke test_function.
42362         * tests/test-rintf.c: Include test-rint.h.
42363         (main): Invoke test_function.
42364         * tests/test-rintl.c: Include test-rint.h.
42365         (main): Invoke test_function.
42366         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
42367         (Makefile.am): Add randomd.c to test_rint_SOURCES.
42368         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
42369         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
42370         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
42371         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
42373 2012-03-03  Bruno Haible  <bruno@clisp.org>
42375         modf* tests: More tests.
42376         * tests/test-modf.h: New file.
42377         * tests/test-modf.c: Include <float.h> and test-modf.h.
42378         (main): Invoke test_function.
42379         * tests/test-modff.c: Include <float.h> and test-modf.h.
42380         (main): Invoke test_function.
42381         * tests/test-modfl.c: Include <float.h> and test-modf.h.
42382         (main): Invoke test_function.
42383         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
42384         (Makefile.am): Add randomd.c to test_modf_SOURCES.
42385         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
42386         (Makefile.am): Add randomf.c to test_modff_SOURCES.
42387         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
42388         (Depends-on): Add 'float'.
42389         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
42391 2012-03-03  Bruno Haible  <bruno@clisp.org>
42393         fabs* tests: More tests.
42394         * tests/test-fabs.h: New file, partially extracted from
42395         tests/test-fabsl.c.
42396         * tests/test-fabs.c (RANDOM): New macro.
42397         * tests/test-fabsf.c (RANDOM): New macro.
42398         * tests/test-fabsl.c (RANDOM): New macro.
42399         * modules/fabs-tests (Files): Add tests/randomd.c.
42400         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
42401         * modules/fabsf-tests (Files): Add tests/randomf.c.
42402         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
42403         * modules/fabsl-tests (Files): Add tests/randoml.c.
42404         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
42406 2012-03-03  Bruno Haible  <bruno@clisp.org>
42408         ldexp* tests: More tests.
42409         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
42410         * tests/test-ldexp.c (RANDOM): New macro.
42411         * tests/test-ldexpf.c (RANDOM): New macro.
42412         * tests/test-ldexpl.c (RANDOM): New macro.
42413         * modules/ldexp-tests (Files): Add tests/randomd.c.
42414         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
42415         * modules/ldexpf-tests (Files): Add tests/randomf.c.
42416         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
42417         * modules/ldexpl-tests (Files): Add tests/randoml.c.
42418         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
42420 2012-03-03  Bruno Haible  <bruno@clisp.org>
42422         frexp* tests: More tests.
42423         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
42424         * tests/test-frexp.c (RANDOM): New macro.
42425         * tests/test-frexpf.c (RANDOM): New macro.
42426         * tests/test-frexpl.c (RANDOM): New macro.
42427         * modules/frexp-tests (Files): Add tests/randomd.c.
42428         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
42429         * modules/frexpf-tests (Files): Add tests/randomf.c.
42430         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
42431         * modules/frexpl-tests (Files): Add tests/randoml.c.
42432         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
42434 2012-03-03  Bruno Haible  <bruno@clisp.org>
42436         Support for pseudo-random numbers in tests.
42437         * tests/randomf.c: New file.
42438         * tests/randomd.c: New file.
42439         * tests/randoml.c: New file.
42440         * tests/macros.h (randomf, randomd, randoml): New declarations.
42442 2012-03-03  Bruno Haible  <bruno@clisp.org>
42444         frexp* tests: Refactor.
42445         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
42446         * tests/test-frexp.c: Include and use it.
42447         * tests/test-frexpf.c: Likewise.
42448         * tests/test-frexpl.c: Likewise.
42449         * modules/frexp-tests (Files): Add tests/test-frexp.h.
42450         * modules/frexpf-tests (Files): Likewise.
42451         * modules/frexpl-tests (Files): Likewise.
42453 2012-03-02  Jim Meyering  <meyering@redhat.com>
42455         maint: don't specify XZ_OPT=-9ev in dist-related rule
42456         Using xz's -9 option is warranted only if you have a very large
42457         tarball (see xz's documentation for the sizes vs. presets), and
42458         requires 64MiB of memory at decompression time.
42459         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
42460         Automake's default of just "-e" is fine.  Override on a
42461         per-package basis by setting XZ_OPT e.g., in cfg.mk.
42463 2012-03-01  Eric Blake  <eblake@redhat.com>
42465         maint.mk: allow announcement for non-gnulib project
42466         * maint.mk (announcement): Skip gnulib version if not used.
42468 2012-03-01  Jim Meyering  <meyering@redhat.com>
42470         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
42471         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
42472         envvar settings cannot interfere.  Otherwise, setting envvars like
42473         prohibit=foo require=bar, etc. would cause spurious test failures.
42475 2012-03-01  Eric Blake  <eblake@redhat.com>
42477         maint.mk: add per-line exclusions to prohibitions
42478         * maint.mk (_sc_search_regexp): Add $exclude parameter.
42479         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
42480         (sc_const_long_option): Use it.
42482 2012-03-01  Bruno Haible  <bruno@clisp.org>
42484         Tests for module 'expl-ieee'.
42485         * modules/expl-ieee-tests: New file.
42486         * tests/test-expl-ieee.c: New file.
42488         New module 'expl-ieee'.
42489         * modules/expl-ieee: New file.
42491         Tests for module 'exp-ieee'.
42492         * modules/exp-ieee-tests: New file.
42493         * tests/test-exp-ieee.c: New file.
42495         New module 'exp-ieee'.
42496         * modules/exp-ieee: New file.
42498         Tests for module 'expf-ieee'.
42499         * modules/expf-ieee-tests: New file.
42500         * tests/test-expf-ieee.c: New file.
42501         * tests/test-exp-ieee.h: New file.
42503         New module 'expf-ieee'.
42504         * modules/expf-ieee: New file.
42506 2012-02-29  Bruno Haible  <bruno@clisp.org>
42508         cbrtl-ieee: Work around test failure on IRIX 6.5.
42509         * m4/cbrtl-ieee.m4: New file.
42510         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
42511         test whether cbrtl works with a minus zero argument. Replace it if not.
42512         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
42513         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
42514         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
42515         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
42516         (Depends-on): Update conditions.
42517         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
42518         m4/signbit.m4.
42519         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
42520         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
42521         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
42523         Tests for module 'cbrtl-ieee'.
42524         * modules/cbrtl-ieee-tests: New file.
42525         * tests/test-cbrtl-ieee.c: New file.
42527         New module 'cbrtl-ieee'.
42528         * modules/cbrtl-ieee: New file.
42530         Tests for module 'cbrt-ieee'.
42531         * modules/cbrt-ieee-tests: New file.
42532         * tests/test-cbrt-ieee.c: New file.
42534         New module 'cbrt-ieee'.
42535         * modules/cbrt-ieee: New file.
42537         Tests for module 'cbrtf-ieee'.
42538         * modules/cbrtf-ieee-tests: New file.
42539         * tests/test-cbrtf-ieee.c: New file.
42540         * tests/test-cbrt-ieee.h: New file.
42542         New module 'cbrtf-ieee'.
42543         * modules/cbrtf-ieee: New file.
42545 2012-02-29  Bruno Haible  <bruno@clisp.org>
42547         cbrtf: Work around bug in IRIX 6.5 system function.
42548         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
42549         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
42550         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
42551         work.
42552         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
42553         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
42554         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
42555         (Depends-on): Update conditions.
42556         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
42558 2012-02-29  Bruno Haible  <bruno@clisp.org>
42560         Tests for module 'cbrtl'.
42561         * modules/cbrtl-tests: New file.
42562         * tests/test-cbrtl.c: New file.
42564         New module 'cbrtl'.
42565         * lib/math.in.h (cbrtl): New declaration.
42566         * lib/cbrtl.c: New file.
42567         * m4/cbrtl.m4: New file.
42568         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
42569         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
42570         HAVE_DECL_CBRTL.
42571         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
42572         HAVE_DECL_CBRTL.
42573         * modules/cbrtl: New file.
42574         * tests/test-math-c++.cc: Check the declaration of cbrtl.
42575         * doc/posix-functions/cbrtl.texi: Mention the new module.
42577 2012-02-29  Bruno Haible  <bruno@clisp.org>
42579         Tests for module 'cbrtf'.
42580         * modules/cbrtf-tests: New file.
42581         * tests/test-cbrtf.c: New file.
42583         New module 'cbrtf'.
42584         * lib/math.in.h (cbrtf): New declaration.
42585         * lib/cbrtf.c: New file.
42586         * m4/cbrtf.m4: New file.
42587         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
42588         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
42589         HAVE_DECL_CBRTF.
42590         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
42591         HAVE_DECL_CBRTF.
42592         * modules/cbrtf: New file.
42593         * tests/test-math-c++.cc: Check the declaration of cbrtf.
42594         * doc/posix-functions/cbrtf.texi: Mention the new module.
42596 2012-02-29  Bruno Haible  <bruno@clisp.org>
42598         cbrt: Provide replacement on MSVC and Minix.
42599         * lib/math.in.h (cbrt): New declaration.
42600         * lib/cbrt.c: New file.
42601         * m4/cbrt.m4: New file.
42602         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
42603         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
42604         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
42605         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
42606         (Depends-on): Add dependencies.
42607         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
42608         * tests/test-math-c++.cc: Check the declaration of cbrt.
42609         * doc/posix-functions/cbrt.texi: Mention that the module provides a
42610         replacement.
42612 2012-02-29  Bruno Haible  <bruno@clisp.org>
42614         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
42615         * m4/hypotl-ieee.m4: New file.
42616         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
42617         test whether hypotl works with mixed NaN and Infinity arguments.
42618         Replace it if not.
42619         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
42620         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
42621         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
42622         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
42623         (Depends-on): Update conditions.
42624         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
42625         (Depends-on): Add hypot-ieee.
42626         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
42627         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
42629         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
42630         * m4/hypotf-ieee.m4: New file.
42631         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
42632         test whether hypotf works with mixed NaN and Infinity arguments.
42633         Replace it if not.
42634         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
42635         (Depends-on): Add hypot-ieee.
42636         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
42637         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
42639         hypot-ieee: Work around test failure on OSF/1 and native Windows.
42640         * lib/math.in.h (hypot): New declaration.
42641         * lib/hypot.c: New file.
42642         * m4/hypot-ieee.m4: New file.
42643         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
42644         whether hypot works with mixed NaN and Infinity arguments. Replace it
42645         if not.
42646         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
42647         REPLACE_HYPOT.
42648         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
42649         * modules/hypot (Files): Add lib/hypot.c.
42650         (Depends-on): Add dependencies.
42651         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
42652         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
42653         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
42654         * tests/test-math-c++.cc: Check the declaration of hypot.
42655         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
42657         Tests for module 'hypotl-ieee'.
42658         * modules/hypotl-ieee-tests: New file.
42659         * tests/test-hypotl-ieee.c: New file.
42661         New module 'hypotl-ieee'.
42662         * modules/hypotl-ieee: New file.
42664         Tests for module 'hypot-ieee'.
42665         * modules/hypot-ieee-tests: New file.
42666         * tests/test-hypot-ieee.c: New file.
42668         New module 'hypot-ieee'.
42669         * modules/hypot-ieee: New file.
42671         Tests for module 'hypotf-ieee'.
42672         * modules/hypotf-ieee-tests: New file.
42673         * tests/test-hypotf-ieee.c: New file.
42674         * tests/test-hypot-ieee.h: New file.
42676         New module 'hypotf-ieee'.
42677         * modules/hypotf-ieee: New file.
42679 2012-02-29  Bruno Haible  <bruno@clisp.org>
42681         Remove unused variables.
42682         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
42683         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
42684         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
42685         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
42687 2012-02-29  Eric Blake  <eblake@redhat.com>
42689         termios: fix pid_t always, not just for tcgetsid
42690         * doc/posix-headers/termios.texi (termios.h): Mention problem.
42691         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
42692         just when building tcgetsid.
42694 2012-02-29  Bruno Haible  <bruno@clisp.org>
42696         Tests for module 'hypotl'.
42697         * modules/hypotl-tests: New file.
42698         * tests/test-hypotl.c: New file.
42700         New module 'hypotl'.
42701         * lib/math.in.h (hypotl): New declaration.
42702         * lib/hypotl.c: New file.
42703         * m4/hypotl.m4: New file.
42704         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
42705         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
42706         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
42707         * modules/hypotl: New file.
42708         * tests/test-math-c++.cc: Check the hypotl declaration.
42709         * doc/posix-functions/hypotl.texi: Mention the new module.
42711 2012-02-29  Eric Blake  <eblake@redhat.com>
42713         tcgetsid: fix cygwin header bug
42714         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
42716         docs: update cygwin progress
42717         * doc/posix-functions/llround.texi (llround): Added in cygwin
42718         1.7.8.
42719         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
42720         * doc/glibc-functions/program_invocation_name.texi
42721         (program_invocation_name): Likewise.
42722         * doc/glibc-functions/program_invocation_short_name.texi
42723         (program_invocation_short_name): Likewise.
42724         * doc/glibc-functions/madvise.texi (madvise): Likewise.
42725         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
42726         Likewise.
42727         * doc/posix-functions/pthread_spin_destroy.texi
42728         (pthread_spin_destroy): Added in cygwin 1.7.10.
42729         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
42730         Likewise.
42731         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
42732         Likewise.
42733         * doc/posix-functions/pthread_spin_trylock.texi
42734         (pthread_spin_trylock): Likewise.
42735         * doc/posix-functions/pthread_spin_unlock.texi
42736         (pthread_spin_unlock): Likewise.
42737         * doc/posix-functions/pthread_setschedprio.texi
42738         (pthread_setschedprio): Likewise.
42739         * doc/posix-functions/pthread_attr_getstack.texi
42740         (pthread_attr_getstack): Likewise.
42741         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
42742         (pthread_attr_getstackaddr): Likewise.
42743         * doc/glibc-functions/pthread_getattr_np.texi
42744         (pthread_getattr_np): Likewise.
42745         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
42746         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
42747         * doc/posix-functions/clock_settime.texi (clock_settime):
42748         Likewise.
42749         * doc/posix-functions/pthread_attr_getguardsize.texi
42750         (pthread_attr_getguardsize): Likewise.
42751         * doc/posix-functions/pthread_attr_setguardsize.texi
42752         (pthread_attr_setguardsize): Likewise.
42753         * doc/posix-functions/pthread_attr_setstack.texi
42754         (pthread_attr_setstack): Likewise.
42755         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
42756         (pthread_attr_setstackaddr): Likewise.
42757         * doc/posix-functions/clock_getcpuclockid.texi
42758         (clock_getcpuclockid): Likewise.
42759         * doc/posix-functions/pthread_getcpuclockid.texi
42760         (pthread_getcpuclockid): Likewise.
42761         * doc/glibc-functions/error.texi (error): Likewise.
42762         * doc/glibc-functions/error_at_line.texi (error_at_line):
42763         Likewise.
42764         * doc/glibc-functions/error_message_count.texi
42765         (error_message_count): Likewise.
42766         * doc/glibc-functions/error_one_per_line.texi
42767         (error_one_per_line): Likewise.
42768         * doc/glibc-functions/error_print_progname.texi
42769         (error_print_progname): Likewise.
42770         * doc/posix-functions/pthread_condattr_getclock.texi
42771         (pthread_condattr_getclock): Likewise.
42772         * doc/posix-functions/pthread_condattr_setclock.texi
42773         (pthread_condattr_setclock): Likewise.
42774         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
42775         Likewise.
42776         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
42777         * doc/glibc-functions/getpt.texi (getpt): Likewise.
42778         * doc/glibc-functions/get_current_dir_name.texi
42779         (get_current_dir_name): Likewise.
42780         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
42781         Likewise.
42782         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
42783         wrong return type.
42784         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
42785         1.7.11.
42787 2012-02-29  Bruno Haible  <bruno@clisp.org>
42789         Tests for module 'hypotf'.
42790         * modules/hypotf-tests: New file.
42791         * tests/test-hypotf.c: New file.
42793         New module 'hypotf'.
42794         * lib/math.in.h (hypotf): New declaration.
42795         * lib/hypotf.c: New file.
42796         * m4/hypotf.m4: New file.
42797         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
42798         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
42799         REPLACE_HYPOTF.
42800         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
42801         REPLACE_HYPOTF.
42802         * modules/hypotf: New file.
42803         * tests/test-math-c++.cc: Check the hypotf declaration.
42804         * doc/posix-functions/hypotf.texi: Mention the new module.
42806         hypot: Prepare for hypotf module.
42807         * m4/hypot.m4: New file.
42808         * modules/hypot (Files): Add m4/hypot.m4.
42809         (configure.ac): Invoke gl_FUNC_HYPOT.
42811 2012-02-29  Bruno Haible  <bruno@clisp.org>
42813         hypot tests: More tests.
42814         * tests/test-hypot.c: Include <float.h>.
42815         (main): Add tests about overflow and underflow.
42817 2012-02-29  Bruno Haible  <bruno@clisp.org>
42819         math code: Add comments.
42820         * lib/acosl.c: Add comment about related glibc source files.
42821         * lib/asinl.c: Likewise.
42822         * lib/atanl.c: Likewise.
42823         * lib/expl.c: Likewise.
42824         * lib/logl.c: Likewise.
42825         * lib/sincosl.c: Likewise.
42826         * lib/sinl.c: Likewise.
42827         * lib/tanl.c: Likewise.
42828         * lib/trigl.c: Likewise.
42829         * lib/cosl.c: Likewise. Fix comments.
42831 2012-02-28  Bruno Haible  <bruno@clisp.org>
42833         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
42834         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
42835         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
42836         HUGE_VALL are defined.
42837         (numeric_equald): Renamed from numeric_equal.
42838         (numeric_equalf, numeric_equall): New functions.
42839         (main): Check also HUGE_VALF, HUGE_VALL.
42840         * modules/math-tests (Files): Add tests/macros.h.
42841         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
42842         HUGE_VALL.
42844 2012-02-28  Bruno Haible  <bruno@clisp.org>
42846         doc: Move ISO C11 feature notes into POSIX chapters.
42847         * doc/posix-functions/aligned_alloc.texi: Renamed from
42848         doc/glibc-functions/aligned_alloc.texi.
42849         * doc/posix-functions/quick_exit.texi: Renamed from
42850         doc/glibc-functions/quick_exit.texi.
42851         * doc/posix-headers/uchar.texi: Renamed from
42852         doc/glibc-headers/uchar.texi.
42853         * doc/posix-functions/c16rtomb.texi: Renamed from
42854         doc/glibc-functions/c16rtomb.texi.
42855         * doc/posix-functions/c32rtomb.texi: Renamed from
42856         doc/glibc-functions/c32rtomb.texi.
42857         * doc/posix-functions/mbrtoc16.texi: Renamed from
42858         doc/glibc-functions/mbrtoc16.texi.
42859         * doc/posix-functions/mbrtoc32.texi: Renamed from
42860         doc/glibc-functions/mbrtoc32.texi.
42861         * doc/gnulib.texi: Update.
42862         (Glibc uchar.h): Remove section.
42863         Suggested by Eric Blake.
42865 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
42867         stdnoreturn: port to MSVC better
42868         MSVC standard headers use __declspec(noreturn), so #define noreturn
42869         to empty on that platform.  Reported by Bruno Haible in
42870         <http://lists.gnu.org/r/bug-gnulib/2012-02/msg00152.html>.
42871         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
42872         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
42874 2012-02-28  Bruno Haible  <bruno@clisp.org>
42876         doc: Mention new glibc headers and functions.
42877         * doc/glibc-headers/uchar.texi: New file.
42878         * doc/glibc-functions/aligned_alloc.texi: New file.
42879         * doc/glibc-functions/c16rtomb.texi: New file.
42880         * doc/glibc-functions/c32rtomb.texi: New file.
42881         * doc/glibc-functions/clock_adjtime.texi: New file.
42882         * doc/glibc-functions/fanotify_init.texi: New file.
42883         * doc/glibc-functions/fanotify_mark.texi: New file.
42884         * doc/glibc-functions/inet6_opt_append.texi: New file.
42885         * doc/glibc-functions/inet6_opt_find.texi: New file.
42886         * doc/glibc-functions/inet6_opt_finish.texi: New file.
42887         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
42888         * doc/glibc-functions/inet6_opt_init.texi: New file.
42889         * doc/glibc-functions/inet6_opt_next.texi: New file.
42890         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
42891         * doc/glibc-functions/inet6_rth_add.texi: New file.
42892         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
42893         * doc/glibc-functions/inet6_rth_init.texi: New file.
42894         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
42895         * doc/glibc-functions/inet6_rth_segments.texi: New file.
42896         * doc/glibc-functions/inet6_rth_space.texi: New file.
42897         * doc/glibc-functions/login.texi: New file.
42898         * doc/glibc-functions/mbrtoc16.texi: New file.
42899         * doc/glibc-functions/mbrtoc32.texi: New file.
42900         * doc/glibc-functions/name_to_handle_at.texi: New file.
42901         * doc/glibc-functions/ntp_gettimex.texi: New file.
42902         * doc/glibc-functions/open_by_handle_at.texi: New file.
42903         * doc/glibc-functions/prlimit.texi: New file.
42904         * doc/glibc-functions/process_vm_readv.texi: New file.
42905         * doc/glibc-functions/process_vm_writev.texi: New file.
42906         * doc/glibc-functions/recvmmsg.texi: New file.
42907         * doc/glibc-functions/scandirat.texi: New file.
42908         * doc/glibc-functions/sendmmsg.texi: New file.
42909         * doc/glibc-functions/setns.texi: New file.
42910         * doc/glibc-functions/timespec_get.texi: New file.
42911         * doc/gnulib.texi: Include them.
42912         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
42913         sections.
42914         Reported by Eric Blake.
42916 2012-02-28  Bruno Haible  <bruno@clisp.org>
42918         Avoid compilation errors with MSVC option -fp:strict.
42919         * lib/floor.c: Use MSVC specific pragma fenv_access.
42920         * lib/ceil.c: Likewise.
42921         * lib/trunc.c: Likewise.
42922         * lib/round.c: Likewise.
42923         * lib/rint.c: Likewise.
42924         * lib/fma.c: Likewise.
42925         * lib/integer_length.c: Likewise.
42926         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
42927         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
42928         * tests/test-floor2.c: Likewise.
42929         * tests/test-floorf2.c: Likewise.
42930         * tests/test-ceil2.c: Likewise.
42931         * tests/test-ceilf2.c: Likewise.
42932         * tests/test-trunc2.c: Likewise.
42933         * tests/test-truncf2.c: Likewise.
42934         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
42936 2012-02-27  Bruno Haible  <bruno@clisp.org>
42938         Tests for module 'sqrtl-ieee'.
42939         * modules/sqrtl-ieee-tests: New file.
42940         * tests/test-sqrtl-ieee.c: New file.
42942         New module 'sqrtl-ieee'.
42943         * modules/sqrtl-ieee: New file.
42945         Tests for module 'sqrt-ieee'.
42946         * modules/sqrt-ieee-tests: New file.
42947         * tests/test-sqrt-ieee.c: New file.
42949         New module 'sqrt-ieee'.
42950         * modules/sqrt-ieee: New file.
42952         Tests for module 'sqrtf-ieee'.
42953         * modules/sqrtf-ieee-tests: New file.
42954         * tests/test-sqrtf-ieee.c: New file.
42955         * tests/test-sqrt-ieee.h: New file.
42957         New module 'sqrtf-ieee'.
42958         * modules/sqrtf-ieee: New file.
42960 2012-02-27  Bruno Haible  <bruno@clisp.org>
42962         remainderl-ieee: Work around test failure on OSF/1.
42963         * m4/remainderl-ieee.m4: New file.
42964         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
42965         present, test whether remainderl works with a zero second argument.
42966         Replace it if not.
42967         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
42968         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
42969         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
42970         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
42971         (Depends-on): Update conditions.
42972         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
42973         (Depends-on): Add remainder-ieee.
42974         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
42975         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
42976         module.
42978         remainderf-ieee: Work around test failure on OSF/1.
42979         * m4/remainderf-ieee.m4: New file.
42980         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
42981         present, test whether remainderf works with a zero second argument.
42982         Replace it if not.
42983         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
42984         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
42985         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
42986         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
42987         (Depends-on): Update conditions.
42988         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
42989         (Depends-on): Add remainder-ieee.
42990         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
42991         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
42992         module.
42994         remainder-ieee: Work around test failure on OSF/1.
42995         * m4/remainder-ieee.m4: New file.
42996         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
42997         present, test whether remainder works with a zero second argument.
42998         Replace it if not.
42999         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
43000         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
43001         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
43002         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
43003         (Depends-on): Update dependencies.
43004         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
43005         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
43006         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
43008         Tests for module 'remainderl-ieee'.
43009         * modules/remainderl-ieee-tests: New file.
43010         * tests/test-remainderl-ieee.c: New file.
43012         New module 'remainderl-ieee'.
43013         * modules/remainderl-ieee: New file.
43015         Tests for module 'remainder-ieee'.
43016         * modules/remainder-ieee-tests: New file.
43017         * tests/test-remainder-ieee.c: New file.
43019         New module 'remainder-ieee'.
43020         * modules/remainder-ieee: New file.
43022         Tests for module 'remainderf-ieee'.
43023         * modules/remainderf-ieee-tests: New file.
43024         * tests/test-remainderf-ieee.c: New file.
43025         * tests/test-remainder-ieee.h: New file.
43027         New module 'remainderf-ieee'.
43028         * modules/remainderf-ieee: New file.
43030 2012-02-27  Bruno Haible  <bruno@clisp.org>
43032         modff, modfl: Fix configure syntax error.
43033         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
43034         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
43036 2012-02-27  Bruno Haible  <bruno@clisp.org>
43038         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
43039         * m4/fmodl-ieee.m4: New file.
43040         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
43041         whether fmodl works with zero arguments. Replace it if not.
43042         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
43043         (Depends-on): Add fmod-ieee.
43044         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
43045         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
43047         fmodf-ieee: Work around test failure on OSF/1.
43048         * m4/fmodf-ieee.m4: New file.
43049         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
43050         whether fmodf works with zero arguments. Replace it if not.
43051         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
43052         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
43053         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
43054         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
43055         (Depends-on): Update dependencies.
43056         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
43057         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
43058         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
43060         fmodf-ieee: Work around test failure on MSVC 9.
43061         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
43062         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
43064         fmod-ieee: Work around test failures on OSF/1, mingw.
43065         * m4/fmod-ieee.m4: New file.
43066         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
43067         whether fmod works with zero arguments. Replace it if not.
43068         * lib/math.in.h (fmod): New declaration.
43069         * lib/fmod.c: New file.
43070         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
43071         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
43072         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
43073         * modules/fmod (Files): Add lib/fmod.c.
43074         (Depends-on): Add math, isinf, trunc, fma.
43075         (configure.ac): Arrange to compile lib/fmod.c if needed.
43076         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
43077         m4/signbit.m4.
43078         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
43079         * tests/test-math-c++.cc: Check the declaration of fmod.
43080         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
43082         fmodl-ieee: Fix test failures.
43083         * lib/fmodl.c (fmodl): Treat Inf specially.
43084         * modules/fmodl (Depends-on): Add isinf.
43086         Tests for module 'fmodl-ieee'.
43087         * modules/fmodl-ieee-tests: New file.
43088         * tests/test-fmodl-ieee.c: New file.
43090         New module 'fmodl-ieee'.
43091         * modules/fmodl-ieee: New file.
43093         Tests for module 'fmod-ieee'.
43094         * modules/fmod-ieee-tests: New file.
43095         * tests/test-fmod-ieee.c: New file.
43097         New module 'fmod-ieee'.
43098         * modules/fmod-ieee: New file.
43100         Tests for module 'fmodf-ieee'.
43101         * modules/fmodf-ieee-tests: New file.
43102         * tests/test-fmodf-ieee.c: New file.
43103         * tests/test-fmod-ieee.h: New file.
43105         New module 'fmodf-ieee'.
43106         * modules/fmodf-ieee: New file.
43108 2012-02-27  Bruno Haible  <bruno@clisp.org>
43110         Tests for module 'rintl-ieee'.
43111         * modules/rintl-ieee-tests: New file.
43112         * tests/test-rintl-ieee.c: New file.
43114         New module 'rintl-ieee'.
43115         * modules/rintl-ieee: New file.
43117         Tests for module 'rint-ieee'.
43118         * modules/rint-ieee-tests: New file.
43119         * tests/test-rint-ieee.c: New file.
43121         New module 'rint-ieee'.
43122         * modules/rint-ieee: New file.
43124         Tests for module 'rintf-ieee'.
43125         * modules/rintf-ieee-tests: New file.
43126         * tests/test-rintf-ieee.c: New file.
43127         * tests/test-rint-ieee.h: New file.
43129         New module 'rintf-ieee'.
43130         * modules/rintf-ieee: New file.
43132 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
43134         regex: re_search etc. should return -2 when memory exhausted
43135         This bug was uncovered when testing 'grep'.  Without the fix,
43136         re_search and friends return -1 when memory is exhausted, but -1
43137         means no match, and this causes grep to falsely report no-match
43138         instead of memory-exhaustion.  See
43139         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
43140         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
43141         trouble; this can occur if re_search_internal ran out of memory.
43143 2012-02-26  Bruno Haible  <bruno@clisp.org>
43145         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
43146         * m4/modfl-ieee.m4: New file.
43147         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
43148         whether modfl works with Inf. Replace it if not.
43149         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
43150         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
43151         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
43152         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
43153         (Depends-on): Update dependencies.
43154         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
43155         m4/signbit.m4.
43156         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
43157         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
43159         modfl-ieee: Fix dependencies.
43160         * modules/modfl-ieee (Depends-on): Add modf-ieee.
43162         modfl-ieee: Fix test failures.
43163         * lib/modfl.c (modfl): Treat NaN and Inf specially.
43164         * modules/modfl (Depends-on): Add isfinite, isinf.
43166         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
43167         * m4/modff-ieee.m4: New file.
43168         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
43169         whether modff works with NaN and Inf. Replace it if not.
43170         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
43171         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
43172         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
43173         * modules/modff (configure.ac): Consider REPLACE_MODFF.
43174         (Depends-on): Update dependencies.
43175         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
43176         m4/signbit.m4.
43177         (Depends-on): Add modf-ieee.
43178         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
43179         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
43181         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
43182         * m4/modf-ieee.m4: New file.
43183         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
43184         whether modf works with NaN and Inf. Replace it if not.
43185         * lib/math.in.h (modf): New declaration.
43186         * lib/modf.c: New file.
43187         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
43188         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
43189         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
43190         * modules/modf (Files): Add lib/modf.c.
43191         (Depends-on): Add math, isfinite, trunc, isinf.
43192         (configure.ac): Addrange to compile lib/modf.c if needed.
43193         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
43194         m4/signbit.m4.
43195         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
43196         * tests/test-math-c++.cc: Check the declaration of modf.
43197         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
43199         Tests for module 'modfl-ieee'.
43200         * modules/modfl-ieee-tests: New file.
43201         * tests/test-modfl-ieee.c: New file.
43203         New module 'modfl-ieee'.
43204         * modules/modfl-ieee: New file.
43206         Tests for module 'modf-ieee'.
43207         * modules/modf-ieee-tests: New file.
43208         * tests/test-modf-ieee.c: New file.
43210         New module 'modf-ieee'.
43211         * modules/modf-ieee: New file.
43213         Tests for module 'modff-ieee'.
43214         * modules/modff-ieee-tests: New file.
43215         * tests/test-modff-ieee.c: New file.
43216         * tests/test-modf-ieee.h: New file.
43218         New module 'modff-ieee'.
43219         * modules/modff-ieee: New file.
43221 2012-02-26  Bruno Haible  <bruno@clisp.org>
43223         Tests for module 'fabsl-ieee'.
43224         * modules/fabsl-ieee-tests: New file.
43225         * tests/test-fabsl-ieee.c: New file.
43227         New module 'fabsl-ieee'.
43228         * modules/fabsl-ieee: New file.
43230         Tests for module 'fabs-ieee'.
43231         * modules/fabs-ieee-tests: New file.
43232         * tests/test-fabs-ieee.c: New file.
43234         New module 'fabs-ieee'.
43235         * modules/fabs-ieee: New file.
43237         Tests for module 'fabsf-ieee'.
43238         * modules/fabsf-ieee-tests: New file.
43239         * tests/test-fabsf-ieee.c: New file.
43240         * tests/test-fabs-ieee.h: New file.
43242         New module 'fabsf-ieee'.
43243         * modules/fabsf-ieee: New file.
43245 2012-02-26  Bruno Haible  <bruno@clisp.org>
43247         Tests for module 'fmal-ieee'.
43248         * modules/fmal-ieee-tests: New file.
43249         * tests/test-fmal-ieee.c: New file.
43251         New module 'fmal-ieee'.
43252         * modules/fmal-ieee: New file.
43254         Tests for module 'fma-ieee'.
43255         * modules/fma-ieee-tests: New file.
43256         * tests/test-fma-ieee.c: New file.
43258         New module 'fma-ieee'.
43259         * modules/fma-ieee: New file.
43261         Tests for module 'fmaf-ieee'.
43262         * modules/fmaf-ieee-tests: New file.
43263         * tests/test-fmaf-ieee.c: New file.
43264         * tests/test-fma-ieee.h: New file.
43266         New module 'fmaf-ieee'.
43267         * modules/fmaf-ieee: New file.
43269 2012-02-26  Bruno Haible  <bruno@clisp.org>
43271         Tests for module 'ldexpl-ieee'.
43272         * modules/ldexpl-ieee-tests: New file.
43273         * tests/test-ldexpl-ieee.c: New file.
43275         New module 'ldexpl-ieee'.
43276         * modules/ldexpl-ieee: New file.
43278         Tests for module 'ldexp-ieee'.
43279         * modules/ldexp-ieee-tests: New file.
43280         * tests/test-ldexp-ieee.c: New file.
43282         New module 'ldexp-ieee'.
43283         * modules/ldexp-ieee: New file.
43285         Tests for module 'ldexpf-ieee'.
43286         * modules/ldexpf-ieee-tests: New file.
43287         * tests/test-ldexpf-ieee.c: New file.
43288         * tests/test-ldexp-ieee.h: New file.
43290         New module 'ldexpf-ieee'.
43291         * modules/ldexpf-ieee: New file.
43293 2012-02-26  Bruno Haible  <bruno@clisp.org>
43295         Refactor frexp*-ieee tests.
43296         * tests/test-frexp-ieee.h: New file.
43297         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
43298         (main): Just call test_function.
43299         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
43300         (main): Just call test_function.
43301         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
43302         (main): Just call test_function.
43303         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
43304         * modules/frexp-ieee-tests (Files): Likewise.
43305         * modules/frexpl-ieee-tests (Files): Likewise.
43307         Tests for module 'frexpl-ieee'.
43308         * modules/frexpl-ieee-tests: New file.
43309         * tests/test-frexpl-ieee.c: New file.
43311         New module 'frexpl-ieee'.
43312         * modules/frexpl-ieee: New file.
43314         Tests for module 'frexp-ieee'.
43315         * modules/frexp-ieee-tests: New file.
43316         * tests/test-frexp-ieee.c: New file.
43318         New module 'frexp-ieee'.
43319         * modules/frexp-ieee: New file.
43321         Tests for module 'frexpf-ieee'.
43322         * modules/frexpf-ieee-tests: New file.
43323         * tests/test-frexpf-ieee.c: New file.
43325         New module 'frexpf-ieee'.
43326         * modules/frexpf-ieee: New file.
43328 2012-02-26  Bruno Haible  <bruno@clisp.org>
43330         roundl-ieee tests: More tests.
43331         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
43332         (main): Add tests for [MX] shaded specification in POSIX.
43333         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43334         (Depends-on): Add isnanl-nolibm.
43336         round-ieee tests: More tests.
43337         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
43338         (main): Add tests for [MX] shaded specification in POSIX.
43339         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43340         (Depends-on): Add isnand-nolibm.
43342         roundf-ieee tests: More tests.
43343         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
43344         (main): Add tests for [MX] shaded specification in POSIX.
43345         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43346         (Depends-on): Add isnanf-nolibm.
43348         truncl-ieee tests: More tests.
43349         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
43350         (main): Add tests for [MX] shaded specification in POSIX.
43351         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43352         (Depends-on): Add isnanl-nolibm.
43354         trunc-ieee tests: More tests.
43355         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
43356         (main): Add tests for [MX] shaded specification in POSIX.
43357         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43358         (Depends-on): Add isnand-nolibm.
43360         truncf-ieee tests: More tests.
43361         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
43362         (main): Add tests for [MX] shaded specification in POSIX.
43363         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43364         (Depends-on): Add isnanf-nolibm.
43366         ceill-ieee tests: More tests.
43367         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
43368         (main): Add tests for [MX] shaded specification in POSIX.
43369         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43370         (Depends-on): Add isnanl-nolibm.
43372         ceil-ieee tests: More tests.
43373         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
43374         (main): Add tests for [MX] shaded specification in POSIX.
43375         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43376         (Depends-on): Add isnand-nolibm.
43378         ceilf-ieee tests: More tests.
43379         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
43380         (main): Add tests for [MX] shaded specification in POSIX.
43381         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43382         (Depends-on): Add isnanf-nolibm.
43384         floorl-ieee tests: More tests.
43385         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
43386         (main): Add tests for [MX] shaded specification in POSIX.
43387         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43388         (Depends-on): Add isnanl-nolibm.
43390         floor-ieee tests: More tests.
43391         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
43392         (main): Add tests for [MX] shaded specification in POSIX.
43393         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43394         (Depends-on): Add isnand-nolibm.
43396         floorf-ieee tests: More tests.
43397         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
43398         (main): Add tests for [MX] shaded specification in POSIX.
43399         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43400         (Depends-on): Add isnanf-nolibm.
43402 2012-02-26  Bruno Haible  <bruno@clisp.org>
43404         fpieee: More comments.
43405         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
43407 2012-02-25  Bruno Haible  <bruno@clisp.org>
43409         Tests for module 'log10l'.
43410         * modules/log10l-tests: New file.
43411         * tests/test-log10l.c: New file.
43412         * tests/test-math-c++.cc: Check the declaration of log10l.
43414         New module 'log10l'.
43415         * lib/math.in.h (log10l): New declaration.
43416         * lib/log10l.c: New file.
43417         * m4/log10l.m4: New file.
43418         * modules/log10l: New file.
43419         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
43420         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
43421         HAVE_DECL_LOG10L.
43422         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
43423         HAVE_DECL_LOG10L.
43424         * doc/posix-functions/log10l.texi: Mention the new module.
43426 2012-02-25  Bruno Haible  <bruno@clisp.org>
43428         fmodl, remainder*: Avoid wrong results due to rounding errors.
43429         * lib/fmodl.c (fmodl): Correct the result if it is not within the
43430         expected bounds.
43431         * lib/remainderf.c (remainderf): Likewise.
43432         * lib/remainder.c (remainder): Likewise.
43433         * lib/remainderl.c (remainderl): Likewise.
43435 2012-02-25  Bruno Haible  <bruno@clisp.org>
43437         Tests for module 'remainderl'.
43438         * modules/remainderl-tests: New file.
43439         * tests/test-remainderl.c: New file.
43440         * tests/test-math-c++.cc: Check the declaration of remainderl.
43442         New module 'remainderl'.
43443         * lib/math.in.h (remainderl): New declaration.
43444         * lib/remainderl.c: New file.
43445         * m4/remainderl.m4: New file.
43446         * modules/remainderl: New file.
43447         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
43448         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
43449         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
43450         HAVE_REMAINDERL.
43451         * doc/posix-functions/remainderl.texi: Mention the new module.
43453 2012-02-25  Bruno Haible  <bruno@clisp.org>
43455         Tests for module 'remainderf'.
43456         * modules/remainderf-tests: New file.
43457         * tests/test-remainderf.c: New file.
43458         * tests/test-math-c++.cc: Check the declaration of remainderf.
43460         New module 'remainderf'.
43461         * lib/math.in.h (remainderf): New declaration.
43462         * lib/remainderf.c: New file.
43463         * m4/remainderf.m4: New file.
43464         * modules/remainderf: New file.
43465         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
43466         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
43467         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
43468         HAVE_REMAINDERF.
43469         * doc/posix-functions/remainderf.texi: Mention the new module.
43471 2012-02-25  Bruno Haible  <bruno@clisp.org>
43473         remainder: Support for MSVC.
43474         * lib/math.in.h (remainder): New declaration.
43475         * lib/remainder.c: New file.
43476         * m4/remainder.m4: New file.
43477         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
43478         (Depends-on): Add math, round, fma.
43479         (configure.ac): Use results of gl_FUNC_REMAINDER.
43480         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
43481         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
43482         HAVE_DECL_REMAINDER.
43483         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
43484         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
43485         * tests/test-math-c++.cc: Check the declaration of remainder.
43486         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
43487         problems are fixed.
43489 2012-02-25  Bruno Haible  <bruno@clisp.org>
43491         Tests for module 'fmodl'.
43492         * modules/fmodl-tests: New file.
43493         * tests/test-fmodl.c: New file.
43494         * tests/test-math-c++.cc: Check the declaration of fmodl.
43496         New module 'fmodl'.
43497         * lib/math.in.h (fmodl): New declaration.
43498         * lib/fmodl.c: New file.
43499         * m4/fmodl.m4: New file.
43500         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
43501         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
43502         REPLACE_FMODL.
43503         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
43504         REPLACE_FMODL.
43505         * modules/fmodl: New file.
43506         * doc/posix-functions/fmodl.texi: Mention the new module.
43508 2012-02-25  Bruno Haible  <bruno@clisp.org>
43510         Tests for module 'modfl'.
43511         * modules/modfl-tests: New file.
43512         * tests/test-modfl.c: New file.
43513         * tests/test-math-c++.cc: Check the declaration of modfl.
43515         New module 'modfl'.
43516         * lib/math.in.h (modfl): New declaration.
43517         * lib/modfl.c: New file.
43518         * m4/modfl.m4: New file.
43519         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
43520         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
43521         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
43522         * modules/modfl: New file.
43523         * doc/posix-functions/modfl.texi: Mention the new module.
43525 2012-02-25  Bruno Haible  <bruno@clisp.org>
43527         Tests for module 'fabsl'.
43528         * modules/fabsl-tests: New file.
43529         * tests/test-fabsl.c: New file.
43530         * tests/test-math-c++.cc: Check the declaration of fabsl.
43532         New module 'fabsl'.
43533         * lib/math.in.h (fabsl): New declaration.
43534         * lib/fabsl.c: New file.
43535         * m4/fabsl.m4: New file.
43536         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
43537         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
43538         REPLACE_FABSL.
43539         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
43540         REPLACE_FABSL.
43541         * modules/fabsl: New file.
43542         * doc/posix-functions/fabsl.texi: Mention the new module.
43544 2012-02-25  Bruno Haible  <bruno@clisp.org>
43546         fabs tests: More tests.
43547         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
43548         (zero): New variable.
43549         (main): Add tests for signed zero.
43550         * modules/fabs-tests (Files): Add tests/minus-zero.h.
43552         fabsf tests: More tests.
43553         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
43554         (zero): New variable.
43555         (main): Add tests for signed zero.
43556         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
43558 2012-02-24  Bruno Haible  <bruno@clisp.org>
43560         atanl: Provide function definition on MSVC.
43561         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
43562         function pointer.
43563         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
43565 2012-02-24  Bruno Haible  <bruno@clisp.org>
43567         acosl: Provide function definition on MSVC.
43568         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
43569         function pointer.
43570         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
43572 2012-02-24  Bruno Haible  <bruno@clisp.org>
43574         asinl: Provide function definition on MSVC.
43575         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
43576         function pointer.
43577         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
43579 2012-02-24  Bruno Haible  <bruno@clisp.org>
43581         tanl: Provide function definition on MSVC.
43582         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
43583         function pointer.
43584         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
43586 2012-02-24  Bruno Haible  <bruno@clisp.org>
43588         cosl: Provide function definition on MSVC.
43589         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
43590         function pointer.
43591         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
43593 2012-02-24  Bruno Haible  <bruno@clisp.org>
43595         sinl: Provide function definition on MSVC.
43596         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
43597         function pointer.
43598         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
43600 2012-02-24  Bruno Haible  <bruno@clisp.org>
43602         logl: Provide function definition on MSVC.
43603         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
43604         function pointer.
43605         * lib/math.in.h (logl): Undefine if it does not exist as a function.
43607 2012-02-24  Bruno Haible  <bruno@clisp.org>
43609         expl: Provide function definition on MSVC.
43610         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
43611         function pointer.
43612         * lib/math.in.h (expl): Undefine if it does not exist as a function.
43614 2012-02-24  Bruno Haible  <bruno@clisp.org>
43616         sqrtl: Provide function definition on MSVC.
43617         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
43618         a function pointer.
43619         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
43621 2012-02-24  Bruno Haible  <bruno@clisp.org>
43623         ceill: Provide function definition on MSVC.
43624         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
43625         used as a function pointer.
43626         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
43628 2012-02-24  Bruno Haible  <bruno@clisp.org>
43630         floorl: Provide function definition on MSVC.
43631         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
43632         used as a function pointer.
43633         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
43635 2012-02-24  Bruno Haible  <bruno@clisp.org>
43637         ceilf: Provide function definition on MSVC.
43638         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
43639         used as a function pointer.
43640         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
43642 2012-02-24  Bruno Haible  <bruno@clisp.org>
43644         floorf: Provide function definition on MSVC.
43645         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
43646         used as a function pointer.
43647         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
43649 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
43651         stdnoreturn: new module
43652         This implements a replacement for C11's <stdnoreturn.h>.
43653         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
43654         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
43655         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
43656         * tests/test-stdnoreturn.c: New files.
43658 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
43660         regex: fix false multibyte matches in some regular expressions
43661         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
43662         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
43663         * lib/regex_internal.c (re_string_skip_chars):
43664         Fix miscomputation of remain_len that may cause incomplete
43665         multi-byte character and false match.
43667 2012-02-24  Jim Meyering  <meyering@redhat.com>
43669         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
43670         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
43671         uses with "==" *before* the call, e.g., 0 == strcmp (...)
43672         Remove now-unnecessary str''cmp obfuscation.
43673         Suggested by Akim Demaille.
43675 2012-02-24  Bruno Haible  <bruno@clisp.org>
43677         streq: Rename macro.
43678         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
43679         * NEWS: Mention the change.
43680         * lib/mbrtowc.c (mbrtowc): Update.
43681         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
43682         * lib/wcwidth.c (wcwidth): Update.
43683         Suggested by Akim Demaille and Jim Meyering.
43685 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
43687         regex: fix typo in definition of MIN
43688         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
43689         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
43691 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
43692             Bruno Haible  <bruno@clisp.org>
43694         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
43695         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
43696         entries into a stack-allocated buffer directly.
43697         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
43699 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
43700             Bruno Haible  <bruno@clisp.org>
43702         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
43704          - There were several instances of this pattern:
43706              for (;;) {
43707                n = acl (f, GETACLCNT, 0, NULL);
43708                [ allocate an array A of size N ]
43709                if (acl (f, GETACL, n, a) == n)
43710                  break;
43711              }
43713            This loop might never terminate if some other process is constantly
43714            manipulating the file's ACL.  The loop should be rewritten to
43715            terminate.
43717          - The acl (... GETACLNT ...) call is merely an optimization; its value
43718            is merely a hint as to how big to make the array.  A better
43719            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
43720            and just guess a reasonably-big size, growing the size and trying
43721            again if it's not large enough.  This guarantees termination, and
43722            saves a system call.
43724         * lib/acl-internal.h: Include <limits.h>.
43725         (MIN, SIZE_MAX): New macros.
43726         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
43727         a stack-allocated buffer, and use malloc if it does not fit. Don't
43728         use GETACLCNT.
43729         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
43731 2012-02-19  Bruno Haible  <bruno@clisp.org>
43733         acl: Fix endless loop on Solaris with vxfs.
43734         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
43735         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
43736         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
43737         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
43738         * tests/test-sameacls.c (main)[Solaris]: Likewise.
43739         Reported by Bill Jones in
43740         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
43742 2012-02-19  Bruno Haible  <bruno@clisp.org>
43744         acl: Fix copy-acl test failure on Solaris 11.0.
43745         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
43746         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
43747         that this function returns 0 in some more cases.
43749 2012-02-19  Bruno Haible  <bruno@clisp.org>
43751         acl: Update doc references.
43752         * doc/acl-resources.txt: Update links to Solaris documentation.
43754 2012-02-19  Bruno Haible  <bruno@clisp.org>
43756         Fix test failure in many locales on Solaris 11.
43757         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
43758         'tr' arguments.
43759         * tests/test-pipe-filter-ii1.c (main): Likewise.
43760         * build-aux/bootstrap (check_versions): Run 'tr' command with range
43761         expressions in the C locale.
43762         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
43763         * m4/host-os.m4 (gl_HOST_OS): Likewise.
43765 2012-02-19  Bruno Haible  <bruno@clisp.org>
43767         gnulib-tool: Improve usage message.
43768         * gnulib-tool (func_usage): Move doc of --help and --version to the
43769         section "Operation modes".
43771 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
43773         README-release: make it easier to execute commands
43774         * top/README-release: break commands out on to separate lines.
43776 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
43778         GNUmakefile: simplify detection of unconfigured trees
43779         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
43780         whether the tree make is being run from is already configured or
43781         not.  Related simplifications.
43783 2012-02-13  Simon Josefsson  <simon@josefsson.org>
43785         * gnulib-tool (func_usage): Document --help and --version.
43787 2012-02-11  Jim Meyering  <meyering@redhat.com>
43789         bootstrap: don't exit 0 upon gnulib-tool failure
43790         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
43791         its exit status, not 0.
43793 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
43795         README-release: various improvements
43796         * top/README-release: Give a command to push changes for the
43797         release.  Add "distcheck" to list of other pre-release checks.
43798         Fix instance of "make stable" which should be "make TYPE".
43800 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
43802         maint: replace FSF snail-mail addresses with URLs
43803         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
43804         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
43805         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
43806         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
43807         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
43808         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
43809         * lib/check-version.c, lib/check-version.h, lib/config.charset:
43810         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
43811         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
43812         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
43813         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
43814         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
43815         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
43816         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
43817         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
43818         * lib/glthread/thread.c, lib/glthread/thread.h:
43819         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
43820         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
43821         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
43822         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
43823         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
43824         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
43825         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
43826         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
43827         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
43828         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
43829         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
43830         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
43831         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
43832         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
43833         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
43834         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
43835         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
43836         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
43837         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
43838         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
43839         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
43840         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
43841         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
43842         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
43843         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
43844         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
43845         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
43846         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
43847         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
43848         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
43849         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
43850         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
43851         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
43852         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
43853         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
43854         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
43855         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
43856         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
43857         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
43858         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
43859         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
43860         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
43861         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
43862         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
43863         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
43864         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
43865         * tests/test-poll.c, tests/test-quotearg-simple.c:
43866         * tests/test-quotearg.c, tests/test-quotearg.h:
43867         * tests/test-round-ieee.c, tests/test-round1.c:
43868         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
43869         * tests/test-roundl-ieee.c, tests/test-roundl.c:
43870         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
43871         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
43872         * tests/test-strerror.c, tests/test-strerror_r.c:
43873         * tests/test-strsignal.c, tests/test-strverscmp.c:
43874         * tests/test-xmemdup0.c:
43875         Replace FSF snail mail addresses with URLs, as per GNU coding
43876         standards.  See glibc bug
43877         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
43879 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
43881         README-release: capitalize a word and split a line
43882         * top/README-release: Fix punctuation and spacing.
43884 2012-02-08  Akim Demaille  <demaille@gostai.com>
43886         fatal-signal: use C prototypes (with explicit void).
43887         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
43888         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
43890 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
43892         regex: spelling fix
43893         * lib/regexec.c: spelling fix
43895         regex: rely on stdint.h for SIZE_MAX
43896         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
43898 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
43900         regex: merge glibc changes
43902         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
43903         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
43904         (init_word_char): Work even if bitset words are not exactly 32 or
43905         64 bits wide.  Don't assume there are no padding bits.
43906         * lib/regex.c [_LIBC]: Do not include <config.h>.
43907         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
43908         and -Wtype-limits.
43909         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
43910         needless disagreement with glibc.  All uses changed.  Define it to
43911         1 only if _GNU_SOURCE, to match glibc.
43912         (_REG_RM_NAME): Remove; no longer needed, since the names in
43913         question are now all protected by __USE_GNU.
43914         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
43915         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
43916         * lib/regex_internal.h (MIN): New macro.
43918         2012-01-03 Ulrich Drepper <drepper@gmail.com>
43919         * lib/regcomp.c (init_word_char): Optimize regex a bit.
43921         2011-12-30 Jakub Jelinek <jakub@redhat.com>
43922         * lib/regex_internal.c (re_string_fetch_byte_case):
43923         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
43924         is miscompiled, and it turns out it is because of an incorrect
43925         attribute on re_string_fetch_byte_case.  Unlike
43926         re_string_peek_byte_case, this one is really not pure, it modifies
43927         memory (increments pstr->cur_idx), and with the pure attribute GCC
43928         assumed it doesn't and it cached the presumed value of
43929         regexp->cur_idx in a variable across the
43930          for (;; ++i)
43931            {
43932              if (i >= BRACKET_NAME_BUF_SIZE)
43933                return REG_EBRACK;
43934              if (token->type == OP_OPEN_CHAR_CLASS)
43935                ch = re_string_fetch_byte_case (regexp);
43936              else
43937                ch = re_string_fetch_byte (regexp);
43938              if (re_string_eoi(regexp))
43939                return REG_EBRACK;
43940              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
43941                break;
43942              elem->opr.name[i] = ch;
43943            }
43945         2011-11-29 Andreas Schwab <schwab@redhat.com>
43946         * lib/regcomp.c (build_equiv_class):
43947         Fix access after end of search string in regex matcher.
43949         2011-11-12 Ulrich Drepper <drepper@redhat.com>
43950         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
43952         2011-10-12 Ulrich Drepper <drepper@redhat.com>
43953         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
43955         2011-10-11 Ulrich Drepper <drepper@redhat.com>
43956         * lib/regcomp.c (parse_branch, parse_sub_exp):
43957         More regex memory leak fixes and tests.
43958         (parse_sub_exp, parse_bracket_exp):
43959         Fix memory leak for some invalid regular expressions.
43961         2011-05-28 Ulrich Drepper <drepper@gmail.com>
43962         * lib/regex_internal.c, lib/regexec.c:
43963         Fix unnecessary overallocation due to incomplete character.  When
43964         incomplete characters are found at the end of a string the code
43965         ran amok and allocated lots of memory.  Stricter limits are now in
43966         place.
43968         2011-05-20 Reuben Thomas <rrt@sc3d.org>
43969         * lib/regex.h: Update documentation.
43971         2011-05-16 Aharon Robbins <arnold@skeeve.com>
43972         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
43974         2010-05-05 Andreas Schwab <schwab@redhat.com>
43975         * lib/regexec.c (find_collation_sequence_value):
43976         Fix lookup of collation sequence value during regexp matching.
43978         2010-01-22 Ulrich Drepper <drepper@redhat.com>
43979         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
43981         2008-01-16 Ulrich Drepper <drepper@redhat.com>
43982         * lib/regex.h: Cleanup namespace.
43984         2007-11-26 Ulrich Drepper <drepper@redhat.com>
43985         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
43987         2007-08-26 Ulrich Drepper <drepper@redhat.com>
43988         * lib/regex_internal.h: Prevent some declarations and definitions
43989         to be seen when used in tests.
43991         2005-05-06 Ulrich Drepper <drepper@redhat.com>
43992         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
43993         __libc_lock_* macros if not _LIBC.
43994         (struct re_dfa_t): Add lock.
43996 2012-02-07  Eric Blake  <eblake@redhat.com>
43998         maint.mk: also prohibit lower-case @var@
43999         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
44000         lower case, like @top_srcdir@.
44002 2012-02-04  Eric Blake  <eblake@redhat.com>
44004         canonicalize: avoid uninitialized memory use
44005         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
44006         random '/' left in dest.
44007         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
44009 2012-02-04  Bruno Haible  <bruno@clisp.org>
44011         isatty: Fix test failure of ptsname_r on native Windows.
44012         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
44013         and don't set errno.
44014         (isatty): Test first whether fd is valid. Set errno when returning 0.
44016 2012-02-04  Bruno Haible  <bruno@clisp.org>
44018         spawn-pipe tests: Fix a NULL program name in a diagnostic.
44019         * tests/test-spawn-pipe-main.c: Include progname.h.
44020         (main): Invoke set_program_name.
44021         * modules/spawn-pipe-tests (Depends-on): Add progname.
44023         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
44024         * tests/test-nonblocking-socket-main.c: Include progname.h.
44025         (main): Invoke set_program_name.
44026         * modules/nonblocking-socket-tests (Depends-on): Add progname.
44028         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
44029         * tests/test-nonblocking-pipe-main.c: Include progname.h.
44030         (main): Invoke set_program_name.
44031         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
44033 2012-02-04  Eric Blake  <eblake@redhat.com>
44035         canonicalize-lgpl: fix // handling
44036         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
44038         canonicalize: fix // handling
44039         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
44040         /// to //, since only // is special.
44042 2012-02-04  Bruno Haible  <bruno@clisp.org>
44044         ioctl: Fix test failure on native Windows.
44045         * lib/ioctl.c: Include msvc-nothrow.h.
44046         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
44048 2012-02-04  Bruno Haible  <bruno@clisp.org>
44050         fsync: Avoid test failure on native Windows.
44051         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
44052         read-only.
44054 2012-02-04  Bruno Haible  <bruno@clisp.org>
44056         sys_select: Avoid syntax error on OpenBSD 5.0.
44057         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
44058         currently being included, just include the system's <sys/select.h>.
44060 2012-02-04  Bruno Haible  <bruno@clisp.org>
44062         sys_select: Avoid syntax error on OpenBSD 5.0.
44063         * lib/sys_select.in.h: Include <signal.h> only after the include_next
44064         <sys/select.h>, not before.
44065         Reported by Jiri B <jirib@devio.us>.
44067 2012-02-04  Bruno Haible  <bruno@clisp.org>
44069         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
44070         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
44071         global variables.
44072         * tests/test-get-rusage-data.c (main): Likewise.
44073         Reported by Jim Meyering.
44075 2012-02-04  Bruno Haible  <bruno@clisp.org>
44077         stdioext: Fix last commit.
44078         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
44080 2012-02-03  Bruno Haible  <bruno@clisp.org>
44082         stdioext: Add tentative support for Plan9.
44083         * lib/stdio-impl.h: Include <errno.h>.
44084         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
44085         * lib/freadable.c (freadable): Likewise.
44086         * lib/fwritable.c (fwritable): Likewise.
44087         * lib/fbufmode.c (fbufmode): Likewise.
44088         * lib/freading.c (freading): Likewise.
44089         * lib/fwriting.c (fwriting): Likewise.
44090         * lib/freadptr.c (freadptr): Likewise.
44091         * lib/freadseek.c (freadptrinc): Likewise.
44092         * lib/freadahead.c (freadahead): Likewise.
44093         * lib/fpurge.c (fpurge): Likewise.
44094         * lib/fseeko.c (rpl_fseeko): Likewise.
44095         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
44096         Reported by Jens Staal <staal1978@gmail.com>.
44098 2012-02-02  Jim Meyering  <meyering@redhat.com>
44100         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
44101         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
44102         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
44103         not even to try to add the attribute.  Instead, add a pragma to suppress
44104         the suggestion/warning.
44106 2012-01-31  Karl Berry  <karl@gnu.org>
44108         setstate doc: typo.
44109         * doc/posix-functions/setstate.texi (setstate): { not (.
44111 2012-01-31  Bruno Haible  <bruno@clisp.org>
44113         popen: Make more robust on Windows.
44114         * lib/popen.c: On native Windows, use the _popen based code even if
44115         HAVE_POPEN is set.
44116         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
44117         environment variable on native Windows.
44119 2012-01-30  Bruno Haible  <bruno@clisp.org>
44121         pclose: Fix typo.
44122         * lib/stdio.in.h (pclose): Fix typo in warning message.
44124 2012-01-30  Bruno Haible  <bruno@clisp.org>
44126         doc about getlogin_r, setstate.
44127         * doc/posix-functions/getlogin_r.texi: List the incompatible
44128         declaration problem under "not fixed by gnulib".
44129         * doc/posix-functions/setstate.texi: Mention incompatible declaration
44130         problem on Solaris 11 and other platforms.
44132 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
44133             Bruno Haible  <bruno@clisp.org>
44135         poll tests: Make test more robust.
44136         * tests/test-poll.c: Include macros.h.
44137         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
44138         return value of various I/O operations.
44139         * modules/poll-tests (Files): Add tests/macros.h.
44141 2012-01-30  Bruno Haible  <bruno@clisp.org>
44143         sys_stat: Fix support for mingw64 and MSVC.
44144         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
44145         header files already do it.
44146         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
44147         stat itself.
44148         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
44150 2012-01-30  Bruno Haible  <bruno@clisp.org>
44152         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
44153         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
44154         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
44156 2012-01-29  Bruno Haible  <bruno@clisp.org>
44158         quotearg: Fix test failure on MacOS X 10.5.
44159         * tests/test-quotearg-simple.c: Include localcharset.h.
44160         (main): If the locale encoding is not ASCII, bypass the tests of
44161         locale_quoting_style and clocale_quoting_style.
44162         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
44164 2012-01-29  Jim Meyering  <meyering@redhat.com>
44166         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
44167         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
44168         detect uses of canonicalize_file_name.
44170 2012-01-28  Bruno Haible  <bruno@clisp.org>
44172         test-framework-sh: Fix test failure with AIX 7.1 diff.
44173         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
44174         in column 1, like 'diff -c' does.
44175         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
44176         whether 'diff -u' is used. Instead, test whether the output contains
44177         some '@' character.
44179 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
44181         strtoimax: eliminate need for stdint.h, inttypes.h checks
44182         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
44183         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
44184         the prerequisites for a recently-introduced strtoimax test.
44185         I guess this might cause strtoimax to be replaced when not
44186         strictly necessary on older hosts, but this shouldn't introduce
44187         any bugs and it should make Emacs 'configure' faster on typical
44188         modern hosts.  Problem discovered when importing the latest gnulib
44189         to an Emacs test version.
44190         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
44192 2012-01-28  Bruno Haible  <bruno@clisp.org>
44194         sys_time: Override 'struct timeval' on some native Windows platforms.
44195         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
44196         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
44197         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
44198         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
44199         needs to be overridden.
44200         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
44201         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
44202         * tests/test-sys_select.c: Check that the tv_sec member has the same
44203         size as a 'time_t'.
44204         * tests/test-sys_time.c: Likewise.
44205         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
44206         is set, set also REPLACE_GETTIMEOFDAY.
44207         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
44208         convert the resulting 'struct timeval' before returning.
44209         * lib/select.c: Include <sys/time.h>.
44210         (select, timeval): Undefine at the right place.
44211         * modules/select (Depends-on): Add sys_time.
44212         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
44213         some Windows platforms.
44214         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
44216 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
44218         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
44219         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
44220         an integer.
44221         * lib/fcntl.c (dupfd): Likewise.
44222         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
44224 2012-01-28  Bruno Haible  <bruno@clisp.org>
44226         fcntl: Avoid compilation error on native Windows.
44227         * modules/fcntl (Depends-on): Add 'close'.
44229 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
44231         select, poll, isatty: Avoid warnings on x86_64 mingw64.
44232         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
44233         pointer to an integer.
44234         * lib/poll.c (IsConsoleHandle): Likewise.
44235         * lib/isatty.c (IsConsoleHandle): Likewise.
44237 2012-01-28  Jim Meyering  <meyering@redhat.com>
44239         doc: clarify README-release
44240         * top/README-release: Clarify: you should make a point to have
44241         the latest stable versions of build tools in your PATH, and the
44242         reference to buildreq is solely for its list of tool names, not
44243         for its minimal-functional version numbers.
44244         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
44246         maint.mk: use more readable (yet functionally equivalent) quoting
44247         It is common to quote a single quote in a single quoted string like
44248         this:  '...'\''...'.  Unless you know the idiom, that looks like
44249         gibberish, so prefer to double-quote the string when possible.
44250         Then you can use a more readable, lone single quote: "...'..."
44251         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
44252         "don't" is more readable than the equivalent 'don'\''t'.
44253         (sc_cast_of_x_alloc_return_value): Likewise.
44254         (sc_cast_of_alloca_return_value): Likewise.
44255         (sc_makefile_path_separator_check): Similar: use ":" in '...',
44256         rather than '\'':'\''.
44258 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
44260         stdalign: relax _Alignof and tighten _Alignas test
44261         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
44262         as it was too strict: alignof must divide offsetof, but it need
44263         not equal offsetof.  Inspired by Joseph S. Myers's comment
44264         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
44265         Conversely, tighten the _Alignas test a bit, as the resulting
44266         alignment must be exactly 8.
44268 2012-01-27  Bruno Haible  <bruno@clisp.org>
44270         stdalign: Document the last change.
44271         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
44273 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
44275         stdalign: check that alignof and offsetof are consistent
44276         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
44277         Problem reported for gnulib by Richard W.M. Jones in
44278         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00340.html>.
44280 2012-01-27  Jim Meyering  <meyering@redhat.com>
44282         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
44283         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
44284         convert a sequence with gaps to the minimal containing range.
44285         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
44286         * tests/test-update-copyright.sh: Test for this.
44287         The FSF confirmed it is ok to do this, assuming there is at
44288         least one significant change per year in the affected range:
44289         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
44291 2012-01-26  Bruno Haible  <bruno@clisp.org>
44293         pipe2: refine doc about thread-safety
44294         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
44295         multithread-safety problem.
44296         * doc/glibc-functions/accept4.texi: Likewise.
44298 2012-01-26  Bruno Haible  <bruno@clisp.org>
44300         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
44301         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
44302         In the test program, include <fcntl.h>, for O_RDONLY.
44304 2012-01-26  Eric Blake  <eblake@redhat.com>
44306         pipe2: document lack of thread-safety in replacement
44307         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
44308         issue in replacement.
44309         * doc/glibc-functions/accept4.texi (accept4): Likewise.
44310         Based on a report by Eric Wong.
44312 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
44313             Bruno Haible  <bruno@clisp.org>
44315         malloca: Avoid warnings on x86_64 mingw64.
44316         * lib/malloca.c: Include <stdint.h>.
44317         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
44318         * modules/malloca (Depends-on): Add stdint.
44319         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
44321 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
44323         obstack: remove __STDC__ conditionals
44324         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
44325         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
44326         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
44327         m4/include_next.m4 as the only gnulib-maintained places that still
44328         refer to __STDC__.
44330 2012-01-24  Bruno Haible  <bruno@clisp.org>
44332         havelib: Modern quoting.
44333         * build-aux/config.rpath: Quote 'like this', not `like this', as per
44334         the recent change to the GNU coding standards.
44336 2012-01-24  Bruno Haible  <bruno@clisp.org>
44338         stdint: Improve support for Android.
44339         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
44340         Reported by Simon Josefsson <simon@josefsson.org>.
44342 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
44344         doc: omit trailing empty lines from INSTALL etc.
44345         * doc/Makefile (INSTALL): Omit trailing empty lines.
44346         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
44347         omit trailing empty lines.  This simplifies the build procedure.
44349 2012-01-23  Jim Meyering  <meyering@redhat.com>
44351         tests: avoid spurious warnings about gl_sockets_startup
44352         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
44353         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
44354         reporting a "statement with no effect".
44355         * tests/test-accept.c (main): Mark as "(void)".
44356         * tests/test-accept4.c (main): Likewise.
44357         * tests/test-bind.c (main): Likewise.
44358         * tests/test-connect.c (main): Likewise.
44359         * tests/test-getpeername.c (main): Likewise.
44360         * tests/test-getsockname.c (main): Likewise.
44361         * tests/test-getsockopt.c (main): Likewise.
44362         * tests/test-listen.c (main): Likewise.
44363         * tests/test-recv.c (main): Likewise.
44364         * tests/test-recvfrom.c (main): Likewise.
44365         * tests/test-send.c (main): Likewise.
44366         * tests/test-sendto.c (main): Likewise.
44367         * tests/test-setsockopt.c (main): Likewise.
44368         * tests/test-shutdown.c (main): Likewise.
44370 2012-01-21  Bruno Haible  <bruno@clisp.org>
44372         locale-fr.m4: Fix for Android.
44373         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
44374         failure of the test program on Bionic libc.
44376 2012-01-21  Jim Meyering  <meyering@redhat.com>
44378         bootstrap: fail when bootstrap_post_import_hook fails
44379         Otherwise, it's far too easy to miss diagnostics emitted
44380         between gnulib-tool's output and that of running configure.
44381         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
44383 2012-01-17  Jim Meyering  <meyering@redhat.com>
44385         maint: enable sc_trailing_blank
44386         * build-aux/pmccabe.css: Remove trailing blanks.
44387         * doc/acl-cygwin.txt: Likewise.
44388         * doc/gnu-oids.texi: Likewise
44389         * cfg.mk: Enable sc_trailing_blank.
44390         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
44392 2012-01-17  Jim Meyering  <meyering@redhat.com>
44394         maint: enable sc_prohibit_openat_without_use
44395         * cfg.mk: Enable sc_prohibit_openat_without_use.
44396         Exempt lib/selinux-at.c.
44398 2012-01-17  Jim Meyering  <meyering@redhat.com>
44400         maint: enable sc_prohibit_cloexec_without_use
44401         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
44402         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
44404 2012-01-17  Jim Meyering  <meyering@redhat.com>
44406         maint: enable sc_prohibit_intprops_without_use
44407         * cfg.mk: Enable sc_prohibit_intprops_without_use
44408         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
44410 2012-01-17  Jim Meyering  <meyering@redhat.com>
44412         maint: enable sc_prohibit_hash_pjw_without_use
44413         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
44414         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
44415         to match any use of \<hash_pjw\>, i.e., not necessarily with a
44416         following " (".
44418 2012-01-17  Jim Meyering  <meyering@redhat.com>
44420         maint: enable double-word-prohibiting rule
44421         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
44422         Exempt three files.
44424 2012-01-17  Jim Meyering  <meyering@redhat.com>
44426         maint: remove empty lines at EOF, but excluding modules/*
44427         Apply syntax rules at home as well as abroad.  Most changes
44428         were induced by running this:
44429           make srcdir=. _build-aux=build-aux -f top/maint.mk \
44430             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
44431             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
44432         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
44433         Exempt modules/* and two binary files.
44434         Also exempt doc/INSTALL*, per request from Bruno Haible.
44435         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
44436         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
44437         * doc/Copyright/request-assign.future: Likewise.
44438         * doc/Copyright/request-disclaim.changes: Likewise.
44439         * doc/INSTALL: Likewise.
44440         * doc/INSTALL.ISO: Likewise.
44441         * doc/INSTALL.UTF-8: Likewise.
44442         * doc/acl-cygwin.txt: Likewise.
44443         * doc/acl-resources.txt: Likewise.
44444         * doc/fdl-1.2.texi: Likewise.
44445         * doc/fdl-1.3.texi: Likewise.
44446         * doc/fdl.texi: Likewise.
44447         * lib/argp-pin.c: Likewise.
44448         * lib/round.c: Likewise.
44449         * lib/unicase/u16-totitle.c: Likewise.
44450         * lib/unictype/block_test.c: Likewise.
44451         * lib/uninorm/canonical-decomposition.c: Likewise.
44452         * m4/README: Likewise.
44453         * m4/relocatable-lib.m4: Likewise.
44454         * tests/test-isnand-nolibm.c: Likewise.
44455         * tests/test-isnand.c: Likewise.
44456         * tests/uninorm/NormalizationTest.txt: Likewise.
44458 2012-01-17  Jim Meyering  <meyering@redhat.com>
44460         maint: add framework to run syntax-check rules against gnulib sources
44461         * cfg.mk: New file, to disable all currently-failing tests.
44462         We'll enable them one by one, as they are made to pass.
44463         * Makefile (sc_maint): New rule.
44465 2012-01-21  Bruno Haible  <bruno@clisp.org>
44467         stdint: Add support for Android.
44468         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
44469         include the system's <stdint.h>.
44470         Reported by Simon Josefsson <simon@josefsson.org>.
44472 2012-01-19  Jim Meyering  <meyering@redhat.com>
44474         bootstrap: add bootstrap_post_import_hook
44475         Bison does still need something like the gnulib_mk_hook whose
44476         invocation I had to remove along with slurp in commit 767ccd40.
44477         Technically, we could get along without it, but doing so would
44478         have required living with a warning and a mandatory post-bootstrap
44479         automake rerun.
44480         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
44481         (bootstrap_post_import_hook): New function.
44482         Invoke it after gnulib-tool --import and before autoreconf.
44484 2012-01-18  Jim Meyering  <meyering@redhat.com>
44486         gitlog-to-changelog: don't use "no_"-prefixed variable name
44487         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
44488         to enable both --cluster and --no-cluster.  Change variable name,
44489         s/\$no_cluster/$cluster/, and reverse usage to match.
44491         gitlog-to-changelog: use "||", not "or" in expressions
44492         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
44493         expressions.
44495 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
44497         gitlog-to-changelog: new option --no-cluster
44498         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
44499         clustering of adjacent commit messages.
44501 2012-01-17  Jim Meyering  <meyering@redhat.com>
44503         maint: spell file systems with two words, not one
44504         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
44505         two words, not one.
44507 2012-01-16  Jim Meyering  <meyering@redhat.com>
44509         bootstrap: add a FIXME comment to ensure we eventually remove the hack
44510         * build-aux/bootstrap (gnulib_tool_options): Add comment.
44512 2012-01-16  Eric Blake  <eblake@redhat.com>
44514         bootstrap: cater to autoconf 2.59
44515         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
44516         is not available.
44518         bootstrap: properly check for libtool
44519         * build-aux/bootstrap (libtoolize): Also run libtool when older
44520         usage is detected.
44522 2012-01-15  Bruno Haible  <bruno@clisp.org>
44524         Improve support for MSVC 9.
44525         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
44526         clashes on MSVC.
44527         * lib/fcntl.in.h: Likewise.
44528         * lib/stdlib.in.h: Likewise.
44529         * lib/sys_stat.in.h: Likewise.
44531 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
44533         gnupload: we hold the master copy of this script now
44534         For motivation and more information, see:
44535         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00222.html>
44536         * build-aux/gnupload: Make it clear in the heading comments that the
44537         master copy of this file is maintained by gnulib.  Since we are at
44538         it, bump its copyright year and ...
44539         ($scriptversion): ... the date in its version.
44540         ($usage): Patches and bug reports should be sent to the gnulib list,
44541         not the automake one.
44542         * config/srclist.txt: Don't try to sync 'gnupload' from automake
44543         anymore.
44545 2012-01-15  Bruno Haible  <bruno@clisp.org>
44547         Fix module 'random'.
44548         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
44549         initstate, setstate are declared.
44551 2012-01-14  Bruno Haible  <bruno@clisp.org>
44553         Tests for module 'random'.
44554         * modules/random-tests: New file.
44555         * tests/test-random.c: New file, based on tests/test-random_r.c.
44557         New module 'random'.
44558         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
44559         declarations.
44560         * lib/random.c: New file, based on glibc/stdlib/random.c.
44561         * m4/random.m4: New file.
44562         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
44563         HAVE_RANDOM.
44564         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
44565         * modules/random: New file.
44566         * config/srclist.txt: Add an entry for random.c.
44567         * doc/posix-functions/random.texi: Mention the 'random' module.
44568         * doc/posix-functions/initstate.texi: Likewise.
44569         * doc/posix-functions/setstate.texi: Likewise.
44570         * doc/posix-functions/srandom.texi: Likewise.
44572 2012-01-12  Bruno Haible  <bruno@clisp.org>
44574         random_r: Use common idioms.
44575         * lib/random_r.c: Include <stdlib.h> first.
44577         random_r: Override incompatible API on AIX, OSF/1.
44578         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
44579         Override the system function if REPLACE_RANDOM_R is 1.
44580         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
44581         and OSF/1, set REPLACE_RANDOM_R.
44582         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
44583         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
44584         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
44585         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
44586         * doc/glibc-functions/random_r.texi: Likewise.
44587         * doc/glibc-functions/setstate_r.texi: Likewise.
44589         random_r: Support for MSVC 9.
44590         * lib/random_r.c: Include stdint.h, not inttypes.h.
44592 2012-01-12  Eric Blake  <eblake@redhat.com>
44594         inet_ntop: guard extra work by IF_LINT
44595         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
44596         better code generation when not checking for warnings.
44597         Suggested by Paul Eggert and Jim Meyering.
44599         strptime: fix regression on mingw
44600         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
44601         Fix regression.  Reported by Bruno Haible.
44603 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
44604             Bruno Haible  <bruno@clisp.org>
44606         copy-file: add error-code-returning variant.
44607         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
44608         (qcopy_file_preserving): New declaration.
44609         * lib/copy-file.c (qcopy_file_preserving): Renamed from
44610         copy_file_preserving. Change return type to 'int'. Don't emit an error
44611         message here.
44612         (copy_file_preserving): New function.
44613         * tests/test-copy-file.c: Include <stdlib.h>.
44614         (main): Test qcopy_file_preserving if the environment variable
44615         NO_STDERR_OUTPUT is set.
44616         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
44617         with NO_STDERR_OUTPUT
44618         * tests/test-copy-file-2.sh: Likewise.
44620 2012-01-10  Bruno Haible  <bruno@clisp.org>
44622         copy-file: Use 'quote' module consistently.
44623         * lib/copy-file.c (copy_file_preserving): Use quote().
44625         copy-file: Refactor.
44626         * lib/copy-file.c: Include quote.h.
44627         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
44628         message here.
44629         * modules/copy-file (Depends-on): Add quote.
44631         acl: Export qcopy_acl.
44632         * lib/acl.h (qcopy_acl): New declaration.
44633         * lib/copy-acl.c (qcopy_acl): Make non-static.
44635         acl: Rename a local variable.
44636         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
44638         acl: Align return values of copy_acl and qcopy_acl.
44639         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
44640         maybe < -1.
44642 2012-01-11  Eric Blake  <eblake@redhat.com>
44644         strptime: silence gcc warnings
44645         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
44646         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
44647         Reported by Daniel P. Berrange.
44649         inet_ntop: silence gcc warning
44650         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
44651         Reported by Daniel P. Berrange.
44653 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
44655         getloadavg test: skip the test on GNU/Linux without /proc mounted
44656         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
44657         file.  When /proc is not mounted, it always fails with ENOENT.
44658         * tests/test-getloadavg.c (main): Treat ENOENT return code from
44659         getloadavg(3) the same way as ENOSYS and ENOTSUP.
44661 2012-01-10  Bruno Haible  <bruno@clisp.org>
44663         regex: Avoid link error on MSVC 9.
44664         * modules/regex (Depends-on): Add wctype.
44666 2012-01-10  Bruno Haible  <bruno@clisp.org>
44668         doc: Mention --with-tests option.
44669         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
44670         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
44671         --with-tests.
44672         Reported by Reuben Thomas.
44674 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
44676         users.txt: order package names lexicographically.
44677         * users.txt: Order package names lexicographically.
44679 2012-01-10  Jim Meyering  <meyering@redhat.com>
44681         maint.mk: fix description in comment
44682         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
44684         ignore-value: remove deprecated ignore_ptr function
44685         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
44686         * NEWS: Note this.
44688 2012-01-09  Jim Meyering  <meyering@redhat.com>
44690         test-init.sh: avoid a subshell
44691         * tests/test-init.sh: Remove protective subshell.
44692         Suggested by Bernhard Voelker.  While a subshell is normally
44693         required to protect against older shells (Solaris, FreeBSD) that
44694         warn about a missing program before performing redirection, the
44695         shell-selection tests performed by init.sh probably exclude any
44696         offending shell.
44698 2012-01-08  Bruno Haible  <bruno@clisp.org>
44700         setlocale tests: Avoid test failure on Solaris 11.0.
44701         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
44702         variable.
44704 2012-01-08  Bruno Haible  <bruno@clisp.org>
44706         posix_spawn_file_actions_addopen: Work around Solaris 11.0 bug.
44707         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
44708         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
44709         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
44710         macro.
44711         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
44712         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
44713         * lib/spawn_faction_addopen.c: Add workaround implementation if
44714         HAVE_WORKING_POSIX_SPAWN.
44715         * modules/spawn (Makefile): Substitute
44716         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
44717         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
44718         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
44719         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
44720         (Depends-on): Update conditions.
44721         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
44722         the Solaris 11 bug.
44724 2012-01-08  Bruno Haible  <bruno@clisp.org>
44726         posix_spawn_file_actions_adddup2: Work around Solaris 11.0 bug.
44727         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
44728         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
44729         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
44730         macro.
44731         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
44732         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
44733         * lib/spawn_faction_adddup2.c: Add workaround implementation if
44734         HAVE_WORKING_POSIX_SPAWN.
44735         * modules/spawn (Makefile): Substitute
44736         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
44737         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
44738         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
44739         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
44740         (Depends-on): Update conditions.
44741         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
44742         the Solaris 11 bug.
44744 2012-01-08  Bruno Haible  <bruno@clisp.org>
44746         posix_spawn_file_actions_addclose: Work around Solaris 11.0 bug.
44747         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
44748         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
44749         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
44750         HAVE_WORKING_POSIX_SPAWN.
44751         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
44752         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
44753         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
44754         * lib/spawn_faction_addclose.c: Add workaround implementation if
44755         HAVE_WORKING_POSIX_SPAWN.
44756         * modules/spawn (Makefile): Substitute
44757         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
44758         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
44759         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
44760         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
44761         (Depends-on): Update conditions.
44762         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
44763         the Solaris 11 bug.
44765 2012-01-08  Bruno Haible  <bruno@clisp.org>
44767         doc: Update for Solaris 11.0.
44768         * doc/*/*.texi: Mention Solaris 11.0 where appropriate.
44769         * m4/printf.m4: Update comments.
44771 2012-01-08  Bruno Haible  <bruno@clisp.org>
44773         mktime: Avoid compilation error on Solaris 11.
44774         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
44776 2012-01-08  Bruno Haible  <bruno@clisp.org>
44778         doc: Small fix.
44779         * doc/posix-headers/nl_types.texi: Correct platforms list.
44781 2012-01-08  Simon Josefsson  <simon@josefsson.org>
44783         Add lgpl-3.0 module.
44784         * MODULES.html.sh (Support for building documentation): Add
44785         lgpl-3.0.
44786         * modules/lgpl-3.0: New file.
44788 2012-01-08  Jim Meyering  <meyering@redhat.com>
44790         select.c: indent with spaces, not TABs
44791         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
44793 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
44795         quotearg: do not use grave accent for left quote
44796         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
44797         locale_quoting_style.
44798         (quotearg_buffer_restyled): Fix example.
44799         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
44801 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
44803         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
44804         Most programs do not have translation catalogs for English and much
44805         less separate catalogs for British and American English.  Drop the
44806         suggestion to translators about these two, and provide it
44807         automatically for Unicode locales.  Like most programs, even those
44808         using American English, we use single quotation marks.  This conflicts
44809         with the American typographic convention, but works better when you
44810         cite the entire error message within double quotes.  It also tries not
44811         to clash with established practice and with what non-gnulib programs
44812         will usually do.
44813         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
44814         using an UTF-8 or GB-18030 locale.  The list of other locales with
44815         quotes was provided by Bruno Haible.
44816         (quotearg_buffer_restyled): Adjust instructions to translators.
44817         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
44818         text, since this would be wrong when using Unicode.
44819         * modules/quotearg: Depend on c-strcaseeq.
44821 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
44823         quotearg: fix Wikipedia link
44824         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
44826 2012-01-07  Simon Josefsson  <simon@josefsson.org>
44828         Fix for mingw with MSVC9.
44829         * m4/ld-version-script.m4: Check that compiler rejects version
44830         scripts with syntax errors.  Reported by Bruno Haible
44831         <bruno@clisp.org>.
44833 2012-01-06  Bruno Haible  <bruno@clisp.org>
44835         Talk about "native Windows API", not "Woe32".
44836         * lib/accept4.c: Update comments to mention native Windows.
44837         * lib/execute.c: Likewise.
44838         * lib/fatal-signal.c: Likewise.
44839         * lib/localcharset.c: Likewise.
44840         * lib/nanosleep.c: Likewise.
44841         * lib/nl_langinfo.c: Likewise.
44842         * lib/pclose.c: Likewise.
44843         * lib/pipe-filter-gi.c: Likewise.
44844         * lib/pipe-filter-ii.c: Likewise.
44845         * lib/pipe.c: Likewise.
44846         * lib/pipe2.c: Likewise.
44847         * lib/popen.c: Likewise.
44848         * lib/progreloc.c: Likewise.
44849         * lib/relocatable.c: Likewise.
44850         * lib/sigaction.c: Likewise.
44851         * lib/sigprocmask.c: Likewise.
44852         * lib/spawn-pipe.h: Likewise.
44853         * lib/spawn-pipe.c: Likewise.
44854         * lib/spawni.c: Likewise.
44855         * lib/stat-time.h: Likewise.
44856         * lib/w32spawn.h: Likewise.
44857         * tests/test-isatty.c: Likewise.
44858         * lib/config.charset: More comments.
44859         * doc/gnulib-intro.texi: Mention native Windows.
44860         * doc/posix-functions/_Exit_C99.texi: Likewise.
44861         * doc/posix-headers/fcntl.texi: Likewise.
44863 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
44865         argp: Avoid crash if translator uses % characters in a translation.
44866         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
44867         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
44869 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
44871         doc: C11 and C++11 are now official
44872         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
44873         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
44874         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
44875         * modules/stdalign:
44876         Replace references to draft C1X to C11, and to draft C++0X to C++11.
44878 2012-01-06  Bruno Haible  <bruno@clisp.org>
44880         uc-is-grapheme-break tests: Tweak.
44881         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
44882         message.
44884 2012-01-06  Bruno Haible  <bruno@clisp.org>
44886         test-init.sh: correct the test for diff -u
44887         * tests/test-init.sh: Also redirect stdout to /dev/null.
44889 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
44891         Use ', not `, for quoting output.
44892         * build-aux/announce-gen (usage, sizes, print_news_deltas)
44893         (print_changelog_deltas, get_tool_versions, main program):
44894         * build-aux/git-version-gen:
44895         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
44896         * build-aux/move-if-change (help):
44897         * build-aux/useless-if-before-free (usage, main program):
44898         * check-module (parse_module_file, usage)
44899         (find_included_lib_files, check_module):
44900         * lib/argmatch.c (main) [TEST]:
44901         * lib/argp-help.c (_help):
44902         * lib/getopt1.c (main) [TEST]:
44903         * lib/git-merge-changelog.c (usage):
44904         * lib/xstrtol-error.c (xstrtol_error):
44905         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
44906         * m4/argz.m4 (gl_FUNC_ARGZ):
44907         * m4/bison.m4 (gl_BISON):
44908         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
44909         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
44910         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
44911         * m4/fpending.m4 (gl_PREREQ_FPENDING):
44912         * m4/gc-random.m4 (gl_GC_RANDOM):
44913         * m4/intl.m4 (gt_CHECK_DECL):
44914         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
44915         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
44916         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
44917         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
44918         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
44919         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
44920         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
44921         * tests/test-dirname.c (main):
44922         * tests/test-getpass.c (main):
44923         * tests/test-iconvme.c (main):
44924         * tests/test-parse-datetime.c (LOG):
44925         * tests/test-xstrtoimax.sh:
44926         * tests/test-xstrtol.sh:
44927         * tests/test-xstrtoll.sh:
44928         * tests/test-xstrtoumax.sh:
44929         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
44930         * top/GNUmakefile (abort-due-to-no-makefile):
44931         Quote 'like this', not `like this', as per the recent change to
44932         the GNU coding standards.
44934 2012-01-05  Bruno Haible  <bruno@clisp.org>
44936         strtoimax: Don't force a replacement on systems where intmax_t is int.
44937         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
44938         'intmax_t' is not larger than 'int'.
44939         Reported by Pádraig Brady <P@draigBrady.com>.
44941 2012-01-05  Bruno Haible  <bruno@clisp.org>
44943         doc: Mention NetBSD bugs.
44944         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
44945         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
44947 2012-01-05  Bruno Haible  <bruno@clisp.org>
44949         strtoumax tests: Enhance tests.
44950         * tests/test-strtoumax.c (main): Add tests for large values.
44952 2012-01-05  Bruno Haible  <bruno@clisp.org>
44954         strtoimax: Work around AIX 5.1 bug.
44955         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
44956         definition.
44957         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
44958         Set HAVE_STRTOIMAX.
44959         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
44960         REPLACE_STRTOIMAX.
44961         * modules/inttypes-incomplete (Makefile.am): Substitute
44962         REPLACE_STRTOIMAX.
44963         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
44964         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
44965         (Depends-on): Update conditions.
44966         * tests/test-strtoimax.c (main): Add tests for large values.
44967         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
44969 2012-01-05  Bruno Haible  <bruno@clisp.org>
44971         inttypes: Modernize.
44972         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
44973         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
44974         (Makefile.am): Update inttypes.h rule.
44976 2012-01-05  Jim Meyering  <meyering@redhat.com>
44978         init.sh: don't waste a subshell just to redirect stderr
44979         * tests/init.sh: In testing for diff -u and diff -c, use a
44980         stderr-redirecting exec inside `...` rather than a subshell.
44982         test-init.sh: avoid failure on HP-UX 11.00
44983         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
44984         resolves to diff -c or cmp.  Reported by Bruno Haible.
44986 2012-01-05  Bruno Haible  <bruno@clisp.org>
44988         Tests for module 'strtoull'.
44989         * modules/strtoull-tests: New file.
44990         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
44992 2012-01-05  Bruno Haible  <bruno@clisp.org>
44994         Tests for module 'strtoll'.
44995         * modules/strtoll-tests: New file.
44996         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
44998 2012-01-05  Bruno Haible  <bruno@clisp.org>
45000         Tests for module 'strtoul'.
45001         * modules/strtoul-tests: New file.
45002         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
45004 2012-01-05  Bruno Haible  <bruno@clisp.org>
45006         Tests for module 'strtol'.
45007         * modules/strtol-tests: New file.
45008         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
45010 2012-01-04  Jim Meyering  <meyering@redhat.com>
45012         test-init.sh: accommodate Solaris 5.10's different diff -u output
45013         * tests/test-init.sh: Also exempt @@ lines from the comparison
45014         of diff output, since Solaris 5.10 and GNU diff formats differ.
45015         Reported by Stefano Lattarini.
45017 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
45019         test-posixtm: don't assume signed integer wraparound
45020         * tests/test-posixtm.c (main): Don't assume wraparound semantics
45021         after signed integer overflow.  Inspired by (though it may not
45022         fix) Bruno Haible's bug report in
45023         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00066.html>.
45025         Spell out "Windows 9x" and "Windows XP".
45026         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
45027         "Windows 9x" and "WinXP" with "Windows XP".
45029 2012-01-04  Jim Meyering  <meyering@redhat.com>
45031         test-vc-list-files-cvs.sh: remove obsolete comment
45032         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
45033         double exit.  Now that's all encapsulated via skip_ and Exit.
45035 2012-01-04  Bruno Haible  <bruno@clisp.org>
45037         Talk about "native Windows API", not "Win32".
45038         * lib/classpath.c: Update comments to mention native Windows.
45039         * lib/csharpexec.c: Likewise.
45040         * lib/dup2.c: Likewise.
45041         * lib/error.c: Likewise.
45042         * lib/fcntl.c: Likewise.
45043         * lib/filename.h: Likewise.
45044         * lib/findprog.c: Likewise.
45045         * lib/get-rusage-as.c: Likewise.
45046         * lib/get-rusage-data.c: Likewise.
45047         * lib/getpagesize.c: Likewise.
45048         * lib/javaexec.c: Likewise.
45049         * lib/msvc-inval.c: Likewise.
45050         * lib/msvc-nothrow.c: Likewise.
45051         * lib/nanosleep.c: Likewise.
45052         * lib/nonblocking.c: Likewise.
45053         * lib/printf-parse.c: Likewise.
45054         * lib/setlocale.c: Likewise.
45055         * lib/sigaction.c: Likewise.
45056         * lib/strerror_r.c: Likewise.
45057         * lib/tmpdir.c: Likewise.
45058         * lib/vasnprintf.c: Likewise.
45059         * lib/w32spawn.h: Likewise.
45060         * lib/waitpid.c: Likewise.
45061         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
45062         * m4/locale-ar.m4: Likewise.
45063         * m4/locale-fr.m4: Likewise.
45064         * m4/locale-ja.m4: Likewise.
45065         * m4/locale-tr.m4: Likewise.
45066         * m4/locale-zh.m4: Likewise.
45067         * m4/printf.m4: Likewise.
45068         * tests/test-cloexec.c: Likewise.
45069         * tests/test-copy-acl.sh: Likewise.
45070         * tests/test-copy-file.sh: Likewise.
45071         * tests/test-file-has-acl.sh: Likewise.
45072         * tests/test-set-mode-acl.sh: Likewise.
45073         * tests/test-dup-safer.c: Likewise.
45074         * tests/test-dup2.c: Likewise.
45075         * tests/test-dup3.c: Likewise.
45076         * tests/test-fcntl.c: Likewise.
45077         * tests/test-nonblocking-pipe.h: Likewise.
45078         * tests/test-nonblocking-socket.h: Likewise.
45079         * tests/test-pipe.c: Likewise.
45080         * tests/test-pipe2.c: Likewise.
45081         * tests/test-spawn-pipe-child.c: Likewise.
45082         * doc/acl-resources.txt: Likewise.
45083         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
45084         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
45085         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
45086         * lib/localcharset.c: Update comments to mention native Windows.
45087         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
45088         * lib/localename.c: Likewise.
45089         * lib/progreloc.c: Likewise.
45090         * lib/relocatable.c: Likewise.
45091         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
45092         (windows_compute_revents): Renamed from win32_compute_revents.
45093         (windows_compute_revents_socket): Renamed from
45094         win32_compute_revents_socket.
45095         * lib/select.c: Update comments to mention native Windows.
45096         (windows_poll_handle): Renamed from win32_poll_handle.
45097         * m4/threadlib.m4: Update comments to mention native Windows.
45098         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
45099         --enable-threads=windows instead of --enable-threads=win32. Set
45100         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
45101         * lib/glthread/lock.h: Update comments to mention native Windows.
45102         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
45103         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
45104         USE_WIN32_THREADS.
45105         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
45106         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
45107         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
45108         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
45109         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
45110         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
45111         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
45112         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
45113         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
45114         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
45115         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
45116         * tests/test-tls.c: Likewise.
45117         Rationale:
45118         Microsoft renamed the "Win32 API" to "Windows API", as it is available
45119         on both 32-bit and 64-bit Windows systems.
45120         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
45121         line of distinction is between "native Windows" on one side and Unix/
45122         POSIX systems on the other side. More details in
45123         <https://lists.gnu.org/r/bug-gnulib/2012-01/msg00027.html>.
45124         Suggested by Paul Eggert.
45126 2012-01-03  Bruno Haible  <bruno@clisp.org>
45128         isatty: Support for MSVC 9.
45129         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
45130         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
45131         (_isatty_nothrow): New function.
45132         (isatty): Use it instead of _isatty.
45133         (IsConsoleHandle): Add comment, from Paolo Bonzini.
45134         * lib/poll.c (IsConsoleHandle): Likewise.
45135         * lib/select.c (IsConsoleHandle): Likewise.
45136         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
45137         (gl_PREREQ_ISATTY): New macro.
45138         * modules/isatty (Depends-on): Add msvc-inval.
45139         (configure.ac): Invoke gl_PREREQ_ISATTY.
45141 2012-01-03  Jim Meyering  <meyering@redhat.com>
45143         maint.mk: remove temporary transition aid from over 1.5 years ago
45144         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
45145         purpose was to aid in the transition (avoiding silent malfunction)
45146         from that old name to the new _sc_search_regexp.  This shim was
45147         added by commit 219c504b.
45149         init.sh: do not try to accommodate compare arguments starting with "-"
45150         * tests/init.sh (compare_dev_null_): Do not try to accommodate
45151         compare arguments that start with "-".  Besides, we do not worry
45152         about this when invoking diff or cmp; why start now with sed?
45153         Using "--" to separate options from argument would trigger sed
45154         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
45155         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
45157 2012-01-02  Bruno Haible  <bruno@clisp.org>
45159         Enhance tests for module 'isatty'.
45160         * modules/isatty-tests (Depends-on): Add pipe-posix.
45161         * tests/test-isatty.c: Include <fcntl.h>.
45162         (DEV_NULL): New macro.
45163         (main): Test the resut of isatty() also on regular files, pipes, and
45164         /dev/null.
45166         New module 'isatty'.
45167         * lib/unistd.in.h (isatty): New declaration.
45168         * lib/isatty.c: New file, based on an idea of
45169         Bastien Roucariès <roucaries.bastien@gmail.com>.
45170         * m4/isatty.m4: New file.
45171         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
45172         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
45173         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
45174         REPLACE_ISATTY.
45175         * modules/isatty: New file.
45176         * doc/posix-functions/isatty.texi: Mention the new module.
45177         Suggested by Paolo Bonzini.
45179 2012-01-02  Bruno Haible  <bruno@clisp.org>
45181         canonicalize: Tweak 2011-12-29 commit.
45182         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
45183         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
45185 2012-01-02  Jim Meyering  <meyering@redhat.com>
45187         gitlog-to-changelog: describe input syntax in --help output
45188         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
45190         gitlog-to-changelog: fix typo in --help: show backslash before email @
45191         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
45192         in sources, but not in actual output.
45194 2011-12-30  Jim Meyering  <meyering@redhat.com>
45196         gitlog-to-changelog: don't malfunction when name contains %-directive
45197         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
45198         in a name string cause trouble.  E.g., with a user name of "%s",
45199         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
45201 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
45203         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
45204         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
45205         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
45206         the "  (tiny change)" notation that is appended to the standard
45207         ChangeLog "date  name  email" header line.
45209 2012-01-01  Jim Meyering  <meyering@redhat.com>
45211         test-framework-sh: init.sh: fix "make dist" failure
45212         When using gnulib-tool's --with-tests option and any module that
45213         depends on test-framework-sh, "make dist" would fail due to the
45214         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
45215         in the gltests directory, and not in the gllib/ directory.
45216         One way to work around that is to move the EXTRA_DIST += init.sh
45217         from the primary module to the -tests one:
45218         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
45219         * modules/test-framework-sh (Makefile.am): ...not here.
45220         Reported by Tom G. Christensen in
45221         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
45223         version-etc: update copyright year reported by --version
45224         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
45226 2011-12-31  Pádraig Brady  <P@draigBrady.com>
45228         canonicalize: only stat() if required
45229         * lib/canonicalize.c (canonicalize_filename_mode):
45230         Avoid calling l?stat() when both CAN_MISSING,
45231         and CAN_NOLINKS are set, as we neither need
45232         to resolve symlinks or test component existence.
45234 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
45236         doc: cover st_ino issues once; add OpenVMS etc.
45237         * doc/posix-functions/stat.texi (stat):
45238         * doc/posix-functions/lstat.texi (lstat):
45239         * doc/posix-functions/fstatat.texi (fstatat):
45240         * doc/posix-functions/fstat.texi (fstat):
45241         Move general 'struct stat' stuff to sys_stat.texi,
45242         leaving behind a pointer.
45243         * doc/posix-headers/sys_stat.texi (sys/stat.h):
45244         Merge duplicate info about 'struct stat' problems into here.
45245         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
45246         and suggest partial workarounds.
45248         same-inode: port to OpenVMS
45249         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
45250         three st_ino values.
45252 2011-12-30  Pádraig Brady  <P@draigBrady.com>
45254         canonicalize: fix references to stat() and lstat()
45255         * lib/canonicalize.c (canonicalize_filename_mode):
45256         Ensure references always resolve to a replacement
45257         function if required (even via a macro).
45259 2011-12-30  Jim Meyering  <meyering@redhat.com>
45261         gitlog-to-changelog: remove a little duplication
45262         * build-aux/gitlog-to-changelog (main): Grep @lines once,
45263         rather than twice.
45265 2011-12-29  Pádraig Brady  <P@draigBrady.com>
45267         canonicalize: add support for not resolving symlinks
45268         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
45269         indicate we don't want to follow symlinks.  Also
45270         provide CAN_MODE_MASK to aid setting these existing
45271         mutually exclusive values.
45272         * lib/canonicalize.c (canonicalize_filename_mode):
45273         Extract the flags from can_mode parameter, which
45274         are currently just used to select between stat()
45275         and lstat().  Also ensure that mutually exclusive
45276         values are flagged immediately as invalid.
45277         * tests/test-canonicalize.c: Verify symlinks are
45278         not followed, and that invalid flag combinations
45279         are diagnosed.
45281 2011-12-25  Jim Meyering  <meyering@redhat.com>
45283         gitlog-to-changelog: do not clump multi-paragraph entries
45284         Identical header lines (date,name,email+coauthors) are suppressed,
45285         thus putting all entries with those same characteristics under
45286         a single header.  However, when a log entry consists of two or
45287         more paragraphs, it may not be clear where it starts and ends.
45288         This change makes it so that such an entry is always separated
45289         from others by a header line, even when that header would
45290         otherwise be suppressed.
45291         * build-aux/gitlog-to-changelog: Implement the above.
45292         Inspired by a related request from Stefano Lattarini in
45293         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
45295 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
45297         announce-gen: fix `cmd' typo in diagnostic
45298         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
45299         diagnostic: a missing '$' meant that the command was not output.
45301 2011-12-23  Jim Meyering  <meyering@redhat.com>
45303         test-framework-sh: distribute init.sh
45304         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
45305         Otherwise, "make -C gnulib-tests check" (at least in grep) would
45306         fail due to the lack of init.sh.
45308         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
45309         * modules/atexit-tests: Rather than listing tests/init.sh,
45310         now that there's a module for it, simply depend on that new module.
45311         * modules/closein-tests: Likewise.
45312         * modules/exclude-tests: Likewise.
45313         * modules/getcwd-tests: Likewise.
45314         * modules/perror-tests: Likewise.
45315         * modules/pread-tests: Likewise.
45316         * modules/pwrite-tests: Likewise.
45317         * modules/vc-list-files-tests: Likewise.
45318         * modules/verify-tests: Likewise.
45319         * modules/xalloc-die-tests: Likewise.
45320         * modules/xstrtoimax-tests: Likewise.
45321         * modules/xstrtol-tests: Likewise.
45322         * modules/xstrtoll-tests: Likewise.
45323         * modules/xstrtoumax-tests: Likewise.
45324         * modules/yesno-tests: Likewise.
45326 2011-12-22  Jim Meyering  <meyering@redhat.com>
45328         test-framework-sh: add minimal tests of init.sh's compare function
45329         * modules/test-framework-sh-tests: New file.
45330         * tests/test-init.sh: New file.
45332         test-framework-sh: new module
45333         * modules/test-framework-sh: New file.
45334         * MODULES.html.sh (Support for maintaining and releasing projects):
45335         List it.
45337         init.sh: do not emit simulated diff output to stderr
45338         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
45340 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
45342         .gitignore: ignore gnulib.dvi and regex.info
45343         * doc/.gitignore:add gnulib.dvi and regex.info
45345 2011-12-22  Jim Meyering  <meyering@redhat.com>
45347         init.sh: correct previous change
45348         * tests/init.sh (compare): My previous change was wrong.
45349         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
45351         init.sh: avoid unwarranted test failure when using "set -e"
45352         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
45353         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
45354         a use like "compare exp out" would get evoke an unconditional failure.
45356 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
45358         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
45359         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
45360         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
45361         autoreconf that did not.
45362         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
45363         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
45365 2011-12-17  Jim Meyering  <meyering@redhat.com>
45367         bootstrap: remove some now-unneeded code
45368         This script arose back when gnulib-tool was young.
45369         Since then, it has seen improvements that render much of this
45370         script unnecessary.  In particular, it can now make symlinks
45371         to the files it uses.  Also, I no longer see as much value in
45372         marking files as read-only via comments.
45373         If you relied on the symlink-creation feature of the preceding
45374         version of this script, you can get most of that functionality
45375         by adding the --symlink option to the definition of
45376         gnulib_tool_option_extras in your bootstrap.conf file.
45377         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
45378         Run autopoint and libtoolize *before* gnulib-tool.
45379         After it, run an abbreviated autoreconf, rather than a loop around
45380         all tools.
45381         (slirp, bt_mark_as_generated): Remove functions.
45383 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
45385         ftoastr: fix typo
45386         * lib/ftoastr.h: Fix misspelling in comment.
45388 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
45390         * top/README-release: fix punctuation.
45392 2011-12-17  Jim Meyering  <meyering@redhat.com>
45394         bootstrap: correct the recent buildreq change
45395         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
45396         had no effect.
45397         * build-aux/bootstrap (buildreq): Bracket each search term with
45398         "*...*", so that the shell "case" statement works as intended.
45399         Add comments.
45401 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
45403         build: let bootstrap resort to wget when downloading .po files
45404         * build-aux/bootstrap (download_po_files): Fallback to wget when
45405         downloading the .po files via rsync fails.  This is necessary to
45406         bootstrap from behind a strict firewall.
45408 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
45410         stdint: don't assume C++11 when compiling with g++
45411         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
45412         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00099.html>.
45413         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
45414         work also in C++ before C++11, as that improperly inhibits
45415         generating a substitute stdint.h for that case.
45417 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
45419         alloca: protect comment from gnulib-tool
45420         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
45421         that gnulib-tool doesn't think it's a license, and munge it to
45422         say "GCC version 3".
45424 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
45426         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
45427         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
45428         $(abs_top_builddir) instead of $(top_builddir).
45430 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
45432         strftime-tests: also test nanoseconds
45433         * tests/test-strftime.c (T): Add a test of %N.
45435 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
45437         inttypes, stdint: add C++11 support
45438         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
45439         when including inttypes.h and stdint.h.  Support this change to
45440         the standard.
45441         * doc/posix-headers/inttypes.texi (inttypes.h):
45442         * doc/posix-headers/stdint.texi (stdint.h): Document this.
45443         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
45444         Define if not defined already, for the benefit of pre-C++11 hosts.
45445         Define the standard format macros (e.g., PRId8) always.
45446         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
45447         Likewise, if __cpluspus.  Define the standard constant and limit
45448         macros (e.g., INT8_C, INT8_MAX) always.
45449         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
45450         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
45451         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
45452         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
45453         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
45454         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
45455         Likewise.
45457 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
45459         nonblocking tests: Fix test failure on Linux/PPC.
45460         Suggested by Prerna Saxena in
45461         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00080.html>.
45462         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
45463         Set to 1100000.
45465 2011-12-12  Jim Meyering  <meyering@redhat.com>
45467         argmatch: don't hard-code `' when listing valid option arguments
45468         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
45469         use the quote function to add quotes.  Use fputs rather than
45470         fprintf for the format string with no format directive.
45472 2011-12-07  Eric Blake  <eblake@redhat.com>
45474         bootstrap: detect tools required by gnulib-tool
45475         * build-aux/bootstrap (buildreq): Provide minimum implicit
45476         dependencies.
45477         * DEPENDENCIES: Mention patch as a prereq.
45479 2011-12-04  Bruno Haible  <bruno@clisp.org>
45481         sethostname: Port to Windows platforms.
45482         * lib/sethostname.c: Provide an alternate implementation for Windows
45483         platforms.
45484         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
45485         (main): Skip the test if sethostname() fails with EPERM. On Windows
45486         platforms, don't check the result of gethostname().
45488 2011-12-04  Bruno Haible  <bruno@clisp.org>
45489             Jim Meyering  <meyering@redhat.com>
45491         tests: Avoid spurious error message on platforms without mktemp program.
45492         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
45494 2011-12-04  Bruno Haible  <bruno@clisp.org>
45496         sethostname: Fix documentation.
45497         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
45498         "not fixed" section.
45500 2011-12-03  Bruno Haible  <bruno@clisp.org>
45502         gnulib-tool: Verify that the License field is present and non-empty.
45503         * gnulib-tool (func_get_license_raw): New function, extracted from
45504         func_get_license.
45505         (func_get_license): Use it. Warn if the module is not a test module and
45506         has no license.
45507         Suggested by Jim Meyering.
45509 2011-12-03  Bruno Haible  <bruno@clisp.org>
45511         sethostname tests: Fix link error on mingw.
45512         * tests/test-sethostname1.c: New file, extracted from
45513         tests/test-sethostname.c.
45514         * tests/test-sethostname2.c: New file, extracted from
45515         tests/test-sethostname.c.
45516         * tests/test-sethostname.c: Remove file.
45517         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
45518         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
45519         (Depends-on): Add gethostname.
45520         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
45521         Link the latter with $(GETHOSTNAME_LIB).
45523         sethostname tests: Fix compilation error on mingw.
45524         * tests/test-sethostname.c: Don't include <sys/types.h>.
45525         (geteuid): Use a dummy value without uid_t.
45526         * modules/sethostname-tests (Depends-on): Remove sys_types.
45528         sethostname tests: Avoid a gcc warning.
45529         * tests/test-sethostname.c (main): Remove an unused variable.
45531         Tweak last commit.
45532         * modules/sethostname-tests (Files): Sort by decreasing importance.
45533         (configure.ac): Check for geteuid.
45534         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
45535         the test when there's nothing to test. Drop an unnecessary cast.
45536         Improve an error message. Verify that the final sethostname() call
45537         succeeds.
45539 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45541         Add a test suite for the sethostname module.
45542         * modules/sethostname-tests: New file.  A test program
45543         for the sethostname module.
45544         * tests/test-sethostname.c: Likewise.
45546 2011-12-03  Bruno Haible  <bruno@clisp.org>
45548         Tweak last commit.
45549         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
45550         Fix preprocessor directives indentation. Fix typos.
45551         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
45552         * modules/unistd (Makefile): Likewise.
45554 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45556         Integrate the sethostname module into unistd.
45557         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
45558         into the unistd.h header.
45559         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
45560         preprocessor directives.
45561         * modules/unistd: Setup the Makefile substitutions of the
45562         SETHOSTNAME preprocessor directives.
45564 2011-12-03  Bruno Haible  <bruno@clisp.org>
45566         Tweak last commit.
45567         * lib/sethostname.c: Don't include <string.h>.
45568         (sethostname): No need to copy the argument string to the stack. Don't
45569         call clearerr. Preserve errno when fprintf failed.
45570         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
45571         Don't invoke AC_REPLACE_FUNCS.
45572         * modules/sethostname (Link): Remove empty section.
45573         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
45574         failure problem.
45576 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45578         New module 'sethostname'.
45579         * lib/sethostname.c (sethostname): New file.  Provide sethostname
45580         for systems that lack it.
45581         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
45582         sethostname declaration and function.
45583         * modules/sethostname: New file.  Define the sethostname module.
45585 2011-12-03  Bruno Haible  <bruno@clisp.org>
45587         Tweak last commit.
45588         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
45590 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45592         Split the HOST_NAME_MAX detection into a separate m4 macro.
45593         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
45594         macro so it can be used by the pending sethostname module.
45596 2011-12-03  Bruno Haible  <bruno@clisp.org>
45598         Fix module descriptions syntax.
45599         * modules/argv-iter (License): Fix syntax.
45600         * modules/di-set (License): Likewise.
45601         * modules/ino-map (License): Likewise.
45602         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
45604 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
45606         stdalign: port to Clang 3.0
45607         Problem reported by Simon Josefsson in
45608         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00005.html>.
45609         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
45610         which has <stdalign.h> but which does not define alignof.
45611         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
45613 2011-12-01  Eric Blake  <eblake@redhat.com>
45615         mktempd: silence dd usage
45616         * build-aux/mktempd (rand_bytes): Silence dd.
45618 2011-11-30  Simon Josefsson  <simon@josefsson.org>
45620         manywarnings: Don't mention gcc version in docstring.
45621         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
45622         Jim Meyering <meyering@redhat.com>.
45624 2011-11-30  Jim Meyering  <meyering@redhat.com>
45626         hash: mark a few floating point constants with "f" suffix
45627         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
45628         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
45629         floating point constants with "f", since they're destined to be
45630         saved/used as "float"s.
45632 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
45634         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
45635         * tests/test-float.c (test_long_double): Correct and re-enable the
45636         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
45638 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
45640         Avoid subtracting two pointers that don't point into the same block.
45641         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
45642         only pointers into the same memory block are subtracted. We cannot
45643         assume that sizeof (ptrdiff_t) == sizeof (void *).
45645 2011-11-29  Eric Blake  <eblake@redhat.com>
45647         maint.mk: add syntax check for use of compare from init.sh
45648         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
45649         moved here from coreutils.
45651         manywarnings: drop -Wunsuffixed-float-constants
45652         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
45653         '1.0D', which is the only way to silence this warning for 'double'.
45655 2011-11-29  Jim Meyering  <meyering@redhat.com>
45657         hash: mark compute_bucket_size with the pure attribute
45658         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
45660         quotearg, propername: correct pragma guard expression
45661         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
45662         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
45664 2011-11-28  Jim Meyering  <meyering@redhat.com>
45666         propername: do not mark proper_name with the const attribute
45667         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
45668         since it examines data pointed to by its parameter.
45669         * lib/propername.c (proper_name): Instead, add a pragma to suppress
45670         the suggestion from -Wsuggest-attribute=const.
45672         propername: mark one more function as const
45673         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
45675 2011-11-27  Jim Meyering  <meyering@redhat.com>
45677         mark functions with const and pure attributes
45679         Mark functions per suggestions from gcc-4.6 when using these options:
45680         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
45681         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
45682         Follow these guidelines: when possible, apply the attribute to
45683         an extern declaration, not to its definition.  Apply it to the
45684         definition only when the definition is static.
45685         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
45686         * lib/argv-iter.h (argv_iter_n_args): Likewise.
45687         * lib/base64.h (isbase64): Likewise.
45688         * lib/basename-lgpl.c (last_component, base_len): Likewise.
45689         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
45690         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
45691         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
45692         (c_tolower, c_toupper): Likewise.
45693         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
45694         * lib/chdir-long.c (find_non_slash): Likewise.
45695         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
45696         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
45697         * lib/file-type.h (file_type): Likewise.
45698         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
45699         * lib/filevercmp.c (verrevcmp): Likewise.
45700         * lib/freadahead.h (freadahead): Likewise.
45701         * lib/fts.c (fts_maxarglen): Likewise.
45702         * lib/hash-pjw.h (hash_pjw): Likewise.
45703         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
45704         * lib/hash.c (is_prime, next_prime): Likewise.
45705         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
45706         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
45707         (hash_table_ok, hash_get_first, hash_string): Likewise.
45708         (compute_bucket_size): Likewise.
45709         * lib/i-ring.h (i_ring_empty): Likewise.
45710         * lib/isnan.c (isnanl): Likewise.
45711         * lib/math.h (isnanl, rpl_isnanl): Likewise.
45712         * lib/memcasecmp.h (memcasecmp): Likewise.
45713         * lib/memchr2.h (memchr2): Likewise.
45714         * lib/memcmp2.h (memcmp2): Likewise.
45715         * lib/parse-datetime.y (lookup_zone): Likewise.
45716         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
45717         [!WINDOWS_SOCKETS]: Likewise.
45718         * lib/strnlen1.h (strnlen1): Likewise.
45719         * lib/uniwidth.in.h (uc_width): Likewise.
45720         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
45721         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
45722         (quoting_options_from_style): Add a comment.
45723         * lib/propername.h (proper_name): Add a comment.
45725 2011-11-27  Bruno Haible  <bruno@clisp.org>
45727         Remove unused macros from !_LIBC code in glibc-borrowed files.
45728         * lib/fnmatch.c (STRCOLL): Remove macro.
45729         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
45730         * lib/glob.c (__stat, __readdir64): Remove macros.
45731         * lib/tempname.c (__open64, __xstat64): Remove macros.
45732         Suggested by Paul Eggert.
45734 2011-11-27  Bruno Haible  <bruno@clisp.org>
45736         getcwd: Fix link error on MSVC 9.
45737         * modules/getcwd (Depends-on): Add readdir, rewinddir.
45739 2011-11-27  Bruno Haible  <bruno@clisp.org>
45741         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
45742         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
45743         HAVE_OPENDIR is 0.
45744         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
45745         HAVE_CLOSEDIR is 0.
45746         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
45747         is 0.
45748         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
45750 2011-11-27  Bruno Haible  <bruno@clisp.org>
45752         getcwd: Fix bug from 2011-08-17.
45753         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
45754         platforms that need it.
45755         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
45756         code of 4 to be a failure, not a success. This ensures that
45757         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
45759 2011-11-27  Bruno Haible  <bruno@clisp.org>
45761         binary-io tests: Avoid test failure on mingw when libtool is used.
45762         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
45763         Don't verify the size of t-bin-out1.tmp here.
45764         * tests/test-binary-io.sh: Verify it here.
45765         Reported by Simon Josefsson.
45767 2011-11-26  Bruno Haible  <bruno@clisp.org>
45769         Fix conflict between two instantiations of module 'unistd'.
45770         * gnulib-tool (func_emit_autoconf_snippet): Substitute
45771         ${include_guard_prefix} also in the autoconf snippet.
45772         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
45773         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
45774         GNULIB_UNISTD_H_GETOPT.
45775         * modules/getopt-posix (configure.ac): Set the
45776         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
45777         * modules/getopt-gnu (configure.ac): Likewise.
45778         * modules/unistd (Makefile.am): Change the substitution value of
45779         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
45780         Reported by Simon Josefsson.
45782 2011-11-25  Bruno Haible  <bruno@clisp.org>
45784         pagealign_alloc: Doc and comments.
45785         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
45786         module.
45787         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
45789 2011-11-25  Jim Meyering  <meyering@redhat.com>
45791         test-update-copyright.sh: avoid false-positive failure
45792         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
45793         around false positive failure on Cygwin/Windows.  The latter was
45794         matching erroneously-created files with names like
45795         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
45797 2011-11-25  Simon Josefsson  <simon@josefsson.org>
45799         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
45800         * m4/valgrind-tests.m4: Check that the parameters that will be
45801         used works, not just a subset of them.  Reported by Bruno Haible
45802         <bruno@clisp.org>.
45804 2011-11-24  Jim Meyering  <meyering@redhat.com>
45806         test-stdalign.c: comment out long double tests
45807         * tests/test-stdalign.c: Don't try to reduce alignment of long double
45808         variables.  That provokes errors like this from gcc-4.7.0 20111124:
45809         error: '_Alignas' specifiers cannot reduce alignment of \
45810         'static_longdouble_alignas'.
45812 2011-11-22  Jim Meyering  <meyering@redhat.com>
45814         init.sh: make "compare /dev/null FILE" output more readable
45815         * tests/init.sh (compare_): Document the preferred order of arguments.
45816         (emit_diff_u_header_): New function.
45817         (compare_dev_null_): Emit a simulated diff, rather than just the
45818         contents of the unexpected file.  Suggestion from Bruno Haible.
45820 2011-11-21  Jim Meyering  <meyering@redhat.com>
45821             Eric Blake  <eblake@redhat.com>
45823         init.sh: work around OSF/1 5.1's mishandling of /dev/null
45824         * tests/init.sh: Make our compare function slightly more portable.
45825         Reported by Bruno Haible in
45826         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
45828 2011-11-21  Simon Josefsson  <simon@josefsson.org>
45830         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
45831         before using it, in code that ends up in config.h.
45833 2011-11-20  Bruno Haible  <bruno@clisp.org>
45835         getcwd: Work around getcwd bug on AIX 5..7.
45836         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
45837         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
45838         Use a different value for gl_cv_func_getcwd_path_max. Move the
45839         definition of HAVE_PARTLY_WORKING_GETCWD from here...
45840         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
45841         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
45842         Define HAVE_MINIMALLY_WORKING_GETCWD.
45843         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
45844         where it is not even minimally working, that is, on AIX.
45845         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
45846         m4/getcwd-path-max.m4.
45847         (main): Update exit code computation.
45848         * doc/posix-functions/getcwd.texi: Mention list of platforms where
45849         getcwd does not handle long file names.
45851 2011-11-20  Bruno Haible  <bruno@clisp.org>
45853         getcwd: Fix bug from 2009-09-10.
45854         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
45855         like "no".
45857 2011-11-20  Simon Josefsson  <simon@josefsson.org>
45859         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
45861 2011-11-20  Bruno Haible  <bruno@clisp.org>
45863         fma tests: Avoid shadowing local variables.
45864         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
45865         expected.
45867 2011-11-20  Bruno Haible  <bruno@clisp.org>
45869         copysignf tests: Fix.
45870         * tests/test-copysignf.c: Fix signature check.
45872 2011-11-20  Bruno Haible  <bruno@clisp.org>
45874         fma: Remove unused code.
45875         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
45876         unused macros.
45878 2011-11-20  Bruno Haible  <bruno@clisp.org>
45880         sethostname: Fix doc about AIX.
45881         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
45882         sethostname; it has it.
45884         sethostname: Mention more portability problems.
45885         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
45886         problem.
45887         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
45889 2011-11-19  Bruno Haible  <bruno@clisp.org>
45891         Depend on module fcntl-h when AT_FDCWD is used.
45892         * modules/utimens (Depends-on): Add fcntl-h.
45893         * modules/areadlinkat (Depends-on): Likewise.
45894         * modules/areadlinkat-with-size (Depends-on): Likewise.
45895         * modules/faccessat (Depends-on): Likewise.
45896         * modules/fchmodat (Depends-on): Likewise.
45897         * modules/fchownat (Depends-on): Likewise.
45898         * modules/getcwd (Depends-on): Likewise.
45899         * modules/mkdirat (Depends-on): Likewise.
45900         * modules/mkfifoat (Depends-on): Likewise.
45901         * modules/readlinkat (Depends-on): Likewise.
45902         * modules/symlinkat (Depends-on): Likewise.
45903         * modules/dup2-tests (Depends-on): Likewise.
45904         * modules/fdutimensat-tests (Depends-on): Likewise.
45905         * modules/futimens-tests (Depends-on): Likewise.
45907 2011-11-19  Bruno Haible  <bruno@clisp.org>
45909         euidaccess: Update a comment.
45910         * lib/euidaccess.c: Update comment about platforms with faccessat.
45912 2011-11-19  Bruno Haible  <bruno@clisp.org>
45914         openat: Fix file list.
45915         * modules/openat (Files): Remove lib/at-func.c.
45917 2011-11-19  Bruno Haible  <bruno@clisp.org>
45919         fstatat: Simplify.
45920         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
45921         gnulib should define rpl_fstatat, there is a
45922         "#define fstatat rpl_fstatat" in <sys/stat.h>.
45924 2011-11-19  Bruno Haible  <bruno@clisp.org>
45926         Ensure 'inline' can be used in tests/test-utimens-common.h.
45927         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
45928         * modules/futimens-tests (configure.ac): Likewise.
45929         * modules/utimens-tests (configure.ac): Likewise.
45930         * modules/utimensat-tests (configure.ac): Likewise.
45932 2011-11-19  Simon Josefsson  <simon@josefsson.org>
45934         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
45935         not hash_insert0.
45936         (hash_insert_if_absent): Doc fix.
45938 2011-11-19  Simon Josefsson  <simon@josefsson.org>
45940         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
45942 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
45944         test-getcwd: disambiguate exit status
45945         * tests/test-getcwd.c (test_long_name): Return 0..7.
45946         (main): Exit with an unambiguous exit status.  The old
45947         code yielded a mysterious mixture of two failure codes.
45949         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
45950         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
45951         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
45952         rpl_fstatat or fstatat.  This should fix the other problem
45953         reported by Kai Habel in
45954         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
45955         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
45956         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00239.html>
45957         and I reproduced it on a Solaris 8 host we still have in production.
45959 2011-11-18  Jim Meyering  <meyering@redhat.com>
45961         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
45962         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
45963         Add a sentence to the comment.
45964         (hash_insert0): New function that simply calls hash_insert_if_absent.
45965         * lib/hash.h (hash_insert_if_absent): Declare it.
45966         (hash_insert0): Add deprecation attribute.
45967         (_GL_ATTRIBUTE_DEPRECATED): Define.
45968         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
45969         not hash_insert0.
45970         * NEWS: Mention it, even though it's not really an incompatible change.
45972 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
45974         openat: avoid compilation failure due to lack of <errno.h> inclusion
45975         * lib/openat.c: Include <errno.h>.
45977 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
45979         * modules/getcwd (Depends-on): Add fdopendir.
45980         This fixes one of the two problems reported by Kai Habel in
45981         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
45983         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
45984         stdalign problem reported by Ian Beckwith in
45985         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00238.html>.
45986         * modules/crypto/gc-arcfour (Depends-on):
45987         Depend conditionally on crypto/arcfour.
45988         * modules/crypto/gc-arctwo (Depends-on):
45989         Depend conditionally on crypto/arctwo.
45990         * modules/crypto/gc-des (Depends-on):
45991         Depend conditionally on crypto/des.
45992         * modules/crypto/gc-hmac-md5 (Depends-on):
45993         Depend conditionally on crypto/hmac-md5.
45994         * modules/crypto/gc-hmac-sha1 (Depends-on):
45995         Depend conditionally on crypto/hmac-sha1.
45996         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
45997         * modules/crypto/gc-md4 (Depends-on):
45998         Depend conditionally on crypto/md4.
45999         * modules/crypto/gc-md5 (Depends-on):
46000         Depend conditionally on crypto/md5.
46001         * modules/crypto/gc-rijndael (Depends-on):
46002         Depend conditionally on crypto/rijndael.
46003         * modules/crypto/gc-sha1 (Depends-on):
46004         Depend conditionally on crypto/sha1.
46005         * modules/crypto/gc-arcfour:
46006         * modules/crypto/gc-arctwo:
46007         * modules/crypto/gc-des:
46008         * modules/crypto/gc-hmac-md5:
46009         * modules/crypto/gc-hmac-sha1:
46010         * modules/crypto/gc-md2:
46011         * modules/crypto/gc-md4:
46012         * modules/crypto/gc-md5:
46013         * modules/crypto/gc-rijndael:
46014         * modules/crypto/gc-sha1:
46015         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
46016         now that the conditional dependencies do the work for us.
46018 2011-11-17  Jim Meyering  <meyering@redhat.com>
46020         tests: factor st_ctime-comparison out of two headers
46021         * tests/test-utimens-common.h (ctime_compare): Define.
46022         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
46023         * tests/test-lutimens.h (test_lutimens): Likewise.
46024         * tests/test-utimens.h (test_utimens): Likewise.
46026         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
46027         Invoke the test program via an init.sh-using wrapper.
46028         * tests/test-getcwd.sh: New file.
46029         * modules/getcwd-tests (Files): Add it.
46030         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
46032 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
46034         gitlog-to-changelog: support multi-author commits.
46035         The FSF cares about keeping track of all authors of patches to its
46036         projects, but Git doesn't provide obvious support for multi-author
46037         changesets. Consensus seems to be forming around the use of extra
46038         Signed-off-by inspired lines in the log message formatted as
46039         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
46040         multi-author commits between version control systems.
46041         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
46042         log message and output in standard ChangeLog multi-author format.
46043         Reported by Peter Rosin <peda@lysator.liu.se>
46045 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
46046             Bruno Haible  <bruno@clisp.org>
46048         Fix some modules' file list.
46049         * modules/fstatat (Files): Add m4/lstat.m4.
46050         * modules/openat (Files): Likewise.
46051         * modules/unlinkat (Files): Likewise.
46053 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
46055         maint.mk: fix tight-scope.mk generation in VPATH builds.
46056         * top/maint.mk (tight-scope.mk): Make sure to prefix file
46057         reference with $(srcdir) so that the file is found correctly even
46058         when running `make syntax-check' in a VPATH build.
46060 2011-11-13  Bruno Haible  <bruno@clisp.org>
46061             Jim Meyering  <meyering@redhat.com>
46063         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
46064         * tests/init.sh (compare): Remove "No differences encountered" or
46065         synonymous output from the 'diff' program.
46067 2011-11-13  Bruno Haible  <bruno@clisp.org>
46069         Makefile: Tweak indentation.
46070         * Makefile: Use tab as first character in every line that contains rule
46071         commands.
46073 2011-11-13  Bruno Haible  <bruno@clisp.org>
46075         Syntax check for copyright statements.
46076         * check-copyright: New file.
46077         * Makefile (sc_check_copyright): New rule.
46079 2011-11-13  Simon Josefsson  <simon@josefsson.org>
46081         * build-aux/git-version-gen: Add --prefix to configure the tag
46082         match string.
46084 2011-11-13  Simon Josefsson  <simon@josefsson.org>
46086         * build-aux/git-version-gen: Add --help and --version.
46088 2011-11-12  Jim Meyering  <meyering@redhat.com>
46090         revamp the other test-exclude?.sh scripts to use init.sh, too
46091         * tests/test-exclude1.sh: Use init.sh.
46092         * tests/test-exclude2.sh: Likewise.
46093         * tests/test-exclude3.sh: Likewise.
46094         * tests/test-exclude4.sh: Likewise.
46095         * tests/test-exclude5.sh: Likewise.
46096         * tests/test-exclude6.sh: Likewise.
46097         * tests/test-exclude7.sh: Likewise.
46098         * tests/test-exclude8.sh: Likewise.
46099         * modules/exclude-tests (Files): List init.sh.
46101         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
46102         These shell scripts ignored failure of the binary test-exclude,
46103         so making the latter return 77 didn't cause them to be skipped.
46104         * tests/test-exclude5.sh: Exit with test-exclude's error status
46105         when that program fails.  Revamp to use init.sh.
46106         * tests/test-exclude2.sh: Likewise.
46108         test-exclude: fix a typo
46109         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
46111 2011-11-11  Bruno Haible  <bruno@clisp.org>
46113         obstack: Fix compilation error on MSVC 9.
46114         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
46116 2011-11-11  Jim Meyering  <meyering@redhat.com>
46118         test-exclude: skip tests rather than failing on deficient systems
46119         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
46120         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
46121         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
46122         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
46124 2011-11-10  Bruno Haible  <bruno@clisp.org>
46126         ptsname_r test: Avoid gcc warning on glibc systems.
46127         * tests/test-ptsname_r.c (null_ptr): New function.
46128         (test_errors): Use it.
46130 2011-11-10  Bruno Haible  <bruno@clisp.org>
46132         ptsname_r: Avoid compilation error on OSF/1 5.1.
46133         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
46134         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
46135         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
46136         function is not declared or incompatibly declared.
46137         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
46138         * modules/ptsname_r (Depends-on, configure.ac): Update.
46139         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
46141 2011-11-10  Bruno Haible  <bruno@clisp.org>
46143         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
46144         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
46145         When cross-compiling, guess yes on all platforms except AIX.
46146         Reported by Ludovic Courtès <ludo@gnu.org>.
46148 2011-11-09  Bruno Haible  <bruno@clisp.org>
46150         ptsname_r tests: Fix bugs.
46151         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
46152         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
46154 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
46156         fstatat: work with cross-compilation
46157         Problem reported by Ludovic Courtès in
46158         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00136.html>.
46159         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
46160         "cross-compiling" and assume the bug is present.  Replace
46161         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
46162         an inverted sense, to be more conservative about our assumptions.
46163         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
46165 2011-11-09  Bruno Haible  <bruno@clisp.org>
46167         Improve MODULES.html output.
46168         * modules/mkfifoat (Description): Use the word "function".
46169         * modules/readlinkat (Description): Likewise.
46170         * modules/symlinkat (Description): Likewise.
46172 2011-11-09  Eric Blake  <eblake@redhat.com>
46174         ptsname_r-tests: new test module
46175         * modules/ptsname_r-tests: New module.
46176         * tests/test-ptsname_r.c: New file.
46178         ptsname_r: new module
46179         * modules/ptsname_r: New module.
46180         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
46181         * lib/ptsname.c (__ptsname_r): Split...
46182         * lib/ptsname_r.c: ...into new file.
46183         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
46184         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
46185         * modules/stdlib (Makefile.am): Substitute witnesses.
46186         * lib/stdlib.in.h (ptsname_r): Declare it.
46187         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
46188         * MODULES.html.sh (Misc): Likewise.
46189         * modules/ptsname (Depends-on): Alter dependency.
46190         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
46192 2011-11-09  Jim Meyering  <meyering@redhat.com>
46194         announce-gen: be more concise when there's only one URL+tarball
46195         * build-aux/announce-gen (get_tool_versions): When you distribute
46196         only one type of tarball, combine the first two "Here are..."
46197         sections and make the key-checking grammar independent of
46198         how many tarballs there are.
46200 2011-11-09  Eric Blake  <eblake@redhat.com>
46202         openpty: provide a stub on mingw
46203         * lib/pty.in.h (includes): Provide forward declarations.
46204         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
46206         raise: fix mingw handling of SIGPIPE
46207         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
46209 2011-11-08  Bruno Haible  <bruno@clisp.org>
46211         More conditional dependencies.
46212         * modules/faccessat (Depends-on): Add conditions.
46213         * modules/fchmodat (Depends-on): Likewise.
46214         * modules/fchownat (Depends-on): Likewise.
46215         * modules/fstatat (Depends-on): Likewise.
46216         * modules/mkfifoat (Depends-on): Likewise.
46217         * modules/readlinkat (Depends-on): Likewise.
46218         * modules/symlinkat (Depends-on): Likewise.
46219         * modules/unlinkat (Depends-on): Likewise.
46220         * modules/utimensat (Depends-on): Likewise.
46221         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
46222         * modules/linkat (Depends-on): Refine the conditions.
46223         * modules/renameat (Depends-on): Likewise.
46225 2011-11-08  Bruno Haible  <bruno@clisp.org>
46227         faccessat: Move AC_LIBOBJ invocation to module description.
46228         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
46229         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
46230         invocation from here...
46231         * modules/faccessat (configure.ac): ... to here. Invoke
46232         gl_PREREQ_FACCESSAT.
46234 2011-11-08  Bruno Haible  <bruno@clisp.org>
46236         faccessat: Simplify autoconf macro.
46237         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
46238         gl_FUNC_EUIDACCESS.
46240 2011-11-08  Bruno Haible  <bruno@clisp.org>
46242         renameat: Fix dependencies.
46243         * modules/renameat (Depends-on): Add stdbool.
46245 2011-11-08  Bruno Haible  <bruno@clisp.org>
46247         mkfifoat: Fix module description.
46248         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
46249         not gl_UNISTD_MODULE_INDICATOR.
46251 2011-11-08  Bruno Haible  <bruno@clisp.org>
46253         fstatat: Remove unused dependency.
46254         * modules/fstatat (Depends-on): Remove fstat.
46256 2011-11-08  Simon Josefsson  <simon@josefsson.org>
46258         GNUmakefile: behave when Makefile is missing.
46259         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
46261 2011-11-08  Bruno Haible  <bruno@clisp.org>
46263         openat: Conditionalize dependencies.
46264         * lib/openat.c: Reduce the scope of some #includes.
46265         * modules/openat (Depends-on): Add conditions.
46267 2011-11-07  Jim Meyering  <meyering@redhat.com>
46269         maint.mk: extract GPG key ID without using a temporary file
46270         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
46271         without using a temporary file.  Based on a suggestion from Werner Koch
46272         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
46274 2011-11-07  Eric Blake  <eblake@redhat.com>
46276         grantpt: fix typo
46277         * lib/stdlib.in.h (grantpt): Check correct function.
46279         maint.mk: silence new syntax check
46280         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
46282 2011-11-06  Bruno Haible  <bruno@clisp.org>
46284         Doc about floating-point and math API.
46285         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
46286         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
46288 2011-11-06  Bruno Haible  <bruno@clisp.org>
46290         stdalign tests: Skip the test when compiled by Sun C.
46291         * tests/test-stdalign.c (main): Skip the test on Sun C.
46293 2011-11-06  Bruno Haible  <bruno@clisp.org>
46295         ansi-c++-opt: Complete the 2011-06-05 change.
46296         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
46297         does not support namespaces, set the variable to "no", not to ":".
46299 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
46301         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
46303 2011-11-06  Bruno Haible  <bruno@clisp.org>
46305         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
46306         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
46307         (minus_zerol) [HP-UX]: New macro.
46308         (unary_minus) [HP-UX]: New function.
46309         (copysignl) [HP-UX]: Use unary_minus function.
46311 2011-11-06  Bruno Haible  <bruno@clisp.org>
46313         ldexp, ldexpf, ldexpl: Enhance tests.
46314         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
46315         and tests/test-ldexpl.c.
46316         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
46317         LDEXP, MIN_EXP, MAX_EXP): New macros.
46318         Include test-ldexp.h.
46319         (main): Just call test_function.
46320         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
46321         infinity.h, nan.h.
46322         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
46323         MAX_EXP): New macros.
46324         Include test-ldexp.h.
46325         (x, y): Remove variables.
46326         (main): Just call test_function.
46327         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
46328         infinity.h, nan.h.
46329         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
46330         MAX_EXP): New macros.
46331         Include test-ldexp.h.
46332         (x, y): Remove variables.
46333         (main): Just call test_function.
46334         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
46335         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
46336         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
46337         (Depends-on): Add isnand-nolibm, signbit, float.
46338         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
46339         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
46340         (Depends-on): Add isnanf-nolibm, signbit, float.
46342 2011-11-06  Bruno Haible  <bruno@clisp.org>
46344         math tests: Cosmetics.
46345         * tests/test-math-c++.cc: Reorder declarations.
46347 2011-11-05  Bruno Haible  <bruno@clisp.org>
46349         fma*: Simplify test.
46350         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
46351         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
46353         Tests for module 'fmal'.
46354         * modules/fmal-tests: New file.
46355         * tests/test-fmal1.c: New file.
46356         * tests/test-fmal2.c: New file.
46358         New module 'fmal'.
46359         * lib/math.in.h (fmal): New declaration.
46360         * lib/fmal.c: New file.
46361         * m4/fmal.m4: New file.
46362         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
46363         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
46364         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
46365         REPLACE_FMAL.
46366         * modules/fmal: New file.
46367         * doc/posix-functions/fmal.texi: Mention the new module and the various
46368         bugs.
46370         Tests for module 'fmaf'.
46371         * modules/fmaf-tests: New file.
46372         * tests/test-fmaf1.c: New file.
46373         * tests/test-fmaf2.c: New file.
46375         New module 'fmaf'.
46376         * lib/math.in.h (fmaf): New declaration.
46377         * lib/fmaf.c: New file.
46378         * m4/fmaf.m4: New file.
46379         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
46380         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
46381         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
46382         REPLACE_FMAF.
46383         * modules/fmaf: New file.
46384         * doc/posix-functions/fmaf.texi: Mention the new module and the various
46385         bugs.
46387         Tests for module 'fma'.
46388         * modules/fma-tests: New file.
46389         * tests/test-fma1.c: New file.
46390         * tests/test-fma1.h: New file.
46391         * tests/test-fma2.c: New file.
46392         * tests/test-fma2.h: New file.
46394         New module 'fma'.
46395         * lib/math.in.h (fma): New declaration.
46396         * lib/fma.c: New file.
46397         * m4/fma.m4: New file.
46398         * m4/fegetround.m4: New file.
46399         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
46400         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
46401         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
46402         REPLACE_FMA.
46403         * modules/fma: New file.
46404         * doc/posix-functions/fma.texi: Mention the new module and the various
46405         bugs.
46407         Extend gl_MATHFUNC.
46408         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
46409         Support 'void' as argument type.
46410         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
46412 2011-11-05  Jim Meyering  <meyering@redhat.com>
46414         maint.mk: also prohibit inclusion of dirent.h without use
46415         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
46417 2011-11-05  Bruno Haible  <bruno@clisp.org>
46419         ldexpl tests: Avoid test failure on MSVC 9.
46420         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
46421         value. Needed in order to enforce the conversion from a value greater
46422         than LDBL_MAX to Infinity.
46424 2011-11-05  Bruno Haible  <bruno@clisp.org>
46426         New modules 'at-internal', 'openat-h', split off from module 'openat'.
46427         * modules/at-internal: New file, extracted from modules/openat.
46428         * modules/openat-h: New file.
46429         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
46430         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
46431         * modules/openat (Description): Add reference to POSIX function.
46432         (Files): Remove lib/openat.h, lib/openat-proc.c.
46433         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
46434         intprops, unistd.
46435         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
46436         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
46437         gl_FCNTL_MODULE_INDICATOR.
46438         (Include): Remove unistd.h, openat.h.
46439         * modules/areadlinkat (Files): Add lib/at-func.c.
46440         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
46441         openat-die, openat-h, save-cwd.
46442         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
46443         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
46444         openat-die, openat-h, save-cwd, unistd.
46445         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
46446         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
46447         openat-h, save-cwd. Remove fcntl-h, openat.
46448         * modules/fchmodat (Files): Remove lib/openat.h.
46449         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
46450         openat, stdbool, unistd.
46451         * modules/fchownat (Files): Remove lib/openat.h.
46452         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
46453         openat, stdbool, sys_stat.
46454         * modules/fdopendir (Files): Remove lib/openat-priv.h,
46455         lib/openat-proc.c.
46456         (Depends-on): Add at-internal.
46457         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
46458         * modules/fstatat (Files): Remove lib/openat.h.
46459         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
46460         stdbool, unistd.
46461         * modules/fts (Depends-on): Add openat-h.
46462         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
46463         openat.
46464         * modules/mkdirat (Files): Remove lib/openat.h.
46465         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
46466         openat, stdbool, sys_stat.
46467         * modules/mkfifoat (Files): Add lib/at-func.c.
46468         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
46469         openat-h, save-cwd. Remove fcntl-h, openat.
46470         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
46471         * modules/readlinkat (Files): Add lib/at-func.c.
46472         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
46473         openat-h, save-cwd. Remove fcntl-h, openat.
46474         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
46475         openat.
46476         * modules/selinux-at (Files): Add lib/at-func.c.
46477         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
46478         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
46479         * modules/symlinkat (Files): Add lib/at-func.c.
46480         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
46481         openat-h, save-cwd. Remove fcntl-h, openat.
46482         * modules/unlinkat (Files): Remove lib/openat.h.
46483         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
46484         stdbool.
46485         * modules/utimensat (Files): Add lib/at-func.c.
46486         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
46487         openat-die, openat-h, save-cwd.
46488         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
46489         * modules/fdutimensat-tests (Depends-on): Add openat.
46490         * modules/fstatat-tests (Depends-on): Add openat-h.
46491         * modules/readlinkat-tests (Depends-on): Add openat.
46492         * modules/symlinkat-tests (Depends-on): Add openat.
46494 2011-11-05  Bruno Haible  <bruno@clisp.org>
46496         openat: Include <stdbool.h>.
46497         * lib/openat.c: Include <stdbool.h>.
46499 2011-11-04  Bruno Haible  <bruno@clisp.org>
46501         fchownat, renameat, unlinkat: Fix dependencies.
46502         * modules/fchownat (Depends-on): Add fstatat.
46503         * modules/renameat (Depends-on): Likewise.
46504         * modules/unlinkat (Depends-on): Likewise.
46506 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
46508         openat: remove direct dependency on dirent
46509         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
46510         and hasn't been needed ever since fdopendir was split into its own
46511         module on 2009-08-31.
46512         * modules/openat (Depends-on): Remove dirent.
46514 2011-11-04  Bruno Haible  <bruno@clisp.org>
46516         renameat: Optimize code size.
46517         * modules/renameat (configure.ac): Don't compile at-func2.c if
46518         REPLACE_RENAMEAT is 1.
46520 2011-11-04  Bruno Haible  <bruno@clisp.org>
46522         openat tests: Fix file list.
46523         * modules/openat-tests (Files): Add tests/test-open.h.
46525 2011-11-04  Bruno Haible  <bruno@clisp.org>
46527         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
46528         * modules/fchmodat (Depends-on): Add openat-die.
46529         * modules/fchownat (Depends-on): Likewise.
46530         * modules/linkat (Depends-on): Likewise.
46531         * modules/renameat (Depends-on): Likewise.
46532         * modules/openat (Depends-on): Add dirent.
46534 2011-11-04  Jim Meyering  <meyering@redhat.com>
46536         at-func*.c: fix comments
46537         * lib/at-func2.c: Correct/improve first-line comment.
46538         * lib/at-func.c: Correct grammar in first-line comment.
46540 2011-11-04  Bruno Haible  <bruno@clisp.org>
46542         New module 'mkdirat', split off from module 'openat'.
46543         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
46544         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
46545         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
46546         * modules/mkdirat: New file, extracted from modules/openat.
46547         * modules/openat (Files): Remove lib/mkdirat.c.
46548         (Depends-on): Remove mkdir.
46549         (configure.ac): Remove AC_LIBOBJ of mkdirat.
46550         (Include): Remove <sys/stat.h>.
46551         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
46552         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
46553         tests/test-mkdir.h.
46554         (Depends-on): Remove ignore-value.
46555         (Makefile.am): Remove rules for test-mkdirat.
46556         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
46557         of module 'openat'.
46558         * NEWS: Mention the change.
46560 2011-11-04  Bruno Haible  <bruno@clisp.org>
46562         closedir: Avoid warning on mingw.
46563         * lib/closedir.c: Include <unistd.h>.
46565 2011-11-04  Bruno Haible  <bruno@clisp.org>
46567         New module 'fstatat', split off from module 'openat'.
46568         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
46569         defined.
46570         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
46571         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
46572         gl_FUNC_FSTATAT.
46573         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
46574         * modules/fstatat: New file, extracted from modules/openat.
46575         * modules/openat (Files): Remove lib/fstatat.c.
46576         (Depends-on): Remove lstat.
46577         (configure.ac): Remove AC_LIBOBJ of fstatat.
46578         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
46579         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
46580         tests/test-lstat.h, tests/test-stat.h.
46581         (Depends-on): Remove getcwd-lgpl.
46582         (Makefile.am): Remove rules for test-fstatat.
46583         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
46584         of module 'openat'.
46585         * NEWS: Mention the change.
46586         * modules/getcwd (Depends-on): Add fstatat.
46587         * modules/linkat (Depends-on): Likewise.
46588         * modules/mkfifoat-tests (Depends-on): Likewise.
46589         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
46591 2011-11-03  Bruno Haible  <bruno@clisp.org>
46593         New module 'unlinkat', split off from module 'openat'.
46594         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
46595         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
46596         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
46597         * modules/unlinkat: New file, extracted from modules/openat. Correct
46598         the dependency conditions.
46599         * modules/openat (Files): Remove lib/unlinkat.c.
46600         (Depends-on): Remove rmdir, unlink.
46601         (configure.ac): Remove AC_LIBOBJ of unlinkat.
46602         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
46603         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
46604         tests/test-rmdir.h, tests/test-unlink.h.
46605         (Depends-on): Remove unlinkdir.
46606         (Makefile.am): Remove rules for test-unlinkat.
46607         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
46608         of module 'openat'.
46609         * NEWS: Mention the change.
46610         * modules/linkat-tests (Depends-on): Add unlinkat.
46611         * modules/mkfifoat-tests (Depends-on): Likewise.
46612         * modules/readlinkat-tests (Depends-on): Likewise.
46614 2011-11-02  Bruno Haible  <bruno@clisp.org>
46616         New module 'fchmodat', split off from module 'openat'.
46617         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
46618         defined.
46619         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
46620         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
46621         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
46622         * modules/fchmodat: New file, extracted from modules/openat.
46623         * modules/openat (Files): Remove lib/fchmodat.c.
46624         (configure.ac): Remove AC_LIBOBJ of fchmodat.
46625         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
46626         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
46627         (Makefile.am): Remove rules for test-fchmodat.
46628         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
46629         of module 'openat'.
46630         * NEWS: Mention the change.
46632 2011-11-02  Jim Meyering  <meyering@redhat.com>
46634         putenv: indent #definition of "environ" to placate cppi
46635         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
46637         gitlog-to-changelog: provide a ChangeLog-repair mechanism
46638         Git logs are often treated as immutable, because editing them
46639         changes the SHA1 checksums of all descendants.  Thus, errors in
46640         git logs tend to stay there forever.  However, when we generate
46641         a ChangeLog file -- typically for distribution -- from that git log,
46642         we can actually make corrections in the generated file.  The key
46643         lies in recording in machine-readable/applicable form the desired
46644         corrections.  See --help for description and an example.
46645         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
46646         (usage): Describe it; alphabetize option descriptions.
46647         (main): Honor the new option, carefully.
46649 2011-11-01  Jim Meyering  <meyering@redhat.com>
46651         gitlog-to-changelog: avoid an infloop
46652         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
46653         that ends up being empty.
46655 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46657         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
46658         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
46659         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
46660         contains (possibly-quoted) backslashes.  This should avoid
46661         all-too-common shell bugs if COMPLICATED contains backslashes in
46662         the "wrong" places.  Reported by David Evans in
46663         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00013.html>.
46664         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
46665         because we want ASCII ranges.  Is there some reason we don't use
46666         the C locale everywhere in this script?
46667         (func_module, top level): Avoid unwanted pathname expansion when
46668         $repo_url_prefix or $repo_url_suffix_repl contain shell
46669         metacharacters like '?' and '*'.
46671 2011-11-01  Bruno Haible  <bruno@clisp.org>
46673         fchownat: Improve description.
46674         * modules/fchownat (Description): Add link to function.
46676 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46678         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
46679         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
46680         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00006.html>.
46681         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
46683 2011-11-01  Bruno Haible  <bruno@clisp.org>
46685         alignof: Avoid collision with stdalign module.
46686         * lib/alignof.h (alignof): Remove macro.
46687         * NEWS: Mention the change.
46688         Reported by Paul Eggert.
46690 2011-11-01  Bruno Haible  <bruno@clisp.org>
46692         New module 'fchownat', split off from module 'openat'.
46693         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
46694         defined.
46695         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
46696         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
46697         invoke gl_FUNC_FCHOWNAT.
46698         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
46699         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
46700         * modules/fchownat: New file, extracted from modules/openat.
46701         * modules/openat (Files): Remove lib/fchownat.c.
46702         (Depends-on): Remove lchown.
46703         (configure.ac): Remove AC_LIBOBJ of fchownat.
46704         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
46705         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
46706         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
46707         (Depends-on): Remove mgetgroups, usleep, stat-time.
46708         (configure.ac): Remove test for getegid.
46709         (Makefile.am): Remove rules for test-fchownat.
46710         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
46711         of module 'openat'.
46712         * NEWS: Mention the change.
46714 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
46716         stdalign: port better to MSVC and to Sun C 5.11
46717         This fixes some of the problems reported by Bruno Haible in
46718         <http://lists.gnu.org/r/bug-gnulib/2011-10/msg00300.html>.
46719         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
46720         shortcomings of MSVC and of Sun C 5.11.
46721         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
46722         around __declspec arg.
46723         * modules/stdalign-tests (Files): Add tests/macros.h.
46724         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
46725         Include macros.h, for ASSERT.
46726         (DECLARE_ALIGNED): Remove.
46727         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
46728         to catch bug), and to 1 if not (simplifies the rest of the code).
46729         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
46730         (CHECK_AUTO): Remove.
46731         (CHECK_ALIGNED): Check only the alignment of the static vars,
46732         since auto var alignment isn't supported by Sun C 5.11.
46733         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
46734         ASSERT failures are easier to diagnose.
46736 2011-10-31  Bruno Haible  <bruno@clisp.org>
46738         doc about some IRIX 5.3 problems.
46739         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
46740         on IRIX 5.3.
46741         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
46742         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
46743         5.3.
46744         * doc/posix-functions/grantpt.texi: Likewise.
46745         * doc/posix-functions/unlockpt.texi: Likewise.
46746         * doc/posix-functions/lgamma.texi: Likewise.
46747         * doc/posix-functions/nextafter.texi: Likewise.
46748         * doc/posix-functions/remainder.texi: Likewise.
46749         * doc/posix-functions/select.texi: Mention misplaced declaration on
46750         IRIX 5.3.
46751         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46753 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
46755         gitlog-to-changelog: fix git-log invocation.
46756         git-log mishandles date strings before 1970-01-01 UTC, and there is
46757         no use to specify --since=1970-01-01 by default anyway.
46758         * build-aux/gitlog-to-changelog: By default, when no --since option
46759         was given, do not specify explicit --since option to git-log.
46761 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
46763         gitlog-to-changelog: new option --append-dot.
46764         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
46765         first non-blank line of each commit message terminated with a dot.
46767 2011-10-30  Bruno Haible  <bruno@clisp.org>
46769         ffsl, ffsll: Avoid compilation error due to 'restrict'.
46770         * lib/ffsl.h: Include <config.h>.
46771         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
46773 2011-10-30  Jim Meyering  <meyering@redhat.com>
46775         GNUmakefile: reenable "make syntax-check" for most projects
46776         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
46777         build-aux variable", "syntax-check" would do nothing but succeed with
46778         the "No version control files detected..." diagnostic (unless you
46779         happened to override _build-aux via cfg.mk).
46780         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
46781         to precede inclusion of maint.mk.  Otherwise, these variables would
46782         be used undefined in any project that does not override the default.
46784 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
46786         gitlog-to-changelog: treat a message with only blank lines as empty.
46787         * build-aux/gitlog-to-changelog: Move the code that removes leading and
46788         trailing blank lines before the code that issues a warning about an
46789         empty commit message.
46791 2011-10-30  Jim Meyering  <meyering@redhat.com>
46793         test-parse-datetime.c: avoid new DST-related false positive test failure
46794         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
46795         based on the time/date we'll convert, not the current time.
46796         Otherwise, the moment we cross a DST boundary like today's in
46797         Europe, (CEST to CET), that offset ends up being one hour off.
46799 2011-10-27  Bruno Haible  <bruno@clisp.org>
46801         fstat: Tweak documentation.
46802         * modules/fstat (Description): More precise description.
46804 2011-10-27  Bruno Haible  <bruno@clisp.org>
46806         Update documentation regarding 'largefile' module.
46807         * doc/posix-functions/fstat.texi: Tweak wording.
46808         * doc/posix-functions/opendir.texi: Mention that the module fixes the
46809         problems with huge directories and/or small ino_t types.
46810         * doc/posix-functions/readdir.texi: Likewise.
46811         * doc/posix-functions/rewinddir.texi: Likewise.
46813 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
46815         maint.mk: don't maintain a second build-aux variable.
46816         * maint.mk (build_aux): Removed.  The maintainer-makefile module
46817         depends on GNUmakefile, which already maintains a cfg.mk
46818         overridable $(_build-aux) for projects with a non-standard
46819         build-aux directory location, although without the $(srcdir)
46820         prefix.  Use that variable consistently instead of introducing a
46821         second one.  Adjust all call sites.
46823 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
46825         Add stdalign module and use it in other modules.
46826         This is based on a previous proposal by Bruno Haible
46827         <https://lists.gnu.org/r/bug-gnulib/2011-07/msg00226.html>.
46829         stdalign: new module
46830         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
46831         * modules/stdalign: New files.
46832         * MODULES.html.sh (c1x_core_properties): Add stdalign.
46833         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
46835         stdalign-tests: new module
46836         * modules/stdalign-tests, tests/test-stdalign.c: New files.
46838         argp: use stdalign
46839         * lib/argp-parse.c: Include <stdalign.h>.
46840         (alignof): Remove.
46841         * modules/argp (Depends-on): Add stdalign.
46843         crypto libraries: use stdalign
46844         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
46845         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
46846         Do not include <stdlib.h> twice, in md4.c.
46847         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
46848         because we are accessing a pointer's bit-pattern, not a size.
46849         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
46850         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
46851         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
46852         * modules/crypto/sha512: Likewise.
46854         sys_socket: use stdalign, not alignof
46855         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
46856         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
46858 2011-10-27  Bruno Haible  <bruno@clisp.org>
46860         raise test: Avoid a test failure on Linux/MIPS.
46861         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
46862         because 99 is a valid signal on Linux/MIPS.
46864 2011-10-27  Bruno Haible  <bruno@clisp.org>
46866         nonblocking tests: Fix test failure on Linux/MIPS.
46867         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
46868         Set to 270000.
46870 2011-10-27  Bruno Haible  <bruno@clisp.org>
46872         utimensat: Work around problem on Linux/hppa.
46873         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
46874         values.
46875         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
46877 2011-10-25  Jim Meyering  <meyering@redhat.com>
46879         maint.mk: fix a bug in sc_prohibit_stddef_without_use
46880         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
46881         after symbols like NULL, size_t, etc.
46882         Reported by Alfred M. Szmidt.
46884         maint.mk: exempt ENODATA from a syntax-check rule
46885         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
46886         from the sc_prohibit_always-defined_macros syntax-check rule.
46887         Add a comment.  See this for more details:
46888         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
46890 2011-10-23  Jim Meyering  <meyering@redhat.com>
46892         fts: close parent dir FD before returning from post-traversal fts_read
46893         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
46894         unlink A, even though an FD open on A remained.  This is suboptimal
46895         (holding a file descriptor open longer than needed), but otherwise not
46896         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
46897         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
46898         that represents a real problem: it causes the removal of A to fail
46899         with e.g., "rm: cannot remove `A': Device or resource busy"
46901         fts visits each directory twice and keeps a cache (fts_fd_ring) of
46902         directory file descriptors.  After completing the final, FTS_DP,
46903         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
46904         cache, but then proceeded to add a new FD to it via the subsequent
46905         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
46906         final file descriptor would be closed only via fts_close's call to
46907         fd_ring_clear.  Now, it is usually closed earlier, via the final
46908         FTS_DP-returning fts_read call.
46909         * lib/fts.c (restore_initial_cwd): New function, converted from
46910         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
46911         Update callers.
46912         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
46913         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
46915 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
46916             Bruno Haible  <bruno@clisp.org>
46917             Jim Meyering  <jim@meyering.net>
46919         readme-release: improve safety of release prep instructions.
46920         * README-release: Don't git pull all branches when only master
46921         is needed for the release process.
46922         Run make maintainer-clean before changing trees and merging.
46923         Don't try to run ./configure right after git pull in case files
46924         that influence the bootstrap process have changed, move the
46925         ./configure step to after running ./bootstrap.
46926         Don't bootstrap "one last time"... it's the first time!
46928 2011-10-22  Bruno Haible  <bruno@clisp.org>
46930         errno, strerror-override: Support for MSVC 10.
46931         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
46932         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
46933         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
46934         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
46935         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
46936         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
46937         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
46938         Assign values compatible with MSVC 10.
46939         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
46940         New macros.
46941         (GNULIB_defined_EWINSOCK): New macro.
46942         * lib/strerror-override.c (strerror_override): Update accordingly.
46943         * lib/strerror-override.h: Likewise.
46944         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
46945         longer equal to the corresponding errno value.
46946         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
46948 2011-10-22  Bruno Haible  <bruno@clisp.org>
46950         perror: Recognize when test program crashes.
46951         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
46952         strerror, set gl_cv_func_perror_works to no.
46953         Reported by Daniel Richard G. <skunk@iskunk.org>.
46955         perror: Fix indentation.
46956         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
46958 2011-10-22  Bruno Haible  <bruno@clisp.org>
46960         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
46961         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
46962         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
46963         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
46964         functions, not as a macro.
46965         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
46966         macros.
46967         (isfinite, isinf, isnan, signbit): Check overloaded functions and
46968         absence of macro.
46969         Suggested by Eric Blake.
46970         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
46972 2011-10-21  Bruno Haible  <bruno@clisp.org>
46974         relocatable-prog-wrapper: Don't leave object files behind.
46975         * build-aux/install-reloc: Re-synchronize list of .o files to be
46976         removed with list of compilation units.
46978 2011-10-20  Bruno Haible  <bruno@clisp.org>
46980         openpty, posix_openpt: Remove code duplication.
46981         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
46982         * lib/openpty.c: Include <stdlib.h>.
46983         (openpty): Use posix_openpt on all platforms except IRIX.
46984         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
46986 2011-10-20  Bruno Haible  <bruno@clisp.org>
46988         unlockpt: Detect invalid argument.
46989         * lib/unlockpt.c: Include <fcntl.h>.
46990         (unlockpt): Check whether fd is valid, using fcntl().
46991         * modules/unlockpt (Depends-on): Add fcntl-h.
46993 2011-10-20  Bruno Haible  <bruno@clisp.org>
46995         openpty: Avoid compilation error on AIX 6.1.
46996         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
46998 2011-10-20  Bruno Haible  <bruno@clisp.org>
47000         posix_openpt: Support for OpenBSD.
47001         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
47002         (posix_openpt) [OpenBSD]: New code.
47003         * lib/grantpt.c: Include <fcntl.h>.
47004         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
47005         * modules/grantpt (Depends-on): Add fcntl-h.
47007 2011-10-20  Bruno Haible  <bruno@clisp.org>
47009         posix_openpt test: Coding style.
47010         * tests/test-posix_openpt.c: Use GNU coding style.
47012 2011-10-20  Bruno Haible  <bruno@clisp.org>
47014         grantpt: Support --avoid=pt_chown.
47015         * modules/grantpt (Files): Add lib/pty-private.h.
47017 2011-10-20  Bruno Haible  <bruno@clisp.org>
47019         posix_openpt: Fix autoconf macro.
47020         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
47021         unneeded check for _getpty.
47023 2011-10-20  Bruno Haible  <bruno@clisp.org>
47025         openpty: Update comments.
47026         * lib/openpty.c: Add comments about Minix.
47028 2011-10-19  Eric Blake  <eblake@redhat.com>
47030         openpty: relax license
47031         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
47033         pt_chown: use configmake to simplify build
47034         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
47036         ptsname and others: relax license
47037         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
47038         * modules/unlockpt (License): Likewise.
47039         * modules/pt_chown (License): Likewise.
47040         * modules/ptsname (License): Likewise.
47041         * modules/ttyname_r (License): Likewise.
47043 2011-10-19  Jim Meyering  <meyering@redhat.com>
47045         posix_openpt: remove spurious #endif
47046         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
47048 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
47050         maint.mk: Respect $(build_aux) in web-manual rule.
47051         * top/maint.mk (web-manual): Find gen-announce script in user's
47052         $(build_aux) directory instead of hard-coding 'build-aux'.
47054 2011-10-19  Bruno Haible  <bruno@clisp.org>
47056         posix_openpt: Fix compilation error.
47057         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
47058         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
47059         Mention the openpty module as an alternative.
47061 2011-10-19  Bruno Haible  <bruno@clisp.org>
47063         Support for old NeXTstep 3.3 frexp().
47064         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
47065         execution time of the test to 5 seconds.
47066         Reported by Daniel Richard G. <skunk@iskunk.org>.
47068 2011-10-19  Bruno Haible  <bruno@clisp.org>
47070         Support for old NeXTstep 3.3 sed.
47071         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
47072         part, use /.../, not \|...|. Escape periods in the header file name.
47073         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
47074         Reported by Daniel Richard G. <skunk@iskunk.org>.
47076 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
47078         Support for old NeXTstep 3.3 gcc.
47079         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
47080         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
47081         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
47082         * lib/spawn.in.h (_Restrict_arr_): Likewise.
47083         * lib/regex.h (_Restrict_arr_): Likewise.
47084         * lib/regex_internal.h (re_token_t): Likewise.
47085         * lib/regexec.c (check_node_accept_bytes): Likewise.
47086         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
47088 2011-10-18  Eric Blake  <eblake@redhat.com>
47090         posix_openpt: new module
47091         * modules/posix_openpt: New module.
47092         * m4/posix_openpt.m4: New file.
47093         * lib/posix_openpt.c: Likewise.
47094         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
47095         (gl_STDLIB_H_DEFAULTS): Set defaults.
47096         * modules/stdlib (Makefile.am): Substitute macros.
47097         * lib/stdlib.in.h (posix_openpt): Declare.
47098         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
47099         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
47100         * modules/posix_openpt-tests: New test module.
47101         * tests/test-posix_openpt.c: New test.
47103 2011-10-15  Bruno Haible  <bruno@clisp.org>
47105         xstrtoll: Fix compilation failure.
47106         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
47107         from lib/strtol.c.
47108         * doc/posix-headers/limits.texi: Mention missing numerical limits on
47109         some platforms.
47110         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47112 2011-10-15  Bruno Haible  <bruno@clisp.org>
47114         vasnprintf: Optimize bit search operation.
47115         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
47116         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
47117         gl_DOUBLE_EXPONENT_LOCATION.
47118         * modules/vasnprintf (Files): Add m4/exponentd.m4.
47119         * modules/unistdio/u8-vasnprintf (Files): Likewise.
47120         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
47121         * modules/unistdio/u16-vasnprintf (Files): Likewise.
47122         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
47123         * modules/unistdio/u32-vasnprintf (Files): Likewise.
47124         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
47125         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
47126         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
47128 2011-10-15  Bruno Haible  <bruno@clisp.org>
47130         vasnprintf: Fix comments.
47131         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
47133 2011-10-14  Bruno Haible  <bruno@clisp.org>
47135         Tests for module 'integer_length_ll'.
47136         * modules/integer_length_ll-tests: New file.
47137         * tests/test-integer_length_ll.c: New file.
47139         New module 'integer_length_ll'.
47140         * lib/integer_length_ll.c: New file.
47141         * modules/integer_length_ll: New file.
47143 2011-10-14  Bruno Haible  <bruno@clisp.org>
47145         Tests for module 'integer_length_l'.
47146         * modules/integer_length_l-tests: New file.
47147         * tests/test-integer_length_l.c: New file.
47149         New module 'integer_length_l'.
47150         * lib/integer_length_l.c: New file.
47151         * modules/integer_length_l: New file.
47153 2011-10-14  Bruno Haible  <bruno@clisp.org>
47155         Tests for module 'integer_length'.
47156         * modules/integer_length-tests: New file.
47157         * tests/test-integer_length.c: New file.
47159         New module 'integer_length'.
47160         * lib/integer_length.h: New file.
47161         * lib/integer_length.c: New file.
47162         * modules/integer_length: New file.
47164 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
47166         popen: Fix dependency conditions.
47167         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
47169 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
47171         perror: Fix autoconf test.
47172         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
47173         <stdlib.h> and <string.h>.
47175 2011-10-14  Bruno Haible  <bruno@clisp.org>
47177         ffsl: Optimize on 64-bit platforms.
47178         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
47179         unrolling.
47181 2011-10-13  Bruno Haible  <bruno@clisp.org>
47183         ffsl: Optimize on 32-bit platforms.
47184         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
47185         use ffs() without a loop.
47187         ffsl, ffsll: Optimize for GCC.
47188         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
47189         * lib/ffsl.c (GCC_BUILTIN): New macro.
47190         * lib/ffsll.c (GCC_BUILTIN): Likewise.
47192 2011-10-13  Bruno Haible  <bruno@clisp.org>
47194         ffs, bcopy, memset: Support symbol renaming via config.h.
47195         * lib/ffs.c: Include <config.h>.
47196         * lib/bcopy.c: Likewise.
47197         * lib/memset.c: Likewise.
47199 2011-10-10  Bruno Haible  <bruno@clisp.org>
47201         atanl: Simplify for platforms where 'long double' == 'double'.
47202         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47203         alternative implementation.
47204         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47205         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47206         * modules/atanl (Depends-on): Add atan. Update conditions.
47208 2011-10-10  Bruno Haible  <bruno@clisp.org>
47210         acosl: Simplify for platforms where 'long double' == 'double'.
47211         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47212         alternative implementation.
47213         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47214         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47215         * modules/acosl (Depends-on): Add acos. Update conditions.
47217 2011-10-10  Bruno Haible  <bruno@clisp.org>
47219         asinl: Simplify for platforms where 'long double' == 'double'.
47220         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47221         alternative implementation.
47222         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47223         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47224         * modules/asinl (Depends-on): Add asin. Update conditions.
47226 2011-10-10  Bruno Haible  <bruno@clisp.org>
47228         tanl: Simplify for platforms where 'long double' == 'double'.
47229         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
47230         implementation.
47231         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47232         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47233         * modules/tanl (Depends-on): Add tan. Update conditions.
47234         (configure.ac): Don't compile trigl.c if
47235         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47237 2011-10-10  Bruno Haible  <bruno@clisp.org>
47239         cosl: Simplify for platforms where 'long double' == 'double'.
47240         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
47241         implementation.
47242         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47243         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47244         * modules/cosl (Depends-on): Add cos. Update conditions.
47245         (configure.ac): Don't compile sincosl.c and trigl.c if
47246         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47248 2011-10-10  Bruno Haible  <bruno@clisp.org>
47250         sinl: Simplify for platforms where 'long double' == 'double'.
47251         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
47252         implementation.
47253         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47254         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47255         * modules/sinl (Depends-on): Add sin. Update conditions.
47256         (configure.ac): Don't compile sincosl.c and trigl.c if
47257         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47259 2011-10-10  Bruno Haible  <bruno@clisp.org>
47261         logl: Simplify for platforms where 'long double' == 'double'.
47262         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
47263         implementation.
47264         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47265         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47266         * modules/logl (Depends-on): Add log. Update conditions.
47268 2011-10-10  Bruno Haible  <bruno@clisp.org>
47270         expl: Simplify for platforms where 'long double' == 'double'.
47271         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
47272         implementation.
47273         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47274         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47275         * modules/expl (Depends-on): Add exp. Update conditions.
47277 2011-10-10  Bruno Haible  <bruno@clisp.org>
47279         sqrtl: Simplify for platforms where 'long double' == 'double'.
47280         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47281         alternative implementation.
47282         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47283         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47284         * modules/sqrtl (Depends-on): Update conditions.
47286 2011-10-10  Bruno Haible  <bruno@clisp.org>
47288         ldexpl: Simplify for platforms where 'long double' == 'double'.
47289         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47290         alternative implementation.
47291         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47292         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47293         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
47295 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
47297         ffsll: set correct witness
47298         * modules/ffsll (configure.ac): Fix typo.
47300 2011-10-10  Bruno Haible  <bruno@clisp.org>
47302         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
47303         * lib/printf-frexpl.c: Include <config.h>.
47304         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47305         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
47306         second time.
47307         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
47308         gl_LONG_DOUBLE_VS_DOUBLE.
47309         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
47310         conditions.
47312 2011-10-10  Bruno Haible  <bruno@clisp.org>
47314         frexpl: Simplify for platforms where 'long double' == 'double'.
47315         * lib/frexpl.c: Include <config.h>.
47316         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47317         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47318         time.
47319         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47320         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47321         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
47322         * modules/frexpl (Depends-on): Add frexp. Update conditions.
47323         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
47324         conditions.
47326 2011-10-10  Jim Meyering  <meyering@redhat.com>
47328         test-renameat: don't leave behind a temporary file
47329         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
47330           ERROR: files left in build directory after distclean:
47331           ./gltests/test-renameat.too
47332           make[1]: *** [distcleancheck] Error 1
47333         Reported by Tom G. Christensen.
47335 2011-10-09  Bruno Haible  <bruno@clisp.org>
47337         rint: Determine RINT_LIBM correctly on AIX 7.
47338         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
47339         directly, not only through a function pointer. Also accept an optional
47340         4th argument with extra code.
47341         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
47342         rintf() call by gcc when optimizing.
47344         mathfunc.m4: Refactor.
47345         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
47346         m4 variable.
47348 2011-10-09  Bruno Haible  <bruno@clisp.org>
47350         rintl: Simplify for platforms where 'long double' == 'double'.
47351         * lib/rintl.c: Include <config.h>.
47352         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47353         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47354         time.
47355         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47356         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47357         * modules/rintl (Depends-on): Add rint. Update conditions.
47359 2011-10-09  Bruno Haible  <bruno@clisp.org>
47361         roundl: Simplify for platforms where 'long double' == 'double'.
47362         * lib/roundl.c: Include <config.h>.
47363         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47364         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47365         time.
47366         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47367         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47368         * modules/roundl (Depends-on): Add round. Update conditions.
47370 2011-10-09  Bruno Haible  <bruno@clisp.org>
47372         truncl: Simplify for platforms where 'long double' == 'double'.
47373         * lib/truncl.c: Include <config.h>.
47374         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47375         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47376         time.
47377         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47378         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47379         * modules/truncl (Depends-on): Add trunc. Update conditions.
47381 2011-10-09  Bruno Haible  <bruno@clisp.org>
47383         ceill: Simplify for platforms where 'long double' == 'double'.
47384         * lib/ceill.c: Include <config.h>.
47385         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47386         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47387         time.
47388         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47389         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47390         * modules/ceill (Depends-on): Add ceil. Update conditions.
47392 2011-10-09  Bruno Haible  <bruno@clisp.org>
47394         floorl: Simplify for platforms where 'long double' == 'double'.
47395         * lib/floorl.c: Include <config.h>.
47396         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47397         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47398         time.
47399         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47400         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47401         * modules/floorl (Depends-on): Add floor. Update conditions.
47403 2011-10-09  Bruno Haible  <bruno@clisp.org>
47405         rint: Fix ordering constraints.
47406         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
47407         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
47408         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
47410 2011-10-09  Bruno Haible  <bruno@clisp.org>
47412         copysignl: Simplify for platforms where 'long double' == 'double'.
47413         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47414         alternative.
47415         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47416         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47417         * modules/copysignl (Depends-on): Add copysign. Update conditions.
47419 2011-10-09  Bruno Haible  <bruno@clisp.org>
47421         Tests for module 'rintl'.
47422         * modules/rintl-tests: New file.
47423         * tests/test-rintl.c: New file.
47425         New module 'rintl'.
47426         * lib/math.in.h (rintl): New declaration.
47427         * lib/rintl.c: New file.
47428         * m4/rintl.m4: New file.
47429         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
47430         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
47431         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
47432         * modules/rintl: New file.
47433         * tests/test-math-c++.cc: Check the declaration of rintl.
47434         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
47435         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
47436         * doc/posix-functions/rintl.texi: Mention the new module.
47438 2011-10-09  Bruno Haible  <bruno@clisp.org>
47440         Tests for module 'rintf'.
47441         * modules/rintf-tests: New file.
47442         * tests/test-rintf.c: New file.
47444         New module 'rintf'.
47445         * lib/math.in.h (rintf): New declaration.
47446         * lib/rintf.c: New file.
47447         * m4/rintf.m4: New file.
47448         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
47449         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
47450         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
47451         * modules/rintf: New file.
47452         * tests/test-math-c++.cc: Check the declaration of rintf.
47453         * doc/posix-functions/rintf.texi: Mention the new module.
47455 2011-10-09  Bruno Haible  <bruno@clisp.org>
47457         rint: Support for MSVC.
47458         * lib/math.in.h (rint): New declaration.
47459         * lib/rint.c: New file.
47460         * m4/rint.m4: New file.
47461         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
47462         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
47463         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
47464         * modules/rint (Description): Fix.
47465         (Files): Add lib/rint.c, m4/rint.m4.
47466         (Depends-on): Add math.
47467         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
47468         gl_MATH_MODULE_INDICATOR.
47469         * tests/test-math-c++.cc: Check the declaration of rint.
47470         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
47471         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
47472         * doc/posix-functions/rint.texi: Mention the replacement provided by
47473         the module.
47475         rint tests: More tests.
47476         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
47477         minus-zero.h, infinity.h, nan.h.
47478         (main): Skip the test if the current rounding mode is not standard. Add
47479         tests for negative numbers, minus zero, infinity, NaN.
47480         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
47481         tests/nan.h.
47482         (Depends-on): Add isnand-nolibm.
47484 2011-10-09  Bruno Haible  <bruno@clisp.org>
47486         Tests for module 'copysignl'.
47487         * modules/copysignl-tests: New file.
47488         * tests/test-copysignl.c: New file.
47490         New module 'copysignl'.
47491         * lib/math.in.h (copysignl): New declaration.
47492         * lib/copysignl.c: New file.
47493         * m4/copysignl.m4: New file.
47494         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
47495         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
47496         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
47497         HAVE_COPYSIGNL.
47498         * modules/copysignl: New file.
47499         * tests/test-math-c++.cc: Check the declaration of copysignl.
47500         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
47501         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
47502         * doc/posix-functions/copysignl.texi: Mention the new module.
47504 2011-10-09  Bruno Haible  <bruno@clisp.org>
47506         Tests for module 'copysignf'.
47507         * modules/copysignf-tests: New file.
47508         * tests/test-copysignf.c: New file.
47510         New module 'copysignf'.
47511         * lib/math.in.h (copysignf): New declaration.
47512         * lib/copysignf.c: New file.
47513         * m4/copysignf.m4: New file.
47514         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
47515         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
47516         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
47517         HAVE_COPYSIGNF.
47518         * modules/copysignf: New file.
47519         * tests/test-math-c++.cc: Check the declaration of copysignf.
47520         * doc/posix-functions/copysignf.texi: Mention the new module.
47522 2011-10-09  Bruno Haible  <bruno@clisp.org>
47524         Ensure that HAVE_* variables are set to 1 before they are set to 0.
47525         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
47526         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
47527         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
47528         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
47529         gl_SIGNAL_H_DEFAULTS.
47531 2011-10-09  Bruno Haible  <bruno@clisp.org>
47533         poll: Make macro safer.
47534         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
47535         ac_cv_header_poll_h is not set.
47537 2011-10-09  Bruno Haible  <bruno@clisp.org>
47539         copysign: Provide replacement.
47540         * lib/math.in.h (copysign): New declaration.
47541         * lib/copysign.c: New file.
47542         * m4/copysign.m4: New file.
47543         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
47544         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
47545         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
47546         HAVE_COPYSIGN.
47547         * modules/copysign (Description): Clarify.
47548         (Files): Add lib/copysign.c, m4/copysign.m4.
47549         (Depends-on): Add math, signbit.
47550         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
47551         gl_MATH_MODULE_INDICATOR.
47552         * tests/test-math-c++.cc: Check the declaration of copysign.
47553         * doc/posix-functions/copysign.texi: Mention the effects of the module
47554         on Minix and MSVC.
47556 2011-10-09  Bruno Haible  <bruno@clisp.org>
47558         isinf: Ensure macro on AIX 5.1.
47559         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
47560         macro.
47561         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
47563 2011-10-09  Bruno Haible  <bruno@clisp.org>
47565         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
47566         * modules/snprintf-posix-tests (configure.ac): Require
47567         gl_LONG_DOUBLE_VS_DOUBLE.
47568         * modules/sprintf-posix-tests (configure.ac): Likewise.
47569         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
47570         * modules/vasprintf-posix-tests (configure.ac): Likewise.
47571         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
47572         * modules/vsprintf-posix-tests (configure.ac): Likewise.
47573         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
47574         tests on platforms where 'long double' is the same as 'double'.
47575         * tests/test-sprintf-posix.h (test_function): Likewise.
47576         * tests/test-vasnprintf-posix.c (test_function): Likewise.
47577         * tests/test-vasprintf-posix.c (test_function): Likewise.
47579         *printf: Fix for platforms where 'long double' == 'double'.
47580         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
47581         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
47582         * modules/dprintf-posix (Files): Add m4/math_h.m4.
47583         * modules/fprintf-posix (Files): Likewise.
47584         * modules/obstack-printf-posix (Files): Likewise.
47585         * modules/snprintf-posix (Files): Likewise.
47586         * modules/sprintf-posix (Files): Likewise.
47587         * modules/vasnprintf (Files): Likewise.
47588         * modules/vasnprintf-posix (Files): Likewise.
47589         * modules/vasprintf-posix (Files): Likewise.
47590         * modules/vdprintf-posix (Files): Likewise.
47591         * modules/vfprintf-posix (Files): Likewise.
47592         * modules/vsnprintf-posix (Files): Likewise.
47593         * modules/vsprintf-posix (Files): Likewise.
47594         * modules/unistdio/u8-vasnprintf (Files): Likewise.
47595         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
47596         * modules/unistdio/u16-vasnprintf (Files): Likewise.
47597         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
47598         * modules/unistdio/u32-vasnprintf (Files): Likewise.
47599         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
47600         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
47602         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
47603         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
47604         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47605         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
47606         'long double'.
47607         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
47609         isinf: Fix for platforms where 'long double' == 'double'.
47610         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
47611         Don't blindly assume 80-bit 'long double'.
47613         isfinite: Fix for platforms where 'long double' == 'double'.
47614         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
47615         Don't blindly assume 80-bit 'long double'.
47617         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
47618         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
47619         * modules/isfinite-tests (configure.ac): Require
47620         gl_LONG_DOUBLE_VS_DOUBLE.
47621         * modules/isinf-tests (configure.ac): Likewise.
47622         * modules/isnan-tests (configure.ac): Likewise.
47623         * modules/isnanl-tests (configure.ac): Likewise.
47624         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
47625         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
47626         tests on platforms where 'long double' is the same as 'double'.
47627         * tests/test-isinf.c (test_isinfl): Likewise.
47628         * tests/test-isnan.c (test_long_double): Likewise.
47629         * tests/test-isnanl.h (main): Likewise.
47631 2011-10-08  Bruno Haible  <bruno@clisp.org>
47633         Tests for module 'tanhf'.
47634         * modules/tanhf-tests: New file.
47635         * tests/test-tanhf.c: New file.
47637         New module 'tanhf'.
47638         * lib/math.in.h (tanhf): New declaration.
47639         * lib/tanhf.c: New file.
47640         * m4/tanhf.m4: New file.
47641         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
47642         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
47643         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
47644         * modules/tanhf: New file.
47645         * tests/test-math-c++.cc: Check the declaration of tanhf.
47646         * doc/posix-functions/tanhf.texi: Mention the new module.
47648         tanh: Use a .m4 file.
47649         * m4/tanh.m4: New file.
47650         * modules/tanh (Files): Add it.
47651         (configure.ac): Just invoke gl_FUNC_TANH.
47653 2011-10-08  Bruno Haible  <bruno@clisp.org>
47655         Tests for module 'coshf'.
47656         * modules/coshf-tests: New file.
47657         * tests/test-coshf.c: New file.
47659         New module 'coshf'.
47660         * lib/math.in.h (coshf): New declaration.
47661         * lib/coshf.c: New file.
47662         * m4/coshf.m4: New file.
47663         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
47664         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
47665         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
47666         * modules/coshf: New file.
47667         * tests/test-math-c++.cc: Check the declaration of coshf.
47668         * doc/posix-functions/coshf.texi: Mention the new module.
47670         cosh: Use a .m4 file.
47671         * m4/cosh.m4: New file.
47672         * modules/cosh (Files): Add it.
47673         (configure.ac): Just invoke gl_FUNC_COSH.
47675 2011-10-08  Bruno Haible  <bruno@clisp.org>
47677         Tests for module 'sinhf'.
47678         * modules/sinhf-tests: New file.
47679         * tests/test-sinhf.c: New file.
47681         New module 'sinhf'.
47682         * lib/math.in.h (sinhf): New declaration.
47683         * lib/sinhf.c: New file.
47684         * m4/sinhf.m4: New file.
47685         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
47686         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
47687         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
47688         * modules/sinhf: New file.
47689         * tests/test-math-c++.cc: Check the declaration of sinhf.
47690         * doc/posix-functions/sinhf.texi: Mention the new module.
47692         sinh: Use a .m4 file.
47693         * m4/sinh.m4: New file.
47694         * modules/sinh (Files): Add it.
47695         (configure.ac): Just invoke gl_FUNC_SINH.
47697 2011-10-08  Bruno Haible  <bruno@clisp.org>
47699         Tests for module 'atan2f'.
47700         * modules/atan2f-tests: New file.
47701         * tests/test-atan2f.c: New file.
47703         New module 'atan2f'.
47704         * lib/math.in.h (atan2f): New declaration.
47705         * lib/atan2f.c: New file.
47706         * m4/atan2f.m4: New file.
47707         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
47708         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
47709         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
47710         * modules/atan2f: New file.
47711         * tests/test-math-c++.cc: Check the declaration of atan2f.
47712         * doc/posix-functions/atan2f.texi: Mention the new module.
47714         atan2: Use a .m4 file.
47715         * m4/atan2.m4: New file.
47716         * modules/atan2 (Files): Add it.
47717         (configure.ac): Just invoke gl_FUNC_ATAN2.
47719 2011-10-08  Bruno Haible  <bruno@clisp.org>
47721         Tests for module 'atanf'.
47722         * modules/atanf-tests: New file.
47723         * tests/test-atanf.c: New file.
47725         New module 'atanf'.
47726         * lib/math.in.h (atanf): New declaration.
47727         * lib/atanf.c: New file.
47728         * m4/atanf.m4: New file.
47729         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
47730         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
47731         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
47732         * modules/atanf: New file.
47733         * tests/test-math-c++.cc: Check the declaration of atanf.
47734         * doc/posix-functions/atanf.texi: Mention the new module.
47736         atan: Use a .m4 file.
47737         * m4/atan.m4: New file.
47738         * modules/atan (Files): Add it.
47739         (configure.ac): Just invoke gl_FUNC_ATAN.
47741 2011-10-08  Bruno Haible  <bruno@clisp.org>
47743         Tests for module 'acosf'.
47744         * modules/acosf-tests: New file.
47745         * tests/test-acosf.c: New file.
47747         New module 'acosf'.
47748         * lib/math.in.h (acosf): New declaration.
47749         * lib/acosf.c: New file.
47750         * m4/acosf.m4: New file.
47751         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
47752         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
47753         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
47754         * modules/acosf: New file.
47755         * tests/test-math-c++.cc: Check the declaration of acosf.
47756         * doc/posix-functions/acosf.texi: Mention the new module.
47758         acos: Use a .m4 file.
47759         * m4/acos.m4: New file.
47760         * modules/acos (Files): Add it.
47761         (configure.ac): Just invoke gl_FUNC_ACOS.
47763 2011-10-08  Bruno Haible  <bruno@clisp.org>
47765         Tests for module 'asinf'.
47766         * modules/asinf-tests: New file.
47767         * tests/test-asinf.c: New file.
47769         New module 'asinf'.
47770         * lib/math.in.h (asinf): New declaration.
47771         * lib/asinf.c: New file.
47772         * m4/asinf.m4: New file.
47773         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
47774         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
47775         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
47776         * modules/asinf: New file.
47777         * tests/test-math-c++.cc: Check the declaration of asinf.
47778         * doc/posix-functions/asinf.texi: Mention the new module.
47780         asin: Use a .m4 file.
47781         * m4/asin.m4: New file.
47782         * modules/asin (Files): Add it.
47783         (configure.ac): Just invoke gl_FUNC_ASIN.
47785 2011-10-08  Bruno Haible  <bruno@clisp.org>
47787         Tests for module 'tanf'.
47788         * modules/tanf-tests: New file.
47789         * tests/test-tanf.c: New file.
47791         New module 'tanf'.
47792         * lib/math.in.h (tanf): New declaration.
47793         * lib/tanf.c: New file.
47794         * m4/tanf.m4: New file.
47795         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
47796         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
47797         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
47798         * modules/tanf: New file.
47799         * tests/test-math-c++.cc: Check the declaration of tanf.
47800         * doc/posix-functions/tanf.texi: Mention the new module.
47802         tan: Use a .m4 file.
47803         * m4/tan.m4: New file.
47804         * modules/tan (Files): Add it.
47805         (configure.ac): Just invoke gl_FUNC_TAN.
47807 2011-10-08  Bruno Haible  <bruno@clisp.org>
47809         Tests for module 'cosf'.
47810         * modules/cosf-tests: New file.
47811         * tests/test-cosf.c: New file.
47813         New module 'cosf'.
47814         * lib/math.in.h (cosf): New declaration.
47815         * lib/cosf.c: New file.
47816         * m4/cosf.m4: New file.
47817         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
47818         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
47819         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
47820         * modules/cosf: New file.
47821         * tests/test-math-c++.cc: Check the declaration of cosf.
47822         * doc/posix-functions/cosf.texi: Mention the new module.
47824         cos: Use a .m4 file.
47825         * m4/cos.m4: New file.
47826         * modules/cos (Files): Add it.
47827         (configure.ac): Just invoke gl_FUNC_COS.
47829 2011-10-08  Bruno Haible  <bruno@clisp.org>
47831         Tests for module 'sinf'.
47832         * modules/sinf-tests: New file.
47833         * tests/test-sinf.c: New file.
47835         New module 'sinf'.
47836         * lib/math.in.h (sinf): New declaration.
47837         * lib/sinf.c: New file.
47838         * m4/sinf.m4: New file.
47839         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
47840         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
47841         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
47842         * modules/sinf: New file.
47843         * tests/test-math-c++.cc: Check the declaration of sinf.
47844         * doc/posix-functions/sinf.texi: Mention the new module.
47846         sin: Use a .m4 file.
47847         * m4/sin.m4: New file.
47848         * modules/sin (Files): Add it.
47849         (configure.ac): Just invoke gl_FUNC_SIN.
47851 2011-10-08  Bruno Haible  <bruno@clisp.org>
47853         Tests for module 'powf'.
47854         * modules/powf-tests: New file.
47855         * tests/test-powf.c: New file.
47857         New module 'powf'.
47858         * lib/math.in.h (powf): New declaration.
47859         * lib/powf.c: New file.
47860         * m4/powf.m4: New file.
47861         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
47862         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
47863         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
47864         * modules/powf: New file.
47865         * tests/test-math-c++.cc: Check the declaration of powf.
47866         * doc/posix-functions/powf.texi: Mention the new module.
47868         pow: Use a .m4 file.
47869         * m4/pow.m4: New file.
47870         * modules/pow (Files): Add it.
47871         (configure.ac): Just invoke gl_FUNC_POW.
47873 2011-10-08  Bruno Haible  <bruno@clisp.org>
47875         Tests for module 'log10f'.
47876         * modules/log10f-tests: New file.
47877         * tests/test-log10f.c: New file.
47879         New module 'log10f'.
47880         * lib/math.in.h (log10f): New declaration.
47881         * lib/log10f.c: New file.
47882         * m4/log10f.m4: New file.
47883         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
47884         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
47885         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
47886         * modules/log10f: New file.
47887         * tests/test-math-c++.cc: Check the declaration of log10f.
47888         * doc/posix-functions/log10f.texi: Mention the new module.
47890         log10: Use a .m4 file.
47891         * m4/log10.m4: New file.
47892         * modules/log10 (Files): Add it.
47893         (configure.ac): Just invoke gl_FUNC_LOG10.
47895 2011-10-08  Bruno Haible  <bruno@clisp.org>
47897         Tests for module 'logf'.
47898         * modules/logf-tests: New file.
47899         * tests/test-logf.c: New file.
47901         New module 'logf'.
47902         * lib/math.in.h (logf): New declaration.
47903         * lib/logf.c: New file.
47904         * m4/logf.m4: New file.
47905         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
47906         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
47907         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
47908         * modules/logf: New file.
47909         * tests/test-math-c++.cc: Check the declaration of logf.
47910         * doc/posix-functions/logf.texi: Mention the new module.
47912         log: Use a .m4 file.
47913         * m4/log.m4: New file.
47914         * modules/log (Files): Add it.
47915         (configure.ac): Just invoke gl_FUNC_LOG.
47917 2011-10-08  Bruno Haible  <bruno@clisp.org>
47919         Tests for module 'expf'.
47920         * modules/expf-tests: New file.
47921         * tests/test-expf.c: New file.
47923         New module 'expf'.
47924         * lib/math.in.h (expf): New declaration.
47925         * lib/expf.c: New file.
47926         * m4/expf.m4: New file.
47927         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
47928         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
47929         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
47930         * modules/expf: New file.
47931         * tests/test-math-c++.cc: Check the declaration of expf.
47932         * doc/posix-functions/expf.texi: Mention the new module.
47934         exp: Use a .m4 file.
47935         * m4/exp.m4: New file.
47936         * modules/exp (Files): Add it.
47937         (configure.ac): Just invoke gl_FUNC_EXP.
47939 2011-10-08  Bruno Haible  <bruno@clisp.org>
47941         Tests for module 'sqrtf'.
47942         * modules/sqrtf-tests: New file.
47943         * tests/test-sqrtf.c: New file.
47945         New module 'sqrtf'.
47946         * lib/math.in.h (sqrtf): New declaration.
47947         * lib/sqrtf.c: New file.
47948         * m4/sqrtf.m4: New file.
47949         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
47950         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
47951         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
47952         * modules/sqrtf: New file.
47953         * tests/test-math-c++.cc: Check the declaration of sqrtf.
47954         * doc/posix-functions/sqrtf.texi: Mention the new module.
47956 2011-10-08  Bruno Haible  <bruno@clisp.org>
47958         Tests: Avoid link failures w.r.t. libintl.
47959         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
47960         $(LIBINTL).
47961         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
47962         $(LIBINTL).
47963         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
47964         against $(LIBINTL).
47965         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
47966         $(LIBINTL).
47967         * modules/openat-tests (Makefile.am): Link test-fchmodat against
47968         $(LIBINTL).
47969         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
47971 2011-10-08  Bruno Haible  <bruno@clisp.org>
47973         pow tests: Defeat compiler optimizations.
47974         * tests/test-pow.c (main): Assign arguments to x and y before use.
47976 2011-10-08  Bruno Haible  <bruno@clisp.org>
47978         gnulib-tool: Improve last commit.
47979         * gnulib-tool (func_modules_transitive_closure): Simplify code.
47980         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
47981         ignore dependencies that are not among the modules list.
47983 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
47985         gnulib-tool: don't follow dependencies to avoided modules
47986         This fixes a bug that is related to the previous one.
47987         * gnulib-tool (func_modules_transitive_closure)
47988         (func_emit_autoconf_snippets):
47989         Check whether a dependency is acceptable before using it.
47990         (--extract-dependencies): Report an error if --avoid is also used,
47991         since this combination of options is not yet supported.
47993         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
47994         Problem reported by Peter Dyballa in
47995         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
47996         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
47997         when echoing "$condition".
47999 2011-10-07  Bruno Haible  <bruno@clisp.org>
48001         Fix documentation about math functions on MacOS X.
48002         * doc/posix-functions/exp2.texi: Don't say the function is missing on
48003         MacOS X 10.5.
48004         * doc/posix-functions/fdim.texi: Likewise.
48005         * doc/posix-functions/feclearexcept.texi: Likewise.
48006         * doc/posix-functions/fegetenv.texi: Likewise.
48007         * doc/posix-functions/fegetround.texi: Likewise.
48008         * doc/posix-functions/feholdexcept.texi: Likewise.
48009         * doc/posix-functions/feraiseexcept.texi: Likewise.
48010         * doc/posix-functions/fesetenv.texi: Likewise.
48011         * doc/posix-functions/fesetround.texi: Likewise.
48012         * doc/posix-functions/fetestexcept.texi: Likewise.
48013         * doc/posix-functions/feupdateenv.texi: Likewise.
48014         * doc/posix-functions/fmax.texi: Likewise.
48015         * doc/posix-functions/fmin.texi: Likewise.
48016         * doc/posix-functions/log2.texi: Likewise.
48017         * doc/posix-functions/modff.texi: Likewise.
48018         * doc/posix-functions/nan.texi: Likewise.
48019         * doc/posix-functions/nanf.texi: Likewise.
48020         * doc/posix-functions/nextafterf.texi: Likewise.
48021         * doc/posix-functions/remquo.texi: Likewise.
48023 2011-10-07  Bruno Haible  <bruno@clisp.org>
48025         modff: Drop assumption about library that defines modff.
48026         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
48027         AC_CHECK_FUNCS.
48028         * modules/modff (Files): Add m4/mathfunc.m4.
48030 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
48032         raise tests: Avoid a GCC warning.
48033         * tests/test-raise.c (handler): Use _Noreturn.
48035 2011-10-07  Bruno Haible  <bruno@clisp.org>
48037         Tests for module 'ldexpf'.
48038         * modules/ldexpf-tests: New file.
48039         * tests/test-ldexpf.c: New file.
48041         New module 'ldexpf'.
48042         * lib/math.in.h (ldexpf): New declaration.
48043         * lib/ldexpf.c: New file.
48044         * m4/ldexpf.m4: New file.
48045         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
48046         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
48047         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
48048         * modules/ldexpf: New file.
48049         * tests/test-math-c++.cc: Check the declaration of ldexpf.
48050         * doc/posix-functions/ldexpf.texi: Mention the new module.
48052 2011-10-06  Bruno Haible  <bruno@clisp.org>
48054         frexpf: Work around problems on IRIX and mingw.
48055         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
48056         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
48057         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
48058         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
48059         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
48060         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
48061         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
48063 2011-10-06  Bruno Haible  <bruno@clisp.org>
48065         fabsf: Drop assumption about library that defines fabsf.
48066         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
48067         AC_CHECK_FUNCS.
48068         * modules/fabsf (Files): Add m4/mathfunc.m4.
48070 2011-10-06  Bruno Haible  <bruno@clisp.org>
48072         frexpf: Drop assumption about library that defines frexpf.
48073         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
48074         'int *', 'float *', 'long double *', 'float', 'long double'.
48075         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
48076         AC_CHECK_FUNCS.
48077         * modules/frexpf (Files): Add m4/mathfunc.m4.
48079         Tests for module 'frexpf'.
48080         * modules/frexpf-tests: New file.
48081         * tests/test-frexpf.c: New file.
48083         New module 'frexpf'.
48084         * lib/math.in.h (frexpf): New declaration.
48085         * lib/frexpf.c: New file.
48086         * m4/frexpf.m4: New file.
48087         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
48088         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
48089         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
48090         * modules/frexpf: New file.
48091         * tests/test-math-c++.cc: Check the declaration of frexpf.
48092         * doc/posix-functions/frexpf.texi: Mention the new module.
48094 2011-10-06  Bruno Haible  <bruno@clisp.org>
48096         math: Sort function declarations of math.in.h.
48097         * lib/math.in.h (frexp, logb): Move declarations.
48099 2011-10-05  Bruno Haible  <bruno@clisp.org>
48101         Tests for module 'modff'.
48102         * modules/modff-tests: New file.
48103         * tests/test-modff.c: New file.
48105         New module 'modff'.
48106         * lib/math.in.h (modff): New declaration.
48107         * lib/modff.c: New file.
48108         * m4/modff.m4: New file.
48109         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
48110         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
48111         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
48112         * modules/modff: New file.
48113         * tests/test-math-c++.cc: Check the declaration of modff.
48114         * doc/posix-functions/modff.texi: Mention the new module.
48116         modf tests: Make test sharper.
48117         * tests/test-modf.c (main): Strengthen upper bound.
48119         modf: Use a .m4 file.
48120         * m4/modf.m4: New file.
48121         * modules/modf (Files): Add it.
48122         (configure.ac): Just invoke gl_FUNC_MODF.
48124 2011-10-05  Bruno Haible  <bruno@clisp.org>
48126         Tests for module 'fmodf'.
48127         * modules/fmodf-tests: New file.
48128         * tests/test-fmodf.c: New file.
48130         New module 'fmodf'.
48131         * lib/math.in.h (fmodf): New declaration.
48132         * lib/fmodf.c: New file.
48133         * m4/fmodf.m4: New file.
48134         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
48135         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
48136         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
48137         * modules/fmodf: New file.
48138         * tests/test-math-c++.cc: Check the declaration of fmodf.
48139         * doc/posix-functions/fmodf.texi: Mention the new module.
48141         fmod: Use a .m4 file.
48142         * m4/fmod.m4: New file.
48143         * modules/fmod (Files): Add it.
48144         (configure.ac): Just invoke gl_FUNC_FMOD.
48146 2011-10-05  Bruno Haible  <bruno@clisp.org>
48148         Tests for module 'fabsf'.
48149         * modules/fabsf-tests: New file.
48150         * tests/test-fabsf.c: New file.
48152         New module 'fabsf'.
48153         * lib/math.in.h (fabsf): New declaration.
48154         * lib/fabsf.c: New file.
48155         * m4/fabsf.m4: New file.
48156         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
48157         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
48158         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
48159         * modules/fabsf: New file.
48160         * tests/test-math-c++.cc: Check the declaration of fabsf.
48161         * doc/posix-functions/fabsf.texi: Mention the new module.
48163         fabs: Use a .m4 file.
48164         * m4/fabs.m4: New file.
48165         * modules/fabs (Files): Add it.
48166         (configure.ac): Just invoke gl_FUNC_FABS.
48168 2011-10-05  Jim Meyering  <meyering@redhat.com>
48170         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
48171         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
48172         ls -lL regression introduced in coreutils-8.12, it does so at the
48173         cost of an additional stat call in the common case.  Besides, now
48174         that the kernel change that prompted commit 95f7c57f has been reverted
48175         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
48176         we have no use for commit 95f7c57f, "file-has-acl: use
48177         acl_extended_file_nofollow if available".
48179 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
48181         file-has-acl: revert unintended change in behavior of ls -L
48182         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
48183         derived from...
48184         (file_has_acl): ...code here.  Call it.
48185         This problem was introduced with 2011-07-22 commit 95f7c57f,
48186         "file-has-acl: use acl_extended_file_nofollow if available".
48187         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
48189 2011-10-03  Bruno Haible  <bruno@clisp.org>
48191         poll: Avoid link errors on MSVC.
48192         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
48193         * modules/poll (Depends-on): Add sockets.
48194         (Link): New section.
48195         * NEWS: Mention the change.
48196         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
48197         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
48198         $(LIB_POLL) instead of $(LIBSOCKET).
48200 2011-10-03  Bruno Haible  <bruno@clisp.org>
48202         sys_select tests: Fix link error on MSVC 9.
48203         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
48204         with $(LIB_SELECT) instead of $(LIBSOCKET).
48206 2011-10-03  Bruno Haible  <bruno@clisp.org>
48208         sys_select: Fix compilation error on mingw.
48209         * lib/sys_select.in.h: On native Windows, include <io.h>.
48211 2011-10-03  Bruno Haible  <bruno@clisp.org>
48213         wmemset: Support for MSVC.
48214         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
48215         whether wmemset() exists.
48217 2011-10-03  Bruno Haible  <bruno@clisp.org>
48219         wmemmove: Support for MSVC.
48220         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
48221         whether wmemmove() exists.
48223 2011-10-03  Bruno Haible  <bruno@clisp.org>
48225         wmemcpy: Support for MSVC.
48226         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
48227         whether wmemcpy() exists.
48229 2011-10-03  Bruno Haible  <bruno@clisp.org>
48231         wmemcmp: Support for MSVC.
48232         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
48233         whether wmemcmp() exists.
48235 2011-10-03  Bruno Haible  <bruno@clisp.org>
48237         wmemchr: Support for MSVC.
48238         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
48239         whether wmemchr() exists.
48241 2011-10-03  Bruno Haible  <bruno@clisp.org>
48243         glthread/*, strsignal: Support for MSVC.
48244         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
48245         including <winsock.h> on MSVC 9.
48246         * lib/glthread/lock.h: Likewise.
48247         * lib/glthread/thread.h: Likewise.
48248         * lib/glthread/tls.h: Likewise.
48249         * lib/glthread/yield.h: Likewise.
48250         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
48251         if HAVE_UNISTD_H is false.
48252         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
48254 2011-10-03  Bruno Haible  <bruno@clisp.org>
48256         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
48257         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
48258         Set to 100000.
48260 2011-10-03  Bruno Haible  <bruno@clisp.org>
48262         acl: Fix specification.
48263         * lib/file-has-acl.c (file_has_acl): Fix specification.
48265 2011-10-03  Bruno Haible  <bruno@clisp.org>
48267         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
48268         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
48269         (compute_curr_prefix, shared_library_fullname,
48270         find_shared_library_fullname, get_shared_library_fullname, relocate):
48271         Use it together with PIC && INSTALLDIR.
48272         Reported by <jojelino@gmail.com>
48273         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
48275 2011-10-01  Jim Meyering  <meyering@redhat.com>
48277         maint.mk: adjust a release-related rule not to require use of gzip
48278         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
48279         Instead, check each file in $(DIST_ARCHIVES).  This is better for
48280         projects that build only .tar.xz files.  Also fix an erroneous test.
48282         test-linkat: don't leave behind a temporary file
48283         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
48284         Otherwise, coreutils' "make distcheck" would fail with this:
48285           Only in /c/cu/tests/torture/coreutils/test/\
48286             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
48287           make[2]: *** [my-distcheck] Error 1
48289         float, math: add omitted file
48290         * lib/itold.c: Add file, required for yesterday's float change.
48292 2011-10-01  Bruno Haible  <bruno@clisp.org>
48294         isinf: Fix for OpenBSD/x86.
48295         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
48296         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
48297         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
48299 2011-10-01  Bruno Haible  <bruno@clisp.org>
48301         isfinite: Fix syntax error in configure test.
48302         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
48304         isfinite: Fix typo.
48305         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
48306         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
48308 2011-10-01  Bruno Haible  <bruno@clisp.org>
48310         nonblocking tests: Fix test failure on Linux/IA-64.
48311         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
48312         Set to 270000.
48314 2011-10-01  Bruno Haible  <bruno@clisp.org>
48316         mkfifoat tests: Fix a test failure on mingw.
48317         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
48318         with error ENOSYS.
48320 2011-09-30  Bruno Haible  <bruno@clisp.org>
48322         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
48323         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
48324         'long double'. Set REPLACE_ITOLD.
48325         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
48326         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
48327         * lib/itold.c: New file.
48328         * modules/float (Files): Add lib/itold.c.
48329         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
48330         (Makefile.am): Substitute REPLACE_ITOLD.
48331         * modules/math (Depends-on): Add float.
48332         (Makefile.am): Substitute REPLACE_ITOLD.
48333         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
48334         * doc/posix-headers/math.texi: Likewise.
48335         * doc/posix-functions/logl.texi: Likewise.
48337 2011-09-30  Bruno Haible  <bruno@clisp.org>
48339         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
48340         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
48341         Set to 140000.
48343 2011-09-30  Bruno Haible  <bruno@clisp.org>
48345         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
48346         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
48347         invocation, say "right after AC_PROG_CC_STDC", not "right after
48348         AC_PROG_CC".
48349         Reported by Gary V. Vaughan <gary@gnu.org>.
48351 2011-09-30  Bruno Haible  <bruno@clisp.org>
48353         Centralize C99 requirement.
48354         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
48355         * modules/stdarg (configure.ac-early): Invoke it instead of
48356         AC_PROG_CC_STDC.
48357         Reported by Gary V. Vaughan and Paul Eggert.
48359 2011-09-29  Bruno Haible  <bruno@clisp.org>
48361         float: Fix LDBL_MAX value on Linux/PowerPC.
48362         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
48363         on Linux/PowerPC.
48364         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
48365         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
48366         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
48367         platform.
48368         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
48370 2011-09-29  Bruno Haible  <bruno@clisp.org>
48372         doc: Improve doc about gl_EARLY.
48373         * doc/gnulib-tool.texi (Initial import): Mention where to place an
48374         AC_PROG_CC_STDC invocation.
48375         Reported by Gary V. Vaughan <gary@gnu.org>.
48377 2011-09-28  Bruno Haible  <bruno@clisp.org>
48379         fgetc, fputc, fread, fwrite tests: Fix link error.
48380         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
48381         on non-MSVC platforms.
48382         * tests/test-fputc.c (main): Likewise.
48383         * tests/test-fread.c (main): Likewise.
48384         * tests/test-fwrite.c (main): Likewise.
48385         Reported by Jim Meyering.
48387 2011-09-27  Bruno Haible  <bruno@clisp.org>
48389         fputc, fwrite tests: Avoid test failure on MSVC.
48390         * tests/test-fgetc.c: Include msvc-inval.h.
48391         (main): Invoke gl_msvc_inval_ensure_handler.
48392         * tests/test-fputc.c: Include msvc-inval.h.
48393         (main): Invoke gl_msvc_inval_ensure_handler.
48394         * tests/test-fread.c: Include msvc-inval.h.
48395         (main): Invoke gl_msvc_inval_ensure_handler.
48396         * tests/test-fwrite.c: Include msvc-inval.h.
48397         (main): Invoke gl_msvc_inval_ensure_handler.
48398         * modules/fgetc-tests (Depends-on): Add msvc-inval.
48399         * modules/fputc-tests (Depends-on): Likewise.
48400         * modules/fread-tests (Depends-on): Likewise.
48401         * modules/fwrite-tests (Depends-on): Likewise.
48403 2011-09-27  Bruno Haible  <bruno@clisp.org>
48405         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
48406         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
48407         (raise): Remove older, duplicated declaration.
48408         (_gl_raise_SIGPIPE): New declaration.
48409         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
48410         (rpl_raise): Remove function.
48411         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
48412         a gnulib-defined SIGPIPE here.
48413         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
48414         'sigprocmask' has detected missing signal-blocking and the module
48415         'sigpipe' is enabled.
48416         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
48418 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
48420         base64-tests: avoid memory leak
48421         * tests/test-base64.c (main): Plug memory leak.
48423         base32: new module
48424         * modules/base32: New module.
48425         * lib/base32.c: New file.
48426         * lib/base32.h: Likewise.
48427         * m4/base32.m4: Likewise.
48428         * modules/base32-tests: New test.
48429         * tests/test-base32.c: Likewise.
48430         * MODULES.html.sh (Misc): Mention it.
48432 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
48434         gnulib: use more-standard license notice wording
48435         * gnulib-tool (func_emit_copyright_notice): When emitting a
48436         license notice into a file, use the standard wording as suggested
48437         by the current information for GNU maintainers, except say "file"
48438         rather than "program".  The new wording gives a license version
48439         number, which addresses an issue raised by Glenn Morris in
48440         <http://lists.gnu.org/r/bug-gnulib/2011-09/msg00397.html>.
48441         * m4/onceonly.m4: Use that same wording here, too.
48443         dup2: minor simplification
48444         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
48445         as lib/dup2.c no longer uses 'inline'.
48447 2011-09-25  Bruno Haible  <bruno@clisp.org>
48449         strings: Fix compilation error on MSVC.
48450         * lib/strings.in.h: Include <stddef.h> for size_t.
48452 2011-09-25  Bruno Haible  <bruno@clisp.org>
48454         fflush et al.: Document limitation on MSVC.
48455         * doc/posix-functions/fflush.texi: Document possible crash in handling
48456         mode other than DEFAULT_HANDLING.
48457         * doc/posix-functions/fgetc.texi: Likewise.
48458         * doc/posix-functions/fputc.texi: Likewise.
48459         * doc/posix-functions/fread.texi: Likewise.
48460         * doc/posix-functions/fwrite.texi: Likewise.
48462 2011-09-25  Bruno Haible  <bruno@clisp.org>
48464         msvc-inval: Allow three invalid parameter handling modes.
48465         * lib/msvc-inval.h: Don't include <stdlib.h> here.
48466         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
48467         macros.
48468         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
48469         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
48470         SANE_LIBRARY_HANDLING as a no-op.
48471         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
48472         <stdlib.h>.
48473         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
48475 2011-09-25  Bruno Haible  <bruno@clisp.org>
48477         msvc-inval: Make handler multithread-safe.
48478         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
48479         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
48480         declarations.
48481         (gl_msvc_inval_current): New declaration.
48482         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
48483         Operate on the structure returned by gl_msvc_inval_current().
48484         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
48485         Remove varaiables.
48486         (tls_index, tls_initialized): New variables.
48487         (not_per_thread): New variable.
48488         (gl_msvc_inval_current): New function.
48489         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
48490         returned by gl_msvc_inval_current().
48492 2011-09-25  Bruno Haible  <bruno@clisp.org>
48494         msvc-inval: Install handler globally.
48495         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
48496         !_MSC_VER.
48497         (gl_msvc_invalid_parameter_handler): Remove declaration.
48498         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
48499         declarations.
48500         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
48501         Install the handler globally, don't uninstall it.
48502         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
48503         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
48504         currently valid, call RaiseException instead.
48505         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
48506         for !_MSC_VER.
48508 2011-09-25  Bruno Haible  <bruno@clisp.org>
48510         strerror_r-posix: Fix for MSVC 9.
48511         * lib/strerror_r.c (local_snprintf): New function.
48512         (snprintf): Define to local_snprintf, not to _snprintf.
48514 2011-09-25  Bruno Haible  <bruno@clisp.org>
48516         ftruncate: Support for MSVC 9.
48517         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
48518         (chsize_nothrow): New function.
48519         (chsize): Redefine as a macro.
48520         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
48521         * modules/ftruncate (Depends-on): Add msvc-inval.
48523 2011-09-25  Bruno Haible  <bruno@clisp.org>
48525         New module 'fstat'.
48526         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
48527         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
48528         * lib/fchdir.c (rpl_fstat): Remove function.
48529         * m4/fstat.m4: New file.
48530         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
48531         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
48532         declared.
48533         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
48534         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
48535         * modules/fstat: New file.
48536         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
48537         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
48538         is set.
48539         * doc/posix-functions/fstat.texi: Mention the new module and the
48540         problem on MSVC.
48541         * NEWS: Mention the change.
48542         * modules/acl (Depends-on): Add fstat.
48543         * modules/chdir-safer (Depends-on): Likewise.
48544         * modules/chown (Depends-on): Likewise.
48545         * modules/copy-file (Depends-on): Likewise.
48546         * modules/fchdir (Depends-on): Likewise.
48547         * modules/fdopendir (Depends-on): Likewise.
48548         * modules/fopen (Depends-on): Likewise.
48549         * modules/fts (Depends-on): Likewise.
48550         * modules/getcwd (Depends-on): Likewise.
48551         * modules/isapipe (Depends-on): Likewise.
48552         * modules/linkat (Depends-on): Likewise.
48553         * modules/lseek (Depends-on): Likewise.
48554         * modules/mkdir-p (Depends-on): Likewise.
48555         * modules/open (Depends-on): Likewise.
48556         * modules/openat (Depends-on): Likewise.
48557         * modules/read-file (Depends-on): Likewise.
48558         * modules/renameat (Depends-on): Likewise.
48559         * modules/utimens (Depends-on): Likewise.
48561 2011-09-25  Bruno Haible  <bruno@clisp.org>
48563         linkat: Fix compilation on MSVC 9.
48564         * lib/linkat.c: Don't include <stdint.h>.
48566 2011-09-25  Bruno Haible  <bruno@clisp.org>
48568         fclose: Support for MSVC 9.
48569         * lib/fclose.c: Include msvc-inval.h.
48570         (fclose_nothrow): New function.
48571         (rpl_fclose): Use it.
48572         * modules/fclose (Depends-on): Add msvc-inval.
48573         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
48575 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
48577         dup2: minor simplifications
48578         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
48579         that it's a performance win.
48580         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
48581         ! defined __CYGWIN__)" to "ifdef F_GETFL".
48583 2011-09-24  Jim Meyering  <meyering@redhat.com>
48585         test-futimens: avoid a warning from gcc -Wshadow
48586         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
48587         to avoid a shadowing warning.
48589 2011-09-24  Bruno Haible  <bruno@clisp.org>
48591         fdopen: Support for MSVC 9.
48592         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
48593         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
48594         * lib/fdopen.c: Include msvc-inval.h.
48595         (fdopen_nothrow): New function.
48596         (rpl_fdopen): Use it.
48597         * modules/fdopen (Depends-on): Add msvc-inval.
48598         * modules/fclose-tests (Depends-on): Add fdopen.
48599         * modules/fflush-tests (Depends-on): Likewise.
48600         * modules/fgetc-tests (Depends-on): Likewise.
48601         * modules/fputc-tests (Depends-on): Likewise.
48602         * modules/fread-tests (Depends-on): Likewise.
48603         * modules/freopen-tests (Depends-on): Likewise.
48604         * modules/fseeko-tests (Depends-on): Likewise.
48605         * modules/ftello-tests (Depends-on): Likewise.
48606         * modules/fwrite-tests  (Depends-on): Likewise.
48607         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
48609 2011-09-24  Bruno Haible  <bruno@clisp.org>
48611         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
48612         * modules/fgetc-tests (Depends-on): Add unistd.
48613         * modules/fputc-tests (Depends-on): Likewise.
48614         * modules/fread-tests (Depends-on): Likewise.
48615         * modules/fwrite-tests (Depends-on): Likewise.
48617 2011-09-24  Bruno Haible  <bruno@clisp.org>
48619         dup: Simplify autoconf test.
48620         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
48621         on gl_MSVC_INVAL's result.
48623 2011-09-24  Bruno Haible  <bruno@clisp.org>
48625         Tests for function fwrite().
48626         * modules/fwrite-tests: New file.
48627         * tests/test-fwrite.c: New file.
48628         * modules/stdio-tests (Depends-on): Add fwrite-tests.
48630         Tests for function fread().
48631         * modules/fread-tests: New file.
48632         * tests/test-fread.c: New file.
48633         * modules/stdio-tests (Depends-on): Add fread-tests.
48635         Activate fputc tests.
48636         * modules/stdio-tests (Depends-on): Add fputc-tests.
48638         Enhance fgetc, fputc tests.
48639         * tests/test-fgetc.c (main): Also test the stream's error indicator.
48640         * tests/test-fputc.c (main): Likewise.
48642 2011-09-24  Bruno Haible  <bruno@clisp.org>
48644         write: Support for MSVC 9.
48645         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
48646         is not 1.
48647         * lib/write.c (write_nothrow): New function.
48648         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
48649         not 1. Use write_nothrow.
48650         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
48651         invalid parameter handler.
48652         (gl_PREREQ_WRITE): New macro.
48653         * modules/write (Depends-on): Add msvc-inval.
48654         (configure.ac): Invoke gl_PREREQ_WRITE.
48655         * doc/posix-functions/write.texi: Mention the problem on MSVC.
48657 2011-09-24  Bruno Haible  <bruno@clisp.org>
48659         read: Fix last commit.
48660         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
48662 2011-09-24  Bruno Haible  <bruno@clisp.org>
48664         dup2: Fix last commit.
48665         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
48666         (rpl_dup2): Disable fcntl workaround on native Windows.
48668         sigprocmask: Make code safer.
48669         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
48670         section that changes macro definitions for this compilation unit.
48672 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
48674         dup2: clarify by coalescing Windows-specific material
48675         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
48676         "msvc-nothrow.h"' to the Windows-specific section, so that the
48677         Emacs source need not contain these include files.
48678         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
48679         Windows-specific fixes into this function rather than just the
48680         nothrow fix, as this shortens and clarifies the code.  Always
48681         define as a function, as that's a bit cleaner than having it be
48682         sometimes a function and sometimes a macro.
48683         (rpl_dup2): Move the Windows-specific stuff out of here and into
48684         ms_windows_dup2.  Don't protect the Haiku-related fix with
48685         "#if !defined __linux__", as the same code also works around
48686         a Linux kernel bug, and it doesn't add any system calls on any
48687         platform.  Add comment about FreeBSD 6.1.
48689         sigprocmask: move #include directive
48690         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
48691         Windows-specific section, so that the Emacs source need not
48692         contain msvc-inval.h.
48694 2011-09-23  Bruno Haible  <bruno@clisp.org>
48696         read: Support for MSVC 9.
48697         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
48698         is not 1.
48699         * lib/read.c (read_nothrow): New function.
48700         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
48701         read_nothrow.
48702         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
48703         invalid parameter handler.
48704         (gl_PREREQ_READ): New macro.
48705         * modules/read (Depends-on): Add msvc-inval.
48706         (configure.ac): Invoke gl_PREREQ_READ.
48707         * doc/posix-functions/read.texi: Mention the problem on MSVC.
48709 2011-09-23  Bruno Haible  <bruno@clisp.org>
48711         close: Support for MSVC 9.
48712         * lib/close.c: Include <errno.h>, msvc-inval.h.
48713         (close_nothrow): New function.
48714         (rpl_close): Use it.
48715         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
48716         invalid parameter handler.
48717         * modules/close (Depends-on): Add msvc-inval.
48718         * modules/dup2-tests (Depends-on): Add close.
48719         * modules/dup3-tests (Depends-on): Likewise.
48720         * modules/fcntl-tests (Depends-on): Likewise.
48721         * modules/spawn-pipe-tests (Depends-on): Likewise.
48722         * modules/unistd-safer-tests (Depends-on): Likewise.
48723         * doc/posix-functions/close.texi: Mention the problem on MSVC.
48725 2011-09-23  Bruno Haible  <bruno@clisp.org>
48727         New module 'dup'.
48728         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
48729         Allow replacement.
48730         * lib/dup.c: New file.
48731         * lib/fchdir.c (rpl_dup): Remove function.
48732         * m4/dup.m4: New file.
48733         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
48734         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
48735         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
48736         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
48737         * modules/dup: New file.
48738         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
48739         'dup' module is in use.
48740         * modules/fdopendir (Depends-on): Add dup.
48741         * modules/fdutimensat-tests (Depends-on): Likewise.
48742         * modules/fts (Depends-on): Likewise.
48743         * modules/futimens-tests (Depends-on): Likewise.
48744         * modules/posix_spawnp-tests (Depends-on): Likewise.
48745         * modules/unistd-safer-tests (Depends-on): Likewise.
48746         * modules/utimens-tests (Depends-on): Likewise.
48747         * doc/posix-functions/dup.texi: Mention the new module and the problem
48748         on MSVC.
48750 2011-09-23  Bruno Haible  <bruno@clisp.org>
48752         getdtablesize: Support for MSVC 9.
48753         * lib/getdtablesize.c: Include msvc-inval.h.
48754         (_setmaxstdio_nothrow): New function.
48755         (_setmaxstdio): Redefine it.
48756         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
48757         * modules/getdtablesize (Depends-on): Add msvc-inval.
48758         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
48760 2011-09-23  Bruno Haible  <bruno@clisp.org>
48762         signal-h: Rename from signal.
48763         * modules/signal-h: Renamed from modules/signal.
48764         * modules/pthread_sigmask (Depends-on): Update.
48765         * modules/raise (Depends-on): Likewise.
48766         * modules/sigaction (Depends-on): Likewise.
48767         * modules/sigpipe (Depends-on): Likewise.
48768         * modules/sigprocmask (Depends-on): Likewise.
48769         * modules/sys_select (Depends-on): Likewise.
48770         * modules/signal-h-tests: Renamed from modules/signal-tests.
48771         (Files, Depends-on, Makefile.am): Update.
48772         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
48773         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
48774         (Files, Makefile.am): Update.
48775         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
48776         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
48777         * modules/signal: New placeholder file.
48778         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
48779         * doc/posix-headers/signal.texi: Update.
48780         * NEWS: Mention the change.
48782 2011-09-23  Bruno Haible  <bruno@clisp.org>
48784         sigprocmask: Avoid crashes through signal() on MSVC 9.
48785         * lib/sigprocmask.c: Include msvc-inval.h.
48786         (signal_nothrow): New function.
48787         (signal): Redefine it.
48788         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
48789         * modules/sigprocmask (Depends-on): Add msvc-inval.
48790         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
48792 2011-09-23  Bruno Haible  <bruno@clisp.org>
48794         Tests for module 'raise'.
48795         * modules/raise-tests: New file.
48796         * tests/test-raise.c: New file.
48798         raise: Support for MSVC.
48799         * lib/signal.in.h (raise): New declaration.
48800         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
48801         for native Windows platforms.
48802         * m4/raise.m4: New file.
48803         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
48804         HAVE_RAISE, REPLACE_RAISE.
48805         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
48806         REPLACE_RAISE.
48807         * modules/raise (Status, Notice): Remove fields.
48808         (Files): Add m4/raise.m4.
48809         (Depends-on): Add signal, msvc-inval.
48810         (configure.ac): Use the common idioms.
48811         (Maintainer): Add me.
48812         * tests/test-signal-c++.cc: Check the signature of raise.
48813         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
48815 2011-09-23  Bruno Haible  <bruno@clisp.org>
48817         pipe2: Fix compilation on pre-C99 compilers.
48818         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
48820 2011-09-23  Bruno Haible  <bruno@clisp.org>
48822         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
48823         * lib/msvc-nothrow.h: New file.
48824         * lib/msvc-nothrow.c: New file.
48825         * m4/msvc-nothrow.m4: New file.
48826         * modules/msvc-nothrow: New file.
48827         * lib/dup2.c: Include msvc-nothrow.h.
48828         (rpl_dup2): No need to protect _get_osfhandle call here.
48829         * lib/accept4.c: Include msvc-nothrow.h.
48830         * lib/error.c: Likewise.
48831         * lib/fcntl.c: Likewise.
48832         * lib/lseek.c: Likewise.
48833         * lib/nonblocking.c: Likewise.
48834         * lib/poll.c: Likewise.
48835         * lib/read.c: Likewise.
48836         * lib/select.c: Likewise.
48837         * lib/sockets.h: Likewise.
48838         * lib/sockets.c: Likewise.
48839         * lib/stdio-read.c: Likewise.
48840         * lib/stdio-write.c: Likewise.
48841         * lib/write.c: Likewise.
48842         * lib/w32sock.h: Likewise.
48843         * lib/w32spawn.h: Likewise.
48844         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
48845         * lib/fsync.c: Likewise.
48846         * lib/isapipe.c: Likewise.
48847         * modules/dup2 (Depends-on): Add msvc-nothrow.
48848         * modules/accept4 (Depends-on): Likewise.
48849         * modules/error (Depends-on): Likewise.
48850         * modules/fcntl (Depends-on): Likewise.
48851         * modules/lseek (Depends-on): Likewise.
48852         * modules/nonblocking (Depends-on): Likewise.
48853         * modules/poll (Depends-on): Likewise.
48854         * modules/read (Depends-on): Likewise.
48855         * modules/select (Depends-on): Likewise.
48856         * modules/sockets (Depends-on): Likewise.
48857         * modules/sigpipe (Depends-on): Likewise.
48858         * modules/write (Depends-on): Likewise.
48859         * modules/accept (Depends-on): Likewise.
48860         * modules/bind (Depends-on): Likewise.
48861         * modules/connect (Depends-on): Likewise.
48862         * modules/gethostname (Depends-on): Likewise.
48863         * modules/getpeername (Depends-on): Likewise.
48864         * modules/getsockname (Depends-on): Likewise.
48865         * modules/getsockopt (Depends-on): Likewise.
48866         * modules/ioctl (Depends-on): Likewise.
48867         * modules/listen (Depends-on): Likewise.
48868         * modules/recv (Depends-on): Likewise.
48869         * modules/recvfrom (Depends-on): Likewise.
48870         * modules/send (Depends-on): Likewise.
48871         * modules/sendto (Depends-on): Likewise.
48872         * modules/setsockopt (Depends-on): Likewise.
48873         * modules/shutdown (Depends-on): Likewise.
48874         * modules/socket (Depends-on): Likewise.
48875         * modules/execute (Depends-on): Likewise.
48876         * modules/spawn-pipe (Depends-on): Likewise.
48877         * modules/flock (Depends-on): Likewise.
48878         * modules/fsync (Depends-on): Likewise.
48879         * modules/isapipe (Depends-on): Likewise.
48880         * tests/test-cloexec.c: Include msvc-nothrow.h.
48881         * tests/test-dup-safer.c: Likewise.
48882         * tests/test-dup2.c: Likewise.
48883         * tests/test-dup3.c: Likewise.
48884         * tests/test-fcntl.c: Likewise.
48885         * tests/test-pipe.c: Likewise.
48886         * tests/test-pipe2.c: Likewise.
48887         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
48888         * modules/unistd-safer-tests (Depends-on): Likewise.
48889         * modules/dup2-tests (Depends-on): Likewise.
48890         * modules/dup3-tests (Depends-on): Likewise.
48891         * modules/fcntl-tests (Depends-on): Likewise.
48892         * modules/pipe-posix-tests (Depends-on): Likewise.
48893         * modules/pipe2-tests (Depends-on): Likewise.
48895 2011-09-23  Bruno Haible  <bruno@clisp.org>
48897         dup2: Make code more maintainable.
48898         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
48899         (rpl_dup2): Use it.
48900         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
48901         * modules/dup2 (configure.ac): Invoke it.
48902         Reported by Paul Eggert.
48904 2011-09-23  Bruno Haible  <bruno@clisp.org>
48906         msvc-inval: Fix compilation error.
48907         * lib/msvc-inval.h: Include <excpt.h>.
48909 2011-09-23  Bruno Haible  <bruno@clisp.org>
48911         mkdir: Tweak for MSVC 9.
48912         * lib/sys_stat.in.h: Update comments.
48913         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
48915         Tests for module 'chdir'.
48916         * modules/chdir-tests: New file.
48917         * tests/test-chdir.c: New file.
48919         New module 'chdir'.
48920         * modules/chdir: New file.
48921         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
48922         (chdir): New declaration.
48923         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
48924         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
48925         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
48926         * tests/test-unistd-c++.cc: Check signature of chdir.
48927         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
48928         * modules/chdir-long (Depends-on): Add chdir.
48929         * modules/fchdir (Depends-on): Likewise.
48930         * modules/rename (Depends-on): Likewise.
48931         * modules/savewd (Depends-on): Likewise.
48933         rmdir: Support for mingw, MSVC 9.
48934         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
48935         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
48937         getcwd: Tweak for MSVC 9.
48938         * lib/unistd.in.h: Update comments.
48939         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
48941 2011-09-22  Bruno Haible  <bruno@clisp.org>
48943         strerror_r-posix: Avoid a link error on MSVC.
48944         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
48945         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
48947 2011-09-22  Bruno Haible  <bruno@clisp.org>
48949         select: Avoid link errors on MSVC.
48950         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
48951         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
48952         * modules/pselect (Link): Likewise.
48953         * NEWS: Mention the change.
48954         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
48955         test-select-stdin against $(LIB_SELECT).
48956         * modules/pselect-tests (Makefile.am): Link test-pselect against
48957         $(LIB_SELECT).
48959 2011-09-22  Bruno Haible  <bruno@clisp.org>
48961         select: Avoid compilation error on MSVC.
48962         * lib/select.c: Don't include <stdbool.h>.
48964 2011-09-21  Bruno Haible  <bruno@clisp.org>
48966         Consolidate all uses of PATH_MAX in *.m4 files.
48967         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
48968         macros.
48969         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
48970         and gl_PATHMAX_SNIPPET.
48971         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
48972         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
48973         * modules/chdir-long (Files): Add m4/pathmax.m4.
48974         * modules/getcwd (Files): Likewise.
48976 2011-09-21  Bruno Haible  <bruno@clisp.org>
48978         ftruncate: Un-deprecate, concentrate on Win32 support.
48979         * modules/ftruncate (Status, Notice): Remove sections.
48980         (Depends-on): Add largefile.
48981         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
48982         non-mingw platforms.
48983         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
48984         include <io.h>.
48985         * modules/perror-tests (Depends-on): Add ftruncate.
48986         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
48987         'ftruncate' module.
48989 2011-09-21  Bruno Haible  <bruno@clisp.org>
48991         Add dependencies to new dirent related modules.
48992         * modules/opendir (Depends-on): Add closedir.
48993         * modules/getcwd (Depends-on): Add opendir, closedir.
48994         * modules/dirent-safer-tests (Depends-on): Likewise.
48995         * modules/fdopendir-tests (Depends-on): Likewise.
48996         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
48997         * modules/renameat-tests (Depends-on): Likewise.
48999 2011-09-21  Bruno Haible  <bruno@clisp.org>
49001         opendir: Avoid compilation error on mingw.
49002         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
49003         * modules/opendir (Depends-on): Add unistd.
49005 2011-09-21  Bruno Haible  <bruno@clisp.org>
49007         ftruncate tests: Avoid a test failure on mingw.
49008         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
49010 2011-09-21  Bruno Haible  <bruno@clisp.org>
49012         select tests: Avoid test failures on OSF/1 5.1 and mingw.
49013         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
49014         native Windows.
49016 2011-09-21  Bruno Haible  <bruno@clisp.org>
49018         New module 'fdopen'.
49019         * lib/stdio.in.h (fdopen): New declaration.
49020         * lib/fdopen.c: New file.
49021         * m4/fdopen.m4: New file.
49022         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
49023         REPLACE_FDOPEN.
49024         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
49025         REPLACE_FDOPEN.
49026         * modules/fdopen: New file.
49027         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
49028         * tests/test-stdio-c++.cc: Check signature of fdopen.
49029         * doc/posix-functions/fdopen.texi: Mention the new module.
49031 2011-09-21  Bruno Haible  <bruno@clisp.org>
49033         unlockpt tests: Avoid test failure on NetBSD 5.1.
49034         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
49035         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
49037 2011-09-21  Bruno Haible  <bruno@clisp.org>
49039         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
49040         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
49041         * tests/test-getlogin_r.c (main): Likewise.
49043 2011-09-20  Bruno Haible  <bruno@clisp.org>
49045         time tests: Don't require pid_t.
49046         * doc/posix-headers/time.texi: Revert last change.
49047         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
49048         * tests/test-time.c: Comment out the check for pid_t.
49050 2011-09-20  Bruno Haible  <bruno@clisp.org>
49052         fsync tests: Avoid a test failure on mingw.
49053         * tests/test-fsync.c (main): Allow a failure with EIO.
49055 2011-09-20  Bruno Haible  <bruno@clisp.org>
49057         euidaccess: Update comments.
49058         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
49060 2011-09-20  Bruno Haible  <bruno@clisp.org>
49062         Ensure EBADF returns for socket functions on mingw.
49063         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
49064         descriptor is invalid.
49065         * lib/bind.c (rpl_bind): Likewise.
49066         * lib/connect.c (rpl_connect): Likewise.
49067         * lib/getpeername.c (rpl_getpeername): Likewise.
49068         * lib/getsockname.c (rpl_getsockname): Likewise.
49069         * lib/getsockopt.c (rpl_getsockopt): Likewise.
49070         * lib/listen.c (rpl_listen): Likewise.
49071         * lib/recv.c (rpl_recv): Likewise.
49072         * lib/recvfrom.c (rpl_recvfrom): Likewise.
49073         * lib/send.c (rpl_send): Likewise.
49074         * lib/sendto.c (rpl_sendto): Likewise.
49075         * lib/setsockopt.c (rpl_setsockopt): Likewise.
49076         * lib/shutdown.c (rpl_shutdown): Likewise.
49078 2011-09-20  Bruno Haible  <bruno@clisp.org>
49080         select tests: EBADF tests.
49081         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
49082         test_bad_fd): New functions.
49083         (test_function): Invoke also test_bad_fd.
49085 2011-09-20  Bruno Haible  <bruno@clisp.org>
49087         Tests for module 'posix_spawn_file_actions_addopen.
49088         * modules/posix_spawn_file_actions_addopen-tests: New file.
49089         * tests/test-posix_spawn_file_actions_addopen.c: New file.
49091         Tests for module 'posix_spawn_file_actions_adddup2'.
49092         * modules/posix_spawn_file_actions_adddup2-tests: New file.
49093         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
49095         Tests for module 'posix_spawn_file_actions_addclose'.
49096         * modules/posix_spawn_file_actions_addclose-tests: New file.
49097         * tests/test-posix_spawn_file_actions_addclose.c: New file.
49099 2011-09-20  Bruno Haible  <bruno@clisp.org>
49101         Tests for module 'unlockpt'.
49102         * modules/unlockpt-tests: New file.
49103         * tests/test-unlockpt.c: New file.
49104         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
49106         Tests for module 'grantpt'.
49107         * modules/grantpt-tests: New file.
49108         * tests/test-grantpt.c: New file.
49109         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
49111 2011-09-20  Bruno Haible  <bruno@clisp.org>
49113         freopen tests: EBADF tests.
49114         * tests/test-freopen.c: Include errno.h, unistd.h.
49115         (main): Add tests for EBADF, commented out for the moment.
49117         fclose tests: EBADF tests.
49118         * tests/test-fclose.c (main): Add tests for EBADF.
49120         fflush tests: EBADF tests.
49121         * tests/test-fflush.c: Include errno.h, macros.h.
49122         (main): Add tests for EBADF.
49124         ftello tests: EBADF tests.
49125         * tests/test-ftello4.sh: New file.
49126         * tests/test-ftello4.c: New file.
49127         * modules/ftello-tests (Files): Add them.
49128         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
49130         fseeko tests: EBADF tests.
49131         * tests/test-fseeko4.sh: New file.
49132         * tests/test-fseeko4.c: New file.
49133         * modules/fseeko-tests (Files): Add them.
49134         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
49136         Tests for function fputc().
49137         * modules/fputc-tests: New file.
49138         * tests/test-fputc.c: New file.
49139         * modules/stdio-tests (Depends-on): Add fputc-tests.
49141         Tests for function fgetc().
49142         * modules/fgetc-tests: New file.
49143         * tests/test-fgetc.c: New file.
49144         * modules/stdio-tests (Depends-on): Add fgetc-tests.
49146         Tests for function fdopen().
49147         * modules/fdopen-tests: New file.
49148         * tests/test-fdopen.c: New file.
49149         * modules/stdio-tests (Depends-on): Add fdopen-tests.
49151         Tests for module 'vdprintf'.
49152         * modules/vdprintf-tests: New file.
49153         * tests/test-vdprintf.c: New file.
49155         Tests for module 'dprintf'.
49156         * modules/dprintf-tests: New file.
49157         * tests/test-dprintf.c: New file.
49159 2011-09-20  Bruno Haible  <bruno@clisp.org>
49161         Tests for module 'ioctl'.
49162         * modules/ioctl-tests: New file.
49163         * tests/test-ioctl.c: New file.
49165 2011-09-20  Bruno Haible  <bruno@clisp.org>
49167         fcntl tests: EBADF tests.
49168         * tests/test-fcntl.c (main): Add more tests for EBADF.
49170 2011-09-20  Bruno Haible  <bruno@clisp.org>
49172         utimensat tests: EBADF tests.
49173         * tests/test-utimensat.c (main): Add tests for EBADF.
49175         renameat tests: EBADF tests.
49176         * tests/test-renameat.c (main): Add tests for EBADF.
49178         mkfifoat tests: EBADF tests.
49179         * tests/test-mkfifoat.c (main): Add tests for EBADF.
49181         readlinkat tests: EBADF tests.
49182         * tests/test-readlinkat.c (main): Add tests for EBADF.
49184         symlinkat tests: EBADF tests.
49185         * tests/test-symlinkat.c (main): Add tests for EBADF.
49187         linkat tests: EBADF tests.
49188         * tests/test-linkat.c (main): Add tests for EBADF.
49190         Tests for module 'faccessat'.
49191         * modules/faccessat-tests: New file.
49192         * tests/test-faccessat.c: New file.
49194         fdopendir tests: EBADF tests.
49195         * tests/test-fdopendir.c (main): Add more tests for EBADF.
49197         openat tests: EBADF tests.
49198         * tests/test-fchownat.c (main): Add tests for EBADF.
49199         * tests/test-fstatat.c (main): Likewise.
49200         * tests/test-mkdirat.c (main): Likewise.
49201         * tests/test-openat.c (main): Likewise.
49202         * tests/test-unlinkat.c (main): Likewise.
49203         * tests/test-fchmodat.c: New file.
49204         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
49205         (Makefile.am): Also run 'test-fchmodat'.
49207 2011-09-20  Bruno Haible  <bruno@clisp.org>
49209         utimens, futimens, fdutimensat tests: EBADF tests.
49210         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
49212         Tests for function fstat().
49213         * modules/fstat-tests: New file.
49214         * tests/test-fstat.c: New file.
49215         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
49217 2011-09-20  Bruno Haible  <bruno@clisp.org>
49219         test-ttyname_r tests: EBADF tests.
49220         * tests/test-ttyname_r.c (main): Add tests for EBADF.
49222         Tests for module 'isatty'.
49223         * modules/isatty-tests: New file.
49224         * tests/test-isatty.c: New file.
49226         Tests for module 'write'.
49227         * modules/write-tests: New file.
49228         * tests/test-write.c: New file.
49230         Tests for module 'read'.
49231         * modules/read-tests: New file.
49232         * tests/test-read.c: New file.
49234         pwrite tests: EBADF tests.
49235         * tests/test-pwrite.c (main): Add tests for EBADF.
49237         pread tests: EBADF tests.
49238         * tests/test-pread.c (main): Add tests for EBADF.
49240         lseek tests: EBADF tests.
49241         * tests/test-lseek.c (main): Add more tests for EBADF.
49243         Tests for module 'ftruncate'.
49244         * modules/ftruncate-tests: New file.
49245         * tests/test-ftruncate.sh: New file.
49246         * tests/test-ftruncate.c: New file.
49248         fsync tests: EBADF tests.
49249         * tests/test-fsync.c (main): Add more tests for EBADF.
49251         fdatasync tests: EBADF tests.
49252         * tests/test-fdatasync.c (main): Add more tests for EBADF.
49254         Tests for module 'fchown'.
49255         * modules/fchown-tests: New file.
49256         * tests/test-fchown.c: New file.
49258         Tests for module 'fchmod'.
49259         * modules/fchmod-tests: New file.
49260         * tests/test-fchmod.c: New file.
49262         fchdir tests: EBADF tests.
49263         * tests/test-fchdir.c (main): Add more tests for EBADF.
49265         dup2 tests: EBADF tests.
49266         * tests/test-dup2.c (main): Add more tests for EBADF.
49268         Tests for module 'dup'.
49269         * modules/dup-tests: New file.
49270         * tests/test-dup.c: New file.
49272         Tests for module 'close'.
49273         * modules/close-tests: New file.
49274         * tests/test-close.c: New file.
49276 2011-09-20  Bruno Haible  <bruno@clisp.org>
49278         Tests for module 'shutdown'.
49279         * modules/shutdown-tests: New file.
49280         * tests/test-shutdown.c: New file.
49282         Tests for module 'setsockopt'.
49283         * modules/setsockopt-tests: New file.
49284         * tests/test-setsockopt.c: New file.
49286         Tests for module 'sendto'.
49287         * modules/sendto-tests: New file.
49288         * tests/test-sendto.c: New file.
49290         Tests for module 'send'.
49291         * modules/send-tests: New file.
49292         * tests/test-send.c: New file.
49294         Tests for module 'recvfrom'.
49295         * modules/recvfrom-tests: New file.
49296         * tests/test-recvfrom.c: New file.
49298         Tests for module 'recv'.
49299         * modules/recv-tests: New file.
49300         * tests/test-recv.c: New file.
49302         Tests for module 'listen'.
49303         * modules/listen-tests: New file.
49304         * tests/test-listen.c: New file.
49306         Tests for module 'getsockopt'.
49307         * modules/getsockopt-tests: New file.
49308         * tests/test-getsockopt.c: New file.
49310         Tests for module 'getsockname'.
49311         * modules/getsockname-tests: New file.
49312         * tests/test-getsockname.c: New file.
49314         Tests for module 'getpeername'.
49315         * modules/getpeername-tests: New file.
49316         * tests/test-getpeername.c: New file.
49318         Tests for module 'connect'.
49319         * modules/connect-tests: New file.
49320         * tests/test-connect.c: New file.
49322         Tests for module 'bind'.
49323         * modules/bind-tests: New file.
49324         * tests/test-bind.c: New file.
49326         accept4 tests: Fix for native Windows.
49327         * tests/test-accept4.c: Include sockets.h.
49328         (main): Invoke gl_sockets_startup.
49329         * modules/accept4-tests (Depends-on): Add sockets.
49331         accept tests: Fix for native Windows.
49332         * tests/test-accept.c: Include sockets.h.
49333         (main): Invoke gl_sockets_startup.
49334         * modules/accept-tests (Depends-on): Add sockets.
49336 2011-09-19  Bruno Haible  <bruno@clisp.org>
49338         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
49339         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
49340         do...while(0).
49341         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
49342         Suggested by Paul Eggert.
49344 2011-09-19  Bruno Haible  <bruno@clisp.org>
49346         sched: Ensure pid_t is defined.
49347         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
49348         not define pid_t.
49349         * lib/sched.in.h: Include <sys/types.h>.
49350         * doc/posix-headers/sched.texi: Mention the pid_t problem.
49351         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49353 2011-09-19  Bruno Haible  <bruno@clisp.org>
49355         msvc-inval: Ensure the entire expansion is a single statement.
49356         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
49357         of braces.
49359 2011-09-19  Jim Meyering  <meyering@redhat.com>
49361         tests: use printf, not echo in init.sh's warn_ function
49362         * tests/init.sh (warn_): Use printf, not echo.  The latter would
49363         misbehave when given strings containing a backslash or starting
49364         with e.g., -n.  James Youngman suggested setting IFS.
49366 2011-09-19  Eric Blake  <eblake@redhat.com>
49368         futimens: enhance test
49369         * tests/test-futimens.h (test_futimens): Also check for EBADF on
49370         closed non-negative fd.
49372         date: accept 'hence' as opposite of 'ago'
49373         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
49374         * tests/test-parse-datetime.c (main): Enhance test.
49375         Suggested by Jesse Wilson.
49377 2011-09-19  Jim Meyering  <meyering@redhat.com>
49379         getcwd: don't fail in a deep directory on a system without openat
49380         Before this change, getcwd would fail when called from a directory
49381         of depth PATH_MAX / 3 or greater.  That was due to the fact that
49382         the non-openat implementation used "..", "../..", "../../..", etc.
49383         to access ancestor directories.  With too many, that string would
49384         be longer than PATH_MAX.
49385         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
49386         using gnulib's openat replacement.
49387         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
49388         we're using the replacement function.
49390 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
49392         maint.mk: avoid warnings from perl about missing files
49393         * top/maint.mk (def_sym_regex): Ignore files listed in
49394         $(gl_other_headers_) that do not exist, say because a project
49395         does not use a corresponding module.
49397 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
49399         stat: use pathmax.h only if needed
49400         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
49401         This is better for Emacs, which does not have a mingw port and
49402         therefore can avoid the pathmax module.
49404         utimens: remove dependency on dup2
49405         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
49406         to work around the Linux kernel bug.
49407         * modules/utimens (Depends-on): Remove dup2.
49409 2011-09-18  Bruno Haible  <bruno@clisp.org>
49411         inet_ntop, inet_pton: Look for it also in libresolv.
49412         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
49413         libnsl, search for it in libresolv.
49414         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
49415         Needed on Solaris 7.
49417 2011-09-18  Bruno Haible  <bruno@clisp.org>
49419         accept, accept4 tests: Avoid link error on Solaris.
49420         * modules/accept-tests (Makefile.am): Link test-accept against
49421         $(LIBSOCKET).
49422         * modules/accept4-tests (Makefile.am): Link test-accept4 against
49423         $(LIBSOCKET).
49425         accept4: Avoid link error on Solaris.
49426         * modules/accept4 (Link): New section.
49428         socket functions: Avoid link errors on Solaris.
49429         * modules/accept (Depends-on): Add socketlib.
49430         (Link): New section.
49431         * modules/bind (Depends-on): Add socketlib.
49432         (Link): New section.
49433         * modules/connect (Depends-on): Add socketlib.
49434         (Link): New section.
49435         * modules/getpeername (Depends-on): Add socketlib.
49436         (Link): New section.
49437         * modules/getsockname (Depends-on): Add socketlib.
49438         (Link): New section.
49439         * modules/getsockopt (Depends-on): Add socketlib.
49440         (Link): New section.
49441         * modules/listen (Depends-on): Add socketlib.
49442         (Link): New section.
49443         * modules/recv (Depends-on): Add socketlib.
49444         (Link): New section.
49445         * modules/recvfrom (Depends-on): Add socketlib.
49446         (Link): New section.
49447         * modules/send (Depends-on): Add socketlib.
49448         (Link): New section.
49449         * modules/sendto (Depends-on): Add socketlib.
49450         (Link): New section.
49451         * modules/setsockopt (Depends-on): Add socketlib.
49452         (Link): New section.
49453         * modules/shutdown (Depends-on): Add socketlib.
49454         (Link): New section.
49455         * modules/socket (Depends-on): Add socketlib.
49456         (Link): New section.
49458 2011-09-18  Bruno Haible  <bruno@clisp.org>
49460         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
49461         * tests/test-ptsname.c (main): Terminate the test if it takes longer
49462         than 5 seconds.
49463         * modules/ptsname-tests (configure.ac): Test for alarm.
49465 2011-09-18  Bruno Haible  <bruno@clisp.org>
49467         posix_spawn_file_actions_add*: Fix module dependencies.
49468         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
49469         posix_spawn_file_actions_init.
49470         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
49471         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
49473 2011-09-18  Bruno Haible  <bruno@clisp.org>
49475         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
49476         * tests/test-rename.h (test_rename): Allow error code EEXIST.
49477         * tests/test-renameat.c (main): Likewise.
49479 2011-09-18  Bruno Haible  <bruno@clisp.org>
49481         Tests for module 'accept4'.
49482         * modules/accept4-tests: New file.
49483         * tests/test-accept4.c: New file.
49485 2011-09-18  Bruno Haible  <bruno@clisp.org>
49487         Tests for module 'accept'.
49488         * modules/accept-tests: New file.
49489         * tests/test-accept.c: New file.
49491 2011-09-18  Bruno Haible  <bruno@clisp.org>
49493         dup2: Support for MSVC.
49494         * lib/dup2.c: Include msvc-inval.h.
49495         (rpl_dup2): Handle invalid parameter notifications during dup2 and
49496         _get_osfhandle calls.
49497         * modules/dup2 (Depends-on): Add msvc-inval.
49498         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
49500         New module 'msvc-inval'.
49501         * lib/msvc-inval.h: New file.
49502         * lib/msvc-inval.c: New file.
49503         * m4/msvc-inval.m4: New file.
49504         * modules/msvc-inval: New file.
49506 2011-09-17  Bruno Haible  <bruno@clisp.org>
49508         Tests for module 'pclose'.
49509         * modules/pclose-tests: New file.
49511         New module 'pclose'.
49512         * lib/stdio.in.h (pclose): New declaration.
49513         * lib/pclose.c: New file.
49514         * m4/pclose.m4: New file.
49515         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
49516         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
49517         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
49518         * modules/pclose: New file.
49519         * modules/popen-tests (Depends-on): Add pclose.
49520         * modules/popen-safer-tests (Depends-on): Likewise.
49521         * doc/posix-functions/pclose.texi: Mention the new module.
49523 2011-09-17  Bruno Haible  <bruno@clisp.org>
49525         popen: Support for MSVC.
49526         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
49527         * lib/popen.c (popen): Provide alternate definition for native Windows.
49528         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
49529         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
49530         * modules/popen (Depends-on, configure.ac): Update condition.
49531         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
49532         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
49533         fixed.
49535 2011-09-17  Bruno Haible  <bruno@clisp.org>
49537         isnanl, isnand, isnanf: Work around MSVC bug.
49538         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
49540 2011-09-17  Bruno Haible  <bruno@clisp.org>
49542         sys_socket tests: Fix recent mistake.
49543         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
49545 2011-09-17  Bruno Haible  <bruno@clisp.org>
49547         putenv: Support for MSVC.
49548         * modules/putenv (Depends-on): Add environ.
49549         * lib/putenv.c (environ): Disable declaration.
49550         * lib/unistd.in.h: Update comment.
49552 2011-09-17  Bruno Haible  <bruno@clisp.org>
49554         math: Avoid macro redefinition warnings on MSVC.
49555         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
49556         Undefine before redefining.
49558 2011-09-17  Bruno Haible  <bruno@clisp.org>
49560         doc: Mention functions which are declared as macros.
49561         * doc/posix-functions/*[fl].texi: Mention that some functions are
49562         defined as macros with arguments only.
49564 2011-09-17  Bruno Haible  <bruno@clisp.org>
49566         Add dependencies to new dirent related modules.
49567         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
49568         * modules/fts (Depends-on): Likewise.
49569         * modules/glob (Depends-on): Likewise.
49570         * modules/savedir (Depends-on): Likewise.
49571         * modules/scandir (Depends-on): Likewise.
49572         * modules/dirent-safer (Depends-on): Add opendir, closedir.
49573         * modules/fdopendir (Depends-on): Add opendir.
49575 2011-09-17  Bruno Haible  <bruno@clisp.org>
49577         inet_pton: Support for MSVC on Windows Vista or newer.
49578         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
49579         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
49580         HAVE_DECL_INET_PTON is defined.
49581         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
49582         On platforms with <winsock2.h>, test whether inet_pton is declared in
49583         <ws2tcpip.h>. If so, arrange to replace it.
49584         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
49585         REPLACE_INET_PTON.
49586         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
49587         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
49588         (Depends-on, configure.ac): Update condition.
49589         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
49591 2011-09-17  Bruno Haible  <bruno@clisp.org>
49593         inet_ntop: Support for MSVC on Windows Vista or newer.
49594         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
49595         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
49596         HAVE_DECL_INET_NTOP is defined.
49597         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
49598         On platforms with <winsock2.h>, test whether inet_ntop is declared in
49599         <ws2tcpip.h>. If so, arrange to replace it.
49600         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
49601         REPLACE_INET_NTOP.
49602         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
49603         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
49604         (Depends-on, configure.ac): Update condition.
49605         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
49607 2011-09-16  Eric Blake  <eblake@redhat.com>
49609         test-fsync: yet another enhancement
49610         * tests/test-fsync.c (main): Also test behavior on read-only text
49611         file.
49613 2011-09-16  Bruno Haible  <bruno@clisp.org>
49615         Enhance fsync, fdatasync tests.
49616         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
49617         * tests/test-fdatasync.c (main): Likewise.
49619 2011-09-16  Bruno Haible  <bruno@clisp.org>
49621         Support for MSVC compiler: Ensure mode_t gets defined.
49622         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
49623         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
49624         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
49625         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
49626         * tests/test-fcntl-h.c: Check that mode_t is defined.
49627         * tests/test-sys_stat.c: Likewise.
49628         * tests/test-sys_types.c: Likewise.
49629         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
49630         * doc/posix-headers/sys_stat.texi: Likewise.
49631         * doc/posix-headers/sys_types.texi: Likewise.
49633 2011-09-16  Bruno Haible  <bruno@clisp.org>
49635         sys_stat: Support for MSVC.
49636         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
49637         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
49638         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
49639         MSVC.
49641 2011-09-16  Bruno Haible  <bruno@clisp.org>
49643         Support for MSVC compiler: Ensure off_t gets defined.
49644         * lib/unistd.in.h: Include <sys/types.h>.
49645         * tests/test-fcntl-h.c: Check that off_t is defined.
49646         * tests/test-sys_stat.c: Likewise.
49647         * tests/test-sys_types.c: Likewise.
49649 2011-09-16  Eric Blake  <eblake@redhat.com>
49651         fdatasync: port to Solaris
49652         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
49653         * modules/fdatasync (Link): Document it.
49654         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
49656         fdatasync: port to MacOS X 10.7
49657         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
49658         declared.
49659         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
49660         * modules/unistd (Makefile.am): Substitute it.
49661         * lib/unistd.in.h (fdatasync): Declare on MacOS.
49662         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
49664         fdatasync: minor improvements
49665         * modules/fdatasync (Depends-on): Add condition for fsync.
49666         * lib/fdatasync.c (fdatasync): Add comment.
49667         * tests/test-unistd-c++.cc: Test fdatasync.
49669         unistd: update refs to newer POSIX
49670         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
49671         Suggested by Bruno Haible.
49673         fdatasync: new module
49674         * modules/fsync (Description): Document difference to fdatasync.
49675         * modules/fdatasync: New module.
49676         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
49677         * lib/fdatasync.c (fdatasync): Likewise.
49678         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
49679         defaults.
49680         * modules/unistd (Makefile.am): Set witnesses.
49681         * lib/unistd.in.h (fdatasync): Declare.
49682         * MODULES.html.sh: Document it.
49683         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
49684         * modules/fdatasync-tests: New test.
49685         * tests/test-fdatasync.c: Likewise.
49687 2011-09-16  Eric Blake  <eblake@redhat.com>
49689         test-fsync: enhance tests
49690         * modules/fsync-tests (Depends-on): Add errno, for mingw.
49691         * tests/test-fsync.c (main): Enhance test.
49693 2011-09-15  Bruno Haible  <bruno@clisp.org>
49695         Support for MSVC compiler: Ensure ssize_t gets defined.
49696         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
49697         * doc/posix-headers/stdio.texi: Likewise.
49698         * modules/stdio (Depends-on): Add ssize_t.
49699         * modules/sys_socket (Depends-on): Likewise.
49700         * modules/sys_types (Depends-on): Likewise.
49701         * modules/sys_uio (Depends-on): Likewise.
49702         * modules/unistd (Depends-on): Likewise.
49703         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
49704         * tests/test-sys_types.c: Check that ssize_t is defined.
49706 2011-09-14  Bruno Haible  <bruno@clisp.org>
49708         Avoid using #, the m4 comment starter character, near brackets.
49709         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
49710         delimiter character in sed expressions.
49711         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
49712         Suggested by Eric Blake.
49714         Properly quote AC_CHECK_DECLS' 4th argument.
49715         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
49716         argument.
49717         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
49718         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
49719         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
49720         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
49721         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
49722         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
49723         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
49724         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
49725         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
49726         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
49727         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
49728         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
49729         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
49730         * m4/isinf.m4 (gl_ISINF): Likewise.
49731         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
49732         * m4/readutmp.m4 (gl_READUTMP): Likewise.
49733         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
49734         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
49735         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
49736         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
49737         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
49738         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
49739         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
49740         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
49741         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
49742         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
49743         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
49744         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
49745         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
49746         Reported by Eric Blake.
49748         Properly quote AC_CHECK_DECL's 4th argument.
49749         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
49750         argument.
49751         * m4/argp.m4 (gl_ARGP): Likewise.
49752         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
49753         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
49754         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
49755         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
49756         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
49757         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
49758         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
49759         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
49760         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
49761         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
49762         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
49763         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
49764         Reported by Eric Blake.
49766 2011-09-14  Eric Blake  <eblake@redhat.com>
49768         opendir: avoid compile warning
49769         * lib/opendir.c (includes): Always include errno.h.
49770         Reported by Tatsuro MATSUOKA.
49772 2011-09-14  Jim Meyering  <meyering@redhat.com>
49774         maint.mk: sc_tight_scope: propagate failure from sub-make
49775         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
49776         Reported by Martin von Gagern.
49778 2011-09-13  Bruno Haible  <bruno@clisp.org>
49780         tempname: Support for MSVC.
49781         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
49782         MSVC.
49783         * modules/tempname (Depends-on): Add fcntl-h.
49785 2011-09-13  Bruno Haible  <bruno@clisp.org>
49787         sys_time: Support for MSVC.
49788         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
49789         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
49790         include <winsock2.h>.
49791         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
49792         function declarations that collide with POSIX.
49793         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
49794         (Makefile.am): Substitute HAVE_WINSOCK2_H.
49796 2011-09-13  Bruno Haible  <bruno@clisp.org>
49798         stat: Support for MSVC.
49799         * lib/stat.c: Include pathmax.h.
49800         * modules/stat (Depends-on): Add pathmax.
49802         pathmax: Support for native Windows.
49803         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
49805 2011-09-12  Bruno Haible  <bruno@clisp.org>
49807         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
49808         * lib/dirent.in.h (struct dirent): New type.
49809         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
49810         DT_WHT): New macros.
49811         (DIR): New type.
49812         (opendir, closedir): Declare only if the module 'opendir' is enabled.
49813         (readdir, rewinddir): New declarations.
49814         * lib/dirent-private.h: New file.
49815         * lib/opendir.c: New file.
49816         * lib/readdir.c: New file.
49817         * lib/rewinddir.c: New file.
49818         * lib/closedir.c: New file.
49819         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
49820         * m4/opendir.m4: New file.
49821         * m4/readdir.m4: New file.
49822         * m4/rewinddir.m4: New file.
49823         * m4/closedir.m4: New file.
49824         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
49825         REPLACE_CLOSEDIR here.
49826         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
49827         readdir, rewinddir are declared.
49828         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
49829         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
49830         HAVE_REWINDDIR, HAVE_CLOSEDIR.
49831         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
49832         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
49833         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
49834         * modules/opendir: New file.
49835         * modules/readdir: New file.
49836         * modules/rewinddir: New file.
49837         * modules/closedir: New file.
49838         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
49839         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
49840         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
49841         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
49842         * NEWS: Mention the 'fchdir' change.
49844 2011-09-11  Bruno Haible  <bruno@clisp.org>
49846         asm-underscore.m4: Support for MSVC.
49847         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
49848         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
49850 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
49852         Doc about crypt functions.
49853         * doc/posix-functions/crypt.texi: Expand range of glibc versions
49854         needing for _GNU_SOURCE to get crypt.
49855         * doc/posix-functions/encrypt.texi: Likewise.
49856         * doc/posix-functions/setkey.texi: Likewise.
49858 2011-09-11  Bruno Haible  <bruno@clisp.org>
49860         doc: Update regarding MSVC 9.
49861         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
49862         tested".
49863         * doc/posix-functions/*.texi: Update with info about MSVC 9.
49864         * doc/posix-headers/*.texi: Likewise.
49865         * doc/pastposix-functions/*.texi: Likewise.
49866         * doc/glibc-functions/*.texi: Likewise.
49867         * doc/glibc-headers/*.texi: Likewise.
49869 2011-09-11  Bruno Haible  <bruno@clisp.org>
49871         unistd et al.: Don't assume <unistd.h> exists.
49872         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
49873         does not exist.
49874         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
49875         exist. But include <stdlib.h>.
49876         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
49877         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
49878         symlink() does not exist.
49879         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
49880         include <io.h> instead.
49881         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
49882         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
49883         include <direct.h> instead.
49884         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
49885         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
49886         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
49887         <io.h> instead.
49888         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
49889         correctly if the system does not have hard links.
49890         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
49891         <direct.h> instead.
49892         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
49893         it when looking for function declarations.
49894         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
49895         <direct.h> and <io.h> instead.
49896         * doc/posix-headers/unistd.texi: More details about MSVC problem.
49898 2011-09-11  Bruno Haible  <bruno@clisp.org>
49900         strcase: Support for MSVC.
49901         * modules/strcase (Status, Notice): Remove obsoletion mark.
49902         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
49903         * doc/posix-functions/strncasecmp.texi: Likewise.
49905         strings: Don't assume <strings.h> exists.
49906         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
49907         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
49908         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
49909         * doc/posix-headers/strings.texi: Mention the MSVC problem.
49911 2011-09-11  Bruno Haible  <bruno@clisp.org>
49913         dirent: Don't assume <dirent.h> exists.
49914         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
49915         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
49916         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
49917         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
49919 2011-09-11  Bruno Haible  <bruno@clisp.org>
49921         Fix wint_t on MSVC.
49922         * lib/wchar.in.h (wint_t): On MSVC, override it.
49923         * lib/wctype.in.h (wint_t): Likewise.
49924         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
49925         MSVC.
49926         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
49927         * doc/posix-headers/wctype.texi: Likewise.
49929 2011-09-11  Bruno Haible  <bruno@clisp.org>
49931         sys_types: Fix typo.
49932         * lib/sys_types.in.h: Fix typo in comment.
49933         Reported by Paul Eggert.
49935         Support for MSVC compiler: Ensure size_t gets defined.
49936         * modules/strings (Depends-on): Add 'sys_types'.
49937         * modules/sys_uio (Depends-on): Likewise.
49938         * lib/sys_uio.in.h: Update comment.
49940         C++ tests for module 'sys_types'.
49941         * modules/sys_types-c++-tests: New file.
49942         * tests/test-sys_types-c++.cc: New file.
49944         Tests for module 'sys_types'.
49945         * modules/sys_types-tests: New file.
49946         * tests/test-sys_types.c: New file.
49948         New module 'sys_types'.
49949         * lib/sys_types.in.h: New file.
49950         * m4/sys_types_h.m4: New file.
49951         * modules/sys_types: New file.
49952         * doc/posix-headers/sys_types.texi: Mention the new module and the
49953         size_t problem on MSVC 9.
49955 2011-09-11  Bruno Haible  <bruno@clisp.org>
49957         Support for MSVC compiler: Avoid division by a literal 0.
49958         * lib/math.in.h (NAN): Define through a function call also on MSVC.
49959         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
49960         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
49961         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
49962         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
49963         * tests/infinity.h: New file.
49964         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
49965         on MSVC.
49966         * tests/test-ceilf1.c: Include infinity.h.
49967         (main): Use Infinityf.
49968         * tests/test-ceil1.c: Include infinity.h.
49969         (main): Use Infinityd.
49970         * tests/test-ceill.c: Include infinity.h.
49971         (main): Use Infinityl.
49972         * tests/test-dprintf-posix.c: Include infinity.h.
49973         (test_function): Use Infinityd.
49974         * tests/test-floorf1.c: Include infinity.h.
49975         (main): Use Infinityf.
49976         * tests/test-floor1.c: Include infinity.h.
49977         (main): Use Infinityd.
49978         * tests/test-floorl.c: Include infinity.h.
49979         (main): Use Infinityl.
49980         * tests/test-fprintf-posix.c: Include infinity.h.
49981         (test_function): Use Infinityd.
49982         * tests/test-frexp.c: Include infinity.h.
49983         (main): Use Infinityd.
49984         * tests/test-frexpl.c: Include infinity.h.
49985         (main): Use Infinityl.
49986         * tests/test-isfinite.c: Include infinity.h.
49987         (test_isfinitef): Use Infinityf.
49988         (test_isfinited): Use Infinityd.
49989         (test_isfinitel): Use Infinityl.
49990         * tests/test-isinf.c: Include infinity.h.
49991         (test_isinff): Use Infinityf.
49992         (test_isinfd): Use Infinityd.
49993         (test_isinfl): Use Infinityl.
49994         * tests/test-isnan.c: Include infinity.h.
49995         (test_float): Use Infinityf.
49996         (test_double): Use Infinityd.
49997         (test_long_double): Use Infinityl.
49998         * tests/test-isnanf.h: Include infinity.h.
49999         (main): Use Infinityf.
50000         * tests/test-isnand.h: Include infinity.h.
50001         (main): Use Infinityd.
50002         * tests/test-isnanl.h: Include infinity.h.
50003         (main): Use Infinityl.
50004         * tests/test-ldexpl.c: Include infinity.h.
50005         (main): Use Infinityl.
50006         * tests/test-printf-posix.h: Include infinity.h.
50007         (test_function): Use Infinityd.
50008         * tests/test-roundf1.c: Include infinity.h.
50009         (main): Use Infinityf.
50010         * tests/test-round1.c: Include infinity.h.
50011         (main): Use Infinityd.
50012         * tests/test-roundl.c: Include infinity.h.
50013         (main): Use Infinityl.
50014         * tests/test-signbit.c: Include infinity.h.
50015         (test_signbitf): Use Infinityf.
50016         (test_signbitd): Use Infinityd.
50017         (test_signbitl): Use Infinityl.
50018         * tests/test-snprintf-posix.h: Include infinity.h.
50019         (test_function): Use Infinityd, Infinityl.
50020         * tests/test-sprintf-posix.h: Include infinity.h.
50021         (test_function): Use Infinityd, Infinityl.
50022         * tests/test-truncf1.c: Include infinity.h.
50023         (main): Use Infinityf.
50024         * tests/test-trunc1.c: Include infinity.h.
50025         (main): Use Infinityd.
50026         * tests/test-truncl.c: Include infinity.h.
50027         (main): Use Infinityl.
50028         * tests/test-vasnprintf-posix.c: Include infinity.h.
50029         (test_function): Use Infinityd, Infinityl.
50030         * tests/test-vasprintf-posix.c: Include infinity.h.
50031         (test_function): Use Infinityd, Infinityl.
50032         * modules/ceilf-tests (Files): Add tests/infinity.h.
50033         * modules/ceil-tests (Files): Likewise.
50034         * modules/ceill-tests (Files): Likewise.
50035         * modules/dprintf-posix-tests (Files): Likewise.
50036         * modules/floorf-tests (Files): Likewise.
50037         * modules/floor-tests (Files): Likewise.
50038         * modules/floorl-tests (Files): Likewise.
50039         * modules/fprintf-posix-tests (Files): Likewise.
50040         * modules/frexp-tests (Files): Likewise.
50041         * modules/frexp-nolibm-tests (Files): Likewise.
50042         * modules/frexpl-tests (Files): Likewise.
50043         * modules/frexpl-nolibm-tests (Files): Likewise.
50044         * modules/isfinite-tests (Files): Likewise.
50045         * modules/isinf-tests (Files): Likewise.
50046         * modules/isnan-tests (Files): Likewise.
50047         * modules/isnanf-tests (Files): Likewise.
50048         * modules/isnanf-nolibm-tests (Files): Likewise.
50049         * modules/isnand-tests (Files): Likewise.
50050         * modules/isnand-nolibm-tests (Files): Likewise.
50051         * modules/isnanl-tests (Files): Likewise.
50052         * modules/isnanl-nolibm-tests (Files): Likewise.
50053         * modules/ldexpl-tests (Files): Likewise.
50054         * modules/printf-posix-tests (Files): Likewise.
50055         * modules/roundf-tests (Files): Likewise.
50056         * modules/round-tests (Files): Likewise.
50057         * modules/roundl-tests (Files): Likewise.
50058         * modules/signbit-tests (Files): Likewise.
50059         * modules/snprintf-posix-tests (Files): Likewise.
50060         * modules/sprintf-posix-tests (Files): Likewise.
50061         * modules/truncf-tests (Files): Likewise.
50062         * modules/trunc-tests (Files): Likewise.
50063         * modules/truncl-tests (Files): Likewise.
50064         * modules/vasnprintf-posix-tests (Files): Likewise.
50065         * modules/vasprintf-posix-tests (Files): Likewise.
50066         * modules/vdprintf-posix-tests (Files): Likewise.
50067         * modules/vfprintf-posix-tests (Files): Likewise.
50068         * modules/vprintf-posix-tests (Files): Likewise.
50069         * modules/vsnprintf-posix-tests (Files): Likewise.
50070         * modules/vsprintf-posix-tests (Files): Likewise.
50071         * modules/xprintf-posix-tests (Files): Likewise.
50073 2011-09-11  Bruno Haible  <bruno@clisp.org>
50075         Ensure pid_t gets defined.
50076         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
50077         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
50078         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
50079         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
50080         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
50081         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
50082         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
50083         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
50084         * tests/test-fcntl-h.c: Check that pid_t is defined.
50085         * tests/test-sched.c: Likewise.
50086         * tests/test-termios.c: Likewise.
50087         * tests/test-time.c: Likewise.
50088         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
50089         * doc/posix-headers/signal.texi: Likewise.
50090         * doc/posix-headers/sys_types.texi: Likewise.
50091         * doc/posix-headers/time.texi: Likewise.
50093 2011-09-11  Bruno Haible  <bruno@clisp.org>
50095         acl: Fix compilation on Solaris 10 (older version).
50096         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
50097         of ACE_EVERYONE.
50098         * lib/set-mode-acl.c (qset_acl): Likewise.
50099         Reported by Christian Jullien <eligis@orange.fr>.
50101 2011-09-10  Bruno Haible  <bruno@clisp.org>
50103         iconv, unsetenv: Add support for MSVC compiler.
50104         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
50105         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
50107 2011-09-10  Bruno Haible  <bruno@clisp.org>
50109         *printf: Add support for MSVC compiler.
50110         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
50111         handles the exception caused by the %n directive. When cross-compiling,
50112         guess no on native Windows.
50113         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
50114         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
50115         emulate it through vsnprintf.
50116         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
50117         * doc/posix-functions/dprintf.texi: Update documentation regarding
50118         MSVC 9.
50119         * doc/posix-functions/fprintf.texi: Likewise.
50120         * doc/posix-functions/printf.texi: Likewise.
50121         * doc/posix-functions/snprintf.texi: Likewise.
50122         * doc/posix-functions/sprintf.texi: Likewise.
50123         * doc/posix-functions/swprintf.texi: Likewise.
50124         * doc/posix-functions/vdprintf.texi: Likewise.
50125         * doc/posix-functions/vfprintf.texi: Likewise.
50126         * doc/posix-functions/vprintf.texi: Likewise.
50127         * doc/posix-functions/vsnprintf.texi: Likewise.
50128         * doc/posix-functions/vsprintf.texi: Likewise.
50129         * doc/glibc-functions/asprintf.texi: Likewise.
50130         * doc/glibc-functions/obstack_printf.texi: Likewise.
50131         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
50132         * doc/glibc-functions/vasprintf.texi: Likewise.
50134 2011-09-10  Bruno Haible  <bruno@clisp.org>
50136         nocrash: Add support for native Windows.
50137         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
50139 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
50140             Bruno Haible  <bruno@clisp.org>
50142         absolute-header, include-next: Add support for MSVC compiler.
50143         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
50144         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
50145         directory separator in #line directives.
50146         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
50147         recognize also backslash as directory separator in #line directives.
50149 2011-09-08  Jim Meyering  <meyering@redhat.com>
50151         maint.mk: mark the post-release commit log with "maint: " prefix
50152         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
50153         one-line commit-log summary.
50155 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
50156             Bruno Haible  <bruno@clisp.org>
50158         Doc about crypt functions.
50159         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
50160         systems.
50161         * doc/posix-functions/encrypt.texi: Likewise.
50162         * doc/posix-functions/setkey.texi: Likewise.
50164 2011-09-08  Simon Josefsson  <simon@josefsson.org>
50166         * lib/gc.h: Fix copyright header.
50168 2011-09-07  Bruno Haible  <bruno@clisp.org>
50170         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
50171         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
50172         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
50174 2011-09-07  Bruno Haible  <bruno@clisp.org>
50176         openat: Work around compilation error with OSF/1 5.1 DTK cc.
50177         * lib/fopen.c: Use different syntax for include of <stdio.h>.
50178         * lib/freopen.c: Likewise.
50179         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
50180         * lib/lstat.c: Likewise.
50181         * lib/stat.c: Likewise.
50182         * lib/open.c: Use different syntax for include of <fcntl.h>.
50183         * lib/openat.c: Include fcntl.h again, explicitly.
50185 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
50187         parse-datetime: document the newly accepted format
50188         * doc/parse-datetime.texi (Combined date and time of day items):
50189         New section.
50191 2011-09-06  Bruno Haible  <bruno@clisp.org>
50193         acl: Fix a test failure on newer Solaris 10 with ZFS.
50194         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
50195         ENOSYS as no ACL.
50196         Reported by Jim Meyering.
50198 2011-09-06  Bruno Haible  <bruno@clisp.org>
50200         acl: Update for AIX >= 5.3 with NFS.
50201         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
50202         ENOSYS as no ACL.
50204         acl: Fix a test failure on AIX >= 5.3 with NFS.
50205         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
50206         as no ACL.
50208 2011-09-06  Bruno Haible  <bruno@clisp.org>
50210         acl: Fix a test failure on IRIX 6.5 with NFS.
50211         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
50212         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
50213         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
50214         * lib/copy-acl.c (qcopy_acl): Likewise.
50216 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
50218         openat: port to AIX 7.1 with large files
50219         AIX 7.1 does a "#define openat open64at" if large files are in use,
50220         so we can't simply #undef openat.  Use the orig_openat trick (similar
50221         to orig_open in lib/open.c) to work around the problem.  Problem
50222         reported by Kevin Brott for GNU tar, in the thread containing
50223         <http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
50224         * lib/openat.c (__need_system_fcntl_h): Define first.
50225         Include <fcntl.h> and <sys/types.h> before undefining.
50226         (orig_openat) [HAVE_OPENAT]: New inline function.
50227         (openat) [HAVE_OPENAT]: Do not undef.
50228         (rpl_openat): Use orig_openat, not openat.
50230 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
50231             Bruno Haible  <bruno@clisp.org>
50233         acl: Avoid errors on NonStop Kernel.
50234         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
50235         ENOTSUP errors.
50237 2011-09-05  Bruno Haible  <bruno@clisp.org>
50239         acl: Clean up Solaris code.
50240         * lib/acl-internal.h: Remove no-op #if.
50241         * lib/file-has-acl.c: Likewise.
50242         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
50243         * lib/copy-acl.c (qcopy_acl): Likewise.
50245 2011-09-05  Bruno Haible  <bruno@clisp.org>
50247         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
50248         binaries built on the original Solaris 10.
50249         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
50250         trivial.
50252 2011-09-05  Bruno Haible  <bruno@clisp.org>
50254         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
50255         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
50256         10.
50257         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
50258         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
50259         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
50260         instead of acl_get, facl_get, acl_set, facl_set.
50262 2011-09-05  Bruno Haible  <bruno@clisp.org>
50264         copy-file: Try unit tests on more file systems.
50265         * tests/test-copy-file-1.sh: New file.
50266         * tests/test-copy-file-2.sh: New file.
50267         * modules/copy-file-tests (Files): Add them.
50268         (Makefile.am): Add them to TESTS.
50270         acl: Try unit tests on more file systems.
50271         * tests/test-file-has-acl-1.sh: New file.
50272         * tests/test-file-has-acl-2.sh: New file.
50273         * tests/test-set-mode-acl-1.sh: New file.
50274         * tests/test-set-mode-acl-2.sh: New file.
50275         * tests/test-copy-acl-1.sh: New file.
50276         * tests/test-copy-acl-2.sh: New file.
50277         * modules/acl-tests (Files): Add them.
50278         (Makefile.am): Add them to TESTS.
50280 2011-09-04  Bruno Haible  <bruno@clisp.org>
50282         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
50283         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
50284         10.
50285         (OLD_ALLOW, OLD_DENY): New macros.
50286         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
50287         ACE_ACCESS_ALLOWED_ACE_TYPE.
50288         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
50289         ACE_ACCESS_DENIED_ACE_TYPE.
50290         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
50291         (NEW_ACE_EXECUTE): Fix value.
50292         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
50293         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
50294         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
50295         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
50296         NEW_ACE_SYNCHRONIZE): New macros.
50297         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
50298         instead of acl_fromtext, acl_set, facl_set.
50299         Fixes a coreutils/tests/cp/perm failure.
50301 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
50303         openat: test for fstatat (..., 0) bug
50304         Further testing with tar suggests that fstatat (..., 0)
50305         does not work in general, on AIX 7.1; see
50306         <http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
50307         So, give up entirely on AIX 7.1's fstatat, and fall back on our
50308         replacement fstatat (which is what older AIX releases were using
50309         anyway).
50310         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
50311         use is now changed to orig_fstatat.  This was probably the right
50312         thing to do anyway.
50313         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
50314         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
50315         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
50316         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
50317         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
50318         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
50319         if the bug is found.
50321         openat: test for fstatat (AT_FDCWD, ..., 0) bug
50322         This tests for another fstatat bug on AIX 7.1:
50323         fstatat (AT_FDCWD, ..., 0) does not work.  See
50324         <http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
50325         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
50326         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
50327         (rpl_fstatat): Adjust so that it works around either (or both)
50328         bugs if present.
50329         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
50331 2011-09-03  Karl Berry  <karl@gnu.org>
50333         * doc/regex.texi (Character Class Operators): Avoid literal ":"
50334         in index entries.
50336 2011-09-02  Bruno Haible  <bruno@clisp.org>
50338         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
50339         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
50340         values of AR, ARFLAGS, RANLIB.
50341         Reported by John W. Eaton <jwe@gnu.org> for Octave.
50343 2011-09-02  Bruno Haible  <bruno@clisp.org>
50345         Find 'ar' program that fits with --host argument.
50346         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
50348 2011-09-02  Bruno Haible  <bruno@clisp.org>
50350         tests: init.sh: Support any non-GNU diff.
50351         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
50352         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
50353         Solaris 8.
50355 2011-09-02  Bruno Haible  <bruno@clisp.org>
50357         tests: init.sh: work also with any non-GNU diff that supports -u
50358         * tests/init.sh: Relax check for diff -u support.
50359         Rather than checking for GNU diff via --version, simply check
50360         for support for -u itself.  Useful at least on OpenBSD 4.9,
50361         AIX 7.1, IRIX 6.5, and Solaris 10.
50363 2011-09-01  Bruno Haible  <bruno@clisp.org>
50365         strtoimax, strtoumax: Document problem on HP-UX 11.
50366         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
50367         * doc/posix-functions/strtoumax.texi: Likewise.
50369 2011-09-01  Bruno Haible  <bruno@clisp.org>
50371         strtoumax: Avoid link error on OSF/1 with DTK cc.
50372         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
50373         defined as a function.
50374         * modules/strtoumax (Depends-on, configure.ac): Test only whether
50375         strtoumax is defined, not whether it is declared.
50377 2011-09-01  Bruno Haible  <bruno@clisp.org>
50379         strtoimax: Avoid link error on OSF/1 with DTK cc.
50380         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
50381         defined as a function.
50382         * modules/strtoimax (Depends-on, configure.ac): Test only whether
50383         strtoimax is defined, not whether it is declared.
50385 2011-09-01  Bruno Haible  <bruno@clisp.org>
50387         imaxdiv: Avoid link error on OSF/1 with DTK cc.
50388         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
50389         as a function.
50390         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
50391         whether it is declared.
50393 2011-09-01  Bruno Haible  <bruno@clisp.org>
50395         imaxabs: Avoid link error on OSF/1 with DTK cc.
50396         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
50397         as a function.
50398         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
50399         whether it is declared.
50401 2011-09-01  Bruno Haible  <bruno@clisp.org>
50403         Tests for module 'strtoumax'.
50404         * modules/strtoumax-tests: New file.
50405         * tests/test-strtoumax.c: New file.
50407         Tests for module 'strtoimax'.
50408         * modules/strtoimax-tests: New file.
50409         * tests/test-strtoimax.c: New file.
50411         Tests for module 'imaxdiv'.
50412         * modules/imaxdiv-tests: New file.
50413         * tests/test-imaxdiv.c: New file.
50415         Tests for module 'imaxabs'.
50416         * modules/imaxabs-tests: New file.
50417         * tests/test-imaxabs.c: New file.
50419 2011-09-01  Bruno Haible  <bruno@clisp.org>
50421         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
50422         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
50423         pthread_create.
50425 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
50427         openat: work around AIX 7.1 fstatat issue
50428         This should fix the problem that was not properly fixed
50429         in the previous change, dated 2011-08-30.
50430         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
50431         __need_system_stat_h defined.
50432         (orig_fstatat) [HAVE_FSTATAT]: New function.
50433         (rpl_fstatat): Go back to the old way of doing things,
50434         except call orig_fstatat instead of fstatat.
50435         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
50436         Remove unnecessary check whether fstatat fills in st_size etc.
50438 2011-09-01  Bruno Haible  <bruno@clisp.org>
50440         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
50441         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
50442         just include the system's header.
50444 2011-08-31  Jim Meyering  <meyering@redhat.com>
50446         tests: avoid spurious assertion failure in test-float.c on ppc64
50447         * tests/test-float.c (test_long_double): Comment out an assertion,
50448         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
50449         with gcc-4.4.4.
50451         maint: indent with spaces, not TABs
50452         I need to get in the habit of running gnulib's "make check".
50453         Both of these would have been caught.
50454         * m4/largefile.m4: Indent with spaces, not TABs.
50455         * lib/parse-datetime.y (iso_8601_time): Likewise.
50456         Spotted by Pádraig Brady.
50458         test-parse-datetime.c: accommodate a relatively strict gcc warning
50459         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
50460         to avoid a warning from gcc's -Werror=missing-declarations.
50461         Insert a few spaces-before-funcall-parenthesis.
50463 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
50465         parse-datetime: accept ISO 8601 date and time rep with "T" separator
50466         The parser now accepts ISO 8601 date-time strings with "T" as the
50467         separator.  It has long parsed dates like "2004-02-29 16:21:42"
50468         with a space between the date and time strings.  Now it also parses
50469         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
50470         variants like "2004-02-29T16:21:42.333-07:00"
50471         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
50472         of day representation using the 'T' separator character.
50473         * doc/parse-datetime.texi (General date syntax): replace use of
50474         deprecated --iso-8601 option with --rfc-3339 in example of date
50475         command output formats that can be parsed.
50476         * tests/test-parse-datetime.c (tm_diff): New function, taken from
50477         lib/parse-datetime.y.
50478         (gmt_offset): New function.
50479         (main): Add additional test cases to validate ISO8601 extended
50480         date and time of day parsing.
50482 2011-08-31  Bruno Haible  <bruno@clisp.org>
50484         freopen: Documentation.
50485         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
50486         name.
50487         Reported by Claudio Bley <claudio.bley@gmail.com>.
50489 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
50491         freopen: Don't crash if the filename argument is NULL.
50492         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
50493         NULL.
50495 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
50497         openat: work around AIX 7.1 fstatat bug
50498         Problem reported by Kevin Brott for GNU tar, in the thread containing
50499         <http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
50500         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
50501         FSTATAT_ST_SIZE_ETC_BROKEN.
50502         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
50503         rpl_fstatat.
50504         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
50505         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
50506         AC_CHECK_FUNCS_ONCE for fstatat.
50507         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
50508         fchmodat, mkdirat, openat and unlinkat.
50510 2011-08-30  Bruno Haible  <bruno@clisp.org>
50512         Avoid endless recursions if config.h includes some header files.
50513         * lib/fopen.c (__need_FILE): Define already before including config.h.
50514         * lib/freopen.c (__need_FILE): Likewise.
50515         * lib/open.c (__need_system_fcntl_h): Likewise.
50516         * lib/stat.c (__need_system_sys_stat_h): Likewise.
50517         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
50518         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
50520 2011-08-25  Karl Berry  <karl@gnu.org>
50522         * config/srclist.txt (ylwrap): new try.
50523         * build-aux/ylwrap: new file.
50525 2011-08-23  Bruno Haible  <bruno@clisp.org>
50527         tmpdir: Use a good default directory on native Windows.
50528         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
50529         (P_tmpdir): Default to _P_tmpdir on native Windows.
50530         (path_search): On native Windows, try the value returned by GetTempPath
50531         before trying P_tmpdir.
50532         * modules/tmpdir (Depends-on): Add pathmax.
50533         Suggested by John Darrington <john@darrington.wattle.id.au>.
50535 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
50537         doc: fix typo in README-release
50538         * top/README-release: Capitalize first word of a sentence.
50540 2011-08-19  Jim Meyering  <meyering@redhat.com>
50542         fts: do not exhaust memory when processing million-entry directories
50543         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
50544         directory would require about 256*N bytes of memory.  Thus, it was
50545         easy to construct a directory too large to be processed by any of
50546         those tools.  With this change, fts' maximum memory utilization is
50547         now limited to around 30MB.
50548         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
50549         (fts_read): When we've processed the final entry (i.e., when
50550         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
50551         using the parent entry to read any remaining entries.  Dispatch
50552         depending on what fts_build returns:
50553         - NULL+stop, aka failure: stop
50554         - NULL otherwise: move up in the dir hierarchy
50555         - non-NULL: handle this new entry
50556         (fts_build): Declare and use new local, continue_readdir.
50557         Prepare to be called from fts_read, when the entries
50558         from a partially-read directory have just been exhausted.
50559         In that case, we'll skip the opendir and instead use the parent's
50560         fts_dirp and derive dir_fd from that.
50561         Finally, in the readdir loop, if we read max_entries entries,
50562         exit the loop ensuring *not* to call closedir.  This is required
50563         so that fts_dirp can be reused on a subsequent call.
50564         Prompted by Ben England's report of memory exhaustion in find
50565         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
50567         maint: fts: move decl of `dp' down into while loop; split a long line
50568         * lib/fts.c (fts_build): No semantic change.
50570         fts: add/use new struct member, fts_dirp
50571         We are about to use this to manage any directory with
50572         too many entries to read all of them into memory at once.
50573         To do that, we'll need to save the DIR* pointer in each
50574         affected FTSENT struct.
50575         * lib/fts_.h: Include <dirent.h>.
50576         (struct FTSENT) [fts_dirp]: New member.
50577         * lib/fts.c (closedir_and_clear): Define.
50578         Use it in place of closedir so that we are sure to
50579         clear the new fts_dirp member when done with it.
50580         (fts_alloc): Initialize the new member.
50581         (fts_lfree): Free, if needed.
50583         maint: fts: give __opendir2 a new parameter and rename
50584         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
50585         than surreptitiously using sole caller's "dir_fd".
50586         (fts_opendir): Rename from __opendir2.
50588         maint: fts.c: remove __opendir2's now-unused parameter, oflag
50589         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
50591         maint: fts.c: correct off-by-one indentation
50592         * lib/fts.c (fts_build): Correct indentation, change style
50593         of a couple of block comments, and bracing style.
50595         maint: fts.c: move __opendir2 #define "up" out of function body
50596         * lib/fts.c (__opendir2): Move "up".  No semantic change.
50598         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
50599         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
50600         out for a long time and besides was useful only on BSD systems.
50602 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
50604         regex: port to Stratus OpenVOS
50605         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
50606         define to empty, rather than attempting nonportable optimizations.
50607         Problem reported by Paul Green in:
50608         http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
50609         and fix suggested by Eric Blake in:
50610         http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html
50612 2011-08-17  Eric Blake  <eblake@redhat.com>
50614         getcwd: fix test failures on mingw
50615         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
50616         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
50617         test if long directory cannot be created, and allow mingw errno.
50619         getcwd-lgpl: fix m4 to match relaxed test for BSD
50620         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
50621         (gl_FUNC_GETCWD_SIGNATURE): New macro.
50622         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
50623         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
50624         signature problem.
50626         getcwd: fix compilation on mingw64
50627         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
50628         getcwd.
50629         Reported by Marc-André Lureau.
50631         pipe2: silence compiler warning
50632         * lib/pipe2.c (pipe2): Hide label if it is not used.
50634 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
50636         relocatable-prog: fix link error
50637         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
50638         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
50639         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
50640         into modules/relocatable-lib without noticing that
50641         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
50642         also needs to build relocatable.c.
50644 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
50646         getaddrinfo: fix sh typo in gai_strerrorA decl checking
50647         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
50648         shell code: it contained a 'break' that was not in a loop.
50649         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
50650         via a shell-language loop; this may have been true in old Autoconf
50651         versions, but it's not true in Autoconf 2.68.  I found this bug
50652         when testing coreutils git on Solaris 8, whose shell complains
50653         about the syntax error.
50655 2011-08-12  Simon Josefsson  <simon@josefsson.org>
50657         * lib/base64.c: Fix comment to reference RFC 4648.
50658         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
50659         <gvtulder@gmail.com>.
50661 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
50663         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
50665         po/Makefile.in.in: fix make -q problem
50666         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
50667         rule, since there's no file named 'check-macro-version' and its
50668         use as a file breaks make -q.
50669         (all): Don't depend on check-macro-version.
50670         (CHECK_MACRO_VERSION): New macro.
50671         (stamp-po): Use it.
50673         configmake: fix make -q problem
50674         * modules/configmake (configmake.h): Update configmake.h's time stamp
50675         even if the file does not change.  Otherwise, 'make -q' fails.
50676         Problem reported by Simon Josefsson in
50677         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.
50679 2011-08-11  Jim Meyering  <meyering@redhat.com>
50681         git-version-gen: correct the advice in a comment
50682         * build-aux/git-version-gen: Correct comment.
50683         Don't recommend to list .tarball-version in .gitignore.
50685 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
50687         base64: fix off-by-one buffer size bug
50688         Problem and (trivial) fix reported by Gijs van Tulder in
50689         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
50690         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
50691         * tests/test-base64.c (main): Catch the bug.
50693 2011-08-10  Eric Blake  <eblake@redhat.com>
50695         closein: correct comments
50696         * lib/closein.c (close_stdin): Improve comments.
50698 2011-08-09  Bruno Haible  <bruno@clisp.org>
50700         More tests for 'fseeko'.
50701         * tests/test-fseeko3.c: New file, from Eric Blake.
50702         * tests/test-fseeko3.sh: New file.
50703         * modules/fseeko-tests (Files): Add them.
50704         (TESTS): Add test-fseeko3.sh.
50705         (check_PROGRAMS): Add test-fseeko3.
50707 2011-08-09  Eric Blake  <eblake@redhat.com>
50709         fseeko: remove unneeded hack
50710         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
50712         fseeko: fix bug on glibc
50713         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
50714         Reported by John W. Eaton.
50716 2011-08-08  Bruno Haible  <bruno@clisp.org>
50718         unictype/base: Fix interoperability with preinstalled libunistring.
50719         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
50720         Reported by Simon Josefsson.
50722 2011-08-08  Bruno Haible  <bruno@clisp.org>
50724         iswblank: Detect declaration correctly.
50725         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
50726         AC_CHECK_DECLS invocation.
50728 2011-08-08  Bruno Haible  <bruno@clisp.org>
50730         tcgetsid: Detect declaration correctly.
50731         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
50732         AC_CHECK_DECLS invocation.
50733         Reported by Simon Josefsson.
50735 2011-08-08  Eric Blake  <eblake@redhat.com>
50737         largefile: fix typo that regressed large file support
50738         * modules/largefile (configure.ac-early): Fix section name.
50740 2011-08-06  Karl Berry  <karl@gnu.org>
50742         * MODULES.html.sh (func_all_files): _Noreturn is no longer
50743         a separate module.
50745 2011-08-05  Simon Josefsson  <simon@josefsson.org>
50747         openat: Fix warnings and commens when building unlinkat.c on Hurd.
50748         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
50749         get prototype for free.
50751 2011-08-04  Bruno Haible  <bruno@clisp.org>
50753         Tests for module 'pathmax'.
50754         * modules/pathmax-tests: New file.
50755         * tests/test-pathmax.c: New file.
50757         canonicalize-lgpl: Support larger filenames on the Hurd.
50758         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
50759         Reported by Paul Eggert.
50761         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
50762         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
50763         * lib/chdir-long.h: Include pathmax.h.
50764         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
50765         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
50766         (PATH_MAX): Remove code that is done by pathmax.h.
50767         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
50768         * lib/tmpfile.c: Add a comment.
50769         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
50770         * modules/chdir-long (Depends-on): Add pathmax.
50771         * modules/getcwd (Depends-on): Add pathmax.
50772         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
50773         is not defined.
50774         * doc/posix-headers/limits.texi: Mention the pathmax module.
50775         * NEWS: Mention the change.
50777 2011-08-02  Bruno Haible  <bruno@clisp.org>
50779         pthread_sigmask: Actually use results of gl_THREADLIB.
50780         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
50781         gl_THREADLIB, not gl_[]THREADLIB.
50782         Reported by Eric Blake.
50784 2011-08-02  Jim Meyering  <meyering@redhat.com>
50786         maint.mk: relax the default _gl_TS_function_match regexp
50787         * top/maint.mk (_gl_TS_function_match): Don't require at least one
50788         space between function name and "(" in an "extern" declaration.
50789         That would fail to match a decl with no space there: extern void foo();
50791 2011-07-31  Iain Nicol  <iain@thenicols.net>
50793         git-version-gen: document that EXTRA_DIST must include .version
50794         * build-aux/git-version-gen: In the how-to-use comment, document
50795         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
50796         will fail when run from an unpacked distribution tarball.
50798 2011-08-01  Bruno Haible  <bruno@clisp.org>
50800         wctype-h: Fix last change.
50801         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
50802         REPLACE_TOWLOWER to 0.
50803         Reported by Sam Steingold <sds@gnu.org>.
50805 2011-07-31  Bruno Haible  <bruno@clisp.org>
50807         frexpl: Update autoconf test.
50808         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
50809         according to changes of 2011-06-20.
50811 2011-07-31  Bruno Haible  <bruno@clisp.org>
50813         sys_utsname: Add support for Minix.
50814         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
50815         <sys/utsname.h>.
50816         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
50817         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
50819 2011-07-31  Bruno Haible  <bruno@clisp.org>
50821         strings: Add support for Minix.
50822         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
50823         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
50824         * doc/posix-headers/strings.texi: Document the Minix problem.
50826 2011-07-31  Bruno Haible  <bruno@clisp.org>
50828         wctype-h: Add support for Minix.
50829         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
50830         REPLACE_TOWLOWER.
50831         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
50832         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
50833         REPLACE_ISWCNTRL.
50835 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
50837         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
50838         This is a performance improvement for 64-bit hosts: it causes the
50839         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
50841 2011-07-31  Bruno Haible  <bruno@clisp.org>
50843         stdioext: Add support for Minix.
50844         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
50845         * lib/fpurge.c (fpurge): Likewise.
50846         * lib/freadahead.c (freadahead): Likewise.
50847         * lib/freadable.c (freadable): Likewise.
50848         * lib/freading.c (freading): Likewise.
50849         * lib/freadptr.c (freadptr): Likewise.
50850         * lib/freadseek.c (freadptrinc): Likewise.
50851         * lib/fseeko.c (rpl_fseeko): Likewise.
50852         * lib/fseterr.c (fseterr): Likewise.
50853         * lib/fwritable.c (fwritable): Likewise.
50854         * lib/fwriting.c (fwriting): Likewise.
50855         * lib/fflush.c (clear_ungetc_buffer): Update comment.
50856         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
50858 2011-07-31  Bruno Haible  <bruno@clisp.org>
50860         errno: Port to Minix.
50861         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
50862         ECONNABORTED are defined.
50863         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
50864         GNULIB_defined_ECONNABORTED): New macros.
50865         * lib/strerror-override.h (strerror_override): Test also
50866         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
50867         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
50868         ECONNABORTED.
50869         * doc/posix-headers/errno.texi: Mention the Minix problem.
50871 2011-07-31  Bruno Haible  <bruno@clisp.org>
50873         Work around declaration collisions on Minix.
50874         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
50875         defined, set REPLACE_MBSINIT.
50876         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
50877         defined, set REPLACE_MBRTOWC.
50878         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
50879         set REPLACE_MBRLEN.
50880         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
50881         defined, set REPLACE_MBSRTOWCS.
50882         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
50883         defined, set REPLACE_WCRTOMB.
50884         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
50885         defined, set REPLACE_WCSRTOMBS.
50887 2011-07-31  Bruno Haible  <bruno@clisp.org>
50889         Add support for Minix with ACK compiler.
50890         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
50891         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
50892         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
50894 2011-07-31  Bruno Haible  <bruno@clisp.org>
50896         Documentation about Minix.
50897         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
50898         * doc/glibc-headers/*.texi: Likewise.
50899         * doc/posix-functions/*.texi: Likewise.
50900         * doc/glibc-functions/*.texi: Likewise.
50902 2011-07-31  Bruno Haible  <bruno@clisp.org>
50904         snippet/warn-on-use: Fix indentation.
50905         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
50907 2011-07-25  Jim Meyering  <meyering@redhat.com>
50909         tests: test-update-copyright.sh: remove unnecessary "rm" commands
50910         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
50911         commands.
50913 2011-07-27  Jim Meyering  <meyering@redhat.com>
50915         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
50916         * top/maint.mk (gl_extract_significant_defines_): Now that
50917         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
50918         gnulib/lib/signal.in.h, and now that we recommend to
50919         define-if-undefined those two symbols in application code,
50920         we must filter them out of the "significant" list.
50921         This avoids a "make syntax-check" failure in coreutils.
50923 2011-07-26  Eric Blake  <eblake@redhat.com>
50925         warnings: add comments about previous patch
50926         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
50927         * m4/include_next.m4: Likewise.
50928         * m4/warn-on-use.m4: Likewise.
50929         * m4/warnings.m4: Likewise, and simplify use.
50930         Suggested by Stefano Lattarini.
50932         include-next, warnings: support older autoconf
50933         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
50934         AS_VAR_PUSHDEF in a way that works with older autoconf.
50935         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
50936         Reported by Daniel P. Berrange.
50938 2011-07-25  Bruno Haible  <bruno@clisp.org>
50940         fseek, ftell: Fix doc.
50941         * doc/posix-functions/fseek.texi: Reword statement about
50942         AC_SYS_LARGEFILE.
50943         * doc/posix-functions/ftell.texi: Likewise.
50945 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
50946             Bruno Haible  <bruno@clisp.org>
50948         Add dependencies to the 'largefile' module.
50949         * modules/fopen (Depends-on): Add 'largefile'.
50950         * modules/freopen (Depends-on): Likewise.
50951         * modules/fseeko (Depends-on): Likewise.
50952         * modules/ftello (Depends-on): Likewise.
50953         * modules/glob (Depends-on): Likewise.
50954         * modules/lseek (Depends-on): Likewise.
50955         * modules/lstat (Depends-on): Likewise.
50956         * modules/mkostemp (Depends-on): Likewise.
50957         * modules/mkostemps (Depends-on): Likewise.
50958         * modules/mkstemp (Depends-on): Likewise.
50959         * modules/mkstemps (Depends-on): Likewise.
50960         * modules/open (Depends-on): Likewise.
50961         * modules/openat (Depends-on): Likewise.
50962         * modules/pread (Depends-on): Likewise.
50963         * modules/pwrite (Depends-on): Likewise.
50964         * modules/scandir (Depends-on): Likewise.
50965         * modules/stat (Depends-on): Likewise.
50966         * modules/tmpfile (Depends-on): Likewise.
50967         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
50968         since the containing module now depends on the largefile module.
50969         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
50970         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
50971         off_t is fixed by gnulib.
50972         * doc/posix-functions/freopen.texi: Likewise.
50973         * doc/posix-functions/fseeko.texi: Likewise.
50974         * doc/posix-functions/fstatat.texi: Likewise.
50975         * doc/posix-functions/ftello.texi: Likewise.
50976         * doc/posix-functions/glob.texi: Likewise.
50977         * doc/posix-functions/lseek.texi: Likewise.
50978         * doc/posix-functions/lstat.texi: Likewise.
50979         * doc/posix-functions/mkstemp.texi: Likewise.
50980         * doc/posix-functions/open.texi: Likewise.
50981         * doc/posix-functions/openat.texi: Likewise.
50982         * doc/posix-functions/pread.texi: Likewise.
50983         * doc/posix-functions/pwrite.texi: Likewise.
50984         * doc/posix-functions/scandir.texi: Likewise.
50985         * doc/posix-functions/stat.texi: Likewise.
50986         * doc/posix-functions/tmpfile.texi: Likewise.
50987         * doc/glibc-functions/mkostemp.texi: Likewise.
50988         * doc/glibc-functions/mkostemps.texi: Likewise.
50989         * doc/glibc-functions/mkstemps.texi: Likewise.
50991 2011-07-25  Bruno Haible  <bruno@clisp.org>
50993         fcntl: Move AC_LIBOBJ invocation to module description.
50994         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
50995         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
50997         fcntl: Remove call-in from fchdir.m4.
50998         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
50999         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
51001         dup3: Remove potential call-in from fchdir.m4.
51002         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
51003         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
51005         dup2: Move AC_LIBOBJ invocation to module description.
51006         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
51007         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
51008         Don't invoke AC_LIBOBJ.
51009         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
51011         dup2: Remove call-in from fchdir.m4.
51012         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
51013         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
51015         fclose: Move AC_LIBOBJ invocation to module description.
51016         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
51017         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
51018         to 1.
51019         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
51021         fclose: Remove call-in from close.m4.
51022         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
51023         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
51025         close: Move AC_LIBOBJ invocation to module description.
51026         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
51027         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
51028         1.
51029         * modules/close (configure.ac): Invoke AC_LIBOBJ.
51031         close: Remove call-in from fchdir.m4.
51032         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
51033         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
51035         open: Move AC_LIBOBJ invocation to module description.
51036         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
51037         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
51038         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
51040         open: Remove call-in from fchdir.m4.
51041         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
51042         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
51044         fchdir: Start to remove gl_REPLACE_* idiom.
51045         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
51046         (gl_FUNC_FCHDIR): Invoke it.
51048 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
51050         * lib/ftell.c (ftell): Comment out cast.
51052         close: use gl_REPLACE_FCLOSE only if defined
51053         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
51054         is defined.  The close module doesn't depend on the fclose module
51055         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
51056         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
51057         I reproduced the problem with "./gnulib-tool --test close sys_socket".
51059 2011-07-24  Jim Meyering  <meyering@redhat.com>
51061         test-select.h: avoid warning when using gcc's -Wmissing-declarations
51062         * tests/test-select.h (test_function): Declare as "static".
51064 2011-07-24  Bruno Haible  <bruno@clisp.org>
51066         doc: Mention the effects of AC_SYS_LARGEFILE.
51067         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
51068         on this function.
51069         * doc/posix-functions/aio_error.texi: Likewise.
51070         * doc/posix-functions/aio_fsync.texi: Likewise.
51071         * doc/posix-functions/aio_read.texi: Likewise.
51072         * doc/posix-functions/aio_return.texi: Likewise.
51073         * doc/posix-functions/aio_suspend.texi: Likewise.
51074         * doc/posix-functions/aio_write.texi: Likewise.
51075         * doc/posix-functions/fgetpos.texi: Likewise.
51076         * doc/posix-functions/fopen.texi: Likewise.
51077         * doc/posix-functions/freopen.texi: Likewise.
51078         * doc/posix-functions/fsetpos.texi: Likewise.
51079         * doc/posix-functions/fstatvfs.texi: Likewise.
51080         * doc/posix-functions/ftruncate.texi: Likewise.
51081         * doc/posix-functions/ftw.texi: Likewise.
51082         * doc/posix-functions/getrlimit.texi: Likewise.
51083         * doc/posix-functions/glob.texi: Likewise.
51084         * doc/posix-functions/lio_listio.texi: Likewise.
51085         * doc/posix-functions/lockf.texi: Likewise.
51086         * doc/posix-functions/mkstemp.texi: Likewise.
51087         * doc/posix-functions/mmap.texi: Likewise.
51088         * doc/posix-functions/nftw.texi: Likewise.
51089         * doc/posix-functions/openat.texi: Likewise.
51090         * doc/posix-functions/opendir.texi: Likewise.
51091         * doc/posix-functions/posix_fadvise.texi: Likewise.
51092         * doc/posix-functions/posix_fallocate.texi: Likewise.
51093         * doc/posix-functions/pread.texi: Likewise.
51094         * doc/posix-functions/pwrite.texi: Likewise.
51095         * doc/posix-functions/readdir.texi: Likewise.
51096         * doc/posix-functions/readdir_r.texi: Likewise.
51097         * doc/posix-functions/rewinddir.texi: Likewise.
51098         * doc/posix-functions/scandir.texi: Likewise.
51099         * doc/posix-functions/seekdir.texi: Likewise.
51100         * doc/posix-functions/setrlimit.texi: Likewise.
51101         * doc/posix-functions/statvfs.texi: Likewise.
51102         * doc/posix-functions/telldir.texi: Likewise.
51103         * doc/posix-functions/tmpfile.texi: Likewise.
51104         * doc/posix-functions/truncate.texi: Likewise.
51105         * doc/glibc-functions/fallocate.texi: Likewise.
51106         * doc/glibc-functions/fstatfs.texi: Likewise.
51107         * doc/glibc-functions/fts_children.texi: Likewise.
51108         * doc/glibc-functions/fts_read.texi: Likewise.
51109         * doc/glibc-functions/getdirentries.texi: Likewise.
51110         * doc/glibc-functions/mkostemp.texi: Likewise.
51111         * doc/glibc-functions/mkostemps.texi: Likewise.
51112         * doc/glibc-functions/mkstemps.texi: Likewise.
51113         * doc/glibc-functions/preadv.texi: Likewise.
51114         * doc/glibc-functions/pwritev.texi: Likewise.
51115         * doc/glibc-functions/sendfile.texi: Likewise.
51116         * doc/glibc-functions/statfs.texi: Likewise.
51118 2011-07-24  Bruno Haible  <bruno@clisp.org>
51120         doc: Fix typo.
51121         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
51123 2011-07-24  Bruno Haible  <bruno@clisp.org>
51125         doc: Mention fsusage.
51126         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
51128 2011-07-24  Bruno Haible  <bruno@clisp.org>
51130         doc: Mention new glibc headers and functions.
51131         * doc/glibc-headers/gshadow.texi: New file.
51132         * doc/glibc-functions/endsgent.texi: New file.
51133         * doc/glibc-functions/fgetsgent.texi: New file.
51134         * doc/glibc-functions/fgetsgent_r.texi: New file.
51135         * doc/glibc-functions/getsgent.texi: New file.
51136         * doc/glibc-functions/getsgent_r.texi: New file.
51137         * doc/glibc-functions/getsgnam.texi: New file.
51138         * doc/glibc-functions/getsgnam_r.texi: New file.
51139         * doc/glibc-functions/putsgent.texi: New file.
51140         * doc/glibc-functions/setsgent.texi: New file.
51141         * doc/glibc-functions/sgetsgent.texi: New file.
51142         * doc/glibc-functions/sgetsgent_r.texi: New file.
51143         * doc/glibc-functions/malloc_info.texi: New file.
51144         * doc/glibc-functions/preadv.texi: New file.
51145         * doc/glibc-functions/pwritev.texi: New file.
51146         * doc/glibc-functions/register_printf_modifier.texi: New file.
51147         * doc/glibc-functions/register_printf_specifier.texi: New file.
51148         * doc/glibc-functions/register_printf_type.texi: New file.
51149         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
51150         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
51151         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
51152         * doc/glibc-functions/pthread_getname_np.texi: New file.
51153         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
51154         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
51155         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
51156         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
51157         * doc/glibc-functions/pthread_setname_np.texi: New file.
51158         * doc/glibc-functions/pthread_sigqueue.texi: New file.
51159         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
51160         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
51161         * doc/glibc-functions/qsort_r.texi: New file.
51162         * doc/glibc-functions/quick_exit.texi: New file.
51163         * doc/glibc-functions/syncfs.texi: New file.
51164         * doc/gnulib.texi: Include them.
51165         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
51166         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
51167         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
51168         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
51169         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
51170         * doc/glibc-functions/execvpe.texi: Likewise.
51172 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
51174         ftell: don't include <unistd.h>
51175         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
51176         guaranteed to define off_t, and the ftell module depends on the
51177         stdio module.
51179         ftell: do not assume wraparound signed arithmetic
51180         * lib/ftell.c: Include <limits.h>.
51181         (ftell): Don't assume wraparound signed arithmetic.
51183 2011-07-24  Bruno Haible  <bruno@clisp.org>
51185         close: No longer depend on module 'fclose'.
51186         * modules/close (Depends-on): Remove fclose.
51187         * NEWS: Mention the change.
51188         Suggested by Sam Steingold <sds@gnu.org>.
51190 2011-07-24  Bruno Haible  <bruno@clisp.org>
51192         fsusage: Enable large volume support on AIX >= 5.2.
51193         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
51194         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
51195         instead of STAT_STATVFS.
51196         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
51198         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
51199         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
51200         f_blocks field only on MacOS X.
51202         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
51203         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
51204         * modules/fsusage (Depends-on): Add largefile.
51206 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
51208         * README: Modernize discussion of signed integers.
51209         Assuming overflow wraparound is no longer safe.
51210         Mention ones' complement and signed magnitude.
51212 2011-07-22  Bruno Haible  <bruno@clisp.org>
51214         select tests, pselect tests: Refactor.
51215         * tests/test-select.h: New file, extracted from tests/test-select.c.
51216         (select_fn): New type.
51217         (test, do_select, do_select_nowait, do_select_wait, test_tty,
51218         test_connect_first, test_accept_first, test_pair, test_socket_pair,
51219         test_pipe): Add my_select argument.
51220         (test_function): Renamed from main. Add my_select argument.
51221         * tests/test-select.c: Move most code to tests/test-select.h. Include
51222         test-select.h.
51223         * modules/select-tests (Files): Add tests/test-select.h.
51224         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
51225         (my_select, main): New functions.
51226         * modules/pselect-tests (Files): Add tests/test-select.h,
51227         tests/macros.h, tests/signature.h.
51228         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
51229         (configure.ac): Check for <sys/wait.h>.
51231 2011-07-22  Bruno Haible  <bruno@clisp.org>
51233         sys_select tests: Check the signature of FD_*.
51234         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
51235         signature tests from here...
51236         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
51237         here.
51238         * modules/sys_select-tests (Files): Add tests/signature.h.
51240 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
51242         largefile: new module, replacing large-inode
51243         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
51244         * MODULES.html.sh: Add largefile, remove large-inode.
51245         * modules/largefile, m4/largefile.m4: New files.
51246         * modules/large-inode, m4/large-inode.m4: Remove.
51248         fsusage: port to MacOS X 10.7 with 4 TiB file systems
51249         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
51250         implementations that use only 32 bits to count blocks.
51251         On typical hosts with 1024-byte blocks, this fails with file
51252         systems as small as 4 TiB.  Problem reported by Herb Wartens
51253         <http://debbugs.gnu.org/9140> and this should also fix a similar
51254         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
51256         large-inode: New module
51257         * MODULES.html.sh: Add it.
51258         * modules/large-inode, m4/large-inode.m4: New files.
51260         extensions: Enable extensions on MacOS X 10.5 and later.
51261         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
51263 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
51265         file-has-acl: use acl_extended_file_nofollow if available
51266         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
51267         (acl_extended_file): New macro.
51268         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
51269         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
51271 2011-07-21  Bruno Haible  <bruno@clisp.org>
51273         Declare system functions in a way that works with C++.
51274         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
51275         declare fdopendir as extern "C".
51276         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
51277         declare frexpl as extern "C".
51278         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
51279         declare gai_strerror as extern "C".
51280         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
51281         programs, declare gai_strerror as extern "C".
51282         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
51283         declare getlogin_r as extern "C".
51284         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
51285         as extern "C".
51286         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
51287         declare ldexpl as extern "C".
51288         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
51289         as extern "C".
51290         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
51291         program, declare getmntinfo as extern "C".
51292         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
51293         stpncpy as extern "C".
51294         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
51295         program, declare __xpg_strerror_r as extern "C".
51296         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
51297         strndup as extern "C".
51298         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
51299         declare memset and bzero as extern "C".
51300         Reported by Sam Steingold <sds@gnu.org>.
51302 2011-07-12  Jim Meyering  <meyering@redhat.com>
51304         maint.mk: prohibit inclusion of "verify.h" without use
51305         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
51307 2011-07-19  Pádraig Brady  <P@draigBrady.com>
51309         timer-time: A new module to check for timer_settime()
51310         * m4/timer_time.m4: Check for the posix function.
51311         * modules/timer-time: Add the new module.
51312         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
51313         Mention it.
51315 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
51316             Bruno Haible  <bruno@clisp.org>
51318         pthread_sigmask: assume POSIX threads if --avoid=threadlib
51319         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
51320         not defined, assume POSIX threads and look for pthread_sigmask in
51321         $LIBS, without changing $CPPFLAGS.
51323 2011-07-19  Bruno Haible  <bruno@clisp.org>
51325         strstr: Update cross-compilation guess.
51326         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
51327         CPUs, guess no, in view of glibc
51328         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
51329         Suggested by Eric Blake. Reported by Reuben Thomas.
51331 2011-07-19  Pádraig Brady  <P@draigBrady.com>
51333         getopt-gnu: suppress core dumps from detection code
51334         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
51335         to suppress core dumps that may well occur on glibc systems.
51336         * modules/getopt-gnu: Depend on nocrash.
51338 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
51340         pthread_sigmask: ensure usleep is declared
51341         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
51342         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
51344 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
51346         doc: Document NonStop portability issues.
51347         * doc/posix-functions/sigaction.texi (sigaction):
51348         * doc/posix-headers/signal.texi (signal.h):
51349         Document NonStop.  See Joachim Schmitz in
51350         http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html
51352 2011-07-15  Bruno Haible  <bruno@clisp.org>
51354         ffsl, ffsll: Avoid unportable behaviour.
51355         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
51357 2011-07-15  Bruno Haible  <bruno@clisp.org>
51359         ffs: More tests.
51360         * tests/test-ffs.c (NBITS): New macro.
51361         (main): Add more tests.
51362         * tests/test-ffsl.c (NBITS): New macro.
51363         (main): Add more tests.
51364         * tests/test-ffsll.c (NBITS): New macro.
51365         (main): Add more tests.
51367 2011-07-15  Eric Blake  <eblake@redhat.com>
51369         ffsl, ffsll: new modules
51370         * modules/ffsl: New file.
51371         * modules/ffsll: Likewise.
51372         * m4/ffsl.m4: Likewise.
51373         * m4/ffsll.m4: Likewise.
51374         * lib/ffsl.c: Likewise.
51375         * lib/ffsl.h: Likewise.
51376         * lib/ffsll.c: Likewise.
51377         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
51378         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
51379         * modules/string (Makefile.am): Substitute witnesses.
51380         * lib/strings.in.h (ffsl, ffsll): Declare.
51381         * modules/ffsl-tests: New test file.
51382         * modules/ffsll-tests: Likewise.
51383         * tests/test-ffsl.c: Likewise.
51384         * tests/test-ffsll.c: Likewise.
51385         * MODULES.html.sh (Integer arithmetic functions): Mention it.
51386         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
51387         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
51389         ffs: fix m4 prerequisite
51390         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
51392         ffs: avoid undefined behavior
51393         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
51394         * tests/test-ffs.c (naive, main): Avoid signed shifts.
51395         Reported by Bruno Haible.
51397 2011-07-12  Bruno Haible  <bruno@clisp.org>
51399         pthread_sigmask: Rely on module 'threadlib'.
51400         * modules/pthread_sigmask (Depends-on): Add threadlib.
51401         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
51402         is defined.
51404 2011-07-12  Bruno Haible  <bruno@clisp.org>
51406         regex: Depend on module 'strcase'.
51407         * modules/regex (Depends-on): Add strcase, for strcasecmp().
51409 2011-07-12  Jim Meyering  <meyering@redhat.com>
51411         warn-on-use: fix typo in file name
51412         * modules/snippet/warn-on-use (Files): Correct file name:
51413         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
51415 2011-07-12  Bruno Haible  <bruno@clisp.org>
51417         strings: Document module.
51418         * doc/posix-headers/strings.texi: Mention module 'strings'.
51420 2011-07-12  Bruno Haible  <bruno@clisp.org>
51422         Rename module '_Noreturn' to 'snippet/_Noreturn'.
51423         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
51424         (Files, Makefile.am): Update.
51425         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
51426         * modules/stdlib (Depends-on): Update.
51428 2011-07-12  Bruno Haible  <bruno@clisp.org>
51430         * NEWS: Mention the changes.
51432         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
51433         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
51434         (Files, Makefile.am): Update.
51435         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
51436         * modules/arpa_inet (Depends-on): Update.
51437         * modules/ctype (Depends-on): Update.
51438         * modules/dirent (Depends-on): Update.
51439         * modules/fcntl-h (Depends-on): Update.
51440         * modules/glob (Depends-on): Update.
51441         * modules/iconv-h (Depends-on): Update.
51442         * modules/inttypes-incomplete (Depends-on): Update.
51443         * modules/langinfo (Depends-on): Update.
51444         * modules/locale (Depends-on): Update.
51445         * modules/math (Depends-on): Update.
51446         * modules/netdb (Depends-on): Update.
51447         * modules/poll-h (Depends-on): Update.
51448         * modules/pty (Depends-on): Update.
51449         * modules/search (Depends-on): Update.
51450         * modules/signal (Depends-on): Update.
51451         * modules/spawn (Depends-on): Update.
51452         * modules/stdio (Depends-on): Update.
51453         * modules/stdlib (Depends-on): Update.
51454         * modules/string (Depends-on): Update.
51455         * modules/strings (Depends-on): Update.
51456         * modules/sys_file (Depends-on): Update.
51457         * modules/sys_ioctl (Depends-on): Update.
51458         * modules/sys_select (Depends-on): Update.
51459         * modules/sys_socket (Depends-on): Update.
51460         * modules/sys_stat (Depends-on): Update.
51461         * modules/sys_time (Depends-on): Update.
51462         * modules/sys_times (Depends-on): Update.
51463         * modules/sys_utsname (Depends-on): Update.
51464         * modules/sys_wait (Depends-on): Update.
51465         * modules/termios (Depends-on): Update.
51466         * modules/time (Depends-on): Update.
51467         * modules/unistd (Depends-on): Update.
51468         * modules/wchar (Depends-on): Update.
51469         * modules/wctype-h (Depends-on): Update.
51470         * MODULES.html.sh (Support for building libraries and executables):
51471         Update.
51473         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
51474         * modules/snippet/unused-parameter: Renamed from
51475         modules/unused-parameter.
51476         (Files, Makefile.am): Update.
51477         * build-aux/snippet/unused-parameter.h: Renamed from
51478         build-aux/unused-parameter.h.
51479         * modules/selinux-h (Depends-on): Update.
51480         * modules/unistr/base (Depends-on): Update.
51481         * MODULES.html.sh (Core language properties): Update.
51483         Rename module 'link-warning' to 'snippet/link-warning'.
51484         * modules/snippet/link-warning: Renamed from modules/link-warning.
51485         (Files, Makefile.am): Update.
51486         * build-aux/snippet/link-warning.h: Renamed from
51487         build-aux/link-warning.h.
51488         * MODULES.html.sh (Support for building libraries and executables):
51489         Update.
51491         Rename module 'c++defs' to 'snippet/c++defs'.
51492         * modules/snippet/c++defs: Renamed from modules/c++defs.
51493         (Files, Makefile.am): Update.
51494         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
51495         * modules/arpa_inet (Depends-on): Update.
51496         * modules/ctype (Depends-on): Update.
51497         * modules/dirent (Depends-on): Update.
51498         * modules/fcntl-h (Depends-on): Update.
51499         * modules/glob (Depends-on): Update.
51500         * modules/iconv-h (Depends-on): Update.
51501         * modules/langinfo (Depends-on): Update.
51502         * modules/locale (Depends-on): Update.
51503         * modules/math (Depends-on): Update.
51504         * modules/netdb (Depends-on): Update.
51505         * modules/poll-h (Depends-on): Update.
51506         * modules/pty (Depends-on): Update.
51507         * modules/search (Depends-on): Update.
51508         * modules/signal (Depends-on): Update.
51509         * modules/spawn (Depends-on): Update.
51510         * modules/stdio (Depends-on): Update.
51511         * modules/stdlib (Depends-on): Update.
51512         * modules/string (Depends-on): Update.
51513         * modules/strings (Depends-on): Update.
51514         * modules/sys_ioctl (Depends-on): Update.
51515         * modules/sys_select (Depends-on): Update.
51516         * modules/sys_socket (Depends-on): Update.
51517         * modules/sys_stat (Depends-on): Update.
51518         * modules/sys_time (Depends-on): Update.
51519         * modules/sys_wait (Depends-on): Update.
51520         * modules/termios (Depends-on): Update.
51521         * modules/time (Depends-on): Update.
51522         * modules/unistd (Depends-on): Update.
51523         * modules/wchar (Depends-on): Update.
51524         * modules/wctype-h (Depends-on): Update.
51526         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
51527         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
51528         (Files, Makefile.am): Update.
51529         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
51530         * modules/argv-iter (Depends-on): Update.
51531         * modules/arpa_inet (Depends-on): Update.
51532         * modules/dirent (Depends-on): Update.
51533         * modules/fcntl-h (Depends-on): Update.
51534         * modules/fnmatch (Depends-on): Update.
51535         * modules/getopt-posix (Depends-on): Update.
51536         * modules/glob (Depends-on): Update.
51537         * modules/iconv-h (Depends-on): Update.
51538         * modules/inttypes-incomplete (Depends-on): Update.
51539         * modules/locale (Depends-on): Update.
51540         * modules/math (Depends-on): Update.
51541         * modules/netdb (Depends-on): Update.
51542         * modules/search (Depends-on): Update.
51543         * modules/signal (Depends-on): Update.
51544         * modules/spawn (Depends-on): Update.
51545         * modules/stdio (Depends-on): Update.
51546         * modules/stdlib (Depends-on): Update.
51547         * modules/string (Depends-on): Update.
51548         * modules/strings (Depends-on): Update.
51549         * modules/sys_socket (Depends-on): Update.
51550         * modules/sys_stat (Depends-on): Update.
51551         * modules/sys_time (Depends-on): Update.
51552         * modules/sys_times (Depends-on): Update.
51553         * modules/sys_utsname (Depends-on): Update.
51554         * modules/time (Depends-on): Update.
51555         * modules/unistd (Depends-on): Update.
51556         * modules/wchar (Depends-on): Update.
51557         * MODULES.html.sh (Support for building libraries and executables):
51558         Update.
51560 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
51562         Improvements on _Noreturn and related modules.
51564         modules/_Exit-tests: test _Noreturn too
51565         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
51566         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
51567         (main): Use them.
51569         stdnoreturn, stdnoreturn-tests: remove modules
51570         They're not needed here and a bit premature for use elsewhere.  See
51571         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
51572         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
51573         * tests/test-stdnoreturn.c: Remove files.
51574         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
51575         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
51576         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
51577         and using noreturn.
51578         * modules/openat, modules/sigpipe-die, modules/xalloc:
51579         * modules/xmemdup0, modules/xstrtol:
51580         Remove dependency on stdnoreturn.
51582         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
51583         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
51584         Reparenthesize to avoid GCC warning.
51585         Support Microsoft's syntax.
51586         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
51588         _Noreturn-tests: remove module
51589         * modules/_Noreturn-tests: Remove.
51590         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
51591         * tests/test-_Noreturn.c: Remove.
51592         * tests/test-stdnoreturn.c: Merge from the old
51593         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
51595 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
51597         _Noreturn, stdnoreturn, and related modules.
51599         * top/maint.mk: Adjust to new noreturn support.
51600         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
51601         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
51603         xalloc: use stdnoreturn.h
51604         * lib/xalloc.h: Include <stdnoreturn.h>.
51605         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51606         * modules/xalloc (Depends-on): Add stdnoreturn.
51608         xstrtol: use stdnoreturn.h
51609         * lib/xstrtol.h: Include <stdnoreturn.h>.
51610         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51611         * modules/xstrtol (Depends-on): Add stdnoreturn.
51613         xmemdup0: use stdnoreturn.h
51614         * lib/xmemdup0.h: Include <stdnoreturn.h>.
51615         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51616         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
51618         sigpipe-die: use stdnoreturn.h
51619         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
51620         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51621         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
51623         openat: use stdnoreturn.h
51624         * lib/openat.h: Include <stdnoreturn.h>.
51625         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51626         * modules/openat (Depends-on): Add stdnoreturn.
51628         * lib/openat-die.c (openat_save_fail): Modernize comment.
51630         * lib/xalloc-die.c (xalloc_die): Modernize comment.
51632         * lib/glthread/thread.h: Modernize comment.
51634         obstack: use _Noreturn
51635         * lib/obstack.c (__attribute__): Remove macro.
51636         (print_and_abort): Use _Noreturn.
51638         c-stack: use _Noreturn
51639         * lib/c-stack.c (die, overflow_handler, segv_handler):
51640         Use _Noreturn rather than __attribute__((noreturn)).
51642         argmatch-tests, exclude_tests: use _Noreturn
51643         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
51644         Remove.
51645         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
51647         stdlib: use _Noreturn
51648         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
51649         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
51650         * modules/stdlib (Depends-on): Add _Noreturn.
51651         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
51653         stdnoreturn-tests: new module
51654         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
51656         stdnoreturn: new module
51657         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
51658         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
51660         _Noreturn-tests: new module
51661         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
51663         _Noreturn: new module
51664         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
51665         New section, mentioning it.
51666         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
51668         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
51670 2011-07-11  Eric Blake  <eblake@redhat.com>
51672         ffs: new module
51673         * modules/ffs: New file.
51674         * m4/ffs.m4: Likewise.
51675         * lib/ffs.c: Likewise.
51676         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
51677         * modules/strings (Makefile.am): Substitute witness.
51678         (Depends-on): Add c++defs.
51679         * lib/strings.in.h (ffs): Declare.
51680         * modules/ffs-tests: New test file.
51681         * tests/test-ffs.c: Test new module.
51682         * MODULES.html.sh (Integer arithmetic functions): Mention it.
51683         * doc/posix-functions/ffs.texi (ffs): Likewise.
51685         regex: avoid compiler warning
51686         * lib/regex.c (includes): Include <strings.h>, for use of
51687         strcasecmp in regcomp.c.
51688         Reported by Joachim Schmitz.
51690 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
51692         stdint: respect system's intmax_t if INTMAX_MAX
51693         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
51694         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
51695         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
51696         long but int64_t is long long, and where we will clash with the
51697         system intmax_t if we override it.  See
51698         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
51699         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
51700         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
51701         similarly for UINTMAX_C.
51703 2011-07-08  Bruno Haible  <bruno@clisp.org>
51705         pthread_sigmask tests: Avoid a compiler warning.
51706         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
51707         non-zero.
51709         sigprocmask tests: A better way to avoid a compiler warning.
51710         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
51711         (main): Complain if system() returns non-zero.
51712         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
51714 2011-07-08  Bruno Haible  <bruno@clisp.org>
51716         pthread_sigmask: Work around IRIX bug.
51717         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
51718         bug.
51719         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
51720         there may be unblocked pending signals.
51721         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
51723 2011-07-08  Bruno Haible  <bruno@clisp.org>
51725         pthread_sigmask: Work around Cygwin bug.
51726         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
51727         bug.
51728         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
51729         the system's pthread_sigmask function.
51730         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
51732 2011-07-08  Bruno Haible  <bruno@clisp.org>
51734         pthread_sigmask: Work around bug in single-threaded implementation.
51735         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
51736         FreeBSD, HP-UX, Solaris bug.
51737         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
51738         * lib/pthread_sigmask.c: Include <stddef.h>.
51739         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
51740         the system's pthread_sigmask function.
51741         * modules/pthread_sigmask (configure.ac): Invoke
51742         gl_PREREQ_PTHREAD_SIGMASK.
51743         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
51744         HP-UX, Solaris.
51746 2011-07-08  Eric Blake  <eblake@redhat.com>
51748         test-sigprocmask: avoid compiler warning
51749         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
51750         * tests/test-sigprocmask.c (main): Use it to silence warning.
51751         Reported by Jim Meyering.
51753         test-snprintf: avoid compiler warning
51754         * tests/test-snprintf.c (main): Avoid shadowed declaration.
51755         * tests/test-vsnprintf.c (main): Likewise.
51756         Reported by Jim Meyering.
51758 2011-07-08  Bruno Haible  <bruno@clisp.org>
51760         Tests for module 'pthread_sigmask'.
51761         * modules/pthread_sigmask-tests: New file.
51762         * tests/test-pthread_sigmask1.c: New file, based on
51763         tests/test-sigprocmask.c.
51764         * tests/test-pthread_sigmask2.c: New file.
51766 2011-07-08  Jim Meyering  <meyering@redhat.com>
51768         test-getopt.h: avoid warning about an unused variable
51769         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
51771 2011-07-07  Jim Meyering  <meyering@redhat.com>
51773         maint: reduce list of files exempt from sc_prohibit_leading_TABs
51774         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
51775         now that it no longer contains leading TABs.
51776         Remove unused "url=FIXME" statement.
51778 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
51780         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
51781         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
51782         When gl_THREADLIB is not in use, assume that the POSIX sematics
51783         are desired.  This is better for Emacs, which uses POSIX semantics
51784         on GNUish and/or POSIXish platforms, and does not use threads at
51785         all otherwise.
51787         pthread_sigmask: fix typo when testing for libraries
51788         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
51789         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
51791 2011-07-08  Eric Blake  <eblake@redhat.com>
51793         fts: introduce FTS_NOATIME
51794         * lib/fts_.h (FTS_NOATIME): New bit flag.
51795         (FTS_OPTIONMASK): Adjust.
51796         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
51797         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
51799 2011-07-08  Bruno Haible  <bruno@clisp.org>
51801         Tests for module 'thread'.
51802         * modules/thread-tests: New file.
51803         * tests/test-thread_self.c: New file.
51804         * tests/test-thread_create.cc: New file.
51806 2011-07-08  Bruno Haible  <bruno@clisp.org>
51808         thread: Avoid gcc warnings when using gl_thread_self().
51809         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
51810         'void *'.
51811         (gl_thread_self_pointer): Update.
51813 2011-07-07  Bruno Haible  <bruno@clisp.org>
51815         signal-c++-tests: Check declaration of pthread_sigmask.
51816         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
51817         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
51818         $(LIB_PTHREAD_SIGMASK).
51820 2011-07-07  Bruno Haible  <bruno@clisp.org>
51822         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
51823         * lib/signal.in.h (pthread_sigmask): Override if
51824         REPLACE_PTHREAD_SIGMASK is 1.
51825         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
51826         REPLACE_PTHREAD_SIGMASK.
51827         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
51828         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
51829         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
51830         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
51831         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
51833 2011-07-07  Bruno Haible  <bruno@clisp.org>
51835         pthread_sigmask: Ensure declaration in <signal.h>.
51836         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
51837         include <pthread.h>.
51838         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
51839         problem.
51841 2011-07-07  Bruno Haible  <bruno@clisp.org>
51843         pthread_sigmask: Document the module.
51844         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
51846 2011-07-07  Bruno Haible  <bruno@clisp.org>
51848         pthread_sigmask: Follow gnulib conventions.
51849         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
51850         gl_PTHREAD_SIGMASK.
51851         * modules/pthread_sigmask (configure.ac): Update.
51853 2011-07-07  Bruno Haible  <bruno@clisp.org>
51855         pthread_sigmask: Make declaration C++ safe.
51856         * lib/signal.in.h: In two special conditions, just do an #include_next.
51857         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
51858         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
51859         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
51860         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
51861         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
51862         not REPLACE_PTHREAD_MASK.
51863         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
51864         not REPLACE_PTHREAD_MASK.
51865         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
51867 2011-07-07  Bruno Haible  <bruno@clisp.org>
51869         pthread_sigmask: Fix return value.
51870         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
51871         * lib/pthread_sigmask.c: New file.
51872         * modules/pthread_sigmask (Files): Add it.
51873         (configure.ac): Invoke AC_LIBOBJ.
51875 2011-07-07  Eric Blake  <eblake@redhat.com>
51877         getopt: more portable argv creation
51878         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
51879         const, use char arrays rather than strings.
51880         Suggested by Paul Eggert.
51882 2011-07-07  Bruno Haible  <bruno@clisp.org>
51884         Tests for module 'sigprocmask'.
51885         * modules/sigprocmask-tests: New file.
51886         * tests/test-sigprocmask.c: New file.
51888 2011-07-07  Bruno Haible  <bruno@clisp.org>
51890         float tests: Tweak.
51891         * tests/test-float.c (main): Tweak skip message.
51893 2011-07-07  Eric Blake  <eblake@redhat.com>
51895         getopt: avoid compiler warning during configure
51896         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
51897         assigning string literals to non-const pointer.
51899         getopt-gnu: avoid crash in glibc getopt
51900         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
51901         * tests/test-getopt.h (test_getopt): Enhance test.
51902         * tests/test-getopt_long.h (test_getopt_long): Likewise.
51903         * doc/posix-functions/getopt.texi (getopt): Document it.
51904         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
51905         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
51906         Likewise.
51908 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
51910         getopt: handle W; without long options in getopt [BZ #12922]
51911         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
51912         but no long options are defined, just return 'W'.
51914 2011-07-07  Bruno Haible  <bruno@clisp.org>
51916         Avoid literal tabs.
51917         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
51918         variable containing a tab instead of a literal tab.
51919         Reported by Jim Meyering.
51921 2011-07-07  Bruno Haible  <bruno@clisp.org>
51923         Comments.
51924         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
51926 2011-07-06  Bruno Haible  <bruno@clisp.org>
51928         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
51929         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
51930         <winsock2.h>.
51931         (rpl_fd_isset, FD_ISSET): New definitions, copied from
51932         lib/sys_socket.in.h.
51933         (close, gethostname): Hide declarations from <winsock2.h>.
51934         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
51935         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
51936         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
51937         (select): Don't override if gnulib's <sys/select.h> was already
51938         included.
51939         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
51940         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
51941         setsockopt, shutdown, select): Tweak indentation.
51943 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
51945         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
51946         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
51947         in an application that does not use the sys_select module.
51949 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
51951         poll: do not return 0 on timeout=-1
51952         * lib/poll.c: Loop with yield if no events occurred.
51954 2011-07-06  Eric Blake  <eblake@redhat.com>
51956         pthread_sigmask: always replace when not using pthread
51957         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
51958         replacement when using some threading other than pthread.  Fix
51959         logic bug.
51961 2011-07-06  Bruno Haible  <bruno@clisp.org>
51963         Comments.
51964         * m4/printf.m4: Update comments about mingw.
51966 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
51968         sys_select: define sigset_t more portably
51969         * lib/sys_select.in.h: Always include <sys/types.h>, since
51970         we now need sigset_t and mingw defines it there.
51971         Include <signal.h> before split inclusion guard, to avoid
51972         mishaps on Solaris, whose <signal.h> eventually includes us.
51973         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
51974         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
51975         which come from ...
51976         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
51977         gl_CHECK_TYPE_SIGSET_T.
51978         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
51979         does the real work.
51980         * modules/sys_select (Depends-on): Add 'signal'.
51982         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
51983         Suggested by Bruno Haible.
51985         pselect: Use pthread_sigmask, not sigprocmask.
51986         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
51987         multithreaded apps better than sigprocmask does.
51988         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
51989         sigprocmask directly.
51991 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
51993         * lib/pselect.c (pselect): Use plain name, without "rpl_".
51994         Don't #undef,  since we don't need any underlying pselect.
51995         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
51996         (Depends-on): Add select.
51997         (Link): Add $(LIBSOCKET).
51998         These changes suggested by Bruno Haible.
52000         pselect: document better
52001         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
52002         * doc/posix-functions/pselect.texi (pselect): Document new module.
52004         pthread_sigmask: new module
52005         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
52006         * doc/posix-functions/pthread_sigmask.texi: Document new module.
52007         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
52008         This is done only as a macro; I don't know how well that'll
52009         work for C++.  Move <sys/types.h> include before the include_next,
52010         to avoid mishap on Solaris.
52011         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
52012         * modules/signal (Makefile.am): Substitute the check's results.
52013         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
52015         test-pselect: new module
52016         * modules/pselect-tests, tests/test-pselect.c: New files.
52017         * tests/test-select.c, tests/test-sys_select-c++.cc:
52018         If TEST_PSELECT is defined, test pselect instead of testing select.
52020         * tests/test-sys_select.c (sigset_t): Test for it, too.
52021         Suggested by Bruno Haible.
52023 2011-07-05  Eric Blake  <eblake@redhat.com>
52025         snprintf: guarantee %1$d, for libintl
52026         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
52027         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
52028         * doc/posix-functions/snprintf.texi (snprintf): Update.
52029         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
52030         * tests/test-snprintf.c (main): Enhance test.
52031         * tests/test-vsnprintf.c (main): Likewise.
52033 2011-07-05  Jim Meyering  <meyering@redhat.com>
52035         maint: exempt stdio-read.c and stdio-write.c from the cppi check
52036         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
52037         per Bruno's request, to accommodate this idiom (no space after "#")
52038         even when the function is inside an #if block:
52039         char *
52040         gets (char *s)
52041         #undef gets
52042         {
52043           ...
52044         }
52046 2011-07-04  Jim Meyering  <meyering@redhat.com>
52048         maint: indent with spaces, not TABs, and add a rule to check this
52049         * tests/test-userspec.c: Indent with spaces, not TABs.
52050         * tests/test-argp.c: Likewise.
52051         * tests/test-c-stack2.sh: Likewise.
52052         * tests/test-parse-duration.sh: Likewise
52053         * m4/strtod.m4: Likewise.
52054         * m4/alloca.m4: Likewise.
52055         * m4/pselect.m4: Likewise.
52056         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
52058 2011-07-03  Jim Meyering  <meyering@redhat.com>
52060         maint.mk: correct omissions in prohibit_argmatch_without_use check
52061         This rule would mistakenly report that argmatch.h is included without
52062         use even when both the argmatch and invalid_arg macro were used.
52063         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
52064         of argmatch and invalid_arg.
52066 2011-07-03  Bruno Haible  <bruno@clisp.org>
52068         Comments about EINTR.
52069         * lib/safe-read.h: Explain the purpose of this module.
52070         * lib/safe-write.h: Likewise.
52071         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
52072         module.
52073         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
52074         module.
52075         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52077 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
52079         xnanosleep: Rewrite to use new dtotimespec module.
52080         It has the conversion code that used to be in xnanosleep.
52081         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
52082         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
52083         (TIME_T_MAX): Remove.
52084         (xnanosleep): Rewrite in terms of dtotimespec.
52085         * modules/xnanosleep (Depends-on): Add dtotimespec.
52086         Remove intprops, stdbool.
52088         timespec-add, timespec-sub: new modules
52089         * lib/timespec.h (timespec_add, timespec_sub): New decls.
52090         * lib/timespec-add.c, lib/timespec-sub.c:
52091         * modules/timespec-add, modules/timespec-sub: New files.
52093         dtotimespec: new module
52094         * lib/timespec.h (dtotimespec): New decl.
52095         * lib/dtotimespec.c, modules/dtotimespec: New files.
52097         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
52099         pselect: new module
52100         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
52101         (pselect): New decls.
52102         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
52103         since the standard pselect decl uses 'restrict'.
52104         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
52105         HAVE_PSELECT, REPLACE_PSELECT.
52106         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
52107         HAVE_PSELECT, REPLACE_PSELECT.
52108         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
52110         sys_select: don't depend on sys_socket
52111         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
52112         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
52113         This fix works on GNU and GNU-like platforms, but has not been tested
52114         on native Windows.
52115         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
52116         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
52117         gl_HEADER_SYS_SOCKET.
52118         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
52119         gl_PREREQ_SYS_H_WINSOCK2.
52121 2011-06-29  Eric Blake  <eblake@redhat.com>
52123         pipe2: fix C89 compile problem
52124         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
52125         Reported by Bruno Haible.
52127         pipe, pipe2: don't corrupt fd on error
52128         * lib/pipe.c (pipe): Leave fd unchanged on error.
52129         * lib/pipe2.c (pipe2): Likewise.
52130         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
52131         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
52133 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
52135         mmap-anon: do not use regular expressions inadvertently
52136         * m4/mmap-anon.m4: Remove trailing period from strings sought
52137         in the output.
52139 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
52141         nanosleep: fix integer overflow problem
52142         * lib/nanosleep.c (my_usleep): Don't assume signed integer
52143         arithmetic wraps around on overflow.
52145         nanosleep: simplify carrying
52146         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
52147         first call to the underyling nanosleep, not for the last one.
52148         This doesn't fix any bugs, but it simplifies the computation of
52149         the remaining delay.  Found while auditing integer overflow issues.
52151         dup2: remove test for existence of fcntl
52152         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
52153         "#if HAVE_FCNTL", in the configure-time test program.
52154         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
52155         and therefore speeds up "configure" a bit.  Found while
52156         adding the dup2 module to Emacs.
52158 2011-06-24  Eric Blake  <eblake@redhat.com>
52160         maint.mk: enhance useless header checks
52161         * top/maint.mk (_sc_header_without_use): Check both include
52162         styles.
52163         (sc_prohibit_assert_without_use)
52164         (sc_prohibit_close_stream_without_use)
52165         (sc_prohibit_getopt_without_use)
52166         (sc_prohibit_quotearg_without_use)
52167         (sc_prohibit_quote_without_use)
52168         (sc_prohibit_long_options_without_use)
52169         (sc_prohibit_inttostr_without_use)
52170         (sc_prohibit_ignore_value_without_use)
52171         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
52172         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
52173         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
52174         (sc_prohibit_hash_pjw_without_use)
52175         (sc_prohibit_safe_read_without_use)
52176         (sc_prohibit_argmatch_without_use)
52177         (sc_prohibit_canonicalize_without_use)
52178         (sc_prohibit_root_dev_ino_without_use)
52179         (sc_prohibit_openat_without_use)
52180         (sc_prohibit_c_ctype_without_use)
52181         (sc_prohibit_signal_without_use)
52182         (sc_prohibit_stdio--_without_use)
52183         (sc_prohibit_stdio-safer_without_use)
52184         (sc_prohibit_strings_without_use)
52185         (sc_prohibit_intprops_without_use)
52186         (sc_prohibit_stddef_without_use)
52187         (sc_prohibit_xfreopen_without_use): Update clients.
52189 2011-06-24  Jim Meyering  <meyering@redhat.com>
52191         syntax-check: keep one maint.mk rule in sync with its header
52192         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
52193         of the bug Eric has just fixed, with today's commit 25e4c2ec.
52194         I prefer to avoid temporary files here, so use <(...), but that
52195         is not supported by /bin/sh, so...
52196         (SHELL): Define to /bin/bash.
52198 2011-06-24  Eric Blake  <eblake@redhat.com>
52200         maint.mk: update sc_prohibit_intprops_without_use
52201         * top/maint.mk (_intprops_names): Match recent changes.
52203 2011-06-24  Bruno Haible  <bruno@clisp.org>
52205         strerror-override: No-op tweak.
52206         * lib/strerror-override.h (strerror_override): Reorder conditions,
52207         for consistency with lib/strerror-override.c.
52209 2011-06-23  Eric Blake  <eblake@redhat.com>
52211         maint.mk: test further PATH_MAX issues
52212         * top/maint.mk (sc_prohibit_path_max_array): Rename...
52213         (sc_prohibit_path_max_allocation): ...and also test alloca.
52214         Suggested by Jim Meyering.
52216 2011-06-22  Eric Blake  <eblake@redhat.com>
52218         maint.mk: add syntax-check to avoid char[PATH_MAX]
52219         * top/maint.mk (sc_prohibit_path_max_array): New rule.
52221         stat: be robust to PATH_MAX definition
52222         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
52223         * modules/stat (Depends-on): Add verify.
52225         link: work around IRIX bug
52226         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
52227         * lib/link.c (rpl_link): Work around it.
52228         * tests/test-link.h (test_link): Enhance test.
52229         * doc/posix-functions/link.texi (link): Document the bug.
52231         getopt: silence clang warning
52232         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
52233         dereference.
52234         Reported by Gustavo Martin Domato.
52236 2011-06-22  Jim Meyering  <meyering@redhat.com>
52238         bootstrap: do not insert a blank line into each .gitignore file
52239         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
52241 2011-06-21  Eric Blake  <eblake@redhat.com>
52243         perror: test for output mismatch
52244         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
52245         perror on IRIX.
52247         strerror_r: fix OpenBSD behavior on out-of-range
52248         * lib/strerror_r.c (strerror_r): Always use maximal string.
52249         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
52251         strerror_r: fix OpenBSD behavior on 0
52252         * lib/strerror-override.c (strerror_override): Also override 0
52253         when needed.
52254         * lib/strerror-override.h (strerror_override): Likewise.
52255         * lib/strerror.c (strerror): Simplify, now that 0 override is done
52256         earlier.
52257         * lib/strerror_r.c (strerror_r): Likewise.
52258         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
52259         behavior...
52260         (gl_FUNC_STRERROR_0): ...into new macro.
52261         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
52262         is overridden.
52263         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
52264         * modules/strerror-override (Files): Add strerror.m4.
52265         (configure.ac): Also provide override for 0 when needed.
52266         * doc/posix-functions/strerror.texi (strerror): Document this.
52267         * doc/posix-functions/perror.texi (perror): Likewise.
52269         perror: adjust array size
52270         * modules/perror (Depends-on): Add strerror-override.
52271         * lib/perror.c (perror): Use it to avoid magic number.
52273         strerror-override: reduce size
52274         * lib/strerror-override.c (strerror_override): Use fewer lines.
52276 2011-06-20  Bruno Haible  <bruno@clisp.org>
52278         pathmax: Ensure correct value for PATH_MAX on HP-UX.
52279         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
52281 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
52283         alloca: port to compilers that can optimize like GCC 4.6.0
52284         * lib/alloca.c (find_stack_direction): New signature, taken from
52285         Autoconf git.  This works with GCC 4.6.0.  This code should never
52286         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
52287         be used with other compilers that optimize as well as GCC 4.6.0 does.
52288         (alloca): Adjust to new signature.
52289         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
52290         New macro, which patches Autoconf in a similar way.
52292         c-stack: stop worrying about stack direction
52293         * lib/c-stack.c (find_stack_direction): Remove.
52294         (segv_handler): Don't worry about stack direction growth, as it's
52295         too much of a pain to configure this correctly, given how compilers
52296         are optimizing-away our stack-growth detection code.  Instead, assume
52297         that any access to just before or just after the stack is OK.
52298         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
52299         Don't require AC_FUNC_ALLOCA; no longer needed.
52301 2011-06-20  Eric Blake  <eblake@redhat.com>
52303         test-stat: don't allocate PATH_MAX bytes
52304         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
52305         PATH_MAX-sized buffer.
52306         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
52307         * modules/stat-tests (Depends-on): Likewise.
52308         * tests/test-fstatat.c (includes): Drop pathmax.h.
52309         * tests/test-stat.c (includes): Likewise.
52310         Reported by Bruno Haible.
52312 2011-06-20  Bruno Haible  <bruno@clisp.org>
52314         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
52315         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
52316         * lib/float.c: New file.
52317         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
52318         REPLACE_FLOAT_LDBL.
52319         * modules/float (Files): Add lib/float.c.
52320         (configure.ac): Invoke AC_LIBOBJ.
52321         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
52323 2011-06-20  Bruno Haible  <bruno@clisp.org>
52325         Tests for module 'float'.
52326         * modules/float-tests: New file.
52327         * tests/test-float.c: New file.
52329 2011-06-19  Bruno Haible  <bruno@clisp.org>
52331         isinf: Coding style.
52332         * lib/isinf.c: Use GNU coding style.
52334 2011-06-19  Bruno Haible  <bruno@clisp.org>
52336         linkat test: Avoid test failure on AIX 7.1.
52337         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
52338         * tests/test-link.h (test_link): Likewise.
52340 2011-06-19  Bruno Haible  <bruno@clisp.org>
52342         pread test: Avoid test failure on OpenBSD 4.9.
52343         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
52345 2011-06-19  Bruno Haible  <bruno@clisp.org>
52347         sprintf-posix: Fix test failure on AIX 7.1.
52348         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
52349         * doc/posix-functions/dprintf.texi: Mention limited precision problem
52350         on AIX.
52351         * doc/posix-functions/fprintf.texi: Likewise.
52352         * doc/posix-functions/printf.texi: Likewise.
52353         * doc/posix-functions/snprintf.texi: Likewise.
52354         * doc/posix-functions/sprintf.texi: Likewise.
52355         * doc/posix-functions/vdprintf.texi: Likewise.
52356         * doc/posix-functions/vfprintf.texi: Likewise.
52357         * doc/posix-functions/vprintf.texi: Likewise.
52358         * doc/posix-functions/vsnprintf.texi: Likewise.
52359         * doc/posix-functions/vsprintf.texi: Likewise.
52361 2011-06-19  Bruno Haible  <bruno@clisp.org>
52363         roundl-ieee: Fix test failure on AIX 7.1.
52364         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
52365         * doc/posix-functions/roundl.texi: Mention problem with negative
52366         arguments.
52368 2011-06-19  Bruno Haible  <bruno@clisp.org>
52370         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
52371         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
52372         * doc/posix-functions/round.texi: Mention problem with negative
52373         arguments.
52374         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
52376 2011-06-19  Bruno Haible  <bruno@clisp.org>
52378         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
52379         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
52380         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
52381         * doc/posix-functions/roundf.texi: Mention problem with negative
52382         arguments.
52383         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
52385 2011-06-19  Bruno Haible  <bruno@clisp.org>
52387         ceilf-ieee: Work around bug on MacOS X 10.5.
52388         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
52390         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
52391         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
52392         IEEE compliant, avoid compiler optimizations.
52393         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
52394         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
52395         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
52396         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
52397         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
52398         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
52399         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
52400         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
52401         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
52402         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
52404 2011-06-19  Bruno Haible  <bruno@clisp.org>
52406         ceilf-ieee: Work around bug on AIX 7.1.
52407         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
52408         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
52410 2011-06-19  Bruno Haible  <bruno@clisp.org>
52412         ceil-ieee: Work around bug on AIX 7.1.
52413         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
52414         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
52416 2011-06-18  Bruno Haible  <bruno@clisp.org>
52418         fsync test: Avoid test failure on MacOS X and AIX.
52419         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
52420         EINVAL.
52422 2011-06-18  Bruno Haible  <bruno@clisp.org>
52424         openat, fdopendir tests: Fix link errors.
52425         * modules/openat-tests (Depends-on): Add progname.
52426         * modules/fdopendir-tests (Depends-on): Likewise.
52427         * tests/test-fchownat.c: Include progname.h.
52428         (main): Call set_program_name.
52429         * tests/test-fstatat.c: Include progname.h.
52430         (main): Call set_program_name.
52431         * tests/test-mkdirat.c: Include progname.h.
52432         (main): Call set_program_name.
52433         * tests/test-openat.c: Include progname.h.
52434         (main): Call set_program_name.
52435         * tests/test-unlinkat.c: Include progname.h.
52436         (main): Call set_program_name.
52437         * tests/test-fdopendir.c: Include progname.h.
52438         (main): Call set_program_name.
52440 2011-06-18  Bruno Haible  <bruno@clisp.org>
52442         Doc update.
52443         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
52444         HP-UX.
52445         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
52447 2011-06-18  Bruno Haible  <bruno@clisp.org>
52449         getcwd tests: Avoid compilation error on HP-UX 11.31.
52450         * modules/getcwd-tests (Depends-on): Add pathmax.
52451         * tests/test-getcwd.c: Include pathmax.h.
52453 2011-06-18  Bruno Haible  <bruno@clisp.org>
52455         isfinite, isinf: Fix link error on AIX 6 and 7.
52456         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
52457         needed, also test the macro with a 'float' argument.
52458         * m4/isinf.m4 (gl_ISINF): Likewise.
52460 2011-06-18  Bruno Haible  <bruno@clisp.org>
52462         getloadavg: Don't clobber LIBS. Regression from previous commit.
52463         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
52464         AC_CHECK_LIB from here...
52465         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
52466         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
52467         gl_func_getloadavg_done.
52468         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52470 2011-06-18  Bruno Haible  <bruno@clisp.org>
52472         clean-temp: Improve documentation.
52473         * lib/clean-temp.h: Explain better how to use this module.
52474         Reported by John Darrington <john@darrington.wattle.id.au>.
52476 2011-06-17  Bruno Haible  <bruno@clisp.org>
52478         pread, pwrite: Avoid cc warning on AIX.
52479         * lib/unistd.in.h (pread): Undefine before defining as a macro.
52480         (pwrite): Likewise.
52482 2011-06-17  Bruno Haible  <bruno@clisp.org>
52484         spawn-pipe tests: Fix link error.
52485         * tests/test-spawn-pipe-child.c: Undefine fprintf.
52486         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52488 2011-06-17  Bruno Haible  <bruno@clisp.org>
52490         Tests: Remove unnecessary dependency.
52491         * modules/canonicalize-tests (Depends-on): Remove progname.
52492         * modules/chown-tests (Depends-on): Likewise.
52493         * modules/dirname-tests (Depends-on): Likewise.
52494         * modules/fdopendir-tests (Depends-on): Likewise.
52495         * modules/fdutimensat-tests (Depends-on): Likewise.
52496         * modules/hash-tests (Depends-on): Likewise.
52497         * modules/lchown-tests (Depends-on): Likewise.
52498         * modules/linkat-tests (Depends-on): Likewise.
52499         * modules/renameat-tests (Depends-on): Likewise.
52500         * modules/spawn-pipe-tests (Depends-on): Likewise.
52501         * modules/utimensat-tests (Depends-on): Likewise.
52503 2011-06-17  Bruno Haible  <bruno@clisp.org>
52505         spawn-pipe tests: Fix link error.
52506         * tests/test-spawn-pipe-child.c: Undefine fflush.
52508 2011-06-17  Bruno Haible  <bruno@clisp.org>
52510         Fix tests link errors.
52511         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
52512         * modules/chown-tests (Makefile.am): Don't link test-chown with
52513         LIBINTL.
52514         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
52515         LIBINTL.
52516         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
52517         LIBINTL.
52518         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
52519         LIBINTL.
52521 2011-06-16  Bruno Haible  <bruno@clisp.org>
52523         crypto/gc-sha1: Fix recent regression.
52524         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
52525         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
52527         crypto/gc-md5: Fix recent regression.
52528         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
52530         crypto/gc-md4: Fix recent regression.
52531         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
52532         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
52534         crypto/gc-arctwo: Fix recent regression.
52535         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
52536         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
52538         crypto/gc-rijndael: Fix recent regression.
52539         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
52540         (configure.ac): Invoke AC_LIBOBJ here.
52541         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
52542         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52544         crypto/gc-hmac-sha1: Fix recent regression.
52545         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
52546         (configure.ac): Invoke AC_LIBOBJ here.
52547         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
52548         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52550         crypto/gc-hmac-md5: Fix recent regression.
52551         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
52552         (configure.ac): Invoke AC_LIBOBJ here.
52553         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
52554         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52556         crypto/gc-des: Fix recent regression.
52557         * modules/crypto/gc-des (Files): Remove m4/des.m4.
52558         (configure.ac): Invoke AC_LIBOBJ here.
52559         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
52560         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52562         crypto/gc-arcfour: Fix recent regression.
52563         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
52564         (configure.ac): Invoke AC_LIBOBJ here.
52565         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
52566         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52568 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
52570         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
52571         After the 2011-05-21 change, this macro requires
52572         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
52573         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
52575 2011-06-16  Bruno Haible  <bruno@clisp.org>
52577         fprintftime: Move AC_LIBOBJ invocations to module description.
52578         * m4/fprintftime.m4: Remove file.
52579         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
52580         (configure.ac): Remove gl_FPRINTFTIME call.
52581         (Makefile.am): Augment lib_SOURCES.
52582         Reported by Jim Meyering.
52584 2011-06-16  Bruno Haible  <bruno@clisp.org>
52586         tmpfile-safer: Finish 2011-05-23 commit.
52587         * m4/stdio-safer.m4: Really remove file.
52588         Reported by Jim Meyering.
52590 2011-06-16  Bruno Haible  <bruno@clisp.org>
52592         syntax-check: Fix typo.
52593         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
52594         printf-posix.m4.
52595         Reported by Jim Meyering.
52597 2011-06-13  Jim Meyering  <meyering@redhat.com>
52599         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
52600         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
52602 2011-05-23  Bruno Haible  <bruno@clisp.org>
52604         yesno: Move AC_LIBOBJ invocations to module description.
52605         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
52606         * modules/yesno (Makefile.am): Augment lib_SOURCES.
52608 2011-05-23  Bruno Haible  <bruno@clisp.org>
52610         xstrtol: Move AC_LIBOBJ invocations to module description.
52611         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
52612         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
52614 2011-05-23  Bruno Haible  <bruno@clisp.org>
52616         xstrtold: Move AC_LIBOBJ invocations to module description.
52617         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
52618         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
52620 2011-05-23  Bruno Haible  <bruno@clisp.org>
52622         xstrtod: Move AC_LIBOBJ invocations to module description.
52623         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
52624         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
52626 2011-05-23  Bruno Haible  <bruno@clisp.org>
52628         xnanosleep: Move AC_LIBOBJ invocations to module description.
52629         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
52630         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
52632 2011-05-23  Bruno Haible  <bruno@clisp.org>
52634         xgetcwd: Move AC_LIBOBJ invocations to module description.
52635         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
52636         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
52638 2011-05-23  Bruno Haible  <bruno@clisp.org>
52640         xalloc: Move AC_LIBOBJ invocations to module description.
52641         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
52642         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
52644 2011-05-23  Bruno Haible  <bruno@clisp.org>
52646         write-any-file: Move AC_LIBOBJ invocations to module description.
52647         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
52648         invocation.
52649         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
52651 2011-05-23  Bruno Haible  <bruno@clisp.org>
52653         utimens: Move AC_LIBOBJ invocations to module description.
52654         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
52655         * modules/utimens (Makefile.am): Augment lib_SOURCES.
52657 2011-05-23  Bruno Haible  <bruno@clisp.org>
52659         utimecmp: Move AC_LIBOBJ invocations to module description.
52660         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
52661         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
52663 2011-05-23  Bruno Haible  <bruno@clisp.org>
52665         userspec: Move AC_LIBOBJ invocations to module description.
52666         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
52667         * modules/userspec (Makefile.am): Augment lib_SOURCES.
52669 2011-05-23  Bruno Haible  <bruno@clisp.org>
52671         unlinkdir: Move AC_LIBOBJ invocations to module description.
52672         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
52673         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
52675 2011-05-23  Bruno Haible  <bruno@clisp.org>
52677         unistd-safer: Move AC_LIBOBJ invocations to module description.
52678         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
52679         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
52681 2011-05-23  Bruno Haible  <bruno@clisp.org>
52683         tempname: Move AC_LIBOBJ invocations to module description.
52684         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
52685         * modules/tempname (Makefile.am): Augment lib_SOURCES.
52687 2011-05-23  Bruno Haible  <bruno@clisp.org>
52689         strftime: Move AC_LIBOBJ invocations to module description.
52690         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
52691         * modules/strftime (Makefile.am): Augment lib_SOURCES.
52693 2011-05-23  Bruno Haible  <bruno@clisp.org>
52695         stdlib-safer: Move AC_LIBOBJ invocations to module description.
52696         * m4/stdlib-safer.m4: Remove file.
52697         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
52698         (configure.ac): Remove gl_STDLIB_SAFER call.
52699         (Makefile.am): Augment lib_SOURCES.
52701 2011-05-23  Bruno Haible  <bruno@clisp.org>
52703         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
52704         * m4/stdio-safer.m4: Remove file.
52705         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
52706         (configure.ac): Remove gl_TMPFILE_SAFER call.
52707         (Makefile.am): Augment lib_SOURCES.
52709 2011-05-23  Bruno Haible  <bruno@clisp.org>
52711         popen-safer: Move AC_LIBOBJ invocations to module description.
52712         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
52713         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
52714         (configure.ac): Remove gl_POPEN_SAFER call.
52715         (Makefile.am): Augment lib_SOURCES.
52717 2011-05-23  Bruno Haible  <bruno@clisp.org>
52719         freopen-safer: Move AC_LIBOBJ invocations to module description.
52720         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
52721         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
52722         (configure.ac): Remove gl_FREOPEN_SAFER call.
52723         (Makefile.am): Augment lib_SOURCES.
52725 2011-05-23  Bruno Haible  <bruno@clisp.org>
52727         fopen-safer: Move AC_LIBOBJ invocations to module description.
52728         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
52729         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
52730         (configure.ac): Remove gl_FOPEN_SAFER call.
52731         (Makefile.am): Augment lib_SOURCES.
52733 2011-05-23  Bruno Haible  <bruno@clisp.org>
52735         crypto/sha512: Move AC_LIBOBJ invocations to module description.
52736         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
52737         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
52739 2011-05-23  Bruno Haible  <bruno@clisp.org>
52741         crypto/sha256: Move AC_LIBOBJ invocations to module description.
52742         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
52743         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
52745 2011-05-23  Bruno Haible  <bruno@clisp.org>
52747         crypto/sha1: Move AC_LIBOBJ invocations to module description.
52748         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
52749         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
52751 2011-05-23  Bruno Haible  <bruno@clisp.org>
52753         settime: Move AC_LIBOBJ invocations to module description.
52754         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
52755         * modules/settime (Makefile.am): Augment lib_SOURCES.
52757 2011-05-23  Bruno Haible  <bruno@clisp.org>
52759         savedir: Move AC_LIBOBJ invocations to module description.
52760         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
52761         * modules/savedir (Makefile.am): Augment lib_SOURCES.
52763 2011-05-23  Bruno Haible  <bruno@clisp.org>
52765         save-cwd: Move AC_LIBOBJ invocations to module description.
52766         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
52767         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
52769 2011-05-23  Bruno Haible  <bruno@clisp.org>
52771         same: Move AC_LIBOBJ invocations to module description.
52772         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
52773         * modules/same (Makefile.am): Augment lib_SOURCES.
52775 2011-05-23  Bruno Haible  <bruno@clisp.org>
52777         safe-write: Move AC_LIBOBJ invocations to module description.
52778         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
52779         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
52780         instead of gl_SAFE_WRITE.
52781         (Makefile.am): Augment lib_SOURCES.
52783 2011-05-23  Bruno Haible  <bruno@clisp.org>
52785         safe-read: Move AC_LIBOBJ invocations to module description.
52786         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
52787         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
52788         of gl_SAFE_READ.
52789         (Makefile.am): Augment lib_SOURCES.
52791 2011-05-23  Bruno Haible  <bruno@clisp.org>
52793         safe-alloc: Move AC_LIBOBJ invocations to module description.
52794         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
52795         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
52797 2011-05-23  Bruno Haible  <bruno@clisp.org>
52799         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
52800         * m4/rijndael.m4: Remove file.
52801         * modules/crypto/rijndael (Files): Remove it.
52802         (configure.ac): Remove gl_RIJNDAEL call.
52803         (Makefile.am): Augment lib_SOURCES.
52805 2011-05-23  Bruno Haible  <bruno@clisp.org>
52807         readtokens: Move AC_LIBOBJ invocations to module description.
52808         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
52809         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
52811 2011-05-23  Bruno Haible  <bruno@clisp.org>
52813         read-file: Move AC_LIBOBJ invocations to module description.
52814         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
52815         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
52816         of gl_FUNC_READ_FILE.
52817         (Makefile.am): Augment lib_SOURCES.
52819 2011-05-23  Bruno Haible  <bruno@clisp.org>
52821         quotearg: Move AC_LIBOBJ invocations to module description.
52822         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
52823         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
52825 2011-05-23  Bruno Haible  <bruno@clisp.org>
52827         quote: Move AC_LIBOBJ invocations to module description.
52828         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
52829         * modules/quote (Makefile.am): Augment lib_SOURCES.
52831 2011-05-23  Bruno Haible  <bruno@clisp.org>
52833         posixver: Move AC_LIBOBJ invocations to module description.
52834         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
52835         * modules/posixver (Makefile.am): Augment lib_SOURCES.
52837 2011-05-23  Bruno Haible  <bruno@clisp.org>
52839         posixtm: Move AC_LIBOBJ invocations to module description.
52840         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
52841         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
52843 2011-05-23  Bruno Haible  <bruno@clisp.org>
52845         physmem: Move AC_LIBOBJ invocations to module description.
52846         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
52847         * modules/physmem (Makefile.am): Augment lib_SOURCES.
52849 2011-05-23  Bruno Haible  <bruno@clisp.org>
52851         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
52852         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
52853         invocation.
52854         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
52856 2011-05-23  Bruno Haible  <bruno@clisp.org>
52858         mpsort: Move AC_LIBOBJ invocations to module description.
52859         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
52860         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
52862 2011-05-23  Bruno Haible  <bruno@clisp.org>
52864         modechange: Move AC_LIBOBJ invocations to module description.
52865         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
52866         * modules/modechange (Makefile.am): Augment lib_SOURCES.
52868 2011-05-23  Bruno Haible  <bruno@clisp.org>
52870         mkdir-p: Move AC_LIBOBJ invocations to module description.
52871         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
52872         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
52874 2011-05-23  Bruno Haible  <bruno@clisp.org>
52876         mkancesdirs: Move AC_LIBOBJ invocations to module description.
52877         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
52878         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
52880 2011-05-23  Bruno Haible  <bruno@clisp.org>
52882         mgetgroups: Move AC_LIBOBJ invocations to module description.
52883         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
52884         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
52886 2011-05-23  Bruno Haible  <bruno@clisp.org>
52888         memxor: Move AC_LIBOBJ invocations to module description.
52889         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
52890         * modules/memxor (Makefile.am): Augment lib_SOURCES.
52892 2011-05-23  Bruno Haible  <bruno@clisp.org>
52894         memcoll: Move AC_LIBOBJ invocations to module description.
52895         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
52896         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
52898 2011-05-23  Bruno Haible  <bruno@clisp.org>
52900         memcasecmp: Move AC_LIBOBJ invocations to module description.
52901         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
52902         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
52904 2011-05-23  Bruno Haible  <bruno@clisp.org>
52906         crypto/md5: Move AC_LIBOBJ invocations to module description.
52907         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
52908         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
52910 2011-05-23  Bruno Haible  <bruno@clisp.org>
52912         crypto/md4: Move AC_LIBOBJ invocations to module description.
52913         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
52914         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
52916 2011-05-23  Bruno Haible  <bruno@clisp.org>
52918         crypto/md2: Move AC_LIBOBJ invocations to module description.
52919         * m4/md2.m4: Remove file.
52920         * modules/crypto/md2 (Files): Remove it.
52921         (configure.ac): Remove gl_MD2 call.
52922         (Makefile.am): Augment lib_SOURCES.
52924 2011-05-23  Bruno Haible  <bruno@clisp.org>
52926         long-options: Move AC_LIBOBJ invocations to module description.
52927         * m4/long-options.m4: Remove file.
52928         * modules/long-options (Files): Remove it.
52929         (configure.ac): Remove gl_LONG_OPTIONS call.
52930         (Makefile.am): Augment lib_SOURCES.
52932 2011-05-23  Bruno Haible  <bruno@clisp.org>
52934         i-ring: Move AC_LIBOBJ invocations to module description.
52935         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
52936         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
52938 2011-05-23  Bruno Haible  <bruno@clisp.org>
52940         idcache: Move AC_LIBOBJ invocations to module description.
52941         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
52942         * modules/idcache (Makefile.am): Augment lib_SOURCES.
52944 2011-05-23  Bruno Haible  <bruno@clisp.org>
52946         human: Move AC_LIBOBJ invocations to module description.
52947         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
52948         * modules/human (Makefile.am): Augment lib_SOURCES.
52950 2011-05-23  Bruno Haible  <bruno@clisp.org>
52952         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
52953         * m4/hmac-sha1.m4: Remove file.
52954         * modules/crypto/hmac-sha1 (Files): Remove it.
52955         (configure.ac): Remove gl_HMAC_SHA1 call.
52956         (Makefile.am): Augment lib_SOURCES.
52958 2011-05-23  Bruno Haible  <bruno@clisp.org>
52960         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
52961         * m4/hmac-md5.m4: Remove file.
52962         * modules/crypto/hmac-md5 (Files): Remove it.
52963         (configure.ac): Remove gl_HMAC_MD5 call.
52964         (Makefile.am): Augment lib_SOURCES.
52966 2011-05-23  Bruno Haible  <bruno@clisp.org>
52968         hash: Move AC_LIBOBJ invocations to module description.
52969         * m4/hash.m4: Remove file.
52970         * modules/hash (Files): Remove it.
52971         (configure.ac): Remove gl_HASH call.
52972         (Makefile.am): Augment lib_SOURCES.
52974 2011-05-23  Bruno Haible  <bruno@clisp.org>
52976         hard-locale: Move AC_LIBOBJ invocations to module description.
52977         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
52978         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
52980 2011-05-23  Bruno Haible  <bruno@clisp.org>
52982         getugroups: Move AC_LIBOBJ invocations to module description.
52983         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
52984         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
52986 2011-05-23  Bruno Haible  <bruno@clisp.org>
52988         gettime: Move AC_LIBOBJ invocations to module description.
52989         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
52990         * modules/gettime (Makefile.am): Augment lib_SOURCES.
52992 2011-05-23  Bruno Haible  <bruno@clisp.org>
52994         getndelim2: Move AC_LIBOBJ invocations to module description.
52995         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
52996         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
52998 2011-05-23  Bruno Haible  <bruno@clisp.org>
53000         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
53001         * m4/gc-pbkdf2-sha1.m4: Remove file.
53002         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
53003         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
53004         (Makefile.am): Augment lib_SOURCES.
53006 2011-05-23  Bruno Haible  <bruno@clisp.org>
53008         fts: Move AC_LIBOBJ invocations to module description.
53009         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
53010         * modules/fts (configure.ac): ... to here.
53012 2011-05-23  Bruno Haible  <bruno@clisp.org>
53014         file-type: Move AC_LIBOBJ invocations to module description.
53015         * m4/file-type.m4: Remove file.
53016         * modules/file-type (Files): Remove it.
53017         (configure.ac): Remove gl_FILE_TYPE call.
53018         (Makefile.am): Augment lib_SOURCES.
53020 2011-05-23  Bruno Haible  <bruno@clisp.org>
53022         filenamecat*: Respect rules for use of AC_LIBOBJ.
53023         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
53024         Remove AC_LIBOBJ invocation.
53025         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
53026         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
53028 2011-05-23  Bruno Haible  <bruno@clisp.org>
53030         filemode: Move AC_LIBOBJ invocations to module description.
53031         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
53032         * modules/filemode (Makefile.am): Augment lib_SOURCES.
53034 2011-05-23  Bruno Haible  <bruno@clisp.org>
53036         openat-safer: Move AC_LIBOBJ invocations to module description.
53037         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
53038         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
53040 2011-05-23  Bruno Haible  <bruno@clisp.org>
53042         fcntl-safer: Move AC_LIBOBJ invocations to module description.
53043         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
53044         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
53046 2011-05-23  Bruno Haible  <bruno@clisp.org>
53048         exclude: Move AC_LIBOBJ invocations to module description.
53049         * m4/exclude.m4: Remove file.
53050         * modules/exclude (Files): Remove it.
53051         (configure.ac): Remove gl_EXCLUDE call.
53052         (Makefile.am): Augment lib_SOURCES.
53054 2011-05-23  Bruno Haible  <bruno@clisp.org>
53056         dirname*: Respect rules for use of AC_LIBOBJ.
53057         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
53058         invocations.
53059         * modules/dirname (Makefile.am): Augment lib_SOURCES.
53060         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
53062 2011-05-23  Bruno Haible  <bruno@clisp.org>
53064         dirent-safer: Move AC_LIBOBJ invocations to module description.
53065         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
53066         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
53068 2011-05-23  Bruno Haible  <bruno@clisp.org>
53070         crypto/des: Move AC_LIBOBJ invocations to module description.
53071         * m4/des.m4: Remove file.
53072         * modules/crypto/des (Files): Remove it.
53073         (configure.ac): Remove gl_DES call.
53074         (Makefile.am): Augment lib_SOURCES.
53076 2011-05-23  Bruno Haible  <bruno@clisp.org>
53078         cycle-check: Move AC_LIBOBJ invocations to module description.
53079         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
53080         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
53082 2011-05-23  Bruno Haible  <bruno@clisp.org>
53084         c-strtold: Move AC_LIBOBJ invocations to module description.
53085         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
53086         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
53088 2011-05-23  Bruno Haible  <bruno@clisp.org>
53090         c-strtod: Move AC_LIBOBJ invocations to module description.
53091         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
53092         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
53094 2011-05-23  Bruno Haible  <bruno@clisp.org>
53096         crc: Move AC_LIBOBJ invocations to module description.
53097         * m4/crc.m4: Remove file.
53098         * modules/crc (Files): Remove it.
53099         (configure.ac): Remove gl_CRC call.
53100         (Makefile.am): Augment lib_SOURCES.
53102 2011-05-23  Bruno Haible  <bruno@clisp.org>
53104         close-stream: Move AC_LIBOBJ invocations to module description.
53105         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
53106         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
53108 2011-05-23  Bruno Haible  <bruno@clisp.org>
53110         closeout: Move AC_LIBOBJ invocations to module description.
53111         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
53112         * modules/closeout (Makefile.am): Augment lib_SOURCES.
53114 2011-05-23  Bruno Haible  <bruno@clisp.org>
53116         closein: Move AC_LIBOBJ invocations to module description.
53117         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
53118         * modules/closein (Makefile.am): Augment lib_SOURCES.
53120 2011-05-23  Bruno Haible  <bruno@clisp.org>
53122         cloexec: Move AC_LIBOBJ invocations to module description.
53123         * m4/cloexec.m4: Remove file.
53124         * modules/cloexec (Files): Remove it.
53125         (configure.ac): Remove gl_CLOEXEC call.
53126         (Makefile.am): Augment lib_SOURCES.
53128 2011-05-23  Bruno Haible  <bruno@clisp.org>
53130         check-version: Move AC_LIBOBJ invocations to module description.
53131         * m4/check-version.m4: Remove file.
53132         * modules/check-version (Files): Remove it.
53133         (configure.ac): Remove gl_CHECK_VERSION call.
53134         (Makefile.am): Augment lib_SOURCES.
53136 2011-05-23  Bruno Haible  <bruno@clisp.org>
53138         chdir-safer: Move AC_LIBOBJ invocations to module description.
53139         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
53140         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
53142 2011-05-23  Bruno Haible  <bruno@clisp.org>
53144         canonicalize: Move AC_LIBOBJ invocations to module description.
53145         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
53146         AC_LIBOBJ invocation.
53147         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
53149 2011-05-23  Bruno Haible  <bruno@clisp.org>
53151         canon-host: Move AC_LIBOBJ invocations to module description.
53152         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
53153         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
53154         instead of gl_CANON_HOST.
53155         (Makefile.am): Augment lib_SOURCES.
53157 2011-05-23  Bruno Haible  <bruno@clisp.org>
53159         backupfile: Move AC_LIBOBJ invocations to module description.
53160         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
53161         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
53163 2011-05-23  Bruno Haible  <bruno@clisp.org>
53165         argmatch: Move AC_LIBOBJ invocations to module description.
53166         * m4/argmatch.m4: Remove file.
53167         * modules/argmatch (Files): Remove it.
53168         (configure.ac): Remove gl_ARGMATCH call.
53169         (Makefile.am): Augment lib_SOURCES.
53171 2011-05-23  Bruno Haible  <bruno@clisp.org>
53173         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
53174         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
53175         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
53177 2011-05-23  Bruno Haible  <bruno@clisp.org>
53179         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
53180         * m4/arcfour.m4: Remove file.
53181         * modules/crypto/arcfour (Files): Remove it.
53182         (configure.ac): Remove gl_ARCFOUR call.
53183         (Makefile.am): Augment lib_SOURCES.
53185 2011-05-22  Bruno Haible  <bruno@clisp.org>
53187         write: Move AC_LIBOBJ invocations to module description.
53188         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
53189         * modules/write (configure.ac): ... to here.
53191 2011-05-22  Bruno Haible  <bruno@clisp.org>
53193         wmemset: Move AC_LIBOBJ invocations to module description.
53194         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
53195         here...
53196         * modules/wmemset (configure.ac): ... to here.
53198 2011-05-22  Bruno Haible  <bruno@clisp.org>
53200         wmemmove: Move AC_LIBOBJ invocations to module description.
53201         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
53202         here...
53203         * modules/wmemmove (configure.ac): ... to here.
53205 2011-05-22  Bruno Haible  <bruno@clisp.org>
53207         wmemcpy: Move AC_LIBOBJ invocations to module description.
53208         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
53209         here...
53210         * modules/wmemcpy (configure.ac): ... to here.
53212 2011-05-22  Bruno Haible  <bruno@clisp.org>
53214         wmemcmp: Move AC_LIBOBJ invocations to module description.
53215         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
53216         here...
53217         * modules/wmemcmp (configure.ac): ... to here.
53219 2011-05-22  Bruno Haible  <bruno@clisp.org>
53221         wmemchr: Move AC_LIBOBJ invocations to module description.
53222         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
53223         here...
53224         * modules/wmemchr (configure.ac): ... to here.
53226 2011-05-22  Bruno Haible  <bruno@clisp.org>
53228         wcswidth: Move AC_LIBOBJ invocations to module description.
53229         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
53230         here...
53231         * modules/wcswidth (configure.ac): ... to here.
53233 2011-05-22  Bruno Haible  <bruno@clisp.org>
53235         wcwidth: Respect rules for use of AC_LIBOBJ.
53236         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
53237         invocation from here...
53238         * modules/wcwidth (configure.ac): ... to here.
53239         (Depends-on): Update conditions.
53241 2011-05-22  Bruno Haible  <bruno@clisp.org>
53243         wctype: Move AC_LIBOBJ invocations to module description.
53244         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
53245         invocation from here...
53246         * modules/wctype (configure.ac): ... to here.
53247         (Depends-on): Update conditions.
53249 2011-05-22  Bruno Haible  <bruno@clisp.org>
53251         wctrans: Move AC_LIBOBJ invocations to module description.
53252         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
53253         invocation from here...
53254         * modules/wctrans (configure.ac): ... to here.
53256 2011-05-22  Bruno Haible  <bruno@clisp.org>
53258         wctomb: Move AC_LIBOBJ invocations to module description.
53259         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
53260         invocations from here...
53261         * modules/wctomb (configure.ac): ... to here.
53263 2011-05-22  Bruno Haible  <bruno@clisp.org>
53265         wctob: Move AC_LIBOBJ invocations to module description.
53266         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
53267         gl_PREREQ_WCTOB invocations from here...
53268         * modules/wctob (configure.ac): ... to here.
53269         (Depends-on): Update conditions.
53271 2011-05-22  Bruno Haible  <bruno@clisp.org>
53273         wcsxfrm: Move AC_LIBOBJ invocations to module description.
53274         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
53275         here...
53276         * modules/wcsxfrm (configure.ac): ... to here.
53278 2011-05-22  Bruno Haible  <bruno@clisp.org>
53280         wcstok: Move AC_LIBOBJ invocations to module description.
53281         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
53282         * modules/wcstok (configure.ac): ... to here.
53284 2011-05-22  Bruno Haible  <bruno@clisp.org>
53286         wcsstr: Move AC_LIBOBJ invocations to module description.
53287         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
53288         * modules/wcsstr (configure.ac): ... to here.
53290 2011-05-22  Bruno Haible  <bruno@clisp.org>
53292         wcsspn: Move AC_LIBOBJ invocations to module description.
53293         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
53294         * modules/wcsspn (configure.ac): ... to here.
53296 2011-05-22  Bruno Haible  <bruno@clisp.org>
53298         wcsrtombs: Move AC_LIBOBJ invocations to module description.
53299         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
53300         gl_PREREQ_WCSRTOMBS invocations from here...
53301         * modules/wcsrtombs (configure.ac): ... to here.
53303 2011-05-22  Bruno Haible  <bruno@clisp.org>
53305         wcsrchr: Move AC_LIBOBJ invocations to module description.
53306         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
53307         here...
53308         * modules/wcsrchr (configure.ac): ... to here.
53310 2011-05-22  Bruno Haible  <bruno@clisp.org>
53312         wcspbrk: Move AC_LIBOBJ invocations to module description.
53313         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
53314         here...
53315         * modules/wcspbrk (configure.ac): ... to here.
53317 2011-05-22  Bruno Haible  <bruno@clisp.org>
53319         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
53320         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
53321         gl_PREREQ_WCSNRTOMBS invocations from here...
53322         * modules/wcsnrtombs (configure.ac): ... to here.
53324 2011-05-22  Bruno Haible  <bruno@clisp.org>
53326         wcsnlen: Move AC_LIBOBJ invocations to module description.
53327         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
53328         here...
53329         * modules/wcsnlen (configure.ac): ... to here.
53331 2011-05-22  Bruno Haible  <bruno@clisp.org>
53333         wcsncpy: Move AC_LIBOBJ invocations to module description.
53334         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
53335         here...
53336         * modules/wcsncpy (configure.ac): ... to here.
53338 2011-05-22  Bruno Haible  <bruno@clisp.org>
53340         wcsncmp: Move AC_LIBOBJ invocations to module description.
53341         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
53342         here...
53343         * modules/wcsncmp (configure.ac): ... to here.
53345 2011-05-22  Bruno Haible  <bruno@clisp.org>
53347         wcsncat: Move AC_LIBOBJ invocations to module description.
53348         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
53349         here...
53350         * modules/wcsncat (configure.ac): ... to here.
53352 2011-05-22  Bruno Haible  <bruno@clisp.org>
53354         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
53355         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
53356         from here...
53357         * modules/wcsncasecmp (configure.ac): ... to here.
53359 2011-05-22  Bruno Haible  <bruno@clisp.org>
53361         wcslen: Move AC_LIBOBJ invocations to module description.
53362         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
53363         * modules/wcslen (configure.ac): ... to here.
53365 2011-05-22  Bruno Haible  <bruno@clisp.org>
53367         wcsdup: Move AC_LIBOBJ invocations to module description.
53368         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
53369         * modules/wcsdup (configure.ac): ... to here.
53371 2011-05-22  Bruno Haible  <bruno@clisp.org>
53373         wcscspn: Move AC_LIBOBJ invocations to module description.
53374         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
53375         here...
53376         * modules/wcscspn (configure.ac): ... to here.
53378 2011-05-22  Bruno Haible  <bruno@clisp.org>
53380         wcscpy: Move AC_LIBOBJ invocations to module description.
53381         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
53382         * modules/wcscpy (configure.ac): ... to here.
53384 2011-05-22  Bruno Haible  <bruno@clisp.org>
53386         wcscoll: Move AC_LIBOBJ invocations to module description.
53387         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
53388         here...
53389         * modules/wcscoll (configure.ac): ... to here.
53391 2011-05-22  Bruno Haible  <bruno@clisp.org>
53393         wcscmp: Move AC_LIBOBJ invocations to module description.
53394         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
53395         * modules/wcscmp (configure.ac): ... to here.
53397 2011-05-22  Bruno Haible  <bruno@clisp.org>
53399         wcschr: Move AC_LIBOBJ invocations to module description.
53400         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
53401         * modules/wcschr (configure.ac): ... to here.
53403 2011-05-22  Bruno Haible  <bruno@clisp.org>
53405         wcscat: Move AC_LIBOBJ invocations to module description.
53406         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
53407         * modules/wcscat (configure.ac): ... to here.
53409 2011-05-22  Bruno Haible  <bruno@clisp.org>
53411         wcscasecmp: Move AC_LIBOBJ invocations to module description.
53412         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
53413         here...
53414         * modules/wcscasecmp (configure.ac): ... to here.
53416 2011-05-22  Bruno Haible  <bruno@clisp.org>
53418         wcrtomb: Move AC_LIBOBJ invocations to module description.
53419         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
53420         invocations from here...
53421         * modules/wcrtomb (configure.ac): ... to here.
53423 2011-05-22  Bruno Haible  <bruno@clisp.org>
53425         wcpncpy: Move AC_LIBOBJ invocations to module description.
53426         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
53427         here...
53428         * modules/wcpncpy (configure.ac): ... to here.
53430 2011-05-22  Bruno Haible  <bruno@clisp.org>
53432         wcpcpy: Move AC_LIBOBJ invocations to module description.
53433         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
53434         * modules/wcpcpy (configure.ac): ... to here.
53436 2011-05-22  Bruno Haible  <bruno@clisp.org>
53438         waitpid: Move AC_LIBOBJ invocations to module description.
53439         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
53440         invocation from here...
53441         * modules/waitpid (configure.ac): ... to here.
53443 2011-05-22  Bruno Haible  <bruno@clisp.org>
53445         utimensat: Move AC_LIBOBJ invocations to module description.
53446         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
53447         here...
53448         * modules/utimensat (configure.ac): ... to here.
53450 2011-05-22  Bruno Haible  <bruno@clisp.org>
53452         usleep: Move AC_LIBOBJ invocations to module description.
53453         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
53454         here...
53455         * modules/usleep (configure.ac): ... to here.
53457 2011-05-22  Bruno Haible  <bruno@clisp.org>
53459         unlockpt: Move AC_LIBOBJ invocations to module description.
53460         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
53461         gl_PREREQ_UNLOCKPT invocations from here...
53462         * modules/unlockpt (configure.ac): ... to here.
53464 2011-05-22  Bruno Haible  <bruno@clisp.org>
53466         unlink: Respect rules for use of AC_LIBOBJ.
53467         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
53468         * modules/unlink (configure.ac): ... to here.
53470 2011-05-22  Bruno Haible  <bruno@clisp.org>
53472         uname: Move AC_LIBOBJ invocations to module description.
53473         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
53474         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
53475         here...
53476         * modules/uname (configure.ac): ... to here.
53478 2011-05-22  Bruno Haible  <bruno@clisp.org>
53480         ttyname_r: Move AC_LIBOBJ invocations to module description.
53481         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
53482         gl_PREREQ_TTYNAME_R invocations from here...
53483         * modules/ttyname_r (configure.ac): ... to here.
53485 2011-05-22  Bruno Haible  <bruno@clisp.org>
53487         tsearch: Move AC_LIBOBJ invocations to module description.
53488         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
53489         invocations from here...
53490         * modules/tsearch (configure.ac): ... to here.
53492 2011-05-22  Bruno Haible  <bruno@clisp.org>
53494         towctrans: Move AC_LIBOBJ invocations to module description.
53495         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
53496         AC_LIBOBJ invocation from here...
53497         * modules/towctrans (configure.ac): ... to here.
53499 2011-05-22  Bruno Haible  <bruno@clisp.org>
53501         tmpfile: Move AC_LIBOBJ invocations to module description.
53502         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
53503         invocations from here...
53504         * modules/tmpfile (configure.ac): ... to here.
53506 2011-05-22  Bruno Haible  <bruno@clisp.org>
53508         times: Move AC_LIBOBJ invocations to module description.
53509         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
53510         * modules/times (configure.ac): ... to here.
53512 2011-05-22  Bruno Haible  <bruno@clisp.org>
53514         time_r: Move AC_LIBOBJ invocations to module description.
53515         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
53516         invocations from here...
53517         * modules/time_r (configure.ac): ... to here.
53519 2011-05-22  Bruno Haible  <bruno@clisp.org>
53521         timegm: Move AC_LIBOBJ invocations to module description.
53522         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
53523         invocations from here...
53524         * modules/timegm (configure.ac): ... to here.
53526 2011-05-22  Bruno Haible  <bruno@clisp.org>
53528         tcgetsid: Move AC_LIBOBJ invocations to module description.
53529         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
53530         and gl_PREREQ_TCGETSID invocations from here...
53531         * modules/tcgetsid (configure.ac): ... to here.
53532         (Depends-on): Update conditions.
53534 2011-05-22  Bruno Haible  <bruno@clisp.org>
53536         symlinkat: Move AC_LIBOBJ invocations to module description.
53537         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
53538         here...
53539         * modules/symlinkat (configure.ac): ... to here.
53541 2011-05-22  Bruno Haible  <bruno@clisp.org>
53543         symlink: Move AC_LIBOBJ invocations to module description.
53544         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
53545         here...
53546         * modules/symlink (configure.ac): ... to here.
53548 2011-05-22  Bruno Haible  <bruno@clisp.org>
53550         strverscmp: Move AC_LIBOBJ invocations to module description.
53551         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
53552         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
53553         from here...
53554         * modules/strverscmp (configure.ac): ... to here.
53556 2011-05-22  Bruno Haible  <bruno@clisp.org>
53558         strtok_r: Move AC_LIBOBJ invocations to module description.
53559         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
53560         and gl_PREREQ_STRTOK_R invocations from here...
53561         * modules/strtok_r (configure.ac): ... to here.
53562         (Depends-on): Update conditions.
53564 2011-05-22  Bruno Haible  <bruno@clisp.org>
53566         strtoumax: Move AC_LIBOBJ invocations to module description.
53567         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
53568         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
53569         from here...
53570         * modules/strtoumax (configure.ac): ... to here.
53572 2011-05-22  Bruno Haible  <bruno@clisp.org>
53574         strtoimax: Move AC_LIBOBJ invocations to module description.
53575         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
53576         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
53577         from here...
53578         * modules/strtoimax (configure.ac): ... to here.
53580 2011-05-22  Bruno Haible  <bruno@clisp.org>
53582         strtoull: Move AC_LIBOBJ invocations to module description.
53583         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
53584         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
53585         from here...
53586         * modules/strtoull (configure.ac): ... to here.
53588 2011-05-22  Bruno Haible  <bruno@clisp.org>
53590         strtoll: Move AC_LIBOBJ invocations to module description.
53591         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
53592         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
53593         here...
53594         * modules/strtoll (configure.ac): ... to here.
53596 2011-05-22  Bruno Haible  <bruno@clisp.org>
53598         strtoul: Move AC_LIBOBJ invocations to module description.
53599         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
53600         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
53601         * modules/strtoul (configure.ac): ... to here.
53603 2011-05-22  Bruno Haible  <bruno@clisp.org>
53605         strtol: Move AC_LIBOBJ invocations to module description.
53606         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
53607         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
53608         * modules/strtol (configure.ac): ... to here.
53610 2011-05-22  Bruno Haible  <bruno@clisp.org>
53612         strtod: Move AC_LIBOBJ invocations to module description.
53613         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
53614         invocations from here...
53615         * modules/strtod (configure.ac): ... to here.
53617 2011-05-22  Bruno Haible  <bruno@clisp.org>
53619         strstr*: Move AC_LIBOBJ invocations to module description.
53620         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
53621         invocations from here...
53622         * modules/strstr-simple (configure.ac): ... to here.
53623         * modules/strstr (configure.ac): ... and here.
53625 2011-05-22  Bruno Haible  <bruno@clisp.org>
53627         strsignal: Move AC_LIBOBJ invocations to module description.
53628         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
53629         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
53630         * modules/strsignal (configure.ac): ... to here.
53631         (Depends-on): Update conditions.
53633 2011-05-22  Bruno Haible  <bruno@clisp.org>
53635         strsep: Move AC_LIBOBJ invocations to module description.
53636         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
53637         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
53638         here...
53639         * modules/strsep (configure.ac): ... to here.
53641 2011-05-22  Bruno Haible  <bruno@clisp.org>
53643         strptime: Move AC_LIBOBJ invocations to module description.
53644         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
53645         gl_PREREQ_STRPTIME invocations from here...
53646         * modules/strptime (configure.ac): ... to here.
53648 2011-05-22  Bruno Haible  <bruno@clisp.org>
53650         strpbrk: Move AC_LIBOBJ invocations to module description.
53651         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
53652         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
53653         here...
53654         * modules/strpbrk (configure.ac): ... to here.
53656 2011-05-22  Bruno Haible  <bruno@clisp.org>
53658         strnlen: Move AC_LIBOBJ invocations to module description.
53659         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
53660         invocations from here...
53661         * modules/strnlen (configure.ac): ... to here.
53663 2011-05-22  Bruno Haible  <bruno@clisp.org>
53665         strndup: Move AC_LIBOBJ invocations to module description.
53666         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
53667         invocations from here...
53668         * modules/strndup (configure.ac): ... to here.
53669         (Depends-on): Update conditions.
53671 2011-05-22  Bruno Haible  <bruno@clisp.org>
53673         strncat: Move AC_LIBOBJ invocations to module description.
53674         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
53675         invocations from here...
53676         * modules/strncat (configure.ac): ... to here.
53678 2011-05-22  Bruno Haible  <bruno@clisp.org>
53680         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
53681         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
53682         invocations from here...
53683         * modules/strdup (configure.ac): ... to here.
53684         * modules/strdup-posix (configure.ac): ... and here.
53686 2011-05-22  Bruno Haible  <bruno@clisp.org>
53688         strcspn: Move AC_LIBOBJ invocations to module description.
53689         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
53690         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
53691         here...
53692         * modules/strcspn (configure.ac): ... to here.
53694 2011-05-22  Bruno Haible  <bruno@clisp.org>
53696         strchrnul: Move AC_LIBOBJ invocations to module description.
53697         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
53698         gl_PREREQ_STRCHRNUL invocations from here...
53699         * modules/strchrnul (configure.ac): ... to here.
53701 2011-05-22  Bruno Haible  <bruno@clisp.org>
53703         strcasestr*: Move AC_LIBOBJ invocations to module description.
53704         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
53705         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
53706         * modules/strcasestr-simple (configure.ac): ... to here.
53707         * modules/strcasestr (configure.ac): ... and here.
53709 2011-05-22  Bruno Haible  <bruno@clisp.org>
53711         strcase: Move AC_LIBOBJ invocations to module description.
53712         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
53713         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
53714         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
53715         gl_PREREQ_STRNCASECMP invocations from here...
53716         * modules/strcase (configure.ac): ... to here.
53718 2011-05-22  Bruno Haible  <bruno@clisp.org>
53720         stpncpy: Move AC_LIBOBJ invocations to module description.
53721         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
53722         here...
53723         * modules/stpncpy (configure.ac): ... to here.
53725 2011-05-22  Bruno Haible  <bruno@clisp.org>
53727         stpcpy: Move AC_LIBOBJ invocations to module description.
53728         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
53729         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
53730         here...
53731         * modules/stpcpy (configure.ac): ... to here.
53733 2011-05-21  Bruno Haible  <bruno@clisp.org>
53735         stat: Move AC_LIBOBJ invocations to module description.
53736         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
53737         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
53738         here...
53739         * modules/stat (configure.ac): ... to here.
53741 2011-05-21  Bruno Haible  <bruno@clisp.org>
53743         sleep: Move AC_LIBOBJ invocations to module description.
53744         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
53745         * modules/sleep (configure.ac): ... to here.
53747 2011-05-21  Bruno Haible  <bruno@clisp.org>
53749         signbit: Move AC_LIBOBJ invocations to module description.
53750         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
53751         * modules/signbit (configure.ac): ... to here.
53753 2011-05-21  Bruno Haible  <bruno@clisp.org>
53755         sigprocmask: Move AC_LIBOBJ invocations to module description.
53756         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
53757         gl_PREREQ_SIGPROMASK invocations from here...
53758         * modules/sigprocmask (configure.ac): ... to here.
53760 2011-05-21  Bruno Haible  <bruno@clisp.org>
53762         sigaction: Move AC_LIBOBJ invocations to module description.
53763         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
53764         gl_PREREQ_SIGACTION invocations from here...
53765         * modules/sigaction (configure.ac): ... to here.
53767 2011-05-21  Bruno Haible  <bruno@clisp.org>
53769         sig2str: Move AC_LIBOBJ invocations to module description.
53770         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
53771         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
53772         here...
53773         * modules/sig2str (configure.ac): ... to here.
53775 2011-05-21  Bruno Haible  <bruno@clisp.org>
53777         setlocale: Move AC_LIBOBJ invocations to module description.
53778         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
53779         gl_PREREQ_SETLOCALE invocations from here...
53780         * modules/setlocale (configure.ac): ... to here.
53782 2011-05-21  Bruno Haible  <bruno@clisp.org>
53784         unsetenv: Move AC_LIBOBJ invocations to module description.
53785         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
53786         and gl_PREREQ_UNSETENV invocations from here...
53787         * modules/unsetenv (configure.ac): ... to here.
53788         (Depends-on): Update.
53790 2011-05-21  Bruno Haible  <bruno@clisp.org>
53792         setenv: Move AC_LIBOBJ invocations to module description.
53793         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
53794         here...
53795         * modules/setenv (configure.ac): ... to here.
53797 2011-05-21  Bruno Haible  <bruno@clisp.org>
53799         selinux-h: Move AC_LIBOBJ invocations to module description.
53800         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
53801         AC_LIBOBJ invocation from here...
53802         * modules/selinux-h (configure.ac): ... to here.
53804 2011-05-21  Bruno Haible  <bruno@clisp.org>
53806         select: Respect rules for use of AC_LIBOBJ.
53807         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
53808         here...
53809         * modules/select (configure.ac): ... to here.
53811 2011-05-21  Bruno Haible  <bruno@clisp.org>
53813         scandir: Move AC_LIBOBJ invocations to module description.
53814         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
53815         invocations from here...
53816         * modules/scandir (configure.ac): ... to here.
53818 2011-05-21  Bruno Haible  <bruno@clisp.org>
53820         rpmatch: Move AC_LIBOBJ invocations to module description.
53821         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
53822         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
53823         here...
53824         * modules/rpmatch (configure.ac): ... to here.
53826 2011-05-21  Bruno Haible  <bruno@clisp.org>
53828         rmdir: Respect rules for use of AC_LIBOBJ.
53829         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
53830         * modules/rmdir (configure.ac): ... to here.
53832 2011-05-21  Bruno Haible  <bruno@clisp.org>
53834         renameat: Move AC_LIBOBJ invocations to module description.
53835         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
53836         here...
53837         * modules/renameat (configure.ac): ... to here.
53839 2011-05-21  Bruno Haible  <bruno@clisp.org>
53841         rename: Respect rules for use of AC_LIBOBJ.
53842         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
53843         here...
53844         * modules/rename (configure.ac): ... to here.
53846 2011-05-21  Bruno Haible  <bruno@clisp.org>
53848         remove: Move AC_LIBOBJ invocations to module description.
53849         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
53850         here...
53851         * modules/remove (configure.ac): ... to here.
53853 2011-05-21  Bruno Haible  <bruno@clisp.org>
53855         relocatable-lib: Move AC_LIBOBJ invocations to module description.
53856         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
53857         macro.
53858         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
53859         * modules/relocatable-lib (configure.ac): ... to here.
53860         * modules/relocatable-prog-wrapper (configure.ac): Invoke
53861         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
53863 2011-05-21  Bruno Haible  <bruno@clisp.org>
53865         relocatable-prog: Move AC_LIBOBJ invocations to module description.
53866         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
53867         here...
53868         * modules/relocatable-prog (configure.ac): ... to here.
53870 2011-05-21  Bruno Haible  <bruno@clisp.org>
53872         regex: Move AC_LIBOBJ invocations to module description.
53873         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
53874         invocations from here...
53875         * modules/regex (configure.ac): ... to here.
53877 2011-05-21  Bruno Haible  <bruno@clisp.org>
53879         realloc-*: Move AC_LIBOBJ invocations to module description.
53880         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
53881         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
53882         AC_LIBOBJ invocations from here...
53883         * modules/realloc-gnu (configure.ac): ... to here.
53884         * modules/realloc-posix (configure.ac): ... and here.
53886 2011-05-21  Bruno Haible  <bruno@clisp.org>
53888         readutmp: Move AC_LIBOBJ invocations to module description.
53889         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
53890         * modules/readutmp (configure.ac): ... to here.
53892 2011-05-21  Bruno Haible  <bruno@clisp.org>
53894         readlinkat: Move AC_LIBOBJ invocations to module description.
53895         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
53896         here...
53897         * modules/readlinkat (configure.ac): ... to here.
53899 2011-05-21  Bruno Haible  <bruno@clisp.org>
53901         readlink: Move AC_LIBOBJ invocations to module description.
53902         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
53903         gl_PREREQ_READLINK invocations from here...
53904         * modules/readlink (configure.ac): ... to here.
53906 2011-05-21  Bruno Haible  <bruno@clisp.org>
53908         readline: Move AC_LIBOBJ invocations to module description.
53909         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
53910         gl_PREREQ_READLINE invocations from here...
53911         * modules/readline (configure.ac): ... to here.
53913 2011-05-21  Bruno Haible  <bruno@clisp.org>
53915         read: Move AC_LIBOBJ invocations to module description.
53916         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
53917         * modules/read (configure.ac): ... to here.
53919 2011-05-21  Bruno Haible  <bruno@clisp.org>
53921         rawmemchr: Move AC_LIBOBJ invocations to module description.
53922         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
53923         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
53924         from here...
53925         * modules/rawmemchr (configure.ac): ... to here.
53927 2011-05-21  Bruno Haible  <bruno@clisp.org>
53929         random_r: Move AC_LIBOBJ invocations to module description.
53930         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
53931         gl_PREREQ_RANDOM_R invocations from here...
53932         * modules/random_r (configure.ac): ... to here.
53934 2011-05-21  Bruno Haible  <bruno@clisp.org>
53936         pwrite: Move AC_LIBOBJ invocations to module description.
53937         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
53938         * modules/pwrite (configure.ac): ... to here.
53940 2011-05-21  Bruno Haible  <bruno@clisp.org>
53942         putenv: Move AC_LIBOBJ invocations to module description.
53943         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
53944         * modules/putenv (configure.ac): ... to here.
53946 2011-05-21  Bruno Haible  <bruno@clisp.org>
53948         login_tty: Move AC_LIBOBJ invocations to module description.
53949         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
53950         * modules/login_tty (configure.ac): ... to here.
53952 2011-05-21  Bruno Haible  <bruno@clisp.org>
53954         openpty: Move AC_LIBOBJ invocations to module description.
53955         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
53956         * modules/openpty (configure.ac): ... to here.
53958 2011-05-21  Bruno Haible  <bruno@clisp.org>
53960         forkpty: Move AC_LIBOBJ invocations to module description.
53961         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
53962         * modules/forkpty (configure.ac): ... to here.
53964 2011-05-21  Bruno Haible  <bruno@clisp.org>
53966         ptsname: Move AC_LIBOBJ invocations to module description.
53967         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
53968         invocations from here...
53969         * modules/ptsname (configure.ac): ... to here.
53971 2011-05-21  Bruno Haible  <bruno@clisp.org>
53973         pread: Move AC_LIBOBJ invocations to module description.
53974         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
53975         * modules/pread (configure.ac): ... to here.
53977 2011-05-21  Bruno Haible  <bruno@clisp.org>
53979         posix_spawn*: Move AC_LIBOBJ invocations to module description.
53980         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
53981         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
53982         * modules/posix_spawn (configure.ac): ... to here.
53983         * modules/posix_spawnp (configure.ac): ... and here.
53985 2011-05-21  Bruno Haible  <bruno@clisp.org>
53987         popen: Move AC_LIBOBJ invocations to module description.
53988         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
53989         invocations from here...
53990         * modules/popen (configure.ac): ... to here.
53992 2011-05-21  Bruno Haible  <bruno@clisp.org>
53994         poll: Move AC_LIBOBJ invocations to module description.
53995         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
53996         invocations from here...
53997         * modules/poll (configure.ac): ... to here.
53999 2011-05-21  Bruno Haible  <bruno@clisp.org>
54001         pipe-posix: Move AC_LIBOBJ invocations to module description.
54002         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
54003         * modules/pipe-posix (configure.ac): ... to here.
54005 2011-05-21  Bruno Haible  <bruno@clisp.org>
54007         openat: Respect rules for use of AC_LIBOBJ.
54008         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
54009         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
54010         * modules/openat (configure.ac): ... to here.
54012 2011-05-21  Bruno Haible  <bruno@clisp.org>
54014         obstack-printf*: Move AC_LIBOBJ invocations to module description.
54015         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
54016         invocation from here...
54017         * modules/obstack-printf (configure.ac): ... to here.
54018         * modules/obstack-printf-posix (configure.ac): ... and here.
54020 2011-05-21  Bruno Haible  <bruno@clisp.org>
54022         nl_langinfo: Move AC_LIBOBJ invocations to module description.
54023         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
54024         from here...
54025         * modules/nl_langinfo (configure.ac): ... to here.
54027 2011-05-21  Bruno Haible  <bruno@clisp.org>
54029         nanosleep: Move AC_LIBOBJ invocations to module description.
54030         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
54031         gl_PREREQ_NANOSLEEP invocations from here...
54032         * modules/nanosleep (configure.ac): ... to here.
54034 2011-05-21  Bruno Haible  <bruno@clisp.org>
54036         mountlist: Move AC_LIBOBJ invocations to module description.
54037         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
54038         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
54039         * modules/mountlist (configure.ac): ... to here.
54041 2011-05-21  Bruno Haible  <bruno@clisp.org>
54043         mktime: Respect rules for use of AC_LIBOBJ.
54044         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
54045         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
54046         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
54047         (gl_FUNC_MKTIME_INTERNAL): ... and here...
54048         * modules/mktime (configure.ac): ... to here.
54049         * modules/mktime-internal (configure.ac): ... and here.
54050         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
54052 2011-05-21  Bruno Haible  <bruno@clisp.org>
54054         mkstemps: Move AC_LIBOBJ invocations to module description.
54055         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
54056         here...
54057         * modules/mkstemps (configure.ac): ... to here.
54059 2011-05-21  Bruno Haible  <bruno@clisp.org>
54061         mkstemp: Move AC_LIBOBJ invocations to module description.
54062         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
54063         gl_PREREQ_MKSTEMP invocations from here...
54064         * modules/mkstemp (configure.ac): ... to here.
54066 2011-05-21  Bruno Haible  <bruno@clisp.org>
54068         mkostemps: Move AC_LIBOBJ invocations to module description.
54069         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
54070         here...
54071         * modules/mkostemps (configure.ac): ... to here.
54073 2011-05-21  Bruno Haible  <bruno@clisp.org>
54075         mkostemp: Move AC_LIBOBJ invocations to module description.
54076         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
54077         gl_PREREQ_MKOSTEMP invocations from here...
54078         * modules/mkostemp (configure.ac): ... to here.
54080 2011-05-21  Bruno Haible  <bruno@clisp.org>
54082         mknod: Move AC_LIBOBJ invocations to module description.
54083         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
54084         * modules/mknod (configure.ac): ... to here.
54086 2011-05-21  Bruno Haible  <bruno@clisp.org>
54088         mkfifoat: Move AC_LIBOBJ invocations to module description.
54089         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
54090         here...
54091         * modules/mkfifoat (configure.ac): ... to here.
54093 2011-05-21  Bruno Haible  <bruno@clisp.org>
54095         mkfifo: Respect rules for use of AC_LIBOBJ.
54096         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
54097         here...
54098         * modules/mkfifo (configure.ac): ... to here.
54100 2011-05-21  Bruno Haible  <bruno@clisp.org>
54102         mkdtemp: Move AC_LIBOBJ invocations to module description.
54103         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
54104         invocations from here...
54105         * modules/mkdtemp (configure.ac): ... to here.
54107 2011-05-21  Bruno Haible  <bruno@clisp.org>
54109         mkdir: Move AC_LIBOBJ invocations to module description.
54110         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
54111         * modules/mkdir (configure.ac): ... to here.
54113 2011-05-21  Bruno Haible  <bruno@clisp.org>
54115         memset: Move AC_LIBOBJ invocations to module description.
54116         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
54117         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
54118         here...
54119         * modules/memset (configure.ac): ... to here.
54121 2011-05-21  Bruno Haible  <bruno@clisp.org>
54123         memrchr: Move AC_LIBOBJ invocations to module description.
54124         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
54125         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
54126         here...
54127         * modules/memrchr (configure.ac): ... to here.
54129 2011-05-21  Bruno Haible  <bruno@clisp.org>
54131         mempcpy: Move AC_LIBOBJ invocations to module description.
54132         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
54133         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
54134         here...
54135         * modules/mempcpy (configure.ac): ... to here.
54137 2011-05-21  Bruno Haible  <bruno@clisp.org>
54139         memmove: Move AC_LIBOBJ invocations to module description.
54140         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
54141         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
54142         here...
54143         * modules/memmove (configure.ac): ... to here.
54145 2011-05-21  Bruno Haible  <bruno@clisp.org>
54147         memmem*: Move AC_LIBOBJ invocations to module description.
54148         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
54149         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
54150         here...
54151         (gl_FUNC_MEMMEM): ... and here...
54152         * modules/memmem-simple (configure.ac): ... to here.
54153         * modules/memmem (configure.ac): ... and here.
54155 2011-05-21  Bruno Haible  <bruno@clisp.org>
54157         memcpy: Move AC_LIBOBJ invocations to module description.
54158         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
54159         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
54160         here...
54161         * modules/memcpy (configure.ac): ... to here.
54163 2011-05-21  Bruno Haible  <bruno@clisp.org>
54165         memcmp: Simplify autoconf macro.
54166         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
54167         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
54168         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
54170 2011-05-21  Bruno Haible  <bruno@clisp.org>
54172         memcmp: Move AC_LIBOBJ invocations to module description.
54173         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
54174         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
54175         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
54176         * modules/memcmp (configure.ac): ... to here.
54177         (Depends-on): Update conditions.
54179 2011-05-21  Bruno Haible  <bruno@clisp.org>
54181         memchr: Respect rules for use of AC_LIBOBJ.
54182         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
54183         invocations from here...
54184         * modules/memchr (configure.ac): ... to here.
54186 2011-05-21  Bruno Haible  <bruno@clisp.org>
54188         mbtowc: Move AC_LIBOBJ invocations to module description.
54189         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
54190         invocations from here...
54191         * modules/mbtowc (configure.ac): ... to here.
54193 2011-05-21  Bruno Haible  <bruno@clisp.org>
54195         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
54196         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
54197         gl_PREREQ_MBSRTOWCS invocations from here...
54198         * modules/mbsrtowcs (configure.ac): ... to here.
54200 2011-05-21  Bruno Haible  <bruno@clisp.org>
54202         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
54203         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
54204         gl_PREREQ_MBSNRTOWCS invocations from here...
54205         * modules/mbsnrtowcs (configure.ac): ... to here.
54207 2011-05-21  Bruno Haible  <bruno@clisp.org>
54209         mbsinit: Move AC_LIBOBJ invocations to module description.
54210         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
54211         invocations from here...
54212         * modules/mbsinit (configure.ac): ... to here.
54214 2011-05-21  Bruno Haible  <bruno@clisp.org>
54216         mbrlen: Move AC_LIBOBJ invocations to module description.
54217         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
54218         invocations from here...
54219         * modules/mbrlen (configure.ac): ... to here.
54221 2011-05-21  Bruno Haible  <bruno@clisp.org>
54223         mbrtowc: Respect rules for use of AC_LIBOBJ.
54224         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
54225         invocations from here...
54226         * modules/mbrtowc (configure.ac): ... to here.
54228 2011-05-21  Bruno Haible  <bruno@clisp.org>
54230         malloc-*: Move AC_LIBOBJ invocations to module description.
54231         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
54232         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
54233         AC_LIBOBJ invocations from here...
54234         * modules/malloc-gnu (configure.ac): ... to here.
54235         * modules/malloc-posix (configure.ac): ... and here.
54237 2011-05-21  Bruno Haible  <bruno@clisp.org>
54239         lstat, openat: Respect rules for use of AC_LIBOBJ.
54240         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
54241         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
54242         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
54243         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
54244         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
54245         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
54246         here.
54247         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
54249 2011-05-21  Bruno Haible  <bruno@clisp.org>
54251         lseek: Move AC_LIBOBJ invocations to module description.
54252         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
54253         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
54254         * modules/lseek (configure.ac): ... to here.
54256 2011-05-21  Bruno Haible  <bruno@clisp.org>
54258         linkat: Move AC_LIBOBJ invocations to module description.
54259         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
54260         here...
54261         * modules/linkat (configure.ac): ... to here.
54263 2011-05-21  Bruno Haible  <bruno@clisp.org>
54265         link: Respect rules for use of AC_LIBOBJ.
54266         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
54267         * modules/link (configure.ac): ... to here.
54269 2011-05-21  Bruno Haible  <bruno@clisp.org>
54271         lchown: Move AC_LIBOBJ invocations to module description.
54272         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
54273         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
54274         * modules/lchown (configure.ac): ... to here.
54276 2011-05-21  Bruno Haible  <bruno@clisp.org>
54278         iswctype: Move AC_LIBOBJ invocations to module description.
54279         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
54280         here...
54281         * modules/iswctype (configure.ac): ... to here.
54283 2011-05-21  Bruno Haible  <bruno@clisp.org>
54285         iswblank: Move AC_LIBOBJ invocations to module description.
54286         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
54287         here...
54288         * modules/iswblank (configure.ac): ... to here.
54290 2011-05-21  Bruno Haible  <bruno@clisp.org>
54292         atanl: Move AC_LIBOBJ invocations to module description.
54293         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
54294         * modules/atanl (configure.ac): ... to here.
54296 2011-05-21  Bruno Haible  <bruno@clisp.org>
54298         acosl: Move AC_LIBOBJ invocations to module description.
54299         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
54300         * modules/acosl (configure.ac): ... to here.
54302 2011-05-21  Bruno Haible  <bruno@clisp.org>
54304         asinl: Respect rules for use of AC_LIBOBJ.
54305         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
54306         * modules/asinl (configure.ac): ... to here.
54308 2011-05-21  Bruno Haible  <bruno@clisp.org>
54310         tanl: Move AC_LIBOBJ invocations to module description.
54311         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
54312         * modules/tanl (configure.ac): ... to here.
54314 2011-05-21  Bruno Haible  <bruno@clisp.org>
54316         cosl: Move AC_LIBOBJ invocations to module description.
54317         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
54318         * modules/cosl (configure.ac): ... to here.
54320 2011-05-21  Bruno Haible  <bruno@clisp.org>
54322         sinl: Move AC_LIBOBJ invocations to module description.
54323         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
54324         * modules/sinl (configure.ac): ... to here.
54326 2011-05-21  Bruno Haible  <bruno@clisp.org>
54328         logl: Move AC_LIBOBJ invocations to module description.
54329         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
54330         * modules/logl (configure.ac): ... to here.
54332 2011-05-21  Bruno Haible  <bruno@clisp.org>
54334         expl: Move AC_LIBOBJ invocations to module description.
54335         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
54336         * modules/expl (configure.ac): ... to here.
54338 2011-05-21  Bruno Haible  <bruno@clisp.org>
54340         roundl: Move AC_LIBOBJ invocations to module description.
54341         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
54342         * modules/roundl (configure.ac): ... to here.
54344 2011-05-21  Bruno Haible  <bruno@clisp.org>
54346         round: Move AC_LIBOBJ invocations to module description.
54347         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
54348         * modules/round (configure.ac): ... to here.
54350 2011-05-21  Bruno Haible  <bruno@clisp.org>
54352         roundf: Move AC_LIBOBJ invocations to module description.
54353         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
54354         * modules/roundf (configure.ac): ... to here.
54356 2011-05-21  Bruno Haible  <bruno@clisp.org>
54358         truncl: Move AC_LIBOBJ invocations to module description.
54359         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
54360         * modules/truncl (configure.ac): ... to here.
54362 2011-05-21  Bruno Haible  <bruno@clisp.org>
54364         trunc: Move AC_LIBOBJ invocations to module description.
54365         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
54366         * modules/trunc (configure.ac): ... to here.
54368 2011-05-21  Bruno Haible  <bruno@clisp.org>
54370         truncf: Move AC_LIBOBJ invocations to module description.
54371         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
54372         * modules/truncf (configure.ac): ... to here.
54374 2011-05-21  Bruno Haible  <bruno@clisp.org>
54376         ceill: Move AC_LIBOBJ invocations to module description.
54377         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
54378         * modules/ceill (configure.ac): ... to here.
54380 2011-05-21  Bruno Haible  <bruno@clisp.org>
54382         ceil: Move AC_LIBOBJ invocations to module description.
54383         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
54384         * modules/ceil (configure.ac): ... to here.
54386 2011-05-21  Bruno Haible  <bruno@clisp.org>
54388         ceilf: Move AC_LIBOBJ invocations to module description.
54389         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
54390         * modules/ceilf (configure.ac): ... to here.
54392 2011-05-21  Bruno Haible  <bruno@clisp.org>
54394         floorl: Respect rules for use of AC_LIBOBJ.
54395         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
54396         * modules/floorl (configure.ac): ... to here.
54398 2011-05-21  Bruno Haible  <bruno@clisp.org>
54400         floor: Respect rules for use of AC_LIBOBJ.
54401         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
54402         * modules/floor (configure.ac): ... to here.
54404 2011-05-21  Bruno Haible  <bruno@clisp.org>
54406         floorf: Move AC_LIBOBJ invocations to module description.
54407         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
54408         * modules/floorf (configure.ac): ... to here.
54410 2011-05-20  Bruno Haible  <bruno@clisp.org>
54412         sqrtl: Respect rules for use of AC_LIBOBJ.
54413         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
54414         * modules/sqrtl (configure.ac): ... to here.
54416 2011-05-20  Bruno Haible  <bruno@clisp.org>
54418         ldexpl: Respect rules for use of AC_LIBOBJ.
54419         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
54420         * modules/ldexpl (configure.ac): ... to here.
54422 2011-05-20  Bruno Haible  <bruno@clisp.org>
54424         frexpl*: Respect rules for use of AC_LIBOBJ.
54425         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
54426         invocation from here...
54427         * modules/frexpl (configure.ac): ... to here.
54428         * modules/frexpl-nolibm (configure.ac): ... and here.
54430 2011-05-20  Bruno Haible  <bruno@clisp.org>
54432         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
54433         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
54434         invocation from here...
54435         * modules/frexp (configure.ac): ... to here.
54436         * modules/frexp-nolibm (configure.ac): ... and here.
54438 2011-05-20  Bruno Haible  <bruno@clisp.org>
54440         isnan: Respect rules for use of AC_LIBOBJ.
54441         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
54442         invocations here.
54443         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
54444         REPLACE_ISNAN.
54445         * modules/isnand (configure.ac): Likewise.
54446         * modules/isnanl (configure.ac): Likewise.
54448 2011-05-20  Bruno Haible  <bruno@clisp.org>
54450         isnanl*: Respect rules for use of AC_LIBOBJ.
54451         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
54452         invocation from here...
54453         * modules/isnanl (configure.ac): ... to here.
54454         * modules/isnanl-nolibm (configure.ac): ... and here.
54456 2011-05-20  Bruno Haible  <bruno@clisp.org>
54458         isnand*: Move AC_LIBOBJ invocations to module description.
54459         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
54460         invocation from here...
54461         * modules/isnand (configure.ac): ... to here.
54462         * modules/isnand-nolibm (configure.ac): ... and here.
54464 2011-05-20  Bruno Haible  <bruno@clisp.org>
54466         isnanf*: Move AC_LIBOBJ invocations to module description.
54467         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
54468         invocation from here...
54469         * modules/isnanf (configure.ac): ... to here.
54470         * modules/isnanf-nolibm (configure.ac): ... and here.
54472 2011-05-20  Bruno Haible  <bruno@clisp.org>
54474         isnan*: Separate the AC_LIBOBJ invocations.
54475         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
54476         AC_LIBOBJ invocation.
54477         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
54478         here.
54479         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
54480         AC_LIBOBJ invocation.
54481         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
54482         here.
54483         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
54484         AC_LIBOBJ invocation.
54485         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
54486         here.
54487         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
54489 2011-05-08  Bruno Haible  <bruno@clisp.org>
54491         isinf: Move AC_LIBOBJ invocations to module description.
54492         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
54493         * modules/isinf (configure.ac): ... to here.
54495 2011-05-08  Bruno Haible  <bruno@clisp.org>
54497         isfinite: Move AC_LIBOBJ invocations to module description.
54498         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
54499         * modules/isfinite (configure.ac): ... to here.
54501 2011-05-08  Bruno Haible  <bruno@clisp.org>
54503         isblank: Move AC_LIBOBJ invocations to module description.
54504         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
54505         here...
54506         * modules/isblank (configure.ac): ... to here.
54508 2011-05-08  Bruno Haible  <bruno@clisp.org>
54510         isapipe: Move AC_LIBOBJ invocations to module description.
54511         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
54512         gl_PREREQ_ISAPIPE invocations from here...
54513         * modules/isapipe (configure.ac): ... to here.
54514         (Depends-on): Update condition.
54516 2011-05-08  Bruno Haible  <bruno@clisp.org>
54518         ioctl: Move AC_LIBOBJ invocations to module description.
54519         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
54520         invocations from here...
54521         * modules/ioctl (configure.ac): ... to here.
54522         (Depends-on): Update condition.
54524 2011-05-08  Bruno Haible  <bruno@clisp.org>
54526         imaxdiv: Move AC_LIBOBJ invocations to module description.
54527         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
54528         invocations from here...
54529         * modules/imaxdiv (configure.ac): ... to here.
54531 2011-05-08  Bruno Haible  <bruno@clisp.org>
54533         imaxabs: Move AC_LIBOBJ invocations to module description.
54534         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
54535         invocations from here...
54536         * modules/imaxabs (configure.ac): ... to here.
54538 2011-05-08  Bruno Haible  <bruno@clisp.org>
54540         getaddrinfo: Move AC_LIBOBJ invocations to module description.
54541         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
54542         AC_LIBOBJ invocations from here...
54543         * modules/getaddrinfo (configure.ac): ... to here.
54544         (Depends-on): Add conditions.
54546 2011-05-08  Bruno Haible  <bruno@clisp.org>
54548         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
54549         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
54550         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
54551         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
54552         (gl_PREREQ_INET_PTON): ... from here.
54553         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
54554         gl_PREREQ_INET_PTON here.
54555         (Depends-on): Update condition.
54557 2011-05-08  Bruno Haible  <bruno@clisp.org>
54559         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
54560         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
54561         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
54562         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
54563         (gl_PREREQ_INET_NTOP): ... from here.
54564         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
54565         gl_PREREQ_INET_NTOP here.
54566         (Depends-on): Update condition.
54568 2011-05-08  Bruno Haible  <bruno@clisp.org>
54570         iconv_open: Move AC_LIBOBJ invocations to module description.
54571         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
54572         AC_LIBOBJ invocations from here...
54573         * modules/iconv_open (configure.ac): ... to here.
54575 2011-05-08  Bruno Haible  <bruno@clisp.org>
54577         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
54578         If module 'iconv_open' is among the main modules and module
54579         'iconv_open-utf' is among the tests dependencies, then
54580         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
54581         return the special iconv_t values. Therefore iconv() and iconv_close()
54582         must support these special iconv_t values, already in lib, not only in
54583         tests.
54584         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
54585         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
54586         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
54587         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
54588         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
54589         (Depends-on): Add the dependencies of iconv_open-utf.
54590         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
54591         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
54592         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
54594 2011-05-08  Bruno Haible  <bruno@clisp.org>
54596         group-member: Move AC_LIBOBJ invocations to module description.
54597         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
54598         gl_PREREQ_GROUP_MEMBER invocations from here...
54599         * modules/group-member (configure.ac): ... to here.
54601 2011-05-08  Bruno Haible  <bruno@clisp.org>
54603         grantpt: Move AC_LIBOBJ invocations to module description.
54604         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
54605         invocations from here...
54606         * modules/grantpt (configure.ac): ... to here.
54608 2011-05-08  Bruno Haible  <bruno@clisp.org>
54610         glob: Move AC_LIBOBJ invocations to module description.
54611         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
54612         from here...
54613         * modules/glob (configure.ac): ... to here.
54615 2011-05-08  Bruno Haible  <bruno@clisp.org>
54617         getusershell: Move AC_LIBOBJ invocations to module description.
54618         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
54619         Move AC_LIBOBJ invocation from here...
54620         * modules/getusershell (configure.ac): ... to here.
54621         (Depends-on): Update condition.
54623 2011-05-08  Bruno Haible  <bruno@clisp.org>
54625         gettimeofday: Move AC_LIBOBJ invocations to module description.
54626         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
54627         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
54628         gl_PREREQ_GETTIMEOFDAY invocations from here...
54629         * modules/gettimeofday (configure.ac): ... to here.
54631 2011-05-08  Bruno Haible  <bruno@clisp.org>
54633         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
54634         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
54635         just gl_FUNC_TZSET.
54636         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
54637         (gl_FUNC_TZSET_CLOBBER): Remove actions.
54638         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
54639         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
54641 2011-05-08  Bruno Haible  <bruno@clisp.org>
54643         getsubopt: Move AC_LIBOBJ invocations to module description.
54644         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
54645         gl_PREREQ_GETSUBOPT invocations from here...
54646         * modules/getsubopt (configure.ac): ... to here.
54648 2011-05-08  Bruno Haible  <bruno@clisp.org>
54650         getpass-gnu: Move AC_LIBOBJ invocations to module description.
54651         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
54652         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
54653         * modules/getpass-gnu (configure.ac): ... to here.
54655 2011-05-08  Bruno Haible  <bruno@clisp.org>
54657         getpass: Move AC_LIBOBJ invocations to module description.
54658         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
54659         gl_PREREQ_GETPASS invocations from here...
54660         * modules/getpass (configure.ac): ... to here.
54662 2011-05-08  Bruno Haible  <bruno@clisp.org>
54664         getpagesize: Move AC_LIBOBJ invocations to module description.
54665         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
54666         from here...
54667         * modules/getpagesize (configure.ac): ... to here.
54669 2011-05-08  Bruno Haible  <bruno@clisp.org>
54671         getopt: Move AC_LIBOBJ invocations to module description.
54672         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
54673         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
54674         invocations from here...
54675         * modules/getopt-gnu (configure.ac): ... to here.
54676         * modules/getopt-posix (configure.ac): ... and here.
54677         (Depends-on): Update condition.
54679 2011-05-08  Bruno Haible  <bruno@clisp.org>
54681         getopt, argp: Respect rules for use of AC_LIBOBJ.
54682         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
54683         (gl_REPLACE_GETOPT_ALWAYS): New macro.
54684         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
54685         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
54687 2011-05-08  Bruno Haible  <bruno@clisp.org>
54689         getlogin_r: Move AC_LIBOBJ invocations to module description.
54690         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
54691         gl_PREREQ_GETLOGIN_R invocations from here...
54692         * modules/getlogin_r (configure.ac): ... to here.
54694 2011-05-08  Bruno Haible  <bruno@clisp.org>
54696         getlogin: Move AC_LIBOBJ invocations to module description.
54697         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
54698         here...
54699         * modules/getlogin (configure.ac): ... to here.
54701 2011-05-08  Bruno Haible  <bruno@clisp.org>
54703         getloadavg: Move AC_LIBOBJ invocations to module description.
54704         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
54705         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
54706         * modules/getloadavg (configure.ac): ... to here.
54708 2011-05-08  Bruno Haible  <bruno@clisp.org>
54710         gethrxtime: Move AC_LIBOBJ invocations to module description.
54711         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
54712         LIB_GETHRXTIME from here...
54713         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
54714         invocations from here...
54715         * modules/gethrxtime (configure.ac): ... to here.
54717 2011-05-08  Bruno Haible  <bruno@clisp.org>
54719         gethostname: Move AC_LIBOBJ invocations to module description.
54720         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
54721         gl_PREREQ_GETHOSTNAME invocations from here...
54722         * modules/gethostname (configure.ac): ... to here.
54724 2011-05-08  Bruno Haible  <bruno@clisp.org>
54726         getgroups: Move AC_LIBOBJ invocations to module description.
54727         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
54728         here...
54729         * modules/getgroups (configure.ac): ... to here.
54731 2011-05-08  Bruno Haible  <bruno@clisp.org>
54733         getdtablesize: Move AC_LIBOBJ invocations to module description.
54734         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
54735         invocation from here...
54736         * modules/getdtablesize (configure.ac): ... to here.
54738 2011-05-08  Bruno Haible  <bruno@clisp.org>
54740         getdomainname: Move AC_LIBOBJ invocations to module description.
54741         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
54742         gl_PREREQ_GETDOMAINNAME invocations from here...
54743         * modules/getdomainname (configure.ac): ... to here.
54745 2011-05-08  Bruno Haible  <bruno@clisp.org>
54747         getline: Move AC_LIBOBJ invocations to module description.
54748         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
54749         invocations from here...
54750         * modules/getline (configure.ac): ... to here.
54752 2011-05-08  Bruno Haible  <bruno@clisp.org>
54754         getline: Simplify.
54755         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
54756         It's already handled through the module dependency.
54758 2011-05-08  Bruno Haible  <bruno@clisp.org>
54760         getdelim: Move AC_LIBOBJ invocations to module description.
54761         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
54762         and gl_PREREQ_GETDELIM invocations from here...
54763         * modules/getdelim (configure.ac): ... to here.
54764         (Depends-on): Fix condition.
54766 2011-05-08  Bruno Haible  <bruno@clisp.org>
54768         getcwd: Move AC_LIBOBJ invocations to module description.
54769         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
54770         invocations from here...
54771         * modules/getcwd (configure.ac): ... to here.
54773 2011-05-08  Bruno Haible  <bruno@clisp.org>
54775         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
54776         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
54777         here...
54778         * modules/getcwd-lgpl (configure.ac): ... to here.
54780 2011-05-07  Bruno Haible  <bruno@clisp.org>
54782         crypto/gc: Move AC_LIBOBJ invocations to module description.
54783         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
54784         * modules/crypto/gc (configure.ac): ... to here.
54786 2011-05-07  Bruno Haible  <bruno@clisp.org>
54788         fwriting: Move AC_LIBOBJ invocations to module description.
54789         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
54790         here...
54791         * modules/fwriting (configure.ac): ... to here.
54793 2011-05-07  Bruno Haible  <bruno@clisp.org>
54795         fwritable: Move AC_LIBOBJ invocations to module description.
54796         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
54797         here...
54798         * modules/fwritable (configure.ac): ... to here.
54800 2011-05-07  Bruno Haible  <bruno@clisp.org>
54802         futimens: Move AC_LIBOBJ invocations to module description.
54803         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
54804         here...
54805         * modules/futimens (configure.ac): ... to here.
54807 2011-05-07  Bruno Haible  <bruno@clisp.org>
54809         ftruncate: Move AC_LIBOBJ invocations to module description.
54810         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
54811         gl_PREREQ_FTRUNCATE invocations from here...
54812         * modules/ftruncate (configure.ac): ... to here.
54814 2011-05-07  Bruno Haible  <bruno@clisp.org>
54816         fsync: Move AC_LIBOBJ invocations to module description.
54817         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
54818         invocations from here...
54819         * modules/fsync (configure.ac): ... to here.
54821 2011-05-07  Bruno Haible  <bruno@clisp.org>
54823         fsusage: Move AC_LIBOBJ invocations to module description.
54824         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
54825         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
54826         * modules/fsusage (configure.ac): ... to here.
54828 2011-05-07  Bruno Haible  <bruno@clisp.org>
54830         freopen: Move AC_LIBOBJ invocations to module description.
54831         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
54832         invocations from here...
54833         * modules/freopen (configure.ac): ... to here.
54835 2011-05-07  Bruno Haible  <bruno@clisp.org>
54837         free: Move AC_LIBOBJ invocations to module description.
54838         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
54839         invocations from here...
54840         * modules/free (configure.ac): ... to here.
54842 2011-05-07  Bruno Haible  <bruno@clisp.org>
54844         freadable: Move AC_LIBOBJ invocations to module description.
54845         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
54846         here...
54847         * modules/freadable (configure.ac): ... to here.
54849 2011-05-07  Bruno Haible  <bruno@clisp.org>
54851         fpurge: Move AC_LIBOBJ invocations to module description.
54852         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
54853         invocations from here...
54854         * modules/fpurge (configure.ac): ... to here.
54856 2011-05-07  Bruno Haible  <bruno@clisp.org>
54858         fpending: Move AC_LIBOBJ invocations to module description.
54859         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
54860         gl_FUNC_FPENDING.
54861         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
54862         invocations from here...
54863         * modules/fpending (configure.ac): ... to here.
54865 2011-05-07  Bruno Haible  <bruno@clisp.org>
54867         fopen: Move AC_LIBOBJ invocations to module description.
54868         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
54869         invocations from here...
54870         * modules/fopen (configure.ac): ... to here.
54872 2011-05-07  Bruno Haible  <bruno@clisp.org>
54874         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
54875         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
54876         gl_FUNC_FNMATCH_POSIX.
54877         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
54878         invocations from here...
54879         * modules/fnmatch (configure.ac): ... to here.
54880         * modules/fnmatch-gnu (configure.ac): ... and here.
54882 2011-05-07  Bruno Haible  <bruno@clisp.org>
54884         flock: Move AC_LIBOBJ invocations to module description.
54885         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
54886         invocations from here...
54887         * modules/flock (configure.ac): ... to here.
54889 2011-05-07  Bruno Haible  <bruno@clisp.org>
54891         fileblocks: Move AC_LIBOBJ invocations to module description.
54892         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
54893         gl_PREREQ_FILEBLOCKS invocations from here...
54894         * modules/fileblocks (configure.ac): ... to here.
54896 2011-05-06  Bruno Haible  <bruno@clisp.org>
54898         fflush: Move AC_LIBOBJ invocations to module description.
54899         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
54900         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
54901         invocations from here...
54902         * modules/fflush (configure.ac): ... to here.
54904 2011-05-06  Bruno Haible  <bruno@clisp.org>
54906         fdopendir: Move AC_LIBOBJ invocations to module description.
54907         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
54908         here...
54909         * modules/fdopendir (configure.ac): ... to here.
54910         (Depends-on): Improve conditions.
54912 2011-05-06  Bruno Haible  <bruno@clisp.org>
54914         _Exit: Move AC_LIBOBJ invocations to module description.
54915         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
54916         invocations from here...
54917         * modules/_Exit (configure.ac): ... to here.
54919 2011-05-21  Bruno Haible  <bruno@clisp.org>
54921         euidaccess: Respect rules for use of AC_LIBOBJ.
54922         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
54923         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
54924         from here...
54925         * modules/euidaccess (configure.ac): ... to here.
54927 2011-05-06  Bruno Haible  <bruno@clisp.org>
54929         error: Move AC_LIBOBJ invocations to module description.
54930         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
54931         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
54932         invocations from here...
54933         * modules/error (configure.ac): ... to here.
54935 2011-05-06  Bruno Haible  <bruno@clisp.org>
54937         duplocale: Move AC_LIBOBJ invocations to module description.
54938         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
54939         gl_PREREQ_DUPLOCALE invocations from here...
54940         * modules/duplocale (configure.ac): ... to here.
54942 2011-05-05  Bruno Haible  <bruno@clisp.org>
54944         dirfd: Move AC_LIBOBJ invocations to module description.
54945         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
54946         gl_FUNC_DIRFD.
54947         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
54948         here...
54949         * modules/dirfd (configure.ac): ... to here.
54950         (Depends-on): Fix condition.
54952 2011-05-05  Bruno Haible  <bruno@clisp.org>
54954         chown: Respect rules for use of AC_LIBOBJ.
54955         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
54956         * modules/chown (configure.ac): ... to here.
54958 2011-05-05  Bruno Haible  <bruno@clisp.org>
54960         chdir-long: Move AC_LIBOBJ invocations to module description.
54961         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
54962         gl_PREREQ_CHDIR_LONG invocations from here...
54963         * modules/chdir-long (configure.ac): ... to here.
54965 2011-05-05  Bruno Haible  <bruno@clisp.org>
54967         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
54968         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
54969         from here...
54970         * modules/canonicalize-lgpl (configure.ac): ... to here.
54972 2011-05-05  Bruno Haible  <bruno@clisp.org>
54974         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
54975         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
54976         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
54977         REPLACE_CALLOC.
54978         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
54979         * modules/calloc-gnu (configure.ac): Likewise.
54981 2011-05-05  Bruno Haible  <bruno@clisp.org>
54983         btowc: Move AC_LIBOBJ invocations to module description.
54984         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
54985         invocations from here...
54986         * modules/btowc (configure.ac): ... to here.
54988 2011-05-21  Bruno Haible  <bruno@clisp.org>
54990         atexit: Move AC_LIBOBJ invocations to module description.
54991         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
54992         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
54993         here...
54994         * modules/atexit (configure.ac): ... to here.
54996 2011-05-05  Bruno Haible  <bruno@clisp.org>
54998         atoll: Move AC_LIBOBJ invocations to module description.
54999         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
55000         invocations from here...
55001         * modules/atoll (configure.ac): ... to here.
55003 2011-05-05  Bruno Haible  <bruno@clisp.org>
55005         argz: Move AC_LIBOBJ invocations to module description.
55006         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
55007         * modules/argz (configure.ac): ... to here.
55009 2011-05-05  Bruno Haible  <bruno@clisp.org>
55011         alphasort: Move AC_LIBOBJ invocations to module description.
55012         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
55013         gl_PREREQ_ALPHASORT invocations from here...
55014         * modules/alphasort (configure.ac): ... to here.
55016 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
55018         verify: new macro verify_expr; verify_true deprecated
55019         * NEWS: Mention this.
55020         * doc/verify.texi (Compile-time Assertions): Document this.
55021         * lib/verify.h (verify_true): Deprecate.
55022         (verify_expr): New macro.
55023         * tests/test-verify.c (function): Test verify_expr.
55025 2011-06-14  Jim Meyering  <meyering@redhat.com>
55027         init.sh: give more portable redirection-related advice in a comment
55028         * tests/init.sh (stderr_fileno_): Update the advice in comments.
55029         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
55030         for lots of discussion.  Stefano Lattarini suggested the solution
55031         of putting "9>&2" after the command.  Reported by Bruno Haible.
55033 2011-06-13  Bruno Haible  <bruno@clisp.org>
55035         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
55036         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
55037         'none'.
55039 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
55041         ftoastr: use strtof only if HAVE_STRTOF
55042         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
55043         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
55044         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
55045         * modules/ftoastr (configure.ac): Check for strtof.
55047 2011-06-13  Bruno Haible  <bruno@clisp.org>
55049         gnulib-tool: Addendum to 2011-06-08 commit.
55050         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
55051         and --witness-c-macro have been given, augment AM_CPPFLAGS.
55053 2011-06-13  Bruno Haible  <bruno@clisp.org>
55055         fseeko: Provide a non-inline replacement of fseek().
55056         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
55057         * modules/fseeko (Depends-on): Add fseek.
55058         * modules/fseek (License): Change to LGPLv2+.
55060 2011-06-13  Bruno Haible  <bruno@clisp.org>
55062         ftello: Provide a non-inline replacement of ftell().
55063         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
55064         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
55065         not have ftello() (such as on mingw).
55066         * modules/ftello (Depends-on): Add ftell.
55067         * modules/ftell (License): Change to LGPLv2+.
55069 2011-05-07  Bruno Haible  <bruno@clisp.org>
55071         ftell: Move AC_LIBOBJ invocations to module description.
55072         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
55073         * modules/ftell (configure.ac): ... to here.
55075 2011-05-07  Bruno Haible  <bruno@clisp.org>
55077         ftello: Respect rules for use of AC_LIBOBJ.
55078         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
55079         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
55080         here...
55081         * modules/ftello (configure.ac): ... to here.
55083 2011-05-07  Bruno Haible  <bruno@clisp.org>
55085         fseeko: Simplify.
55086         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
55087         (gl_FUNC_FSEEKO): Inline it here.
55089 2011-05-07  Bruno Haible  <bruno@clisp.org>
55091         fseek: Move AC_LIBOBJ invocations to module description.
55092         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
55093         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
55094         * modules/fseek (configure.ac): ... to here.
55096 2011-05-07  Bruno Haible  <bruno@clisp.org>
55098         fseek: Respect rules for use of AC_LIBOBJ.
55099         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
55100         here...
55101         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
55103 2011-05-07  Bruno Haible  <bruno@clisp.org>
55105         fseeko: Respect rules for use of AC_LIBOBJ.
55106         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
55107         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
55108         here...
55109         * modules/fseeko (configure.ac): ... to here.
55111 2011-06-13  Bruno Haible  <bruno@clisp.org>
55113         gnulib-tool: Allow comments in the 'Depends-on' section.
55114         * doc/gnulib.texi (Module description): Mention comment syntax in the
55115         Depends-on section.
55116         * gnulib-tool (func_get_dependencies): Filter out comment lines.
55118 2011-06-13  Bruno Haible  <bruno@clisp.org>
55120         file-set.h: guard __attibute__ use, now that it's not always defined
55121         * lib/file-set.h (record_file): Use __attribute__ only with compiler
55122         versions that support it.  This fixes a coreutils build failure with
55123         the vendor cc on HP-UX 11.31.
55125 2011-06-12  Bruno Haible  <bruno@clisp.org>
55127         acl: Add support for HP-UX >= 11.11 JFS ACLs.
55128         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
55129         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
55130         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
55131         (acl, aclsort): New declarations.
55132         (aclv_nontrivial): New declaration.
55133         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
55134         (file_has_acl): Read also the second kind of HP-UX ACLs.
55135         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
55136         kind of HP-UX ACLs if the first kind fails.
55137         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
55138         second kind of HP-UX ACLs.
55139         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
55140         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
55141         agree.
55142         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
55143         hpuxjfs.
55144         Handle hpuxjfs.
55145         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
55146         hpuxjfs.
55147         Handle hpuxjfs.
55148         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
55149         (func_test_same_acls): Use both lsacl and getacl.
55150         Handle hpuxjfs.
55151         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
55152         (func_test_same_acls): Use both lsacl and getacl.
55153         Handle hpuxjfs.
55155 2011-06-12  Bruno Haible  <bruno@clisp.org>
55157         acl: Complete the 2010-08-10 fix.
55158         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
55159         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
55160         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
55161         explicitly.
55162         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
55163         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
55165 2011-06-12  Bruno Haible  <bruno@clisp.org>
55167         spawn-pipe tests: Comments.
55168         * tests/test-spawn-pipe-child.c (main): Update comment.
55169         Reported by James Youngman <jay@gnu.org>.
55171 2011-06-11  James Youngman  <jay@gnu.org>
55173         New module 'stat-size'.
55174         * modules/stat-size: New module.  Provides macros for accessing
55175         file size information in instances of struct stat.  Depends on the
55176         fileblocks module because it calls st_blocks.
55177         * lib/stat-size.h: New file, adapted from coreutils' system.h.
55178         * doc/gnulib.texi: Include stat-size.texi.
55179         * doc/stat-size.texi: Documentation for this module.
55180         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
55181         * m4/fileblocks.m4: Mention that stat-size depends on the call to
55182         AC_STRUCT_ST_BLOCKS.
55184 2011-06-09  Bruno Haible  <bruno@clisp.org>
55186         thread: Support pthreads-win32.
55187         * lib/glthread/thread.h (gl_thread_self): Define differently on
55188         pthreads-win32.
55189         (gl_null_thread): New declaration.
55190         (gl_thread_self_pointer): New macro.
55191         * lib/glthread/thread.c (gl_null_thread): New constant.
55192         * tests/test-lock.c: Use gl_thread_self_pointer instead of
55193         gl_thread_self.
55194         * tests/test-tls.c: Likewise.
55195         Suggested by Paul Eggert. Reported by Eric Blake.
55197 2011-06-09  Bruno Haible  <bruno@clisp.org>
55199         thread: Fix confusion between NULL and 0.
55200         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
55201         Reported by Paul Eggert.
55203 2011-06-09  Bruno Haible  <bruno@clisp.org>
55205         spawn-pipe tests: Avoid test failure on HP-UX 11.
55206         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
55207         is closed.
55209 2011-06-09  Bruno Haible  <bruno@clisp.org>
55211         acl tests: Fix compilation error on HP-UX 11.
55212         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
55214 2011-06-09  Bruno Haible  <bruno@clisp.org>
55216         rmdir: Avoid test failure on HP-UX 10.20.
55217         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
55218         EEXIST.
55220 2011-06-08  Eric Blake  <eblake@redhat.com>
55222         perror: fix test on mingw
55223         * modules/perror-tests (Depends-on): Add dup2.
55225         strerror_r-posix: fix on MacOS
55226         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
55227         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
55228         logic bug.
55229         * lib/strerror_r.c (strerror_r): Fix the bug.
55230         * lib/strerror.c (strerror): Likewise.
55231         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
55232         problem.
55233         * doc/posix-functions/strerror.texi (strerror): Likewise.
55234         * doc/posix-functions/perror.texi (perror): Likewise.
55235         * tests/test-strerror.c (main): Enhance test.
55236         * tests/test-strerror_r.c (main): Likewise.
55238 2011-06-08  Bruno Haible  <bruno@clisp.org>
55240         gnulib-tool: Better isolation between different gnulib-tool invocations.
55241         * gnulib-tool: New option --witness-c-macro.
55242         (witness_c_macro): New variable.
55243         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
55244         AM_CPPFLAGS define it as a C macro.
55245         (func_emit_tests_Makefile_am): Likewise.
55246         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
55247         read it from there.
55248         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
55249         m4_define, not AC_DEFUN.
55250         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
55251         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
55252         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
55253         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
55254         s|...|...|, to substitute the values of the GNULIB_* module indicator
55255         variables.
55256         * modules/dirent (Makefile.am): Likewise.
55257         * modules/fcntl-h (Makefile.am): Likewise.
55258         * modules/iconv-h (Makefile.am): Likewise.
55259         * modules/langinfo (Makefile.am): Likewise.
55260         * modules/locale (Makefile.am): Likewise.
55261         * modules/math (Makefile.am): Likewise.
55262         * modules/netdb (Makefile.am): Likewise.
55263         * modules/poll-h (Makefile.am): Likewise.
55264         * modules/pty (Makefile.am): Likewise.
55265         * modules/search (Makefile.am): Likewise.
55266         * modules/signal (Makefile.am): Likewise.
55267         * modules/spawn (Makefile.am): Likewise.
55268         * modules/stdio (Makefile.am): Likewise.
55269         * modules/stdlib (Makefile.am): Likewise.
55270         * modules/string (Makefile.am): Likewise.
55271         * modules/sys_ioctl (Makefile.am): Likewise.
55272         * modules/sys_select (Makefile.am): Likewise.
55273         * modules/sys_socket (Makefile.am): Likewise.
55274         * modules/sys_stat (Makefile.am): Likewise.
55275         * modules/sys_times (Makefile.am): Likewise.
55276         * modules/sys_utsname (Makefile.am): Likewise.
55277         * modules/sys_wait (Makefile.am): Likewise.
55278         * modules/termios (Makefile.am): Likewise.
55279         * modules/time (Makefile.am): Likewise.
55280         * modules/unistd (Makefile.am): Likewise.
55281         * modules/wchar (Makefile.am): Likewise.
55283 2011-06-08  Eric Blake  <eblake@redhat.com>
55285         strerror: simplify replacement
55286         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
55287         * modules/strerror (configure.ac): No prereqs needed here...
55288         * modules/strerror-override (configure.ac): ...but this needs it.
55289         (Files): Add file for needed prereq macro.
55291 2011-06-08  Bruno Haible  <bruno@clisp.org>
55293         strerror_r-posix: Tweaks.
55294         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
55295         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
55296         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
55297         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
55298         (gl_FUNC_STRERROR_R): ... to here.
55299         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
55301 2011-06-07  Eric Blake  <eblake@redhat.com>
55303         perror: document fixed bugs
55304         * doc/posix-functions/perror.texi (perror): Document recent
55305         patches.
55307 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
55309         stat-time: get_stat_birthtime failure is better-defined
55310         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
55311         return a timestamp whose tv_sec and tv_nsec values are both -1.
55312         Previously, the spec said only that the tv_nsec value was negative.
55313         This upward-compatible change simplifies GNU tar a bit.
55315 2011-06-07  Eric Blake  <eblake@redhat.com>
55317         strerror_r-posix: work around cygwin 1.7.9
55318         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
55319         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
55320         bug without replacing strerror_r.
55321         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
55322         strerror_r is buggy, but without requiring strerror_r compilation.
55323         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
55325         test-perror: relax test to ignore cygwin bug
55326         * tests/test-perror2.c (main): Relax test on requiring detection
55327         of stream errors, and use unbuffered stream.
55328         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
55329         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
55330         * doc/posix-functions/fputc.texi (fputc): Likewise.
55331         * doc/posix-functions/fputs.texi (fputs): Likewise.
55332         * doc/posix-functions/fputws.texi (fputws): Likewise.
55333         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
55334         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
55335         * doc/posix-functions/getopt.texi (getopt): Likewise.
55336         * doc/posix-functions/perror.texi (perror): Likewise.
55337         * doc/posix-functions/printf.texi (printf): Likewise.
55338         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
55339         * doc/posix-functions/psignal.texi (psignal): Likewise.
55340         * doc/posix-functions/putc.texi (putc): Likewise.
55341         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
55342         Likewise.
55343         * doc/posix-functions/putchar.texi (putchar): Likewise.
55344         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
55345         Likewise.
55346         * doc/posix-functions/puts.texi (puts): Likewise.
55347         * doc/posix-functions/putwc.texi (putwc): Likewise.
55348         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
55349         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
55350         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
55351         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
55352         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
55353         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
55354         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
55355         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
55357 2011-05-22  Bruno Haible  <bruno@clisp.org>
55359         strerror: Move AC_LIBOBJ invocations to module description.
55360         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
55361         gl_PREREQ_STRERROR invocations from here...
55362         * modules/strerror (configure.ac): ... to here.
55364 2011-05-21  Bruno Haible  <bruno@clisp.org>
55366         perror: Use common idiom.
55367         * modules/perror (configure.ac): Reorder statements.
55369 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
55371         tests: fix usage message in 'mktempd_'
55372         * tests/init.sh (mktempd_): In the usage message, use literal
55373         'mktempd_', not '$ME' (which is even undefined), as the name of
55374         the subroutine.
55376 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
55378         tests init: new function 'fatal_', for hard errors
55379         Before this patch, the only way offered by tests/init.sh to
55380         properly signal a hard error was the `framework_failure_'
55381         function.  But the error message issued by that function,
55382         as its name would suggest, refers to a set-up failure in the
55383         testsuite, while hard errors can obviously also be due to
55384         other reasons.  The best way to fix this inconsistency is to
55385         introduce a new function with a more general error message.
55386         * tests/init.sh (fatal_): New function.
55388 2011-06-06  Eric Blake  <eblake@redhat.com>
55390         canonicalize-lgpl: use common idiom
55391         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
55392         over newer POSIX -Rf.
55393         Reported by Bruno Haible.
55395         canonicalize-lgpl: work around AIX realpath bug
55396         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
55397         * doc/posix-functions/realpath.texi (realpath): Document it.
55398         Reported by Bruno Haible.
55400         strerror: work around FreeBSD bug
55401         * lib/strerror.c (strerror): Special case 0.
55402         Reported by Bruno Haible.
55404         strerror-override: avoid bloating errno module
55405         * modules/errno (Files, configure.ac): Move replacement strings...
55406         * modules/strerror-override: ...to new module.
55407         * modules/strerror (Depends-on): Add strerror-override.
55408         * modules/strerror_r-posix (Depends-on): Likewise.
55409         * MODULES.html.sh: Document new module.
55410         Reported by Bruno Haible.
55412 2011-06-06  Bruno Haible  <bruno@clisp.org>
55414         spawn-pipe tests: Rename program.
55415         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
55416         * tests/test-spawn-pipe-child.c: Update comment.
55417         * tests/test-spawn-pipe.sh: Update.
55418         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
55420         spawn-pipe tests: Link the child program only against libc.
55421         * tests/test-spawn-pipe-child.c: New file, extracted from
55422         tests/test-spawn-pipe.c.
55423         (main): Expect only one argument.
55424         (is_open): New function, copied from tests/test-pipe.c.
55425         * tests/test-spawn-pipe.c: Don't include <errno.h>.
55426         (child_main): Remove function.
55427         (test_pipe): Pass only one argument to the child program.
55428         (main): Remove child process code. Expect the child program's name as
55429         first argument.
55430         * tests/test-spawn-pipe.sh: Pass the child program's name as first
55431         argument.
55432         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
55433         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
55434         test-spawn-pipe-child against no libraries.
55436 2011-06-06  Bruno Haible  <bruno@clisp.org>
55438         careadlinkat: Avoid mismatch between ssize_t and int.
55439         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
55440         * lib/careadlinkat.c (careadlinkatcwd): Define always.
55442 2011-06-06  Jim Meyering  <meyering@redhat.com>
55444         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
55445         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
55446         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
55448 2011-06-05  Bruno Haible  <bruno@clisp.org>
55450         ansi-c++-opt: Interoperability with libtool.
55451         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
55452         set the variable to "no", not to ":".
55453         * NEWS: Mention the change.
55455 2011-06-05  Bruno Haible  <bruno@clisp.org>
55457         acl: Fix test failure on AIX 7.
55458         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
55459         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
55461 2011-06-05  Bruno Haible  <bruno@clisp.org>
55463         pipe-filter-ii: Fix test failure on AIX and IRIX.
55464         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
55465         with EAGAIN, retry with a smaller buffer size.
55467 2011-06-05  Bruno Haible  <bruno@clisp.org>
55469         localename: Fix link dependencies.
55470         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
55471         * modules/localename-tests (Makefile.am): Link test-localename with
55472         $(LIBTHREAD).
55474 2011-06-05  Bruno Haible  <bruno@clisp.org>
55476         error: Avoid gcc warning.
55477         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
55479 2011-06-05  Bruno Haible  <bruno@clisp.org>
55481         unsetenv: Avoid gcc warning.
55482         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
55484 2011-06-05  Bruno Haible  <bruno@clisp.org>
55486         setenv: Avoid gcc warning.
55487         * lib/setenv.c (setenv): Provide declaration if system lacks it.
55489 2011-06-05  Bruno Haible  <bruno@clisp.org>
55491         sys_select: Ensure memset is declared also on AIX 7.
55492         * lib/sys_select.in.h: Include <string.h> also on AIX.
55493         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
55494         self-contained also on AIX 7.1.
55496 2011-06-04  Jim Meyering  <meyering@redhat.com>
55498         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
55499         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
55500         function name, "error".
55501         (_gl_translatable_diag_func_re): New configurable variable.
55503 2011-06-04  Bruno Haible  <bruno@clisp.org>
55505         getopt: Avoid gcc warning.
55506         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
55508 2011-06-04  Bruno Haible  <bruno@clisp.org>
55510         strerror_r: Fix comments.
55511         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
55512         commit.
55514 2011-06-04  Bruno Haible  <bruno@clisp.org>
55516         perror: Fix compilation error.
55517         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
55518         Undefine fprintf, not sprintf.
55519         * modules/perror (Depends-on): Remove intprops, verify.
55521 2011-06-04  Bruno Haible  <bruno@clisp.org>
55523         setlocale: Enable replacement on Cygwin 1.5.
55524         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
55525         Cygwin 1.5.x.
55526         * doc/posix-functions/setlocale.texi: Mention that the problem with the
55527         LC_CTYPE category also exists on Cygwin 1.5.x.
55529 2011-06-04  Bruno Haible  <bruno@clisp.org>
55531         strerror-override: Don't disable symbol renamings.
55532         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
55533         * lib/strerror-override.c: Include config.h.
55534         (strerror_override): Don't undefine.
55536 2011-06-03  Bruno Haible  <bruno@clisp.org>
55538         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
55539         * lib/localename.h: Update copyright header.
55540         * lib/localename.c: Likewise.
55541         * lib/relocatable.h: Likewise.
55542         * lib/relocatable.c: Likewise.
55544 2011-06-02  Bruno Haible  <bruno@clisp.org>
55546         doc: Fix a module name.
55547         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
55549 2011-06-02  Bruno Haible  <bruno@clisp.org>
55551         pipe2: Remove dependency on 'nonblocking' module.
55552         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
55553         O_NONBLOCK is defined by gnulib.
55554         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
55555         is zero.
55556         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
55557         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
55558         defined by gnulib.
55559         (get_nonblocking_flag): New function.
55560         (main): Test O_NONBLOCK flag only if it is nonzero.
55561         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
55563 2011-06-03  Jim Meyering  <meyering@redhat.com>
55565         maint: three new prohibit-header-without-use rules
55566         Prohibit use of cloexec.h, posixver.h, same.h without use.
55567         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
55568         (sc_prohibit_posixver_without_use): Likewise.
55569         (sc_prohibit_same_without_use): Likewise.
55571 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
55573         allocator: 'die' routine is now given requested size
55574         * lib/allocator.h (struct allocator.die): New size arg.
55575         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
55576         If the actual problem is an ssize_t limitation, not a size_t or
55577         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
55579 2011-06-01  Eric Blake  <eblake@redhat.com>
55581         strerror: drop strerror_r dependency
55582         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
55583         * lib/strerror-override.c (strerror_override): ...to new file.
55584         * lib/strerror-override.h: Add prototype.
55585         * lib/strerror-impl.h: Delete.
55586         * lib/strerror.c (strerror): New implementation.
55587         * modules/errno (Files): Add new files.
55588         (configure.ac): Compile new file as appropriate.
55589         * modules/strerror (Files): Drop unused file.
55590         (Depends-on): Drop strerror_r-posix.
55591         * MODULES.html.sh: Document strerror_r-posix.
55592         Requested by Sam Steingold.
55594         perror: call strerror_r directly
55595         * modules/perror (Files): Drop strerror-impl.h.
55596         * lib/perror.c (perror): Use our own stack buffer, rather than
55597         calling a wrapper that uses static storage.
55598         * doc/posix-functions/perror.texi (perror): Document a limitation
55599         of our replacement.
55601         strerror_r: fix includes for FreeBSD
55602         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
55603         since we use abort on some platforms.
55604         Reported by Matthias Bolte.
55606 2011-05-31  Bruno Haible  <bruno@clisp.org>
55608         Fix link errors in tests: openat-die uses gettext-h.
55609         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
55610         against $(LIBINTL).
55611         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
55612         against $(LIBINTL).
55613         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
55614         $(LIBINTL).
55615         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
55616         against $(LIBINTL).
55617         * modules/linkat-tests (Makefile.am): Link test-linkat against
55618         $(LIBINTL).
55619         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
55620         $(LIBINTL).
55621         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
55622         against $(LIBINTL).
55623         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
55624         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
55625         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
55626         $(LIBINTL).
55627         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
55628         $(LIBINTL).
55629         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
55630         $(LIBINTL).
55631         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
55633 2011-05-31  Bruno Haible  <bruno@clisp.org>
55635         Fix link errors in tests: wait-process uses gettext-h.
55636         * modules/nonblocking-pipe-tests (Makefile.am): Set
55637         test_nonblocking_pipe_main_LDADD.
55638         * modules/nonblocking-socket-tests (Makefile.am): Link
55639         test-nonblocking-socket-main against $(LIBINTL).
55640         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
55642 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
55644         assert-h: work around 'verify' incompatibility
55645         * lib/verify.h: Use @...@ directives, not ifdef.
55646         * modules/assert-h (assert.h): Implement the directives.
55647         (assert.h): Substitute the symbol-prefix more consistently.
55649 2011-05-29  Jim Meyering  <meyering@redhat.com>
55651         trim: remove three superfluous assignments
55652         * lib/trim.c (trim2): Remove three superfluous assignments
55653         and correct brace positioning.
55655 2011-05-29  Bruno Haible  <bruno@clisp.org>
55657         wctype-h: Avoid namespace pollution on Solaris 2.6.
55658         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
55659         identifiers.
55660         * doc/posix-headers/wctype.texi: Mention the problem.
55661         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
55663 2011-05-28  Jim Meyering  <meyering@redhat.com>
55665         parse-datetime.y: accommodate -Wstrict-overflow
55666         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
55667         placate -Wstrict-overflow.
55669         trim: avoid a warning from -O2 -Wstrict-overflow
55670         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
55672 2011-05-29  Bruno Haible  <bruno@clisp.org>
55674         gnulib-tool: Fix bug in yesterday's commit.
55675         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
55676         twice.
55678 2011-05-29  Bruno Haible  <bruno@clisp.org>
55680         Allow multiple gnulib generated include files to be combined.
55681         * gnulib-tool (func_compute_include_guard_prefix): New function.
55682         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
55683         ${gl_include_guard_prefix} references.
55684         (func_import, func_create_testdir): Invoke
55685         func_compute_include_guard_prefix.
55686         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
55687         * lib/ctype.in.h: Likewise.
55688         * lib/dirent.in.h: Likewise.
55689         * lib/errno.in.h: Likewise.
55690         * lib/fcntl.in.h: Likewise.
55691         * lib/float.in.h: Likewise.
55692         * lib/getopt.in.h: Likewise.
55693         * lib/iconv.in.h: Likewise.
55694         * lib/langinfo.in.h: Likewise.
55695         * lib/locale.in.h: Likewise.
55696         * lib/math.in.h: Likewise.
55697         * lib/netdb.in.h: Likewise.
55698         * lib/netinet_in.in.h: Likewise.
55699         * lib/poll.in.h: Likewise.
55700         * lib/pthread.in.h: Likewise.
55701         * lib/pty.in.h: Likewise.
55702         * lib/sched.in.h: Likewise.
55703         * lib/se-selinux.in.h: Likewise.
55704         * lib/search.in.h: Likewise.
55705         * lib/signal.in.h: Likewise.
55706         * lib/spawn.in.h: Likewise.
55707         * lib/stdarg.in.h: Likewise.
55708         * lib/stddef.in.h: Likewise.
55709         * lib/stdint.in.h: Likewise.
55710         * lib/stdio.in.h: Likewise.
55711         * lib/stdlib.in.h: Likewise.
55712         * lib/string.in.h: Likewise.
55713         * lib/strings.in.h: Likewise.
55714         * lib/sys_file.in.h: Likewise.
55715         * lib/sys_ioctl.in.h: Likewise.
55716         * lib/sys_select.in.h: Likewise.
55717         * lib/sys_socket.in.h: Likewise.
55718         * lib/sys_stat.in.h: Likewise.
55719         * lib/sys_time.in.h: Likewise.
55720         * lib/sys_times.in.h: Likewise.
55721         * lib/sys_uio.in.h: Likewise.
55722         * lib/sys_utsname.in.h: Likewise.
55723         * lib/sys_wait.in.h: Likewise.
55724         * lib/sysexits.in.h: Likewise.
55725         * lib/termios.in.h: Likewise.
55726         * lib/time.in.h: Likewise.
55727         * lib/unistd.in.h: Likewise.
55728         * lib/wchar.in.h: Likewise.
55729         * lib/wctype.in.h: Likewise.
55730         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
55731         * modules/ctype (Makefile.am): Likewise.
55732         * modules/dirent (Makefile.am): Likewise.
55733         * modules/errno (Makefile.am): Likewise.
55734         * modules/fcntl-h (Makefile.am): Likewise.
55735         * modules/float (Makefile.am): Likewise.
55736         * modules/getopt-posix (Makefile.am): Likewise.
55737         * modules/iconv-h (Makefile.am): Likewise.
55738         * modules/langinfo (Makefile.am): Likewise.
55739         * modules/locale (Makefile.am): Likewise.
55740         * modules/math (Makefile.am): Likewise.
55741         * modules/netdb (Makefile.am): Likewise.
55742         * modules/netinet_in (Makefile.am): Likewise.
55743         * modules/poll-h (Makefile.am): Likewise.
55744         * modules/pthread (Makefile.am): Likewise.
55745         * modules/pty (Makefile.am): Likewise.
55746         * modules/sched (Makefile.am): Likewise.
55747         * modules/search (Makefile.am): Likewise.
55748         * modules/selinux-h (Makefile.am): Likewise.
55749         * modules/signal (Makefile.am): Likewise.
55750         * modules/spawn (Makefile.am): Likewise.
55751         * modules/stdarg (Makefile.am): Likewise.
55752         * modules/stddef (Makefile.am): Likewise.
55753         * modules/stdint (Makefile.am): Likewise.
55754         * modules/stdio (Makefile.am): Likewise.
55755         * modules/stdlib (Makefile.am): Likewise.
55756         * modules/string (Makefile.am): Likewise.
55757         * modules/strings (Makefile.am): Likewise.
55758         * modules/sys_file (Makefile.am): Likewise.
55759         * modules/sys_ioctl (Makefile.am): Likewise.
55760         * modules/sys_select (Makefile.am): Likewise.
55761         * modules/sys_socket (Makefile.am): Likewise.
55762         * modules/sys_stat (Makefile.am): Likewise.
55763         * modules/sys_time (Makefile.am): Likewise.
55764         * modules/sys_times (Makefile.am): Likewise.
55765         * modules/sys_uio (Makefile.am): Likewise.
55766         * modules/sys_utsname (Makefile.am): Likewise.
55767         * modules/sys_wait (Makefile.am): Likewise.
55768         * modules/sysexits (Makefile.am): Likewise.
55769         * modules/termios (Makefile.am): Likewise.
55770         * modules/time (Makefile.am): Likewise.
55771         * modules/unistd (Makefile.am): Likewise.
55772         * modules/wchar (Makefile.am): Likewise.
55773         * modules/wctype-h (Makefile.am): Likewise.
55774         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
55776 2011-05-29  Bruno Haible  <bruno@clisp.org>
55778         assert-h: Allow multiple gnulib generated replacements to coexist.
55779         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
55781 2011-05-29  Bruno Haible  <bruno@clisp.org>
55783         argp: Allow coexistence with strerror_r-posix module.
55784         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
55785         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
55786         by gnulib's <string.h> replacement), assume it has the POSIX signature,
55787         not the glibc signature.
55789 2011-05-28  Bruno Haible  <bruno@clisp.org>
55791         gnulib-tool: Alternative structure of testdirs, similar to --import.
55792         * gnulib-tool: New option --single-configure.
55793         (func_usage): Document it.
55794         (single_configure): New variable.
55795         (func_modules_transitive_closure_separately,
55796         func_modules_transitive_closure_separately,
55797         func_determine_use_libtests, func_modules_add_dummy_separately,
55798         func_modules_to_filelist_separately): New functions, extracted from
55799         func_import.
55800         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
55801         (func_import): Use the new functions.
55802         (func_create_testdir): Set final_modules. Handle $single_configure =
55803         true case.
55805 2011-05-28  Bruno Haible  <bruno@clisp.org>
55807         getloadavg: Remove an unreliable safety check.
55808         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
55809         getloadavg.c is in place.
55810         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
55811         Reported by Sam Steingold <sds@gnu.org>.
55813 2011-05-28  Bruno Haible  <bruno@clisp.org>
55815         doc: Cleanup yet another file produced by texinfo.tex.
55816         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
55818 2011-05-28  Bruno Haible  <bruno@clisp.org>
55820         Finish the conditional dependencies mechanism.
55821         * gnulib-tool: New option --no-conditional-dependencies.
55822         (func_usage): Document it. Don't mark --conditional-dependencies as
55823         experimental.
55824         (cond_dependencies): The possible values can now be true, false, empty.
55825         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
55826         (func_import): Store setting in gnulib-cache.m4 and read it from there.
55827         * doc/gnulib-tool.texi (Conditional dependencies): New section.
55829 2011-05-28  Bruno Haible  <bruno@clisp.org>
55831         doc: Use a recent texinfo.tex.
55832         * doc/Makefile (tex_opts): New variable.
55833         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
55835 2011-05-28  Jim Meyering  <meyering@redhat.com>
55837         intprops.h: adjust comment to match code change
55838         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
55839         only once, it *may* have side effects.  Also fix an unrelated typo.
55840         (_GL_INT_SIGNED): Likewise.
55842 2011-05-26  Simon Josefsson  <simon@josefsson.org>
55844         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
55846 2011-05-26  Bruno Haible  <bruno@clisp.org>
55848         mbsrchr: Avoid collision with system function on Interix.
55849         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
55850         Reported by Markus Duft <mduft@gentoo.org>.
55852 2011-05-15  James Youngman  <jay@gnu.org>
55854         getopt: for ambiguous options, enumerate the possibilities.
55855         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
55856         the ambiguous options when an ambiguous prefix is given. This was
55857         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
55858         glibc change was
55859         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
55861 2011-05-25  Eric Blake  <eblake@redhat.com>
55863         getcwd: work around mingw bug
55864         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
55865         * doc/posix-functions/getcwd.texi (getcwd): Document it.
55866         Reported by Matthias Bolte.
55868 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
55870         test-intprops: disable -Wtype-limits diagnostics
55871         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
55872         diagnostics.  Otherwise, the integer overflow macros generate many
55873         diagnostics.  Reported by Jim Meyering in
55874         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
55876         intprops: shorten, to pacify gcc -Woverlength-strings
55877         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
55878         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
55879         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
55880         likely to run afoul of C compiler limits for string constant lengths.
55881         See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
55883 2011-05-24  Eric Blake  <eblake@redhat.com>
55885         docs: document recently fixed glibc printf bug
55886         * doc/posix-functions/fprintf.texi (fprintf): Document it.
55887         * doc/posix-functions/printf.texi (printf): Likewise.
55888         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
55889         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
55891         closein-tests: convert to init.sh
55892         * modules/closein-tests (Files): Add init.sh
55893         * tests/test-closein.sh Use it.
55895         yesno-tests: convert to init.sh
55896         * modules/yesno-tests (Files): Add init.sh.
55897         * tests/test-yesno.sh: Use it.
55899         atexit-tests: ensure reliable exit status
55900         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
55901         Reported by Bruno Haible.
55903 2011-05-24  Bruno Haible  <bruno@clisp.org>
55905         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
55906         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
55907         gl_PREREQ_STRERROR_R invocations from here...
55908         * modules/strerror_r-posix (configure.ac): ... to here.
55910 2011-05-24  Eric Blake  <eblake@redhat.com>
55912         strerror_r: fix missing header
55913         * lib/strerror_r.c: Avoid compiler warning about snprintf.
55915         strerror_r: fix AIX test failures
55916         * lib/strerror_r.c (strerror_r): Convert silent truncation to
55917         ERANGE failure.
55919         strerror_r: fix Solaris test failures
55920         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
55921         failures.
55922         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
55924         strerror_r: enforce POSIX recommendations
55925         * lib/strerror_r.c (safe_copy): New helper method.
55926         (strerror_r): Guarantee a non-empty string.
55927         * tests/test-strerror_r.c (main): Enhance tests to incorporate
55928         recent POSIX rulings and to match our strerror guarantees.
55929         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
55931 2011-05-24  Jim Meyering  <meyering@redhat.com>
55933         test-perror2.c: avoid warning about unused variable
55934         * tests/test-perror2.c (main): Remove declaration of unused "fp".
55936 2011-05-24  Eric Blake  <eblake@redhat.com>
55938         perror: avoid spurious test failure on HP-UX
55939         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
55941         tests: fix logic bug in init.sh
55942         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
55943         shell.
55945 2011-05-24  Jim Meyering  <meyering@redhat.com>
55947         utimensat: do not reference an out-of-scope buffer
55948         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
55949         declared in an inner scope, yet "times" would be dereferenced outside
55950         the scope in which "ts" was valid.
55951         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
55952         of ts[2] "out/up", so that the use of aliased "times" (via
55953         "times = ts;") does not end up referencing an out-of-scope "ts"
55955         opendir-safer.c: don't clobber errno; don't close negative FD
55956         * lib/opendir-safer.c (opendir_safer):
55957         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
55958         file descriptor, and more importantly, don't clobber the
55959         offending errno value with EINVAL.  Before, upon failure
55960         of dup_safer, we would pass the negative file descriptor to
55961         fdopendir, which would clobber errno.
55963 2011-05-23  Bruno Haible  <bruno@clisp.org>
55965         idcache: Fix module description.
55966         * modules/idcache (Include): Set to "idcache.h".
55968 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
55970         gnulib-tool: fix portability problem with MacOS sed
55971         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
55972         before the "}".  Problem reported by Leo in
55973         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
55974         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
55975         sed_extract_condition1, sed_extract_condition2.
55977 2011-05-23  Bruno Haible  <bruno@clisp.org>
55979         hash: Simplify autoconf macro.
55980         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
55982 2011-05-23  Bruno Haible  <bruno@clisp.org>
55984         getugroups: Fix module description.
55985         * modules/getugroups (Include): Set to "getugroups.h".
55987 2011-05-23  Bruno Haible  <bruno@clisp.org>
55989         linkat: Simplify autoconf macro.
55990         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
55992 2011-05-23  Bruno Haible  <bruno@clisp.org>
55993             Eric Blake  <eblake@redhat.com>
55995         linkat, renameat: Update dependencies.
55996         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
55997         * modules/linkat (Depends-on): Likewise. Remove also readlink,
55998         symlinkat.
56000 2011-05-23  Jim Meyering  <meyering@redhat.com>
56002         maint.mk: more tight_scope improvements
56003         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
56004         (_gl_TS_headers): Define only in if-0'd block.
56005         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
56006         sometimes we must *not* use it.  Adjust uses accordingly.
56007         (sc_tight_scope): Use much simpler grep-based test to determine
56008         whether we skip this rule.
56010         maint.mk: generalize/improve the tight-scope rule
56011         * top/maint.mk: Emit a warning when the test is skipped.
56012         (_gl_TS_dir): Add $(srcdir)/ prefix.
56013         (_gl_TS_function_match): Simplify, rather than trying
56014         to enumerate common types.  Otherwise, it would fail to match an
56015         "extern unsigned char const *" declaration in idutils.
56016         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
56017         a way to support use of that type of macro.
56018         (_gl_TS_var_match): Simplify regexp.
56019         (_gl_TS_obj_files): New configurable variable.
56020         (_gl_TS_headers): Likewise.
56022 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
56024         verify: fix bug when gnulib <assert.h> is also included
56025         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
56026         is defined, not if _GL_STATIC_ASSERT_H is not defined.
56027         Perhaps there's a better way, but this fixes the immediate problem.
56028         Problem reported by Bruno Haible in
56029         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.
56031 2011-05-22  Bruno Haible  <bruno@clisp.org>
56033         xgetcwd: Simplify autoconf macro.
56034         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
56036 2011-05-22  Bruno Haible  <bruno@clisp.org>
56038         New module 'mktime-internal'.
56039         * modules/mktime-internal: New file.
56040         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
56041         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
56042         mktime_internal as a C macro if libc has __mktime_internal.
56043         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
56044         conditions.
56045         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
56047 2011-05-22  Bruno Haible  <bruno@clisp.org>
56049         timegm: Correct mktime replacement statements.
56050         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
56051         defining mktime as a C macro. This completes a 2009-07-28 commit.
56053 2011-05-22  Bruno Haible  <bruno@clisp.org>
56055         timegm: Simplify autoconf macro.
56056         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
56058 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
56060         clock-time: change to LGPLv2+.
56061         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
56062         BSD-like but we have no mark for that; this is good enough for now.
56064 2011-05-21  Bruno Haible  <bruno@clisp.org>
56066         strerror_r: Fix comments.
56067         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
56069 2011-05-21  Bruno Haible  <bruno@clisp.org>
56071         relocatable-prog-wrapper: Fix possible link error.
56072         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
56073         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
56074         (gl_FUNC_SETENV): ... to here.
56075         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
56076         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
56078 2011-05-21  Bruno Haible  <bruno@clisp.org>
56080         relocatable-prog-wrapper: Assume strerror() exists.
56081         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
56082         m4/strerror.m4.
56083         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
56084         * lib/relocwrapper.c: Remove mention of strerror module.
56085         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
56086         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
56087         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
56088         C macro.
56090 2011-05-21  Bruno Haible  <bruno@clisp.org>
56092         select: Simplify replacement idiom.
56093         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
56094         Win32 platforms.
56095         * lib/sys_select.in.h (select): Simplify accordingly.
56096         * modules/select (Depends-on): Likewise.
56098 2011-05-21  Bruno Haible  <bruno@clisp.org>
56100         mkdir-p: Simplify autoconf macro.
56101         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
56102         gl_FUNC_LCHOWN.
56104 2011-05-21  Eric Blake  <eblake@redhat.com>
56106         strerror_r: avoid clobbering strerror on cygwin
56107         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
56108         fall back instead to sys_errlist.
56109         * modules/strerror (configure.ac): Add witness.
56110         * tests/test-strerror_r.c (main): Enhance test.
56111         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
56112         * tests/test-perror2.c (main): Free memory before exit.
56114 2011-05-21  Bruno Haible  <bruno@clisp.org>
56116         mkdtemp: Use gnulib naming conventions.
56117         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
56118         * modules/mkdtemp (configure.ac): Update.
56120 2011-05-20  Eric Blake  <eblake@redhat.com>
56122         strerror_r: avoid corrupting errno on Solaris
56123         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
56124         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
56126         strerror_r: avoid compiler warning
56127         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
56129         strerror_r: simplify AIX code
56130         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
56132         test-perror: avoid spurious failure on FreeBSD
56133         * modules/perror-tests (Depends-on): Add strerror, now that
56134         strerror_r no longer pulls it in.
56136 2011-05-20  Bruno Haible  <bruno@clisp.org>
56138         strerror_r-posix: Remove unused dependencies.
56139         * modules/strerror_r-posix (Depends-on): Remove strerror.
56140         Reported by Eric Blake.
56142 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
56144         intprops: remove assumption about A|B representation
56145         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
56146         is a valid integer if both A and B are.  Although this is true for
56147         all known practical hosts, the C standard doesn't guarantee it,
56148         and the code need not assume it.  Also, this change may work around
56149         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
56150         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.
56152 2011-05-20  Eric Blake  <eblake@redhat.com>
56154         perror: work around FreeBSD bug
56155         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
56156         is broken.  Move AC_LIBOBJ...
56157         * modules/perror (configure.ac): Here.
56158         * doc/posix-functions/perror.texi (perror): Document this.
56159         * tests/test-perror2.c (main): Enhance test.
56161         test-perror: check for strerror interactions
56162         * tests/macros.h (STREQ): Add macro.
56163         * modules/perror-tests (Files): Add second test.
56164         * tests/test-perror2.c (main): New file.
56165         * doc/posix-functions/perror.texi (perror): Document glibc bug.
56167         test-perror: rewrite to use init script
56168         * modules/perror-tests (Files): Add init.sh.
56169         * tests/test-perror.sh: Use temporary directory.
56171 2011-05-20  Jim Meyering  <meyering@redhat.com>
56173         maint: replace misused "a" with "an"
56174         * doc/intprops.texi: "a integer"
56175         * doc/regex.texi: "a explanation"
56176         * lib/alignof.h: "a object"
56177         * lib/argmatch.h: "a explanation"
56178         * lib/argp-help.c: "a option" and "a OPTION_DOC"
56179         * lib/stdint.in.h: "a integer"
56180         * lib/userspec.c: "a owner"
56181         * doc/gnulib.texi: Fix "a idea", and reword.
56183 2011-05-19  Jim Meyering  <meyering@redhat.com>
56185         maint: correct misuse of "a" and "an"
56186         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
56187         * lib/argp-help.c: "an docum...": s/an/a/
56188         * lib/argp-parse.c: "An vector": s/An/A/
56189         * lib/execute.c: "an native": s/an/a/
56190         * lib/spawn-pipe.c: Likewise.
56191         * lib/gc.h: "an Gc_rc": s/an/a/
56192         * lib/unigbrk.in.h: "an grapheme": s/an/a/
56193         * lib/fts.c: "an stat.st_dev": s/an/a/
56195 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
56197         intprops-tests: work around HP-UX 11.23 cc bug with constants
56198         * tests/test-intprops.c (VERIFY): New macro.
56199         (main): Use it, instead of verify, to work around the compiler bug; see
56200         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
56202         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
56203         See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
56204         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
56205         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
56206         (_GL_REMAINDER_OVERFLOW): Use it.
56208         intprops-tests: revert unsigned part of previous change
56209         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
56210         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
56211         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
56212         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.
56214 2011-05-19  Bruno Haible  <bruno@clisp.org>
56216         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
56217         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
56218         strerror_r() returned without filling the buffer.
56219         Reported by Eric Blake.
56221 2011-05-19  Eric Blake  <eblake@redhat.com>
56223         strerror_r: guarantee unchanged errno
56224         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
56225         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
56226         failure.
56227         * tests/test-strerror_r.c (main): Enhance test.
56229 2011-05-19  Bruno Haible  <bruno@clisp.org>
56231         strerror_r: Reorder #if blocks.
56232         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
56233         for consistency with the previous commit.
56235 2011-05-19  Bruno Haible  <bruno@clisp.org>
56237         perror: Avoid clobbering the strerror buffer when possible.
56238         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
56239         * lib/strerror.c: Include it.
56240         * modules/strerror (Files): Add lib/strerror-impl.h.
56241         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
56242         (my_strerror): New function, defined through lib/strerror-impl.h.
56243         (perror): Use it instead of strerror.
56244         * modules/perror (Files): Add lib/strerror-impl.h.
56245         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
56247 2011-05-19  Eric Blake  <eblake@redhat.com>
56249         strerror_r: fix on newer cygwin
56250         * lib/strerror_r.c (strerror_r): Cygwin now has
56251         __xpg_strerror_r, use it.
56253 2011-05-19  Bruno Haible  <bruno@clisp.org>
56255         strerror_r: Avoid clobbering the strerror buffer when possible.
56256         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
56257         (sys_nerr, sys_errlist): New declarations.
56258         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
56259         HP-UX, native Win32, IRIX, and 32-bit Solaris.
56260         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
56262 2011-05-19  Bruno Haible  <bruno@clisp.org>
56264         strerror_r: Fix test failure on mingw.
56265         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
56266         EXTEND_STRERROR_R.
56267         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
56268         macros from errno.in.h instead.
56270 2011-05-19  Eric Blake  <eblake@redhat.com>
56272         strerror: relax test for Solaris
56273         * tests/test-strerror.c (main): Permit Solaris behavior.
56274         * tests/test-strerror_r.c (main): Likewise.
56276         strerror: enforce POSIX ruling on strerror(0)
56277         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
56278         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
56279         * lib/strerror_r.c (rpl_strerror_r): Work around it.
56280         * doc/posix-functions/strerror.texi (strerror): Document it.
56281         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
56282         * tests/test-strerror.c (main): Strengthen test.
56283         * tests/test-strerror_r.c (main): Likewise.
56285 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
56287         intprop-tests: port to older and more-pedantic compilers
56288         * modules/intprops-tests (Files): Add tests/macros.h.
56289         * tests/test-intprops.c: Include macros.h.
56290         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
56291         it's no longer documented to expand to an integer constant expression.
56292         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
56293         argument is floating point, as it's no longer documented to expand
56294         to an integer constant expression in that case.
56295         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
56296         compiler bugs reported by Bruno Haible.  See
56297         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
56298         (U0, U1): New constants, to work around the same bugs.  Also,
56299         in tests, use e.g., "(unsigned int) 39" rather than "39u".
56301         intprops: work around C compiler bugs
56302         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
56303         bug in Sun C 5.11 2010/08/13 and other compilers; see
56304         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
56306         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
56307         * doc/intprops.texi (Integer Type Determination): Fix
56308         documentation for TYPE_IS_INTEGER: it returns an constant
56309         expression, not an integer constant expression.  Fix doc for
56310         TYPE_SIGNED: it returns an integer constant expression only if its
56311         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
56312         hardly worth documented that way....)
56314 2011-05-18  Bruno Haible  <bruno@clisp.org>
56316         strerror_r: Avoid clobbering the strerror buffer when possible.
56317         * lib/strerror_r.c (strerror_r): Merge the three implementations.
56318         Handle gnulib defined errno values here. When strerror() returns NULL
56319         or an empty string, return EINVAL.
56320         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
56321         gnulib defined errno values here.
56322         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
56324 2011-05-18  Eric Blake  <eblake@redhat.com>
56326         fnmatch: avoid compiler warning
56327         * lib/fnmatch_loop.c (FCT): Use correct type.
56328         Reported by Matthias Bolte.
56330 2011-05-13  Jim Meyering  <meyering@redhat.com>
56332         maint.mk: three new prohibit_<HDR>_without_use rules
56333         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
56334         (sc_prohibit_stdio-safer_without_use): Likewise.
56335         (sc_prohibit_xfreopen_without_use): Likewise.
56337 2011-05-17  Jim Meyering  <meyering@redhat.com>
56339         announce-gen: fail if the NEWS delta is empty
56340         If there's nothing noteworthy in NEWS, then either you forgot
56341         or you shouldn't be releasing.
56342         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
56344 2011-05-17  Pádraig Brady  <P@draigBrady.com>
56346         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
56347         reserved symbols starting with double underscore from the check.
56349 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
56351         intprops: add doc
56352         * doc/intprops.texi: New file, documenting intprops.
56353         * doc/gnulib.texi (Particular Modules): Include it.
56355         verify: add doc to gnulib manual and fix example
56356         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
56357         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
56358         (Compile-time Assertions): Fix example so it can't overflow.
56360 2011-05-17  Jim Meyering  <meyering@redhat.com>
56362         warnings.m4: don't usurp save_CPPFLAGS variable name
56363         * m4/warnings.m4: Prefix local temporary variable name with gl_.
56365         doc: fix typo
56366         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
56368 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56369             Bruno Haible  <bruno@clisp.org>
56371         doc: Tweak recent change.
56372         * README (Portability guidelines): Tweak new text.
56373         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
56374         Interix 6.1.
56376 2011-05-16  Eric Blake  <eblake@redhat.com>
56378         inttypes: avoid autoconf warning
56379         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
56380         * m4/stdint.m4 (gl_STDINT_H): Likewise.
56382 2011-05-16  Sam Steingold  <sds@gnu.org>
56383         and Eric Blake  <eblake@redhat.com>
56385         vc-list-files: accept multiple directory operands
56386         * build-aux/vc-list-files: Iterate over all remaining operands.
56388 2011-05-16  Bruno Haible  <bruno@clisp.org>
56390         Fix confusion regarding deprecated modules.
56391         * modules/calloc (Status, Notice): Mark module as deprecated, not
56392         obsolete.
56393         * modules/fnmatch-posix (Status, Notice): Likewise.
56394         * modules/getdate (Status, Notice): Likewise.
56395         * modules/getopt (Status, Notice): Likewise.
56396         * modules/malloc (Status, Notice): Likewise.
56397         * modules/pipe (Status, Notice): Likewise.
56398         * modules/realloc (Status, Notice): Likewise.
56399         * modules/rename-dest-slash (Status, Notice): Likewise.
56400         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
56401         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
56402         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
56403         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
56404         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
56406 2011-05-16  Bruno Haible  <bruno@clisp.org>
56408         doc: List the target platforms.
56409         * doc/gnulib-intro.texi (Target Platforms): New section.
56410         * doc/gnulib.texi (Introduction): Update menu.
56411         * README (Portability guidelines): Refer to the new section. Update
56412         statement about oldest supported environment. Remove rationale why
56413         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
56414         unportable C89 function.
56415         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
56416         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
56418 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56420         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
56422 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56424         intprops-tests: new module
56425         * modules/intprops-tests, tests/test-intprops.c: New files.
56427         intprops: add safe, portable integer overflow checking
56428         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
56429         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
56430         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
56431         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
56432         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
56433         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
56434         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
56435         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
56436         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
56437         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
56438         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
56440 2011-05-12  James Youngman  <jay@gnu.org>
56442         Add a test for glibc's Bugzilla bug #12378.
56443         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
56444         doesn't allow the literal matching of a lone "[" (which is
56445         required by POSIX).
56446         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
56448 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
56450         Sync glibc change fixing Bugzilla bug #12378.
56451         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
56452         beginning and fall back to matching as normal character if the
56453         string ends before the matching ']' is found.  This is what POSIX
56454         requires.
56456 2011-05-13  Eric Blake  <eblake@redhat.com>
56458         getcwd-lgpl: relax test for FreeBSD
56459         * doc/posix-functions/getcwd.texi (getcwd): Document portability
56460         issue.
56461         * tests/test-getcwd-lgpl.c (main): Relax test.
56462         Reported by Matthias Bolte.
56464 2011-05-11  Eric Blake  <eblake@redhat.com>
56466         test-fflush: silence compiler warning
56467         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
56469 2011-05-11  Bruno Haible  <bruno@clisp.org>
56471         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
56472         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
56473         * modules/canonicalize (Depends-on): Add 'nocrash'.
56474         * modules/canonicalize-lgpl (Depends-on): Likewise.
56475         * doc/posix-functions/realpath.texi: Update platforms list.
56476         Reported by Ryan Schmidt <ryandesign@macports.org>.
56478 2011-05-11  Bruno Haible  <bruno@clisp.org>
56480         group-member: Declare function in <unistd.h>.
56481         * lib/unistd.in.h (group_member): New declaration.
56482         * lib/group-member.h: Remove file.
56483         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
56484         * tests/test-unistd-c++.cc: Check signature of group_member.
56485         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
56486         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
56487         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
56488         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
56489         HAVE_GROUP_MEMBER.
56490         * modules/group-member (Files): Remove lib/group-member.h.
56491         (Depends-on): Add unistd. Specify conditions.
56492         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56493         (Include): Change to <unistd.h>.
56494         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
56495         HAVE_GROUP_MEMBER.
56496         * NEWS: Mention the change.
56497         * lib/euidaccess.c: Don't include group-member.h.
56499 2011-05-11  Bruno Haible  <bruno@clisp.org>
56501         group-member: Document module.
56502         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
56503         module.
56505 2011-05-11  Bruno Haible  <bruno@clisp.org>
56507         fclose: Fix mistake earlier today.
56508         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
56510 2011-05-11  Eric Blake  <eblake@redhat.com>
56512         fclose: preserve fflush errors
56513         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
56514         Reported by Jim Meyering.
56516         bootstrap: support a prereq of 'rpcgen -' on RHEL5
56517         * build-aux/bootstrap (check_versions): When no specific version
56518         is required, merely check that the app produces an exit status
56519         that indicates its existence.
56521         maint.mk: drop redundant check
56522         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
56523         the same but better.
56525 2011-05-11  Bruno Haible  <bruno@clisp.org>
56527         fclose: Fix possible link error.
56528         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
56529         unregister_shadow_fd. Improve comments.
56530         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
56531         Eric Blake.
56533 2011-05-11  Jim Meyering  <meyering@redhat.com>
56535         maint.mk: improve "can not" detection and generalize rule name
56536         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
56537         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
56538         Use the same technique as in sc_prohibit_doubled_word, so that
56539         we recognize "can not" also when the words are separated by a newline.
56540         Suggested by Eric Blake.
56541         (perl_filename_lineno_text_): Define.  Factored out of...
56542         (prohibit_doubled_word_): ...here.  Use the new definition.
56543         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
56544         (prohibit_undesirable_word_seq_RE_): New overridable variable.
56545         (ignore_undesirable_word_sequence_RE_): New overridable variable.
56547 2011-05-10  Eric Blake  <eblake@redhat.com>
56549         fclose: avoid double close race when possible
56550         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
56551         all but WINDOWS_SOCKETS.
56553 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
56555         openat: correct new comment
56556         * lib/openat-proc.c (openat_proc_name): Correct the comment.
56558 2011-05-10  Jim Meyering  <meyering@redhat.com>
56560         openat: add comments
56561         * lib/openat-proc.c (openat_proc_name): Add comments,
56562         mostly from Eric Blake.
56564 2011-05-09  Eric Blake  <eblake@redhat.com>
56566         openat: reduce syscalls in first probe of /proc
56567         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
56568         be a directory.  Simplify the probe for .. bugs.
56569         * modules/openat (Depends-on): Drop same-inode.
56570         Reported by Bastien ROUCARIES.
56572 2011-05-09  Jim Meyering  <meyering@redhat.com>
56574         maint.mk: change semantics/name of tight_scope variables
56575         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
56576         Rename variables to align with semantics that make them more useful.
56578         maint.mk: tweak new rule's name not to impinge
56579         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
56580         (sc_tight_scope): Use new rule name rather than $@-0.
56582         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
56583         * top/maint.mk (sc_tight_scope): New rule.
56584         (sc_tight_scope-0): New rule, ifdef'd out.
56585         (_gl_TS_dir): Default.
56586         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
56587         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
56589 2011-05-09  Simon Josefsson  <simon@josefsson.org>
56591         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
56592         Haible <bruno@clisp.org>.
56594 2011-05-08  Bruno Haible  <bruno@clisp.org>
56596         Comments.
56597         * m4/isnanf.m4: Add comment.
56598         * m4/isnanl.m4: Likewise.
56600 2011-05-08  Bruno Haible  <bruno@clisp.org>
56602         glob: Remove obsolete macro.
56603         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
56605 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
56607         intprops: Sun C 5.11 supports __typeof__
56608         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
56609         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
56610         which is new.
56611         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
56613         intprops: switch to usual gnulib indenting and naming
56614         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
56615         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
56617         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
56619 2011-05-08  Jim Meyering  <meyering@redhat.com>
56621         maint.mk: suppress "Entering/Leaving directory" diag in announcement
56622         * top/maint.mk (release-prep): Use make's --no-print-directory
56623         option when generating the announcement.  This eliminates the
56624         pesky "make[2]: Entering/Leaving directory" diagnostics in the
56625         generated announcement template.
56627 2011-05-08  Bruno Haible  <bruno@clisp.org>
56629         tzset: Fix gettimeofday wrapper on Solaris 2.6.
56630         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
56631         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
56633 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
56635         ignore-value, verify: Omit include files from lib_SOURCES.
56636         * modules/ignore-value, modules/verify (Makefile.am):
56637         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
56638         that leads Automake to duplicate use of am__objects_... variables
56639         in Makefile.in.  See
56640         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.
56642 2011-05-07  Bruno Haible  <bruno@clisp.org>
56644         fclose: Simplify autoconf macro.
56645         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
56646         defined.
56648 2011-05-07  Bruno Haible  <bruno@clisp.org>
56650         canonicalize-lgpl: Fix autoconf macro ordering bug.
56651         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
56652         gl_STDLIB_H_DEFAULTS.
56654 2011-05-06  Eric Blake  <eblake@redhat.com>
56656         maintainer-makefile: make sc_po_check easier to tune
56657         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
56658         to probe for strings, such as an alternate location for gnulib.
56660         fclose: guarantee behavior on seekable stdin
56661         * modules/fclose (Depends-on): Add fflush.
56662         * doc/posix-functions/fclose.texi (fclose): Document this.
56663         * tests/test-fclose.c (main): Make test for this unconditional.
56665 2011-05-06  Bruno Haible  <bruno@clisp.org>
56667         fflush, fpurge: Relicense under LGPLv2+.
56668         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
56669         * modules/fpurge (License): Likewise.
56670         With permission from Eric Blake and Jim Meyering.
56671         Suggested by Eric Blake.
56673 2011-05-06  Karl Berry  <karl@gnu.org>
56675         * MODULES.html.sh (func_all_modules): remove exit.
56677 2011-05-06  Jim Meyering  <meyering@redhat.com>
56679         maint.mk: use info-gnu@ as the default only for a stable release
56680         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
56681         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
56682         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
56683         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
56685 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
56687         assert-h: new module, which supports C1X-style static_assert
56688         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
56689         * lib/verify.h: Revamp so that this can be copied into assert.h,
56690         while retaining the ability to use it standalone as before.
56691         Rename private identifiers so as not to encroach on the
56692         standard C namespace, since this is now used by assert.h.
56693         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
56694         the old verify_true.
56695         (_GL_VERIFY_TRUE): New macro, with much of the contents of
56696         the old verify_true.  Use _GL_VERIFY_TYPE.
56697         (_GL_VERIFY): New macro, with much of the contents of the old verify.
56698         (static_assert): New macro, if _GL_STATIC_ASSERT_H
56699         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
56700         defined when this file is copied into the replacement assert.h.
56701         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
56702         and _Static_assert is not built in.
56703         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
56704         defined, and use the new macros mentioned above.
56705         * doc/posix-headers/assert.texi: Document this.
56707 2011-05-05  Bruno Haible  <bruno@clisp.org>
56709         fclose, fflush: Respect rules for use of AC_LIBOBJ.
56710         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
56711         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
56712         gl_REPLACE_FCLOSE here.
56713         * modules/fflush (Depends-on): Remove fclose.
56714         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
56715         combination with module 'fclose'.
56717 2011-05-05  Bruno Haible  <bruno@clisp.org>
56719         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
56720         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
56721         gl_FUNC_FFLUSH.
56722         (gl_FUNC_FFLUSH): Use it.
56723         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
56724         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
56725         gl_REPLACE_FSEEKO here.
56727 2011-05-05  Bruno Haible  <bruno@clisp.org>
56729         tzset: Relicense under LGPL.
56730         * modules/tzset (License): Change to LGPL.
56731         No agreement needed; it's a no-op.
56733         strtoimax, strtoumax: Relicense under LGPL.
56734         * modules/strtoimax (License): Change to LGPL.
56735         * modules/strtoumax (License): Likewise.
56736         With permission from Jim Meyering, Paul Eggert:
56737         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
56738         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>
56740         getgroups: Relicense under LGPL.
56741         * modules/getgroups (License): Change to LGPL.
56742         With permission from Jim Meyering, Paul Eggert, Eric Blake:
56743         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
56744         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
56745         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56747         nanosleep: Relicense under LGPL.
56748         * modules/nanosleep (License): Change to LGPL.
56749         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
56750         Haible:
56751         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
56752         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
56753         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56754         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
56756         futimens: Relicense under LGPL.
56757         * modules/futimens (License): Change to LGPL.
56758         With permission from Eric Blake:
56759         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56761         fflush: Relicense under LGPL.
56762         * modules/fflush (License): Change to LGPL.
56763         With permission from Eric Blake, Bruno Haible, Jim Meyering:
56764         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56765         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
56766         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>
56768         tmpfile: Relicense under LGPL.
56769         * modules/tmpfile (License): Change to LGPL.
56770         With permission from Ben Pfaff:
56771         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
56773         isfinite: Relicense under LGPL.
56774         * modules/isfinite (License): Change to LGPL.
56775         With permission from Ben Pfaff, Bruno Haible:
56776         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
56777         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>
56779         acosl..tanl: Relicense under LGPL.
56780         * modules/acosl (License): Change to LGPL.
56781         * modules/asinl (License): Likewise.
56782         * modules/atanl (License): Likewise.
56783         * modules/cosl (License): Likewise.
56784         * modules/expl (License): Likewise.
56785         * modules/logl (License): Likewise.
56786         * modules/sinl (License): Likewise.
56787         * modules/sqrtl (License): Likewise.
56788         * modules/tanl (License): Likewise.
56789         Source code originally from glibc and Paolo Bonzini. Agreements:
56790         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
56791         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>
56793 2011-05-05  Bruno Haible  <bruno@clisp.org>
56795         signal: Define sighandler_t.
56796         * lib/signal.in.h (sighandler_t): New type.
56797         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
56798         whether sighandler_t is defined.
56799         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
56800         * modules/signal (Depends-on): Add extensions.
56801         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
56802         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
56803         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
56805 2011-05-05  Eric Blake  <eblake@redhat.com>
56807         maint: remove useless REPLACE_*_H macros
56808         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
56809         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
56810         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
56811         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
56812         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
56813         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
56814         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
56815         * m4/btowc.m4: Update callers.
56816         * m4/dirfd.m4: Likewise.
56817         * m4/duplocale.m4: Likewise.
56818         * m4/fchdir.m4: Likewise.
56819         * m4/fdopendir.m4: Likewise.
56820         * m4/inet_ntop.m4: Likewise.
56821         * m4/inet_pton.m4: Likewise.
56822         * m4/ioctl.m4: Likewise.
56823         * m4/mbrlen.m4: Likewise.
56824         * m4/mbrtowc.m4: Likewise.
56825         * m4/mbsinit.m4: Likewise.
56826         * m4/mbsnrtowcs.m4: Likewise.
56827         * m4/mbsrtowcs.m4: Likewise.
56828         * m4/poll.m4: Likewise.
56829         * m4/setlocale.m4: Likewise.
56830         * m4/wcrtomb.m4: Likewise.
56831         * m4/wcsnrtombs.m4: Likewise.
56832         * m4/wcsrtombs.m4: Likewise.
56833         * m4/wctob.m4: Likewise.
56834         * m4/wcwidth.m4: Likewise.
56835         * modules/posix_spawn: Likewise.
56836         * modules/posix_spawn_file_actions_addclose: Likewise.
56837         * modules/posix_spawn_file_actions_adddup2: Likewise.
56838         * modules/posix_spawn_file_actions_addopen: Likewise.
56839         * modules/posix_spawn_file_actions_destroy: Likewise.
56840         * modules/posix_spawn_file_actions_init: Likewise.
56841         * modules/posix_spawnattr_destroy: Likewise.
56842         * modules/posix_spawnattr_getflags: Likewise.
56843         * modules/posix_spawnattr_getpgroup: Likewise.
56844         * modules/posix_spawnattr_getschedparam: Likewise.
56845         * modules/posix_spawnattr_getschedpolicy: Likewise.
56846         * modules/posix_spawnattr_getsigdefault: Likewise.
56847         * modules/posix_spawnattr_getsigmask: Likewise.
56848         * modules/posix_spawnattr_init: Likewise.
56849         * modules/posix_spawnattr_setflags: Likewise.
56850         * modules/posix_spawnattr_setpgroup: Likewise.
56851         * modules/posix_spawnattr_setschedparam: Likewise.
56852         * modules/posix_spawnattr_setschedpolicy: Likewise.
56853         * modules/posix_spawnattr_setsigdefault: Likewise.
56854         * modules/posix_spawnattr_setsigmask: Likewise.
56855         * modules/posix_spawnp: Likewise.
56857 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
56859         Add option to do-release-commit-and-tag to specify branch.
56860         * build-aux/do-release-commit-and-tag: Add --branch.
56862 2011-05-03  Bruno Haible  <bruno@clisp.org>
56864         Avoid unnecessary compilation units, through conditional dependencies.
56865         * modules/accept (Depends-on): Add conditions to the dependencies.
56866         * modules/acosl (Depends-on): Likewise.
56867         * modules/argz (Depends-on): Likewise.
56868         * modules/asinl (Depends-on): Likewise.
56869         * modules/atanl (Depends-on): Likewise.
56870         * modules/atoll (Depends-on): Likewise.
56871         * modules/bind (Depends-on): Likewise.
56872         * modules/btowc (Depends-on): Likewise.
56873         * modules/canonicalize-lgpl (Depends-on): Likewise.
56874         * modules/ceil (Depends-on): Likewise.
56875         * modules/ceilf (Depends-on): Likewise.
56876         * modules/ceill (Depends-on): Likewise.
56877         * modules/chdir-long (Depends-on): Likewise.
56878         * modules/chown (Depends-on): Likewise.
56879         * modules/close (Depends-on): Likewise.
56880         * modules/connect (Depends-on): Likewise.
56881         * modules/cosl (Depends-on): Likewise.
56882         * modules/dirfd (Depends-on): Likewise.
56883         * modules/dprintf (Depends-on): Likewise.
56884         * modules/dprintf-posix (Depends-on): Likewise.
56885         * modules/error (Depends-on): Likewise.
56886         * modules/euidaccess (Depends-on): Likewise.
56887         * modules/expl (Depends-on): Likewise.
56888         * modules/faccessat (Depends-on): Likewise.
56889         * modules/fchdir (Depends-on): Likewise.
56890         * modules/fclose (Depends-on): Likewise.
56891         * modules/fcntl (Depends-on): Likewise.
56892         * modules/fdopendir (Depends-on): Likewise.
56893         * modules/fflush (Depends-on): Likewise.
56894         * modules/floor (Depends-on): Likewise.
56895         * modules/floorf (Depends-on): Likewise.
56896         * modules/floorl (Depends-on): Likewise.
56897         * modules/fnmatch (Depends-on): Likewise.
56898         * modules/fopen (Depends-on): Likewise.
56899         * modules/fprintf-posix (Depends-on): Likewise.
56900         * modules/frexp (Depends-on): Likewise.
56901         * modules/frexp-nolibm (Depends-on): Likewise.
56902         * modules/frexpl (Depends-on): Likewise.
56903         * modules/frexpl-nolibm (Depends-on): Likewise.
56904         * modules/fseek (Depends-on): Likewise.
56905         * modules/fsusage (Depends-on): Likewise.
56906         * modules/ftell (Depends-on): Likewise.
56907         * modules/ftello (Depends-on): Likewise.
56908         * modules/futimens (Depends-on): Likewise.
56909         * modules/getcwd (Depends-on): Likewise.
56910         * modules/getcwd-lgpl (Depends-on): Likewise.
56911         * modules/getdelim (Depends-on): Likewise.
56912         * modules/getdomainname (Depends-on): Likewise.
56913         * modules/getgroups (Depends-on): Likewise.
56914         * modules/gethostname (Depends-on): Likewise.
56915         * modules/getline (Depends-on): Likewise.
56916         * modules/getlogin_r (Depends-on): Likewise.
56917         * modules/getopt-posix (Depends-on): Likewise.
56918         * modules/getpeername (Depends-on): Likewise.
56919         * modules/getsockname (Depends-on): Likewise.
56920         * modules/getsockopt (Depends-on): Likewise.
56921         * modules/getsubopt (Depends-on): Likewise.
56922         * modules/getusershell (Depends-on): Likewise.
56923         * modules/glob (Depends-on): Likewise.
56924         * modules/grantpt (Depends-on): Likewise.
56925         * modules/iconv_open (Depends-on): Likewise.
56926         * modules/iconv_open-utf (Depends-on): Likewise.
56927         * modules/inet_ntop (Depends-on): Likewise.
56928         * modules/inet_pton (Depends-on): Likewise.
56929         * modules/ioctl (Depends-on): Likewise.
56930         * modules/isapipe (Depends-on): Likewise.
56931         * modules/isfinite (Depends-on): Likewise.
56932         * modules/isinf (Depends-on): Likewise.
56933         * modules/lchown (Depends-on): Likewise.
56934         * modules/ldexpl (Depends-on): Likewise.
56935         * modules/link (Depends-on): Likewise.
56936         * modules/linkat (Depends-on): Likewise.
56937         * modules/listen (Depends-on): Likewise.
56938         * modules/logl (Depends-on): Likewise.
56939         * modules/lstat (Depends-on): Likewise.
56940         * modules/mbrlen (Depends-on): Likewise.
56941         * modules/mbrtowc (Depends-on): Likewise.
56942         * modules/mbsinit (Depends-on): Likewise.
56943         * modules/mbsnrtowcs (Depends-on): Likewise.
56944         * modules/mbsrtowcs (Depends-on): Likewise.
56945         * modules/mbtowc (Depends-on): Likewise.
56946         * modules/memcmp (Depends-on): Likewise.
56947         * modules/mkdir (Depends-on): Likewise.
56948         * modules/mkdtemp (Depends-on): Likewise.
56949         * modules/mkfifo (Depends-on): Likewise.
56950         * modules/mkfifoat (Depends-on): Likewise.
56951         * modules/mknod (Depends-on): Likewise.
56952         * modules/mkostemp (Depends-on): Likewise.
56953         * modules/mkostemps (Depends-on): Likewise.
56954         * modules/mkstemp (Depends-on): Likewise.
56955         * modules/mkstemps (Depends-on): Likewise.
56956         * modules/mktime (Depends-on): Likewise.
56957         * modules/nanosleep (Depends-on): Likewise.
56958         * modules/open (Depends-on): Likewise.
56959         * modules/openat (Depends-on): Likewise.
56960         * modules/perror (Depends-on): Likewise.
56961         * modules/poll (Depends-on): Likewise.
56962         * modules/popen (Depends-on): Likewise.
56963         * modules/posix_spawn (Depends-on): Likewise.
56964         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
56965         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
56966         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
56967         * modules/posix_spawnp (Depends-on): Likewise.
56968         * modules/pread (Depends-on): Likewise.
56969         * modules/printf-posix (Depends-on): Likewise.
56970         * modules/ptsname (Depends-on): Likewise.
56971         * modules/putenv (Depends-on): Likewise.
56972         * modules/pwrite (Depends-on): Likewise.
56973         * modules/readline (Depends-on): Likewise.
56974         * modules/readlink (Depends-on): Likewise.
56975         * modules/readlinkat (Depends-on): Likewise.
56976         * modules/recv (Depends-on): Likewise.
56977         * modules/recvfrom (Depends-on): Likewise.
56978         * modules/regex (Depends-on): Likewise.
56979         * modules/remove (Depends-on): Likewise.
56980         * modules/rename (Depends-on): Likewise.
56981         * modules/renameat (Depends-on): Likewise.
56982         * modules/rmdir (Depends-on): Likewise.
56983         * modules/round (Depends-on): Likewise.
56984         * modules/roundf (Depends-on): Likewise.
56985         * modules/roundl (Depends-on): Likewise.
56986         * modules/rpmatch (Depends-on): Likewise.
56987         * modules/select (Depends-on): Likewise.
56988         * modules/send (Depends-on): Likewise.
56989         * modules/sendto (Depends-on): Likewise.
56990         * modules/setenv (Depends-on): Likewise.
56991         * modules/setlocale (Depends-on): Likewise.
56992         * modules/setsockopt (Depends-on): Likewise.
56993         * modules/shutdown (Depends-on): Likewise.
56994         * modules/sigaction (Depends-on): Likewise.
56995         * modules/signbit (Depends-on): Likewise.
56996         * modules/sigprocmask (Depends-on): Likewise.
56997         * modules/sinl (Depends-on): Likewise.
56998         * modules/sleep (Depends-on): Likewise.
56999         * modules/snprintf (Depends-on): Likewise.
57000         * modules/snprintf-posix (Depends-on): Likewise.
57001         * modules/socket (Depends-on): Likewise.
57002         * modules/sprintf-posix (Depends-on): Likewise.
57003         * modules/sqrtl (Depends-on): Likewise.
57004         * modules/stat (Depends-on): Likewise.
57005         * modules/strchrnul (Depends-on): Likewise.
57006         * modules/strdup-posix (Depends-on): Likewise.
57007         * modules/strerror (Depends-on): Likewise.
57008         * modules/strerror_r-posix (Depends-on): Likewise.
57009         * modules/strndup (Depends-on): Likewise.
57010         * modules/strnlen (Depends-on): Likewise.
57011         * modules/strptime (Depends-on): Likewise.
57012         * modules/strsep (Depends-on): Likewise.
57013         * modules/strsignal (Depends-on): Likewise.
57014         * modules/strstr-simple (Depends-on): Likewise.
57015         * modules/strtod (Depends-on): Likewise.
57016         * modules/strtoimax (Depends-on): Likewise.
57017         * modules/strtok_r (Depends-on): Likewise.
57018         * modules/strtoumax (Depends-on): Likewise.
57019         * modules/symlink (Depends-on): Likewise.
57020         * modules/symlinkat (Depends-on): Likewise.
57021         * modules/tanl (Depends-on): Likewise.
57022         * modules/tcgetsid (Depends-on): Likewise.
57023         * modules/tmpfile (Depends-on): Likewise.
57024         * modules/trunc (Depends-on): Likewise.
57025         * modules/truncf (Depends-on): Likewise.
57026         * modules/truncl (Depends-on): Likewise.
57027         * modules/uname (Depends-on): Likewise.
57028         * modules/unlink (Depends-on): Likewise.
57029         * modules/unlockpt (Depends-on): Likewise.
57030         * modules/unsetenv (Depends-on): Likewise.
57031         * modules/usleep (Depends-on): Likewise.
57032         * modules/utimensat (Depends-on): Likewise.
57033         * modules/vasprintf (Depends-on): Likewise.
57034         * modules/vdprintf (Depends-on): Likewise.
57035         * modules/vdprintf-posix (Depends-on): Likewise.
57036         * modules/vfprintf-posix (Depends-on): Likewise.
57037         * modules/vprintf-posix (Depends-on): Likewise.
57038         * modules/vsnprintf (Depends-on): Likewise.
57039         * modules/vsnprintf-posix (Depends-on): Likewise.
57040         * modules/vsprintf-posix (Depends-on): Likewise.
57041         * modules/wcrtomb (Depends-on): Likewise.
57042         * modules/wcscasecmp (Depends-on): Likewise.
57043         * modules/wcscspn (Depends-on): Likewise.
57044         * modules/wcsdup (Depends-on): Likewise.
57045         * modules/wcsncasecmp (Depends-on): Likewise.
57046         * modules/wcsnrtombs (Depends-on): Likewise.
57047         * modules/wcspbrk (Depends-on): Likewise.
57048         * modules/wcsrtombs (Depends-on): Likewise.
57049         * modules/wcsspn (Depends-on): Likewise.
57050         * modules/wcsstr (Depends-on): Likewise.
57051         * modules/wcstok (Depends-on): Likewise.
57052         * modules/wcswidth (Depends-on): Likewise.
57053         * modules/wctob (Depends-on): Likewise.
57054         * modules/wctomb (Depends-on): Likewise.
57055         * modules/wctype (Depends-on): Likewise.
57056         * modules/wcwidth (Depends-on): Likewise.
57057         * modules/write (Depends-on): Likewise.
57059 2011-05-03  Bruno Haible  <bruno@clisp.org>
57061         Support for conditional dependencies.
57062         * doc/gnulib.texi (Module description): Document the syntax of
57063         conditional dependencies.
57064         * gnulib-tool: New option --conditional-dependencies.
57065         (func_usage): Document it.
57066         (cond_dependencies): New variable.
57067         (func_get_automake_snippet_conditional,
57068         func_get_automake_snippet_unconditional): New functions, extracted from
57069         func_get_automake_snippet.
57070         (func_get_automake_snippet): Use them.
57071         (sed_first_32_chars): New variable.
57072         (func_module_shellfunc_name): New function.
57073         (func_module_shellvar_name): New function.
57074         (func_module_conditional_name): New function.
57075         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
57076         func_cond_module_condition): New functions.
57077         (func_modules_transitive_closure): Add support for conditional
57078         dependencies.
57079         (func_emit_lib_Makefile_am): For a conditional module, enclose the
57080         conditional automake snippet in an automake conditional.
57081         (func_emit_autoconf_snippets): Emit shell functions that contain the
57082         code for conditional modules.
57083         (func_import, func_create_testdir): Update specification.
57085 2011-05-03  Eric Blake  <eblake@redhat.com>
57087         test-getaddrinfo: report error information
57088         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
57090 2011-05-03  Jim Meyering  <meyering@redhat.com>
57092         bootstrap: avoid build failure when $GZIP is set
57093         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
57094         program name.  If defined at all, it is supposed to list gzip options.
57095         Reported by Alan Curry in http://debbugs.gnu.org/8609
57097 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
57099         readme-release: new module with release instructions
57100         * modules/readme-release: New module.
57101         * top/README-release: New file, from coreutils, grep, diffutils.
57102         * MODULES.html.sh (Support for maintaining and releasing): Add it.
57104 2011-05-02  Eric Blake  <eblake@redhat.com>
57106         fflush: also replace fclose when fixing fflush
57107         * modules/fflush (Depends-on): Add fclose.
57108         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
57109         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
57110         memstreams with no backing fd.
57111         * doc/posix-functions/fclose.texi (fclose): Document the use of
57112         fflush module to fix the bug.
57113         * tests/test-fclose.c (main): Relax test when fclose is used in
57114         isolation.
57116         fclose: add some tests
57117         * modules/fclose-tests: New test module.
57118         * tests/test-fclose.c: New file.
57119         * doc/posix-functions/fclose.texi (fclose): Document the bug.
57121         fclose: reduced dependencies
57122         * modules/fclose (Depends-on): Switch from fflush/fseeko to
57123         simpler lseek.
57124         * lib/fclose.c (rpl_fclose): Likewise.
57125         Reported by Simon Josefsson.
57127         exit: drop remaining clients
57128         * modules/argmatch (Depends-on): Replace exit with stdlib.
57129         * modules/copy-file (Depends-on): Likewise.
57130         * modules/execute (Depends-on): Likewise.
57131         * modules/exitfail (Depends-on): Likewise.
57132         * modules/obstack (Depends-on): Likewise.
57133         * modules/pagealign_alloc (Depends-on): Likewise.
57134         * modules/pipe-filter-gi (Depends-on): Likewise.
57135         * modules/pipe-filter-ii (Depends-on): Likewise.
57136         * modules/savewd (Depends-on): Likewise.
57137         * modules/spawn-pipe (Depends-on): Likewise.
57138         * modules/wait-process (Depends-on): Likewise.
57139         * modules/xsetenv (Depends-on): Likewise.
57140         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
57141         * modules/git-merge-changelog (Depends-on): Likewise.
57142         * modules/long-options (Depends-on): Likewise.
57143         * modules/pt_chown (Depends-on): Likewise.
57144         * modules/sysexits (Depends-on): Likewise.
57146         freading: relax license from LGPLv3+ to LGPLv2+
57147         * modules/freading (License): Relax LGPL version.
57149 2011-05-02  Bruno Haible  <bruno@clisp.org>
57151         fchdir: Remove unused dependencies.
57152         * modules/fchdir (Depends-on): Remove include_next.
57154 2011-05-02  Bruno Haible  <bruno@clisp.org>
57156         gnulib-tool: Refactor.
57157         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
57158         from func_emit_autoconf_snippets.
57159         (func_emit_autoconf_snippets): Use it.
57161 2011-05-02  Simon Josefsson  <simon@josefsson.org>
57163         * NEWS: Document removal of 'exit'.
57164         * modules/exit: Remove file.
57166 2011-05-01  Bruno Haible  <bruno@clisp.org>
57168         Update DEPENDENCIES.
57169         * DEPENDENCIES (gettext): Recommend the newest release.
57170         Reported by Simon Josefsson.
57172 2011-05-01  Bruno Haible  <bruno@clisp.org>
57174         gnulib-tool: Reduce code duplication.
57175         * gnulib-tool (func_emit_autoconf_snippets): New function.
57176         (func_import, func_create_testdir): Use it.
57178 2011-04-30  Eric Blake  <eblake@redhat.com>
57180         fclose: don't fail on non-seekable input stream
57181         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
57182         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
57183         since fflush is allowed to fail in that case.
57185 2011-04-30  Bruno Haible  <bruno@clisp.org>
57187         dup3: cleanup
57188         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
57190 2011-04-30  Bruno Haible  <bruno@clisp.org>
57192         netdb: Make it work in C++ mode.
57193         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
57194         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
57195         module.
57196         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
57197         gl_MODULE_INDICATOR_FOR_TESTS.
57198         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
57199         * modules/netdb-c++-tests: New file.
57200         * tests/test-netdb-c++.cc: New file.
57202 2011-04-30  Bruno Haible  <bruno@clisp.org>
57204         New modules 'vfscanf', 'vscanf'.
57205         * modules/vfscanf: New file.
57206         * modules/vscanf: New file.
57207         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
57208         here.
57209         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
57210         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
57212 2011-04-30  Bruno Haible  <bruno@clisp.org>
57214         passfd: Add comments.
57215         * lib/passfd.c: Add comments about platforms.
57217 2011-04-30  Bruno Haible  <bruno@clisp.org>
57219         sys_uio: Make <sys/uio.h> self-contained.
57220         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
57221         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
57223 2011-04-30  Bruno Haible  <bruno@clisp.org>
57225         sys_socket: Ensure 'struct iovec' definition.
57226         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
57227         <sys/socket.h>.
57228         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
57230 2011-04-30  Bruno Haible  <bruno@clisp.org>
57232         sys_uio: Protect definition of 'struct iovec'.
57233         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
57234         it as a C struct.
57236 2011-04-30  Bruno Haible  <bruno@clisp.org>
57238         manywarnings: fix indentation
57239         * m4/manywarnings.m4: Indent by 2 spaces consistently.
57241 2011-04-30  Pádraig Brady  <P@draigBrady.com>
57243         manywarnings: add -Wno-missing-field-initializers if needed.
57244         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
57245         option if it's needed to allow initialization with { 0, }
57247 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
57249         announce-gen: cosmetic improvement
57250         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
57252 2011-04-29  Jim Meyering  <meyering@redhat.com>
57254         vc-list-files: indent with spaces, not TABs
57255         * build-aux/vc-list-files: Convert leading TABs to spaces,
57256         to match the style of most other files in gnulib.
57258         announce-gen: indent with spaces, not TABs
57259         * build-aux/announce-gen: Convert all TABs to spaces, to match
57260         the style of most other files in gnulib.
57262 2011-04-29  Eric Blake  <eblake@redhat.com>
57264         quotearg: avoid uninitialized variable use
57265         * lib/quotearg.c (quoting_options_from_style): Initialize
57266         remaining fields, and ensure that custom styles are only used via
57267         quoting_options rather than quoting_style.
57269 2011-04-29  Jim Meyering  <meyering@redhat.com>
57271         maint.mk: remove unused VC-tag variable
57272         * top/maint.mk (VC-tag): Remove unused variable.
57274 2011-04-29  Bruno Haible  <bruno@clisp.org>
57276         netdb: fix gai_strerror replacements
57277         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
57278         * modules/netdb: Substitute it.
57280 2011-04-29  Jim Meyering  <meyering@redhat.com>
57282         test-getcwd.c: avoid new set-but-not-used warning
57283         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
57284         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
57285         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
57286         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
57288         test-hash.c: avoid a new shadowing warning
57289         * tests/test-hash.c (main): Don't shadow "dup".
57291 2011-04-28  Eric Blake  <eblake@redhat.com>
57293         getaddrinfo: fix gai_strerror signature
57294         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
57295         and work around mingw with UNICODE defined.
57296         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
57297         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
57298         * modules/netdb (Makefile.am): Substitute it.
57299         * lib/netdb.in.h (gai_strerror): Declare replacement.
57300         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
57301         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
57302         the fix.
57304         getsockopt: avoid compiler warning
57305         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
57306         Reported by Matthias Bolte.
57308         tests: drop unused link dependency
57309         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
57310         * modules/dirent-safer-tests (Makefile.am): Likewise.
57311         * modules/fdopendir-tests (Makefile.am): Likewise.
57312         * modules/mkfifoat-tests (Makefile.am): Likewise.
57313         * modules/openat-safer-tests (Makefile.am): Likewise.
57314         * modules/openat-tests (Makefile.am): Likewise.
57315         * modules/readlinkat-tests (Makefile.am): Likewise.
57316         * modules/symlinkat-tests (Makefile.am): Likewise.
57317         * modules/linkat-tests (Makefile.am): Likewise.
57318         (Depends-on): Switch to filenamecat-lgpl.
57319         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
57320         LIBINTL.
57321         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
57322         * tests/test-linkat.c (main): Don't require xalloc.
57324         hash, mgetgroups: drop xalloc dependency
57325         * lib/hash.c (includes): Adjust includes.
57326         * lib/mgetgroups.c (includes): Likewise.
57327         (xgetgroups): Move...
57328         * lib/xgetgroups.c: ...to new file.
57329         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
57330         * modules/xgetgroups: New file, split from...
57331         * modules/mgetgroups: ...here.
57332         (Depends-on): Add xalloc-oversized.
57333         * modules/hash (Depends-on): Likewise.
57334         * modules/hash-tests (Depends-on): Drop xalloc.
57335         (test_hash_LDADD): Drop unused library.
57336         * tests/test-hash.c (main): Break xalloc dependency.
57337         (includes): Drop unused include.
57339         xalloc-oversized: new module
57340         * modules/xalloc-oversized: New module.
57341         * modules/xalloc (Depends-on): Add it.
57342         * lib/xalloc.h (xalloc_oversized): Move...
57343         * lib/xalloc-oversized.h: ...into new file.
57345         utimecmp: drop dependency on xmalloc
57346         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
57347         due to memory pressure.
57348         * modules/utimecmp (Depends-on): Drop xalloc.
57350 2011-04-27  Eric Blake  <eblake@redhat.com>
57352         getcwd: fix mingw bugs
57353         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
57354         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
57355         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
57357 2011-04-27  Bruno Haible  <bruno@clisp.org>
57359         mkstemps: Ensure declaration on MacOS X 10.5.
57360         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
57361         * doc/glibc-functions/mkstemps.texi: Document header file problem on
57362         MacOS X.
57364 2011-04-27  Bruno Haible  <bruno@clisp.org>
57366         mkstemp: More documentation.
57367         * doc/posix-functions/mkstemp.texi: Document header file problem on
57368         MacOS X.
57370 2011-04-27  Bruno Haible  <bruno@clisp.org>
57372         mkstemp: Tweak configure message when cross-compiling.
57373         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
57374         result as a guess.
57376 2011-04-27  Bruno Haible  <bruno@clisp.org>
57378         clean-temp: Clarify what it does.
57379         * lib/clean-temp.h: Add more comments.
57380         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
57381         module.
57382         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
57383         * doc/glibc-functions/mkstemps.texi: Likewise.
57384         * doc/glibc-functions/mkostemps.texi: Likewise.
57386 2011-04-27  Eric Blake  <eblake@redhat.com>
57388         fchdir: avoid extra chdir and fix test
57389         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
57390         getcwd-lgpl.
57391         * lib/fchdir.c (get_name): Any absolute name will do; it does not
57392         have to be canonical.
57393         (canonicalize_file_name): Drop unused macro.
57394         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
57396         filenamecat-lgpl: fix licence
57397         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
57398         when it was first created.
57400         linkat, renameat: add missing dependency
57401         * modules/linkat (Depends-on): Require getcwd-lgpl.
57402         * modules/renameat (Depends-on): Likewise.
57404         tests: reduce dependencies
57405         * tests/test-linkat.c (main): Use lighter-weight getcwd.
57406         * tests/test-renameat.c (main): Likewise.
57407         * modules/linkat-tests (Depends-on): Relax dependency.
57408         * modules/renameat-tests (Depends-on): Likewise.
57409         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
57410         dependency explicit.
57412         save-cwd: reduce default dependency
57413         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
57414         * lib/save-cwd.c: Update comments.
57415         * NEWS: Document the semantic change.
57417         getcwd: enhance tests
57418         * tests/test-getcwd-lgpl.c: New file, taken from...
57419         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
57420         repeat long path stress tests from m4 probe.
57421         * modules/getcwd-lgpl-tests: New module.
57422         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
57423         * m4/getcwd-abort-bug.m4: Update comment.
57424         * m4/getcwd-path-max.m4: Likewise.
57426         getcwd-lgpl: new module
57427         * modules/getcwd-lgpl: New module.
57428         * lib/getcwd-lgpl.c: New file.
57429         * doc/posix-functions/getcwd.texi (getcwd): Document it.
57430         * MODULES.html.sh (lacking POSIX:2008): Likewise.
57431         * modules/getcwd (configure.ac): Set C witness.
57432         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
57434         getcwd: tweak comments
57435         * m4/getcwd-abort-bug.m4: Fix comments.
57436         * m4/getcwd-path-max.m4: Likewise.
57437         * m4/getcwd.m4: Likewise.
57439 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
57440         and Eric Blake  <eblake@redhat.com>
57442         mkstemp: replace if system version uses wrong permissions
57443         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
57444         read/write mode bits set in file created by mkstemp.
57445         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
57447 2011-04-27  Eric Blake  <eblake@redhat.com>
57449         passfd: avoid compiler warning
57450         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
57451         Reported by Laine Stump.
57453 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
57455         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
57456         required by the NetBSD (and perhaps other 4.4BSD derived) join.
57458 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
57459         and Eric Blake  <eblake@redhat.com>
57461         mkstemp: mention clean-temp module
57462         * lib/mkstemp.c: Add comment.
57463         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
57465 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
57467         inttypes: also provide default values for 32-bit tests
57468         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
57469         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
57471 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
57473         strtoumax: remove dependency on strtoimax
57474         This is like the strtoull change of yesterday.
57475         * modules/strtoumax (Files): Add lib/strtoimax.c.
57476         (Depends-on): Remove strtoimax and add verify.
57478         inttypes-incomplete: new module
57479         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
57480         all but the PRI* and SCN* parts of gl_INTTYPES_H.
57481         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
57482         of gl_INTTYPES_H.
57483         (gl_INTTYPES_H): Rewrite in terms of these new macros.
57484         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
57485         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
57486         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
57487         * modules/strtoumax, modules/xstrtol (Depends-on):
57488         Depend on inttypes-incomplete, not inttypes.
57489         * modules/inttypes-incomplete: New module, containing the contents
57490         of the old modules/inttypes module, except that the Files: section
57491         omits m4/inttypes-pri.m4, and the configure.ac section invokes
57492         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
57493         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
57494         (Depends-on): Depend only on inttypes-incomplete.
57495         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
57497         inttypes: omit now-redundant strtoimax and strtoumax work
57498         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
57499         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
57501         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
57502         This supports apps that need pointers to strtoimax and strtoumax,
57503         and ports to HP-UX 11.00 64.bit, which has macros that expand to
57504         nonexistent functions.  See
57505         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
57506         et seq.
57507         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
57508         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
57509         a macro.
57510         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
57512 2011-04-25  Simon Josefsson  <simon@josefsson.org>
57514         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
57516 2011-04-25  Bruno Haible  <bruno@clisp.org>
57518         strtol, strtoul: Mark modules as obsolete.
57519         * modules/strtol (Status, Notice): New sections.
57520         * modules/strtoul (Status, Notice): New sections.
57522 2011-04-25  Bruno Haible  <bruno@clisp.org>
57524         strtod: Remove check for strtod, unless supporting old platforms.
57525         * modules/strtod-obsolete: New file.
57526         * m4/strtod-obsolete.m4: New file.
57527         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
57528         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
57529         * modules/strtod (Depends-on): Add strtod-obsolete.
57530         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
57532 2011-04-25  Bruno Haible  <bruno@clisp.org>
57534         strcase: Make module obsolete.
57535         * modules/strcase (Status, Notice): New sections.
57537 2011-04-25  Bruno Haible  <bruno@clisp.org>
57539         dup2: Remove check for dup2, unless supporting old obsolete platforms.
57540         * modules/dup2-obsolete: New file.
57541         * m4/dup2-obsolete.m4: New file.
57542         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
57543         gl_FUNC_DUP2_OBSOLETE is not also defined.
57544         * modules/dup2 (Depends-on): Add dup2-obsolete.
57545         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
57547 2011-04-25  Bruno Haible  <bruno@clisp.org>
57549         strnlen: Avoid memchr related link error on old obsolete platforms.
57550         * modules/memchr-obsolete: New file.
57551         * m4/memchr-obsolete.m4: New file.
57552         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
57553         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
57554         * modules/memchr (Depends-on): Add memchr-obsolete.
57555         * modules/strnlen (Depends-on): Likewise.
57556         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
57558 2011-04-25  Jim Meyering  <meyering@redhat.com>
57560         maint.mk: makefile_at_at_check extend and clean up
57561         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
57562         in addition to */Makefile.am.
57563         Exempt legitimate uses of @VAR@ notation, e.g.,
57564         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
57565         Remove obsolete coreutils-specific comment.
57566         Prompted by discussion here:
57567         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
57569 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
57571         strtoul: remove dependency on strtol
57572         This is so that 'configure' need not check for strtol merely because
57573         the application needs strtoul.
57574         * modules/strtoul (Files): Add lib/strtol.c.
57575         (Depends-on): Remove strtol.
57577         strtoull: remove dependency on strtoul
57578         This is like the strtoll change.
57579         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
57580         (Depends-on): Remove strtoul.
57582         strtoll: remove dependency on strtol
57583         This is so that 'configure' need not check for strtol merely because
57584         the application needs strtoll.
57585         * modules/strtoll (Files): Add lib/strtol.c.
57586         (Depends-on): Remove strtol.
57588 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57590         inttypes: Move some configure check to module 'imaxdiv'.
57591         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
57592         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
57593         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
57595 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57597         inttypes: Move some configure check to module 'imaxabs'.
57598         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
57599         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
57600         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
57602 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57604         inttypes: Remove configure tests that are not needed since 2009-12-31.
57605         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
57606         gl_cv_header_working_inttypes_h.
57608 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57610         * modules/strnlen (Depends-on): Remove memchr.
57611         The strnlen implementation doesn't need the memchr module's fixes; see
57612         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.
57614         strtol: remove dependency on wchar
57615         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
57616         * modules/strtol (Depends-on): Remove wchar.
57618 2011-04-21  Eric Blake  <eblake@redhat.com>
57620         passfd: fix test regression on Linux
57621         * modules/passfd-tests (configure.ac): Correct socketpair check.
57623         passfd: speed up configure and drop unused code
57624         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
57625         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
57626         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
57627         Instead of probing at configure for unix_scm_rights_bsd44_way,
57628         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
57629         check to a struct member probe.
57630         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
57631         (sendfd, recvfd): Update preprocessor checks.
57632         * modules/passfd (Files): Reflect rename, and drop unused file.
57633         (Depends-on): Drop unused dependency.
57635         passfd: allow compilation on mingw
57636         * modules/sys_socket (Depends-on): Add sys_uio.
57637         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
57638         iovec and a minimal struct msghdr.
57639         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
57640         * tests/test-sys_socket.c (main): Enhance test.
57641         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
57642         guaranteed to provide what we need.
57643         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
57644         * modules/passfd-tests (Depends-on): Add sys_wait.
57645         * tests/test-passfd.c (main): Skip test on mingw, for now.
57646         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
57647         partial 'struct msghdr' implementation.
57649         sys_uio: new module
57650         * modules/sys_uio: New module.
57651         * modules/sys_uio-tests: Likewise.
57652         * lib/sys_uio.in.h: New file.
57653         * m4/sys_uio_h.m4: Likewise.
57654         * tests/test-sys_uio.c: Likewise.
57655         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
57656         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
57658 2011-04-20  Jim Meyering  <meyering@redhat.com>
57660         useless-if-before-free: avoid false-positive
57661         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
57662         disjunct so that it too requires a terminating ";".  Without that,
57663         this script would identify as useless one statement from gcc that
57664         was not:
57665           if (aligned_ptr)
57666             free (((void **) aligned_ptr) [-1]);
57668 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
57670         doc: update users.txt.
57671         * users.txt: Add barcode.
57673 2011-04-19  Bruno Haible  <bruno@clisp.org>
57675         ioctl: Remove link dependency on native Windows.
57676         * lib/fd-hook.h: Renamed from lib/close-hook.h.
57677         (gl_close_fn, gl_ioctl_fn): New types.
57678         (struct fd_hook): Renamed from struct close_hook. Change type of
57679         private_close_fn field. Add private_ioctl_fn field.
57680         (close_hook_fn): Add parameter for primary close method.
57681         (execute_close_hooks, execute_all_close_hooks): Likewise.
57682         (ioctl_hook_fn): New type.
57683         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
57684         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
57685         argument.
57686         (unregister_fd_hook): Renamed from unregister_close_hook.
57687         * lib/fd-hook.c: Renamed from lib/close-hook.c.
57688         Don't include <unistd.h>.
57689         (close): Remove undef.
57690         (anchor): Update.
57691         (execute_close_hooks): Add argument for primary close method.
57692         (execute_all_close_hooks): Likewise.
57693         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
57694         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
57695         argument. Allow each argument to be NULL.
57696         (unregister_fd_hook): Renamed from unregister_close_hook.
57697         * lib/close.c (rpl_close): Pass 'close' function pointer to
57698         execute_all_close_hooks.
57699         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
57700         (primary_ioctl): New function.
57701         (ioctl): Don't call ioctlsocket here. Instead, call
57702         execute_all_ioctl_hooks.
57703         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
57704         close method.
57705         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
57706         (fd_sockets_hook): Renamed from close_sockets_hook.
57707         (gl_sockets_startup, gl_sockets_cleanup): Update.
57708         * modules/fd-hook: Renamed from modules/close-hook. Update.
57709         * modules/close (Depends-on): Add fd-hook, remove close-hook.
57710         * modules/sockets (Depends-on): Likewise.
57711         * modules/ioctl (Depends-on): Add fd-hook.
57712         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
57713         GNULIB_SOCKET.
57715 2011-04-19  Bruno Haible  <bruno@clisp.org>
57717         Move the support of O_NONBLOCK in open() to the 'open' module.
57718         * modules/nonblocking (Depends-on): Remove 'open'.
57719         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
57720         gl_cv_have_open_O_NONBLOCK.
57721         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
57722         O_NONBLOCK support.
57723         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
57725 2011-04-17  Bruno Haible  <bruno@clisp.org>
57727         pipe2: Simplify code.
57728         * lib/pipe2.c (pipe2): Reduce code duplication.
57730 2011-04-17  Bruno Haible  <bruno@clisp.org>
57732         nonblocking: Add comment.
57733         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
57735 2011-04-17  Bruno Haible  <bruno@clisp.org>
57737         nonblocking: Add tests for sockets.
57738         * tests/test-nonblocking-socket.sh: New file.
57739         * tests/test-nonblocking-socket-main.c: New file.
57740         * tests/test-nonblocking-socket-child.c: New file.
57741         * tests/test-nonblocking-socket.h: New file.
57742         * tests/socket-server.h: New file.
57743         * tests/socket-client.h: New file.
57744         * modules/nonblocking-socket-tests: New file.
57745         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
57747 2011-04-17  Bruno Haible  <bruno@clisp.org>
57749         nonblocking: Add tests for pipes.
57750         * tests/test-nonblocking-pipe.sh: New file.
57751         * tests/test-nonblocking-pipe-main.c: New file.
57752         * tests/test-nonblocking-pipe-child.c: New file.
57753         * tests/test-nonblocking-pipe.h: New file.
57754         * tests/test-nonblocking-writer.h: New file.
57755         * tests/test-nonblocking-reader.h: New file.
57756         * tests/test-nonblocking-misc.h: New file.
57757         * modules/nonblocking-pipe-tests: New file.
57758         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
57760 2011-04-16  Bruno Haible  <bruno@clisp.org>
57762         gettext: Clarify the needed programmer actions.
57763         * modules/gettext (Notice): New field.
57764         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
57766 2011-04-16  Bruno Haible  <bruno@clisp.org>
57768         strchrnul: Tweak last commit.
57769         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
57770         bug.
57771         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
57772         as in _GL_FUNCDECL_SYS.
57773         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
57774         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
57776 2011-04-15  Eric Blake  <eblake@redhat.com>
57778         strchrnul: work around cygwin bug
57779         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
57780         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
57781         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
57782         * modules/string (Makefile.am): Substitute it.
57783         * lib/string.in.h (strchrnul): Use it.
57785 2011-04-15  Bruno Haible  <bruno@clisp.org>
57787         Don't require lib/stdio-write.c when only module 'stdio' is used.
57788         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
57789         invocation.
57790         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
57792 2011-04-14  Bruno Haible  <bruno@clisp.org>
57794         Support non-blocking pipe I/O in read() on native Windows.
57795         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
57796         (read): New declaration.
57797         * lib/read.c: New file.
57798         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
57799         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
57800         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
57801         vscanf): New declarations.
57802         * lib/stdio-read.c: New file.
57803         * m4/read.m4: New file.
57804         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
57805         REPLACE_READ.
57806         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
57807         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
57808         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
57809         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
57810         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
57811         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
57812         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
57813         * modules/read: New file.
57814         * modules/nonblocking (Files): Add lib/stdio-read.c.
57815         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
57816         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
57817         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
57818         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
57819         * modules/pread (Depends-on): Add read.
57820         * modules/safe-read (Depends-on): Likewise.
57821         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
57822         gets, scanf, vfscanf, vscanf): Verify signatures.
57823         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
57824         problem with non-blocking pipes.
57825         * doc/posix-functions/fgetc.texi: Likewise.
57826         * doc/posix-functions/fgets.texi: Likewise.
57827         * doc/posix-functions/fread.texi: Likewise.
57828         * doc/posix-functions/fscanf.texi: Likewise.
57829         * doc/posix-functions/getc.texi: Likewise.
57830         * doc/posix-functions/getchar.texi: Likewise.
57831         * doc/posix-functions/gets.texi: Likewise.
57832         * doc/posix-functions/scanf.texi: Likewise.
57833         * doc/posix-functions/vfscanf.texi: Likewise.
57834         * doc/posix-functions/vscanf.texi: Likewise.
57836 2011-04-14  Bruno Haible  <bruno@clisp.org>
57838         Support non-blocking pipe I/O in write() on native Windows.
57839         * lib/write.c (rpl_write): Split a write request that failed merely
57840         because the byte count was larger than the pipe buffer's size.
57841         * doc/posix-functions/write.texi: Mention the problem with large byte
57842         counts.
57844 2011-04-14  Bruno Haible  <bruno@clisp.org>
57846         wchar: Ensure that wchar_t gets defined on uClibc.
57847         * lib/wchar.in.h: On uClibc, include <stddef.h>.
57848         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
57850 2011-04-13  Bruno Haible  <bruno@clisp.org>
57852         safe-write, full-read: Avoid unnecessary compilation units.
57853         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
57854         (Depends-on): Remove safe-read. Add ssize_t.
57855         * modules/full-read (Files): Add lib/full-write.c.
57856         (Depends-on): Add full-write.
57858 2011-04-13  Bruno Haible  <bruno@clisp.org>
57860         Support non-blocking pipe I/O and SIGPIPE in pwrite().
57861         * modules/pwrite (Depends-on): Add 'write'.
57863 2011-04-13  Bruno Haible  <bruno@clisp.org>
57865         Support non-blocking pipe I/O in write() on native Windows.
57866         * lib/unistd.in.h (write): Enable replacement also if
57867         GNULIB_UNISTD_H_NONBLOCKING is 1.
57868         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
57869         (rpl_write): When failing to write on a non-blocking pipe, change
57870         errno from ENOSPC to EAGAIN.
57871         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
57872         putchar, puts, vfprintf, vprintf): Enable replacement also if
57873         GNULIB_STDIO_H_NONBLOCKING is 1.
57874         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
57875         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
57876         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
57877         CALL_WITH_SIGPIPE_EMULATION.
57878         (CALL_WITH_SIGPIPE_EMULATION): Use them.
57879         * m4/nonblocking.m4: New file.
57880         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
57881         for non-blocking I/O support.
57882         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
57883         GNULIB_UNISTD_H_NONBLOCKING.
57884         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
57885         required for non-blocking I/O support.
57886         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
57887         * modules/nonblocking (Files): Add m4/nonblocking.m4,
57888         lib/stdio-write.c, m4/asm-underscore.m4.
57889         (Depends-on): Add stdio, unistd.
57890         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
57891         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
57892         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
57893         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
57894         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
57895         problem with non-blocking pipes.
57896         * doc/posix-functions/fputc.texi: Likewise.
57897         * doc/posix-functions/fputs.texi: Likewise.
57898         * doc/posix-functions/fwrite.texi: Likewise.
57899         * doc/posix-functions/printf.texi: Likewise.
57900         * doc/posix-functions/putc.texi: Likewise.
57901         * doc/posix-functions/putchar.texi: Likewise.
57902         * doc/posix-functions/puts.texi: Likewise.
57903         * doc/posix-functions/vfprintf.texi: Likewise.
57904         * doc/posix-functions/vprintf.texi: Likewise.
57905         * doc/posix-functions/write.texi: Likewise.
57907 2011-04-10  Jim Meyering  <meyering@redhat.com>
57909         maint.mk: prohibit doubled words
57910         Detect them also when they're separated by a newline.
57911         There are 3 ways to customize it:
57912           - disable the test on a per file basis, as usual with rules using
57913             $(VC_LIST_EXCEPT)
57914           - replace the default doubled-word-selecting regexp (affects all files)
57915           - ignore a particular file-vs-doubled-word match
57916         I nearly used that last one to ignore the "is is" match in
57917         coreutils' NEWS file, since the text was "ls -is is ..."
57918         To do that, I would have added this line to cfg.mk:
57919           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
57920         but it would have ignored any "is is" match in NEWS.
57921         Low probability, but still...
57922         Instead, I changed the text, slightly:
57923           -  ls -is is now consistent with ls -lis in ignoring values returned
57924           +  "ls -is" is now consistent with ls -lis in ignoring values returned
57925         * top/maint.mk (prohibit_double_word_RE_): Provide default.
57926         (prohibit_doubled_word_): Define.
57927         (sc_prohibit_doubled_word): New rule.
57928         (sc_prohibit_the_the): Remove.  Subsumed by the above.
57930 2011-04-10  Jim Meyering  <meyering@redhat.com>
57932         maint: fix doubled-word typo in comment
57933         * m4/gethostname.m4: s/is is/it is/
57934         * m4/getdomainname.m4: Likewise.
57936 2011-04-10  Jim Meyering  <meyering@redhat.com>
57938         maint: remove doubled word: s/it it/it/
57939         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
57941 2011-04-10  Jim Meyering  <meyering@redhat.com>
57943         maint.mk: remove useless semicolon and backslash
57944         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
57945         semicolon and backslash.
57947 2011-04-10  Bruno Haible  <bruno@clisp.org>
57949         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
57950         * modules/stdint-tests (Depends-on): Add wchar.
57952 2011-04-10  Jim Meyering  <meyering@redhat.com>
57954         maint: remove doubled words in comments, e.g., s/a a/a/
57955         * lib/strptime.c (day_of_the_week): s/the the/the/
57956         * tests/test-chown.h (test_chown): s/a a/a/
57958         test-chown.h: correct a cast
57959         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
57960         when the destination is a stat.st_gid.
57962 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
57964         getaddrinfo: Fix test for sa_len member.
57965         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
57966         include <sys/types.h> before <sys/socket.h>.
57968 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
57970         maint: change "can not" to "cannot"
57971         * doc/posix-functions/iconv.texi (iconv): This one crossed line
57972         boundaries.
57974 2011-04-09  Jim Meyering  <meyering@redhat.com>
57976         maint: change "a a" to "a"
57977         * tests/test-lchown.h (test_lchown): s/a a/a/
57979         maint.mk: prohibit \<the the\>
57980         * top/maint.mk (sc_prohibit_the_the): New rule.
57982         maint: fix "the the" in comment
57983         * lib/count-one-bits.h: s/the the/the/
57985         maint: change "can not" to "cannot"
57986         But do not change the occurrences in maintain.texi or in
57987         build-aux/po/Makefile.in.in, which I presume comes from gettext.
57988         * doc/gnulib-tool.texi: s/can not/cannot/
57989         * doc/posix-functions/accept.texi (accept): Likewise.
57990         * doc/posix-functions/socket.texi (socket): Likewise.
57991         * lib/mbrtowc.c: Likewise.
57993         maint.mk: prohibit use of "can not"
57994         * top/maint.mk (sc_prohibit_can_not): New rule.
57995         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
57997 2011-04-09  Bruno Haible  <bruno@clisp.org>
57999         careadlinkat: Guard against misuse of careadlinkatcwd.
58000         * lib/careadlinkat.c: Include <stdlib.h>.
58001         (careadlinkatcwd): Check that the fd argument is as expected.
58003 2011-04-09  Bruno Haible  <bruno@clisp.org>
58005         careadlinkat: Use common coding style.
58006         * lib/careadlinkat.c: Move gnulib includes after system includes.
58008 2011-04-09  Bruno Haible  <bruno@clisp.org>
58010         careadlinkat: Clarify specification.
58011         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
58012         (careadlinkatcwd): Add comment.
58013         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
58015 2011-04-09  Bruno Haible  <bruno@clisp.org>
58017         areadlinkat: Avoid link error on many platforms.
58018         * modules/areadlinkat (Depends-on): Add areadlink.
58020 2011-04-09  Bruno Haible  <bruno@clisp.org>
58022         allocator, careadlinkat: Fix double-inclusion guard.
58023         * lib/allocator.h: Fix double-inclusion guard.
58024         * lib/careadlinkat.h: Likewise.
58026 2011-04-09  Bruno Haible  <bruno@clisp.org>
58028         relocatable-prog-wrapper: Update after module 'areadlink' changed.
58029         * lib/relocwrapper.c: Update dependencies hierarchy.
58030         * build-aux/install-reloc: Update list of files to be compiled.
58031         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
58032         lib/allocator.[hc].
58034 2011-04-08  Eric Blake  <eblake@redhat.com>
58036         strftime: silence gnulib-tool warning
58037         * modules/strftime-tests (Depends-on): Drop automatic dependency.
58039 2011-04-08  Bruno Haible  <bruno@clisp.org>
58041         verify: Fix syntax error with GCC 4.6 in C++ mode.
58042         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
58043         (HAVE_STATIC_ASSERT): New macro.
58044         (verify_true, verify): Use 'static_assert' if it is supported and
58045         '_Static_assert' is not supported.
58047 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
58049         allocator: New module.
58050         * modules/allocator, lib/allocator.c: New files.
58051         * lib/allocator.h (stdlib_allocator): New decl.
58052         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
58053         Remove.  Do not include <stdlib.h>.
58054         (careadlinkat): Use stdlib_allocator instead of rolling our own.
58055         * modules/careadlinkat (Files): Remove lib/allocator.h.
58056         (Depends-on): Add allocator.
58058         stdlib: let modules use system malloc, realloc
58059         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
58060         if !_GL_USE_STDLIB_ALLOC.
58061         (malloc, realloc): Limit this change to a smaller scope.
58063         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
58064         (malloc, realloc): Don't #undef; no longer needed.
58065         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58066         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58067         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
58068         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58069         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58070         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58071         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58072         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
58074         careadlinkat: rename members to avoid problem
58075         * lib/allocator.h (struct allocator): Rename members from
58076         malloc/realloc to allocate/reallocate, to avoid problems if malloc
58077         and realloc are #define'd.  Reported by Eric Blake in
58078         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
58079         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
58081 2011-04-08  Eric Blake  <eblake@redhat.com>
58083         nonblocking: reduce dependency
58084         * tests/test-nonblocking.c: Only test sockets when in use.
58085         * modules/nonblocking-tests (Depends-on): Drop socket.
58086         (Makefile.am): Link even if sockets are not present.
58087         * modules/pipe2-tests (Makefile.am): Likewise.
58088         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
58090         pipe2: fix O_NONBLOCK support on mingw
58091         * modules/pipe2 (Depends-on): Add nonblocking.
58092         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
58093         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
58094         * tests/test-nonblocking.c (main): Likewise.
58095         * modules/pipe2-tests (Makefile.am): Avoid link failure.
58097         fcntl-h: fix O_ACCMODE on cygwin
58098         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
58099         * lib/fcntl.in.h (O_ACCMODE): Fix it.
58101         pipe-filter: drop O_NONBLOCK workarounds
58102         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
58103         * modules/pipe-filter-ii (Depends-on): Likewise.
58104         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
58106         nonblocking: provide O_NONBLOCK for mingw
58107         * modules/nonblocking (Depends-on): Add open.
58108         (configure.ac): Set new witness macro.
58109         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
58110         * modules/fcntl-h (Makefile.am): Substitute it.
58111         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
58112         nonblocking module is in use.
58113         * lib/nonblocking.c: Adjust portability test.
58114         * lib/open.c (open): Don't let native open see gnulib flag.
58115         * tests/test-fcntl-h.c (main): Enhance test.
58116         * tests/test-open.h (test_open): Likewise.
58117         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
58119         careadlinkat: fix compilation error on mingw
58120         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
58121         within struct allocator.
58123 2011-04-06  Eric Blake  <eblake@redhat.com>
58125         binary-io: relicense under LGPLv2+
58126         * modules/binary-io (License): Relax to LGPLv2+.
58127         Requested for libvirt, and required by pipe2.
58129 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
58131         verify: use _Static_assert if available
58132         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
58133         (verify_true, verify): Use it if available.  This generates better
58134         diagnostics with GCC 4.6.0 and later.
58136 2011-04-05  Bruno Haible  <bruno@clisp.org>
58138         Remove leftover generated .h files after config.status changed.
58140         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
58141         GL_GENERATE_ALLOCA_H.
58142         * modules/alloca-opt (Makefile.am): Remove alloca.h if
58143         GL_GENERATE_ALLOCA_H evaluates to false.
58145         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
58146         GL_GENERATE_ARGZ_H.
58147         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
58148         evaluates to false.
58150         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
58151         GL_GENERATE_BYTESWAP_H.
58152         * modules/byteswap (Makefile.am): Remove byteswap.h if
58153         GL_GENERATE_BYTESWAP_H evaluates to false.
58155         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
58156         GL_GENERATE_ERRNO_H.
58157         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
58158         evaluates to false.
58160         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
58161         GL_GENERATE_FLOAT_H.
58162         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
58163         evaluates to false.
58165         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
58166         GL_GENERATE_FNMATCH_H.
58167         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
58168         GL_GENERATE_FNMATCH_H evaluates to false.
58170         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
58171         GL_GENERATE_GLOB_H.
58172         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
58173         evaluates to false.
58175         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
58176         automake conditional GL_GENERATE_ICONV_H.
58177         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
58178         evaluates to false.
58180         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
58181         GL_GENERATE_NETINET_IN_H.
58182         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
58183         GL_GENERATE_NETINET_IN_H evaluates to false.
58185         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
58186         conditional GL_GENERATE_PTHREAD_H.
58187         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
58188         * modules/pthread (Makefile.am): Remove pthread.h if
58189         GL_GENERATE_PTHREAD_H evaluates to false.
58191         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
58192         GL_GENERATE_SCHED_H.
58193         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
58194         evaluates to false.
58196         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
58197         conditional GL_GENERATE_SELINUX_CONTEXT_H.
58198         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
58199         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
58201         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
58202         GL_GENERATE_STDARG_H.
58203         * modules/stdarg (Makefile.am): Remove stdarg.h if
58204         GL_GENERATE_STDARG_H evaluates to false.
58206         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
58207         GL_GENERATE_STDBOOL_H.
58208         * modules/stdbool (Makefile.am): Remove stdbool.h if
58209         GL_GENERATE_STDBOOL_H evaluates to false.
58211         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
58212         conditional GL_GENERATE_STDDEF_H.
58213         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
58214         * modules/stddef (Makefile.am): Remove stddef.h if
58215         GL_GENERATE_STDDEF_H evaluates to false.
58217         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
58218         GL_GENERATE_STDINT_H.
58219         * modules/stdint (Makefile.am): Remove stdint.h if
58220         GL_GENERATE_STDINT_H evaluates to false.
58222         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
58223         GL_GENERATE_SYSEXITS_H.
58224         * modules/sysexits (Makefile.am): Remove sysexits.h if
58225         GL_GENERATE_SYSEXITS_H evaluates to false.
58227         Reported by Karl Berry and Ralf Wildenhues.
58229 2011-04-05  Bruno Haible  <bruno@clisp.org>
58231         Ensure to rebuild generated .h files when config.status has changed.
58232         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
58233         config.status.
58234         * modules/ctype (Makefile.am): Likewise.
58235         * modules/dirent (Makefile.am): Likewise.
58236         * modules/errno (Makefile.am): Likewise.
58237         * modules/fcntl-h (Makefile.am): Likewise.
58238         * modules/float (Makefile.am): Likewise.
58239         * modules/getopt-posix (Makefile.am): Likewise.
58240         * modules/glob (Makefile.am): Likewise.
58241         * modules/iconv-h (Makefile.am): Likewise.
58242         * modules/inttypes (Makefile.am): Likewise.
58243         * modules/langinfo (Makefile.am): Likewise.
58244         * modules/locale (Makefile.am): Likewise.
58245         * modules/math (Makefile.am): Likewise.
58246         * modules/netdb (Makefile.am): Likewise.
58247         * modules/netinet_in (Makefile.am): Likewise.
58248         * modules/poll-h (Makefile.am): Likewise.
58249         * modules/pthread (Makefile.am): Likewise.
58250         * modules/pty (Makefile.am): Likewise.
58251         * modules/sched (Makefile.am): Likewise.
58252         * modules/search (Makefile.am): Likewise.
58253         * modules/selinux-h (Makefile.am): Likewise.
58254         * modules/signal (Makefile.am): Likewise.
58255         * modules/spawn (Makefile.am): Likewise.
58256         * modules/stdarg (Makefile.am): Likewise.
58257         * modules/stdbool (Makefile.am): Likewise.
58258         * modules/stddef (Makefile.am): Likewise.
58259         * modules/stdint (Makefile.am): Likewise.
58260         * modules/stdio (Makefile.am): Likewise.
58261         * modules/stdlib (Makefile.am): Likewise.
58262         * modules/string (Makefile.am): Likewise.
58263         * modules/strings (Makefile.am): Likewise.
58264         * modules/sys_file (Makefile.am): Likewise.
58265         * modules/sys_ioctl (Makefile.am): Likewise.
58266         * modules/sys_select (Makefile.am): Likewise.
58267         * modules/sys_socket (Makefile.am): Likewise.
58268         * modules/sys_stat (Makefile.am): Likewise.
58269         * modules/sys_time (Makefile.am): Likewise.
58270         * modules/sys_times (Makefile.am): Likewise.
58271         * modules/sys_utsname (Makefile.am): Likewise.
58272         * modules/sys_wait (Makefile.am): Likewise.
58273         * modules/sysexits (Makefile.am): Likewise.
58274         * modules/termios (Makefile.am): Likewise.
58275         * modules/time (Makefile.am): Likewise.
58276         * modules/unistd (Makefile.am): Likewise.
58277         * modules/wchar (Makefile.am): Likewise.
58278         * modules/wctype-h (Makefile.am): Likewise.
58279         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
58281 2011-04-05  Bruno Haible  <bruno@clisp.org>
58283         pipe2: Relicense under LGPLv2+.
58284         * modules/pipe2 (License): Change to LGPLv2+.
58285         Requested by Eric Blake, for libvirt.
58287 2011-04-05  Bruce Korb  <bkorb@gnu.org>
58289         bootstrap: compute gnulib_extra_files after updating build_aux
58290         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
58291         change build_aux or also supply gnulib_extra_files.  Handle correctly.
58293 2011-04-05  Eric Blake  <eblake@redhat.com>
58295         bootstrap: preserve git whitelist item sorting
58296         * build-aux/bootstrap (sort_patterns): New function.
58297         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
58299 2011-04-05  Simon Josefsson  <simon@josefsson.org>
58301         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
58302         sc_space_tab check.
58304 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
58306         areadlink, areadlinkat: rewrite in terms of careadlinkat
58307         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
58308         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
58309         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
58310         (malloc, realloc): Remove #undefs.
58311         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
58312         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
58313         readlink, ssize_t, stdint, unistd.
58314         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
58315         areadlink, stdint.
58317         careadlinkat: new module
58318         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
58319         * modules/careadlinkat: New files, written by me with
58320         a review and feedback from Ben Pfaff in
58321         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.
58323 2011-04-01  Bruno Haible  <bruno@clisp.org>
58325         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
58326         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
58327         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
58328         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
58329         Reported by Bruce Korb <bruce.korb@gmail.com>.
58331 2011-04-01  Bruno Haible  <bruno@clisp.org>
58333         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
58334         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
58335         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
58336         * modules/wcpcpy (Depends-on): Add extensions.
58337         * modules/wcpncpy (Depends-on): Likewise.
58338         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
58339         systems.
58340         * doc/posix-functions/wcpncpy.texi: Likewise.
58341         * doc/posix-functions/wcwidth.texi: Likewise.
58343 2011-03-31  Eric Blake  <eblake@redhat.com>
58345         nonblocking: fix mingw test failures
58346         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
58347         non-blocking flag on regular file.
58348         (get_nonblocking_flag): Set errno on invalid fd.
58349         * tests/test-nonblocking.c (main): Avoid test failure on
58350         directories if fchdir is not active.
58351         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
58353 2011-03-31  Bruno Haible  <bruno@clisp.org>
58355         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
58356         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
58357         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
58358         Reported by Simon Josefsson <simon@josefsson.org>.
58360 2011-03-31  Bruno Haible  <bruno@clisp.org>
58361         and Eric Blake  <eblake@redhat.com>
58363         nonblocking: new module
58364         * modules/nonblocking: New module.
58365         * modules/nonblocking-tests: Likewise.
58366         * lib/nonblocking.h: New file.
58367         * lib/nonblocking.c: Likewise.
58368         * tests/test-nonblocking.c: New test.
58369         * lib/ioctl.c (ioctl) [mingw]: Update comment.
58371 2011-03-30  Bruno Haible  <bruno@clisp.org>
58373         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
58374         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
58375         instead of 'printf' format for GCC >= 4.4.
58376         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
58377         (fprintf, printf, vfprintf, vprintf): Declare with
58378         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
58379         the system's vfprintf() function.
58380         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
58382 2011-03-30  Eric Blake  <eblake@redhat.com>
58384         passfd: fix scoping bug
58385         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
58386         before sendmsg/recvmsg.
58388         passfd: standardize coding conventions
58389         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
58390         can be learned at compile time.
58391         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
58392         ifdefs.
58393         (sendfd, recvfd): Follow gnulib code conventions.
58395         passfd: fix incorrect sendmsg arguments
58396         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
58397         incorrect msg_controllen value.
58398         * modules/passfd-tests (Depends-on): Check for alarm.
58399         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
58400         Reported by Bastien ROUCARIES.
58402 2011-03-30  Bruno Haible  <bruno@clisp.org>
58404         c-strcasestr: Relicense under LGPLv2+.
58405         * modules/c-strcasestr (License): Change to LGPLv2+.
58406         Requested by Eric Blake, for libvirt.
58408 2011-03-30  Simon Josefsson  <simon@josefsson.org>
58410         * users.txt: Add libidn2.  Fix libtasn1 link.
58412 2011-03-30  Jim Meyering  <meyering@redhat.com>
58414         tests: readlink* ("",... fails with EINVAL on newer kernels
58415         readlink and readlinkat have typically failed with ENOENT for
58416         the invalid, empty file name,  "".  However, with the advent
58417         of linux-2.6.39, they fail with EINVAL.
58418         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
58419         when operating on the empty file name.
58420         * tests/test-readlink.h (test_readlink): Likewise.
58422 2011-03-29  Bruno Haible  <bruno@clisp.org>
58424         Relicense some modules under LGPLv2+, for libidn2.
58425         * modules/array-mergesort (License): Change to LGPLv2+.
58426         * modules/c-strcaseeq (License): Likewise.
58427         * modules/striconveh (License): Likewise.
58428         * modules/striconveha (License): Likewise.
58429         * modules/uniconv/base (License): Likewise.
58430         * modules/uniconv/u8-conv-from-enc (License): Likewise.
58431         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
58432         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
58433         * modules/unictype/base (License): Likewise.
58434         * modules/unictype/bidiclass-of (License): Likewise.
58435         * modules/unictype/category-M (License): Likewise.
58436         * modules/unictype/category-none (License): Likewise.
58437         * modules/unictype/category-of (License): Likewise.
58438         * modules/unictype/category-test (License): Likewise.
58439         * modules/unictype/category-test-withtable (License): Likewise.
58440         * modules/unictype/combining-class (License): Likewise.
58441         * modules/unictype/joiningtype-of (License): Likewise.
58442         * modules/unictype/scripts (License): Likewise.
58443         * modules/uninorm/base (License): Likewise.
58444         * modules/uninorm/canonical-decomposition (License): Likewise.
58445         * modules/uninorm/composition (License): Likewise.
58446         * modules/uninorm/decompose-internal (License): Likewise.
58447         * modules/uninorm/decomposition-table (License): Likewise.
58448         * modules/uninorm/nfc (License): Likewise.
58449         * modules/uninorm/nfd (License): Likewise.
58450         * modules/uninorm/u32-normalize (License): Likewise.
58451         * modules/unistr/base (License): Likewise.
58452         * modules/unistr/u32-cpy (License): Likewise.
58453         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
58454         * modules/unistr/u32-to-u8 (License): Likewise.
58455         * modules/unistr/u32-uctomb (License): Likewise.
58456         * modules/unistr/u8-check (License): Likewise.
58457         * modules/unistr/u8-mblen (License): Likewise.
58458         * modules/unistr/u8-mbtouc (License): Likewise.
58459         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
58460         * modules/unistr/u8-mbtoucr (License): Likewise.
58461         * modules/unistr/u8-prev (License): Likewise.
58462         * modules/unistr/u8-strlen (License): Likewise.
58463         * modules/unistr/u8-to-u32 (License): Likewise.
58464         * modules/unistr/u8-uctomb (License): Likewise.
58465         * modules/unitypes (License): Likewise.
58466         Requested by Simon Josefsson.
58468 2011-03-29  Simon Josefsson  <simon@josefsson.org>
58470         lib-symbol-visibility: Add a notice.
58471         * modules/lib-symbol-visibility (Notice): New field.
58473 2011-03-29  Bruno Haible  <bruno@clisp.org>
58475         getaddrinfo: Doc fix.
58476         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
58477         section "fixed in Gnulib".
58479 2011-03-28  Simon Josefsson  <simon@josefsson.org>
58481         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
58482         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
58484 2011-03-26  Bruno Haible  <bruno@clisp.org>
58486         unictype/property-byname: Reduce the number of load-time relocations.
58487         * lib/unictype/pr_byname.c: Include <stdlib.h>.
58488         (UC_PROPERTY_INDEX_*): New enumeration values.
58489         (uc_property_byname): Convert an index from the lookup table to an
58490         uc_property_t.
58491         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
58492         values.
58494 2011-03-26  Bruno Haible  <bruno@clisp.org>
58496         unictype/property-byname: Allow omitted word separators and aliases.
58497         * lib/unictype/pr_byname.gperf: Add property names without word
58498         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
58499         for 'space'.
58501 2011-03-26  Bruno Haible  <bruno@clisp.org>
58503         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
58504         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
58505         also hyphens to space.
58506         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
58507         without spaces.
58508         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
58510 2011-03-26  Bruno Haible  <bruno@clisp.org>
58512         unictype/joiningtype-byname: Recognize long names as well.
58513         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
58514         a long name.
58515         * lib/unictype/joiningtype_byname.c: Include <string.h>,
58516         unictype/joiningtype_byname.h.
58517         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
58518         * lib/unictype/joiningtype_byname.gperf: New file.
58519         * modules/unictype/joiningtype-byname (Files): Add
58520         lib/unictype/joiningtype_byname.gperf.
58521         (Depends-on): Add gperf.
58522         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
58523         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
58524         long names.
58526         Tests for module 'unictype/joiningtype-longname'.
58527         * modules/unictype/joiningtype-longname-tests: New file.
58528         * tests/unictype/test-joiningtype_longname.c: New file.
58530         New module 'unictype/joiningtype-longname'.
58531         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
58532         * lib/unictype/joiningtype_longname.c: New file.
58533         * modules/unictype/joiningtype-longname: New file.
58534         * modules/unictype/joiningtype-all (Depends-on): Add
58535         unictype/joiningtype-longname.
58537 2011-03-26  Bruno Haible  <bruno@clisp.org>
58539         unictype/bidiclass-byname: Recognize long names as well.
58540         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
58541         name.
58542         * lib/unictype/bidi_byname.c: Include <string.h>,
58543         unictype/bidi_byname.h.
58544         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
58545         * lib/unictype/bidi_byname.gperf: New file.
58546         * modules/unictype/bidiclass-byname (Files): Add
58547         lib/unictype/bidi_byname.gperf.
58548         (Depends-on): Add gperf.
58549         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
58550         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
58551         long names.
58553         Tests for module 'unictype/bidiclass-longname'.
58554         * modules/unictype/bidiclass-longname-tests: New file.
58555         * tests/unictype/test-bidi_longname.c: New file.
58557         New module 'unictype/bidiclass-longname'.
58558         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
58559         * lib/unictype/bidi_longname.c: New file.
58560         * modules/unictype/bidiclass-longname: New file.
58561         * modules/unictype/bidiclass-all (Depends-on): Add
58562         unictype/bidiclass-longname.
58564 2011-03-26  Bruno Haible  <bruno@clisp.org>
58566         unictype/bidi*: Rename modules.
58567         * modules/unictype/bidiclass-all: Renamed from
58568         modules/unictype/bidicategory-all.
58569         * modules/unictype/bidiclass-name: Renamed from
58570         modules/unictype/bidiclass-name.
58571         (Description): Update.
58572         * modules/unictype/bidiclass-name-tests: Renamed from
58573         modules/unictype/bidicategory-name-tests.
58574         * modules/unictype/bidiclass-byname: Renamed from
58575         modules/unictype/bidicategory-byname.
58576         (Description): Update.
58577         * modules/unictype/bidiclass-byname-tests: Renamed from
58578         modules/unictype/bidicategory-byname-tests.
58579         * modules/unictype/bidiclass-of: Renamed from
58580         modules/unictype/bidicategory-of.
58581         (Description): Update.
58582         * modules/unictype/bidiclass-of-tests: Renamed from
58583         modules/unictype/bidicategory-of-tests.
58584         * modules/unictype/bidiclass-test: Renamed from
58585         modules/unictype/bidicategory-test.
58586         (Description): Update.
58587         * modules/unictype/bidiclass-test-tests: Renamed from
58588         modules/unictype/bidicategory-test-tests.
58589         * modules/unictype/bidicategory-all: New file, a simple redirection.
58590         * modules/unictype/bidicategory-name: Likewise.
58591         * modules/unictype/bidicategory-byname: Likewise.
58592         * modules/unictype/bidicategory-of: Likewise.
58593         * modules/unictype/bidicategory-test: Likewise.
58594         * modules/unictype/property-bidi-* (Dependencies): Update.
58595         * lib/unictype/bidi_*.c: Update comment.
58597 2011-03-26  Bruno Haible  <bruno@clisp.org>
58599         unictype/bidi*: Rename functions, part 2.
58600         * modules/unictype/bidicategory-name (configure.ac): Update required
58601         libunistring version.
58602         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
58604 2011-03-25  Bruno Haible  <bruno@clisp.org>
58606         New module 'unictype/combining-class-all'.
58607         * modules/unictype/combining-class-all: New file.
58609         Tests for module 'unictype/combining-class-byname'.
58610         * modules/unictype/combining-class-byname-tests: New file.
58611         * tests/unictype/test-combiningclass_byname.c: New file.
58613         New module 'unictype/combining-class-byname'.
58614         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
58615         * lib/unictype/combiningclass_byname.c: New file.
58616         * lib/unictype/combiningclass_byname.gperf: New file.
58617         * modules/unictype/combining-class-byname: New file.
58619         Tests for module 'unictype/combining-class-longname'.
58620         * modules/unictype/combining-class-longname-tests: New file.
58621         * tests/unictype/test-combiningclass_longname.c: New file.
58623         New module 'unictype/combining-class-longname'.
58624         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
58625         * lib/unictype/combiningclass_longname.c: New file.
58626         * modules/unictype/combining-class-longname: New file.
58628         Tests for module 'unictype/combining-class-name'.
58629         * modules/unictype/combining-class-name-tests: New file.
58630         * tests/unictype/test-combiningclass_name.c: New file.
58632         New module 'unictype/combining-class-name'.
58633         * lib/unictype.in.h (uc_combining_class_name): New declaration.
58634         * lib/unictype/combiningclass_name.c: New file.
58635         * modules/unictype/combining-class-name: New file.
58637 2011-03-25  Bruno Haible  <bruno@clisp.org>
58639         unictype/combining-class: Rename source files.
58640         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
58641         of unictype/combining.h.
58642         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
58643         Update.
58644         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
58645         * modules/unictype/combining-class (Description): Fix.
58646         (Files, Makefile.am): Update.
58647         * tests/unictype/test-combiningclass.c: Renamed from
58648         tests/unictype/test-combining.c.
58649         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
58651 2011-03-25  Bruno Haible  <bruno@clisp.org>
58653         unictype: Update list of canonical combining classes.
58654         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
58656 2011-03-25  Bruno Haible  <bruno@clisp.org>
58658         unictype/category-byname: Recognize long names as well.
58659         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
58660         a long name.
58661         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
58662         unictype/categ_byname.h.
58663         (UC_CATEGORY_INDEX_*): New enumeration values.
58664         (uc_general_category_byname): Use uc_general_category_lookup and
58665         convert from index to value.
58666         * lib/unictype/categ_byname.gperf: New file.
58667         * modules/unictype/category-byname (Files): Add
58668         lib/unictype/categ_byname.gperf.
58669         (Depends-on): Add gperf.
58670         (Makefile.am): Add rule for generating unictype/categ_byname.h.
58671         * tests/unictype/test-categ_byname.c (main): Test the recognition of
58672         long names.
58674         Tests for module 'unictype/category-longname'.
58675         * modules/unictype/category-longname-tests: New file.
58676         * tests/unictype/test-categ_longname.c: New file.
58678         New module 'unictype/category-longname'.
58679         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
58680         * lib/unictype/categ_longname.c: New file.
58681         * modules/unictype/category-longname: New file.
58682         * modules/unictype/category-all (Depends-on): Add it.
58684 2011-03-25  Bruno Haible  <bruno@clisp.org>
58686         Tests for module 'unictype/category-LC'.
58687         * modules/unictype/category-LC-tests: New file.
58688         * tests/unictype/test-categ_LC.c: New file, automatically generated.
58690         New module 'unictype/category-LC'.
58691         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
58692         (UC_CATEGORY_LC): New declaration.
58693         (UC_CASED_LETTER): New macro.
58694         * lib/gen-uni-tables.c (is_category_LC): New function.
58695         (output_categories): Also handle category LC.
58696         (UC_CATEGORY_MASK_LC): New enumeration value.
58697         (general_category_byname): Also handle category LC.
58698         * lib/unictype/categ_LC.c: New file.
58699         * lib/unictype/categ_LC.h: New file, automatically generated.
58700         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
58701         category LC.
58702         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
58703         * modules/unictype/category-LC: New file.
58704         * modules/unictype/category-byname (Depends-on): Add
58705         unictype/category-LC.
58706         * modules/unictype/category-all (Depends-on): Likewise.
58708 2011-03-25  Eric Blake  <eblake@redhat.com>
58710         xmalloc: revert yesterday's regression
58711         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
58712         realloc's underlying behavior (allowing allocation of zero-size
58713         objects, especially if malloc-gnu is also in use).
58715 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
58717         maint.mk: add missing version to VC-tag
58718         * top/maint.mk: git tag was missing actual tag name; add it.
58720         valgrind: do leak checking, and exit with code 1 on error (not 0)
58721         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
58722         to VALGRIND.
58724 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
58726         posix-modules: say what it does.
58727         * posix-modules: Add a line to the --help output saying what it does.
58729 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
58731         xmalloc: Do not leak if underlying realloc is C99 compatible.
58732         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
58733         This avoids a leak on C99-based systems.  See
58734         <http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.
58736 2011-03-24  Eric Blake  <eblake@redhat.com>
58738         realloc: document portability problem
58739         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
58740         passing 0 size to realloc.
58742 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
58744         doc: update users.txt
58745         * users.txt: Add cvsps, tmpwatch
58747 2011-03-23  Matt Rice  <ratmice@gmail.com>
58749         doc: update users.txt
58750         * users.txt: Add gdb.
58752 2011-03-23  Jim Meyering  <meyering@redhat.com>
58754         doc: update users.txt
58755         Looking through matches up to the following URL (there are still
58756         several more pages), I found several projects that use gnulib:
58757         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
58758         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
58759         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
58761 2011-03-22  Bruno Haible  <bruno@clisp.org>
58763         unictype/bidi*: Rename functions.
58764         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
58765         uc_bidi_class, uc_is_bidi_class): New declarations.
58766         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
58767         uc_bidi_category_byname.
58768         (uc_bidi_category_byname): New function.
58769         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
58770         u_bidi_category_name.
58771         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
58772         (uc_bidi_category_name): New function.
58773         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
58774         uc_bidi_category.
58775         (uc_bidi_category): New function.
58776         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
58777         uc_is_bidi_category. Invoke uc_bidi_class.
58778         (uc_is_bidi_category): New function.
58779         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
58780         instead of uc_bidi_category_byname.
58781         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
58782         instead of uc_bidi_category_name.
58783         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
58784         uc_bidi_category.
58785         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
58786         instead of uc_is_bidi_category.
58788 2011-03-21  Bruno Haible  <bruno@clisp.org>
58790         New module 'unictype/joininggroup-all'.
58791         * modules/unictype/joininggroup-all: New file.
58793         Tests for module 'unictype/joininggroup-of'.
58794         * modules/unictype/joininggroup-of-tests: New file.
58795         * tests/unictype/test-joininggroup_of.c: New file.
58796         * tests/unictype/test-joininggroup_of.h: New file, automatically
58797         generated by gen-uni-tables.
58799         New module 'unictype/joininggroup-of'.
58800         * modules/unictype/joininggroup-of: New file.
58801         * lib/unictype/joininggroup_of.c: New file.
58802         * lib/unictype/joininggroup_of.h: New file, automatically generated by
58803         gen-uni-tables.
58805         Tests for module 'unictype/joininggroup-byname'.
58806         * modules/unictype/joininggroup-byname-tests: New file.
58807         * tests/unictype/test-joininggroup_byname.c: New file.
58809         New module 'unictype/joininggroup-byname'.
58810         * modules/unictype/joininggroup-byname: New file.
58811         * lib/unictype/joininggroup_byname.c: New file.
58812         * lib/unictype/joininggroup_byname.gperf: New file.
58814         Tests for module 'unictype/joininggroup-name'.
58815         * modules/unictype/joininggroup-name-tests: New file.
58816         * tests/unictype/test-joininggroup_name.c: New file.
58818         New module 'unictype/joininggroup-name'.
58819         * modules/unictype/joininggroup-name: New file.
58820         * lib/unictype/joininggroup_name.c: New file.
58821         * lib/unictype/joininggroup_name.h: New file.
58823         New module 'unictype/joiningtype-all'.
58824         * modules/unictype/joiningtype-all: New file.
58826         Tests for module 'unictype/joiningtype-of'.
58827         * modules/unictype/joiningtype-of-tests: New file.
58828         * tests/unictype/test-joiningtype_of.c: New file.
58829         * tests/unictype/test-joiningtype_of.h: New file, automatically
58830         generated by gen-uni-tables.
58832         New module 'unictype/joiningtype-of'.
58833         * modules/unictype/joiningtype-of: New file.
58834         * lib/unictype/joiningtype_of.c: New file.
58835         * lib/unictype/joiningtype_of.h: New file, automatically generated by
58836         gen-uni-tables.
58838         Tests for module 'unictype/joiningtype-byname'.
58839         * modules/unictype/joiningtype-byname-tests: New file.
58840         * tests/unictype/test-joiningtype_byname.c: New file.
58842         New module 'unictype/joiningtype-byname'.
58843         * modules/unictype/joiningtype-byname: New file.
58844         * lib/unictype/joiningtype_byname.c: New file.
58846         Tests for module 'unictype/joiningtype-name'.
58847         * modules/unictype/joiningtype-name-tests: New file.
58848         * tests/unictype/test-joiningtype_name.c: New file.
58850         New module 'unictype/joiningtype-name'.
58851         * modules/unictype/joiningtype-name: New file.
58852         * lib/unictype/joiningtype_name.c: New file.
58854         unictype: Add support for Arabic shaping properties.
58855         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
58856         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
58857         declarations.
58858         (UC_JOINING_GROUP_*): New enumeration values.
58859         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
58860         declarations.
58861         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
58862         (unicode_joining_type): New variable.
58863         (UC_JOINING_GROUP_*): New enumeration values.
58864         (unicode_joining_group): New variable.
58865         (fill_arabicshaping, joining_type_as_c_identifier,
58866         output_joining_type_test, output_joining_type,
58867         joining_group_as_c_identifier, output_joining_group_test,
58868         output_joining_group): New functions.
58869         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
58870         fill_arabicshaping and output_joining_type_test, output_joining_type,
58871         output_joining_group_test, output_joining_group.
58872         Reported by Simon Josefsson.
58874 2011-03-21  Jim Meyering  <meyering@redhat.com>
58876         strftime: fix a bug in yesterday's change
58877         * lib/strftime.c (add): Accommodate width's initial value of -1.
58878         Otherwise, nstrftime would copy uninitialized data into
58879         the result buffer.
58881 2011-03-21  Jim Meyering  <meyering@redhat.com>
58883         tests: add strftime-tests module
58884         * tests/test-strftime.c: New file.
58885         * modules/strftime-tests: New module.
58887 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
58889         strftime: don't assume a byte count fits in 'int'
58890         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
58891         found this problem by static analysis, using gcc -Wstrict-overflow
58892         (GCC 4.5.2, x86-64).  This reported an optimization that depended
58893         on an integer overflow having undefined behavior, but it turns out
58894         that the argument is a size, which might not fit in 'int' anyway,
58896 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
58898         stdio: don't require ignore_value around fwrite
58900         This patch works around libc bug 11959
58901         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
58902         Without this patch, applications must often write
58903         ignore_value (fwrite (...)) even though the ignore_value is
58904         not helpful here.  It's common to write many objects, using
58905         fwrite/printf/etc., and then use ferror to detect output error.
58907         I considered making this patch optional, but decided against it,
58908         because libc is obviously being inconsistent here: there is no
58909         reason libc should insist that user code must inspect fwrite
58910         return's value without also insisting that it inspect printf's,
58911         putchar's, etc.  If user code wants to have a strict style where
58912         all these functions' values are checked (so that ferror need not
58913         be checked), we could add support for that style in a new gnulib
58914         module, but in the meantime it's better to be consistent and to
58915         support common usage.
58917         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
58918         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
58919         that we are compiling in checking mode, and if not C++, and
58920         if not already wrapping fwrite for some other reason.
58921         (fwrite): #define to rpl_fwrite if the latter is defined.
58923 2011-03-20  Bruno Haible  <bruno@clisp.org>
58925         verror: Fix compilation error introduced on 2011-02-13.
58926         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
58927         instead of __attribute__.
58928         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
58930 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
58931             Bruno Haible  <bruno@clisp.org>
58933         socklen: do not depend on sys_socket
58934         While trying to modify Emacs to use gnulib's socklen module,
58935         I discovered a circular dependency: socklen depends on sys_socket
58936         and vice versa.  Emacs can use socklen, but it does not need
58937         sys_socket because it has its own substitute for sys/socket.h.
58938         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
58939         gl_TYPE_SOCKLEN_T.
58940         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
58941         gl_PREREQ_SYS_H_SOCKET.
58942         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
58943         gl_PREREQ_SYS_H_SOCKET.
58944         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
58945         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
58946         * modules/socklen (Depends-on): Do not depend on sys_socket.
58947         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
58949 2011-03-20  Jim Meyering  <meyering@redhat.com>
58951         maint.mk: sort file names *after* new transformation
58952         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
58953         prefix would have led to an unwarranted failure in GNU parted.
58954         Sort after that transformation.
58956 2011-03-19  Jim Meyering  <meyering@redhat.com>
58958         maint.mk: fix po-file syntax-check rule
58959         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
58960         Patch by Bruno Haible.
58962 2011-03-19  Bruno Haible  <bruno@clisp.org>
58964         socklen: Update comment.
58965         * m4/socklen.m4: Update comment about platforms.
58967 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
58968             Bruno Haible  <bruno@clisp.org>
58970         inet_ntop, inet_pton: Simplify.
58971         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
58972         documented to provide socklen_t and we already depend on sys_socket.
58973         * modules/inet_pton (Depends-on): Likewise.
58974         * lib/arpa_inet.in.h: Adjust comment.
58976 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
58977             Bruno Haible  <bruno@clisp.org>
58979         netdb: Simplify.
58980         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
58981         documented to provide socklen_t and we already depend on sys_socket.
58982         * lib/netdb.in.h: Adjust comment.
58984 2011-03-19  Bruno Haible  <bruno@clisp.org>
58986         sys_socket, netdb: Document problem with socklen_t.
58987         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
58988         platforms.
58989         * doc/posix-headers/netdb.texi: Likewise.
58991 2011-03-18  Eric Blake  <eblake@redhat.com>
58993         maint.mk: let po check work in VPATH build
58994         * top/maint.mk (po_file): Allow cfg.mk override.
58995         (sc_po_check): Allow VPATH use.
58996         Reported by Jiri Denemark.
58998 2011-03-16  Jim Meyering  <meyering@redhat.com>
59000         maint.mk: allow fine-grained syntax-check exclusion via Make variables
59001         Before, you would have had to create one .x-sc_ file per rule in order
59002         to exempt offending files.  Now, you may instead use a Make variable --
59003         usually defined in cfg.mk -- whose name identifies the affected rule.
59004         * top/maint.mk (_sc_excl): Define.
59005         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
59006         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
59008 2011-03-13  Bruno Haible  <bruno@clisp.org>
59010         ignore-value tests: Avoid warnings.
59011         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
59012         empty for gcc < 3.4.
59014 2011-03-13  Bruno Haible  <bruno@clisp.org>
59016         passfd: Fix link error on Solaris.
59017         * modules/passfd (Description): Correct.
59018         (Depends-on): Add socketlib.
59019         (Link): New section.
59020         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
59022 2011-03-13  Bruno Haible  <bruno@clisp.org>
59024         passfd: Fix link error on AIX 5.2.
59025         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
59027 2011-03-13  Bruno Haible  <bruno@clisp.org>
59029         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
59030         * lib/sys_socket.in.h: Include <stddef.h>.
59031         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
59032         CMSG_FIRSTHDR. Remove unused variable.
59034 2011-03-13  Bruno Haible  <bruno@clisp.org>
59036         passfd: Fix compilation error on OpenBSD.
59037         * lib/passfd.c: Include <sys/uio.h>.
59039 2011-03-13  Bruno Haible  <bruno@clisp.org>
59041         passfd test: Fix warnings.
59042         * tests/test-passfd.c: Include <sys/wait.h>.
59043         (main): Fix typo.
59045 2011-03-13  Bruno Haible  <bruno@clisp.org>
59047         passfd module, part 4, tweaks.
59048         * tests/test-passfd.c: Reorder includes.
59049         (main): Fix perror and printf calls.
59051 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
59053         passfd module, part 4.
59054         * modules/passfd-tests: New file.
59055         * tests/test-passfd.c: New file.
59057 2011-03-13  Jim Meyering  <meyering@redhat.com>
59059         Makefile: rely on GNU make; derive syntax-check rule names
59060         Rather than requiring that each sc_ rule be listed as a dependent
59061         of "check", use features of GNU make to derive the list.
59062         * Makefile (syntax-check-rules): Define.
59063         (check): Depend on the new variable, not the hard-coded list.
59065 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
59066             Bruno Haible  <bruno@clisp.org>
59068         passfd module, part 3.
59069         * lib/passfd.h (recvfd): Add a flags argument.
59070         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
59071         (recvfd): Add a flags argument.
59072         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
59073         exists.
59074         * modules/passfd (Depends-on): Add cloexec.
59075         Suggested by Eric Blake.
59077 2011-03-13  Bruno Haible  <bruno@clisp.org>
59079         passfd module, part 2, tweaks.
59080         * modules/passfd (Files): Reorder.
59081         (Depends-on): Remove errno.
59082         (Include): Remove <sys/socket.h>, <sys/un.h>.
59083         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
59084         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
59085         specification header. Include <sys/socket.h> always. Don't include
59086         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
59087         (sendfd): Clarify that it sets errno when it fails.
59088         (recvfd): Fix specification.
59090 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
59092         passfd module, part 2.
59093         * modules/passfd: New file.
59094         * lib/passfd.h: New file.
59095         * lib/passfd.c: New file.
59097 2011-03-12  Bruno Haible  <bruno@clisp.org>
59099         wcswidth, mbswidth: Avoid integer overflow.
59100         * lib/wcswidth.c: Include <limits.h>.
59101         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
59102         * lib/mbswidth.c: Include <limits.h>.
59103         (mbsnwidth): Avoid 'int' overflow.
59104         Reported by Jim Meyering.
59106 2011-03-12  Bruno Haible  <bruno@clisp.org>
59108         futimens, utimensat: Avoid endless recursion on Solaris 10.
59109         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
59110         Solaris.
59111         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
59112         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
59114 2011-03-11  Jim Meyering  <meyering@redhat.com>
59116         maint.mk: relax a regexp to accommodate other formatting styles
59117         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
59118         between "ngettext" and the following "(".
59120 2011-03-11  Pádraig Brady  <P@draigBrady.com>
59122         maint.mk: suppress a false positive warning
59123         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
59124         diagnostics are marked with ngettext.
59126 2011-03-10  Eric Blake  <eblake@redhat.com>
59128         wchar: add explicit dependencies, for Tru64
59129         * modules/mbmemcasecoll (Depends-on): Add wchar.
59130         * modules/mbtowc (Depends-on): Likewise.
59131         * modules/vasnprintf (Depends-on): Likewise.
59132         * modules/unistdio/u-printf-args (Depends-on): Likewise.
59133         * modules/wctomb (Depends-on): Likewise.
59134         Reported by Peter O'Gorman.
59136 2011-03-08  Bruno Haible  <bruno@clisp.org>
59138         passfd module, part 1, tweaks.
59139         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
59140         Improve indentation. Improve AC_MSG_CHECKING messages.
59141         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
59142         gl_SOCKET_FAMILIES.
59144 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
59146         passfd module, part 1.
59147         * m4/afunix.m4: New file.
59148         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
59149         sockets.
59151 2011-03-08  Bruno Haible  <bruno@clisp.org>
59153         regex-quote: New API.
59154         * lib/regex-quote.h: Include <stdbool.h>.
59155         (struct regex_quote_spec): New type.
59156         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
59157         New declarations.
59158         (regex_quote_length, regex_quote_copy, regex_quote): Take a
59159         'const struct regex_quote_spec *' argument.
59160         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
59161         (pcre_special): New constant.
59162         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
59163         New functions.
59164         (regex_quote_length, regex_quote_copy, regex_quote): Take a
59165         'const struct regex_quote_spec *' argument.
59166         * modules/regex-quote (Depends-on): Add stdbool.
59167         * tests/test-regex-quote.c (check): Update for new API. Add test for
59168         anchored results.
59169         * NEWS: Mention the API change.
59170         Reported by Reuben Thomas and Eric Blake.
59172 2011-03-06  Bruno Haible  <bruno@clisp.org>
59174         regex-quote: Fix creation of POSIX extended regular expressions.
59175         * lib/regex-quote.c (ere_special): Add grouping and alternation
59176         operators.
59178 2011-03-05  Bruno Haible  <bruno@clisp.org>
59180         doc: Improve doc regarding autopoint vs. gnulib.
59181         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
59182         disable autopoint while running autoreconf.
59183         Suggested by Ralf Wildenhues.
59185 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59187         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
59188         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
59190 2011-03-03  Bruce Korb  <bkorb@gnu.org>
59192         parse-duration: remove xalloc.h dependency
59193         * lib/parse-duration.c (parse_period): handle NULL return from
59194         strdup instead of calling xstrdup().
59195         * modules/parse-duration: remove "xalloc" dependency
59197 2011-03-03  Matthew Booth  <mbooth@redhat.com>
59199         bootstrap: honor m4_base when running aclocal
59200         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
59202 2011-03-02  Jim Meyering  <meyering@redhat.com>
59204         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
59205         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
59206         on request from Matt Booth.
59208 2011-03-01  Eric Blake  <eblake@redhat.com>
59210         test-link: work on Hurd
59211         * tests/test-link.h (test_link): Hurd rejects linking directories
59212         with EISDIR instead of the POSIX-mandated EPERM.
59214 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
59216         stdio: simplify by moving files to printf-posix, sigpipe
59217         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
59218         since this symbol is needed only if printf is replaced.
59219         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
59220         Require gl_ASM_SYMBOL_PREFIX.
59221         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
59222         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
59223         (Depends-on): Add 'raise'.
59224         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
59225         * modules/stdio (Files): Remove lib/stdio-write.c,
59226         m4/asm-underscore.m4.
59227         (Depends-on): Remove 'raise'.
59229         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
59230         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
59231         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
59232         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
59234 2011-02-28  Bruno Haible  <bruno@clisp.org>
59236         localcharset: Assume ANSI C behaviour of free().
59237         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
59238         calling free().
59239         Suggested by Simon Josefsson <simon@josefsson.org>.
59241 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
59242             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
59243             Bruno Haible  <bruno@clisp.org>  (tiny change)
59245         On Cygwin, use /proc file system instead of win32 API.
59246         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
59247         Win32 file names.
59248         (DllMain): Simplify by removing Cygwin specific code.
59249         (find_shared_library_fullname): Use Linux specific implementation also
59250         for Cygwin.
59251         (get_shared_library_fullname): Update accordingly.
59252         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
59253         Win32 file names.
59254         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
59255         Cygwin specific code.
59257 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
59258             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
59260         Fix OpenMP flag detection for various Fortran compilers.
59261         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
59262         OpenMP-conditional compilation construct, to force compile
59263         failure with missing OpenMP flag.
59264         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
59266 2011-02-25  Eric Blake  <eblake@redhat.com>
59268         strstr: expand test coverage
59269         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
59270         compilation.
59271         * tests/test-memmem.c (main): Duplicate tests.
59272         * tests/test-strcasestr.c (main): Likewise.
59273         * tests/test-c-strcasestr.c (main): Likewise.
59275 2011-02-25  Jim Meyering  <meyering@redhat.com>
59277         maint.mk: detect missing-NL-at-EOF, too
59278         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
59279         it also detects when a file lacks a newline at EOF.
59280         (require_exactly_one_NL_at_EOF_): Renamed from
59281         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
59282         since people may well have .x-sc_... file names tied to the
59283         existing name.  Suggested by Eric Blake.
59285 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
59287         dirname: move m4/dos.m4 functionality into lib/dosname.h
59289         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
59290         extracts symbols from it, puts them into config.h; but it's much
59291         easier to use the symbols directly.  filename.h already does this,
59292         but it disagrees with dos.m4 in some respects.  This patch
59293         introduces a different include file dosname.h that packages up
59294         dos.m4, and then later we can work on merging filename.h and
59295         dosname.h.  Applications that need only the easy-to-configure
59296         symbols should consider including dosname.h rather than dirname.h.
59297         * NEWS: Mention incompatible changes.
59298         * m4/dos.m4: Remove.
59299         * lib/dosname.h, modules/dosname: New files.
59300         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
59301         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
59302         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
59303         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
59304         Include dosname.h, not dirname.h.
59305         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
59306         Include dosname.h, for definitions of symbols like ISSLASH
59307         that used to be in config.h.
59308         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
59309         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
59310         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
59311         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
59312         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
59313         * modules/rmdir (Files): Likewise.
59314         * modules/stat (Files): Likewise.
59315         * modules/unlink (Files): Likewise.
59316         * modules/dirname-lgpl (Depends-on): Add dosname.
59317         * modules/lstat (Depends-on): Likewise.
59318         * modules/openat (Depends-on): Likewise.
59319         * modules/rmdir (Depends-on): Likewise.
59320         * modules/savewd (Depends-on): Likewise.
59321         * modules/stat (Depends-on): Likewise.
59322         * modules/unlink (Depends-on): Likewise.
59323         * modules/openat (Depends-on): Remove dirname-lgpl.
59324         * modules/savewd (Depends-on): Likewise.
59325         * tests/test-dirname.c: Do not use removed symbols like
59326         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
59327         the remaining symbols, e.g., ISSLASH ('\\').
59329 2011-02-25  Eric Blake  <eblake@redhat.com>
59331         strstr: revert patches that introduced bug and pessimization
59332         * lib/str-two-way.h: Add another reference.
59333         (two_way_short_needle, two_way_long_needle): Revert changes from
59334         2011-02-24; they pessimize search speed.
59335         (critical_factorization): Partially revert changes from
59336         2010-06-22; they violate the requirement that the left half of the
59337         needle be smaller than the period of the needle.
59339 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
59341         filenamecat: remove unnecessary dependency on dirname-lgpl
59342         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
59343         is no direct dependency, just an indirect one via filenamecat-lgpl.
59345         remove: remove unnecessary use of m4/dos.m4
59346         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
59347         * modules/remove (FILES): Remove m4/dos.m4.
59349         * lib/openat-proc.c: Don't include dirname.h; not needed.
59351         backupfile: remove unnecessary use of m4/dos.m4
59352         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
59353         of its symbols are used by the backupfile code.  backupfile.c does
59354         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
59355         for the rare case of programs that want all their backup file
59356         names to live within 8+3 limits, and dos.m4 doesn't address that.
59357         * modules/backupfile (Files): Remove m4/dos.m4.
59359 2011-02-24  Jim Meyering  <meyering@redhat.com>
59361         strstr: fix a bug whereby strstr would mistakenly return NULL
59362         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
59363         in period calculation.
59364         (two_way_long_needle): Likewise.
59365         The original problem was reported by Mike Stump in
59366         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
59367         Ralf Wildenhues provided the short needle and haystack.
59368         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
59369         Add a more involved test to trigger the bug in two_way_long_needle.
59371 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
59373         gnulib-tool: remove use of bold display in help screen
59374         * gnulib-tool (func_usage): Do not use bold display anymore in the
59375         help screen.  That was just meant to be a temporary emphasis for a
59376         backward-incompatible change.
59378 2011-02-23  Bruno Haible  <bruno@clisp.org>
59380         Fix misindentation of preprocessor directives.
59381         * lib/argp-namefrob.h: Reindent preprocessor directives.
59382         * lib/getopt_int.h (struct _getopt_data): Likewise.
59383         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
59384         * lib/vasnprintf.c (decode_long_double): Likewise.
59385         * tests/test-argmatch.c: Insert blank lines, for clarity.
59386         * tests/test-exclude.c: Likewise.
59388 2011-02-22  Bruno Haible  <bruno@clisp.org>
59390         ioctl: Fix for MacOS X in 64-bit mode.
59391         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
59392         value.
59393         Suggested by Eric Blake.
59394         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
59396 2011-02-22  Jim Meyering  <meyering@redhat.com>
59398         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
59399         * Makefile (sc_cpp_indent_check): Don't limit the check to files
59400         in lib/.
59402 2011-02-22  Eric Blake  <eblake@redhat.com>
59404         maint: avoid any CDPATH issue
59405         * Makefile (sc_cpp_indent_check): Anchor cd argument.
59407         maint: adjust cpp indentation for my modules, as well
59408         * Makefile (sc_cpp_indent_check): Add my name.
59409         * lib/fbufmode.c: Filter through cppi.
59410         * lib/fpurge.c: Likewise.
59411         * lib/freadable.c: Likewise.
59412         * lib/freading.c: Likewise.
59413         * lib/fwritable.c: Likewise.
59414         * lib/fwriting.c: Likewise.
59415         * lib/sigaction.c: Likewise.
59417 2011-02-22  Jim Meyering  <meyering@redhat.com>
59419         maint: adjust cpp indentation to reflect nesting depth
59420         I.e., in a block of code that begins with an unnested "#if",
59421         put one space between the "#" in column 1 and following token.
59422         For example,
59423         -#include <sys/vfs.h>
59424         +# include <sys/vfs.h>
59425         Do this only in .c files that are part of a module I maintain.
59426         * lib/linkat.c: Filter through cppi.
59427         * lib/nanosleep.c: Likewise.
59428         * lib/openat.c: Likewise.
59429         * lib/openat-die.c: Likewise.
59430         * lib/dup3.c: Likewise.
59431         * lib/fchownat.c: Likewise.
59432         * lib/flock.c: Likewise.
59433         * lib/fsync.c: Likewise.
59434         * lib/fts.c: Likewise.
59435         * lib/getpass.c: Likewise.
59436         * lib/gettimeofday.c: Likewise.
59437         * lib/userspec.c: Likewise.
59438         * Makefile (sc_cpp_indent_check): New rule, to check this.
59440 2011-02-22  Bruno Haible  <bruno@clisp.org>
59442         New module 'wctomb'.
59443         * lib/stdlib.in.h (wctomb): New declaration.
59444         * lib/wctomb.c: New file.
59445         * lib/wctomb-impl.h: New file.
59446         * m4/wctomb.m4: New file.
59447         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
59448         REPLACE_WCTOMB.
59449         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
59450         REPLACE_WCTOMB.
59451         * modules/wctomb: New file.
59452         * tests/test-stdlib-c++.cc: Test signature of wctomb.
59453         * doc/posix-functions/wctomb.texi: Mention the new module.
59454         * modules/wctob (Depends-on): Add wctomb.
59456 2011-02-22  Bruno Haible  <bruno@clisp.org>
59458         New module 'mbtowc'.
59459         * lib/stdlib.in.h (mbtowc): New declaration.
59460         * lib/mbtowc.c: New file.
59461         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
59462         * m4/mbtowc.m4: New file.
59463         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
59464         REPLACE_MBTOWC.
59465         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
59466         REPLACE_MBTOWC.
59467         * modules/mbtowc: New file.
59468         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
59469         * doc/posix-functions/mbtowc.texi: Mention the new module.
59470         * modules/btowc (Depends-on): Add mbtowc.
59472 2011-02-22  Bruno Haible  <bruno@clisp.org>
59474         wcrtomb: Add more tests for native Windows platforms.
59475         * tests/test-wcrtomb-w32-1.sh: New file.
59476         * tests/test-wcrtomb-w32-2.sh: New file.
59477         * tests/test-wcrtomb-w32-3.sh: New file.
59478         * tests/test-wcrtomb-w32-4.sh: New file.
59479         * tests/test-wcrtomb-w32-5.sh: New file.
59480         * tests/test-wcrtomb-w32.c: New file.
59481         * modules/wcrtomb-tests (Files): Add them.
59482         (Makefile.am): Arrange to run these tests.
59483         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
59484         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
59486 2011-02-20  Bruno Haible  <bruno@clisp.org>
59488         wcrtomb: Enhance test.
59489         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
59491 2011-02-20  Bruno Haible  <bruno@clisp.org>
59493         mbrtowc: Tiny optimization.
59494         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
59496 2011-02-20  Jim Meyering  <meyering@redhat.com>
59498         test-exclude.c: remove unmatched #endif
59499         * tests/test-exclude.c: Remove stray #endif, left over from
59500         the change of a week ago.
59502 2011-02-19  Jim Meyering  <meyering@redhat.com>
59504         git-version-gen: skip "-dirty" check when appropriate
59505         * build-aux/git-version-gen: Don't run any git commands when the
59506         version string comes from .tarball-version.  Prior to this, we
59507         would run git update-index --refresh even from a just-unpacked
59508         tarball directory, and that could affect a .git/ directory in a
59509         parent of the build directory.  Reported by Mike Frysinger.
59511 2011-02-19  Bruno Haible  <bruno@clisp.org>
59513         unictype/property-byname: Reduce the size of the 'data' segment.
59514         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
59516 2011-02-19  Bruno Haible  <bruno@clisp.org>
59518         unictype/scripts: Reduce the size of the 'data' segment.
59519         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
59520         '%pic'.
59521         * lib/unictype/scripts_byname.gperf: Regenerated.
59523 2011-02-19  Bruno Haible  <bruno@clisp.org>
59525         stdint: Update documentation.
59526         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
59528 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
59530         stdint: omit redundant check for wchar.h
59531         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
59532         always tests whether wchar.h exists, so remove the now-redundant test.
59534 2011-02-18  Bruno Haible  <bruno@clisp.org>
59536         stdint: Cut dependency to module 'wchar'.
59537         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
59538         include the necessary prerequisites.
59539         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
59540         * modules/stdint (Depends-on): Remove wchar.
59541         (Makefile.am): Substitute HAVE_WCHAR_H.
59542         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
59544 2011-02-18  Eric Blake  <eblake@redhat.com>
59546         longlong: skip, rather than fail, on cross-compilation
59547         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
59548         when cross-compiling; regression from 2011-02-16.
59550 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
59552         * NEWS: Mention 2011-02-08 change to stdlib.
59554 2011-02-17  Bruno Haible  <bruno@clisp.org>
59556         getloadavg: Add comments about platforms.
59557         * m4/getloadavg.m4: Add comment.
59558         * lib/getloadavg.c: Likewise.
59560 2011-02-17  Bruno Haible  <bruno@clisp.org>
59562         getloadavg: Fix link error on Solaris 2.6.
59563         * modules/getloadavg (Link): New section.
59564         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
59565         linking test-getloadavg.
59566         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
59567         getloadavg.
59569 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
59571         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
59572         It was 'int', but this doesn't match the IRIX 6.5 manual.
59573         Suggested by Bruno Haible in
59574         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.
59576 2011-02-17  Bruno Haible  <bruno@clisp.org>
59578         havelib: Fix comments.
59579         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
59580         change.
59582 2011-02-17  Bruno Haible  <bruno@clisp.org>
59584         havelib: Update config.rpath.
59585         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
59587 2011-02-17  Bruno Haible  <bruno@clisp.org>
59589         getloadavg test: Add some plausibility checks.
59590         * tests/test-getloadavg.c (check_avg): Print a warning when the value
59591         is improbable.
59593 2011-02-16  Eric Blake  <eblake@redhat.com>
59595         maintainer-makefile: make syntax-check a no-op from tarballs
59596         * top/maint.mk (no-vc-detected): New rule.
59597         (local-checks-available): Use it to avoid hanging if someone tries
59598         'make syntax-check' from a tarball.  Also append to any non-syntax
59599         checks already defined in cfg.mk.
59601 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
59603         longlong: tune, particularly for common case of c99
59605         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
59606         or running anything if c99, or if unsigned long long int does not
59607         work.  In either case, we know the answer without further tests.
59608         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
59609         it at most once, and use its results for both long long int and
59610         unsigned long long int.  This is more likely to be efficient in
59611         the common case where the program wants to check for both long
59612         long int and unsigned long long int.
59613         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
59614         since the answer is already known.
59616 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
59618         getloadavg: set errno
59619         * lib/getloadavg.c: Set errno when returning -1.  If no other
59620         error number looks appropriate, set it to ENOSYS if the getloadavg
59621         looks like it can't possibly ever work, ENOTSUP otherwise.
59622         Suggested by Bruno Haible in
59623         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.
59625         getloadavg: trim unused parts and speed up 'configure'
59626         * NEWS: Document this.
59627         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
59628         always compiled if getloadavg is absent.
59629         Move test code to ...
59630         * tests/test-getloadavg.c: New file, containing previous
59631         contents of test from lib/getloadavg.c.  It also contains
59632         suggestions by Bruno Haible in
59633         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
59634         * modules/getloadavg-tests: New file.
59635         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
59636         Do tests in the same order as they're needed for getloadavg.c.
59637         Omit setgid-related tests that generate symbols KMEM_GROUP,
59638         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
59639         Do only the tests that are needed to see whether the system has
59640         getloadavg, moving the other tests into ...
59641         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
59642         NLIST_NAME_UNION; nobody should be using it.  Do not define
59643         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
59644         relevant, as the user of this module shouldn't care how getloadavg
59645         is implemented.
59647         getloadavg: omit unused var
59648         * lib/getloadavg.c (getloadavg): Omit unused local variable.
59650 2011-02-15  Jim Meyering  <meyering@redhat.com>
59652         doc: update users.txt
59653         * users.txt: Update iwhd's URL.
59655 2011-02-13  Bruno Haible  <bruno@clisp.org>
59657         Consistent macro naming for macros that use GCC __attribute__.
59658         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
59659         _ATTRIBUTE_NONNULL_.
59660         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
59661         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
59662         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
59663         ATTRIBUTE_DEPRECATED.
59664         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
59665         ATTRIBUTE_NORETURN.
59666         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59667         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59668         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59669         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59670         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
59671         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
59672         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
59673         ATTRIBUTE_SENTINEL.
59674         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
59675         ATTRIBUTE_RETURN_CHECK.
59676         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
59677         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
59678         ATTRIBUTE_NORETURN.
59679         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
59680         Reported by Paul Eggert.
59682 2011-02-13  Bruno Haible  <bruno@clisp.org>
59684         Don't interfere with a program's definition of __attribute__.
59685         * lib/argp.h (__attribute__): Remove definition.
59686         (_GL_ATTRIBUTE_FORMAT): New macro.
59687         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
59688         * lib/argp-fmtstream.h (__attribute__): Remove definition.
59689         (_GL_ATTRIBUTE_FORMAT): New macro.
59690         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
59691         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
59692         GCC 3 or newer.
59693         * lib/error.h (__attribute__): Remove definition.
59694         (_GL_ATTRIBUTE_FORMAT): New macro.
59695         (error, error_at_line): Use it.
59696         * lib/hash.h (__attribute__): Remove definition.
59697         (ATTRIBUTE_WUR): Update definition. Define always.
59698         * lib/openat.h (__attribute__): Remove definition.
59699         (ATTRIBUTE_NORETURN): Update definition. Define always.
59700         * lib/sigpipe-die.h (__attribute__): Remove definition.
59701         (ATTRIBUTE_NORETURN): Update definition. Define always.
59702         * lib/vasnprintf.h (__attribute__): Remove definition.
59703         (_GL_ATTRIBUTE_FORMAT): New macro.
59704         (asnprintf, vasnprintf): Use it.
59705         * lib/xalloc.h (__attribute__): Remove definition.
59706         (ATTRIBUTE_NORETURN): Update definition. Define always.
59707         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
59708         * lib/xmemdup0.h (__attribute__): Remove definition.
59709         (ATTRIBUTE_NORETURN): Update definition. Define always.
59710         * lib/xprintf.h (__attribute__): Remove definition.
59711         (_GL_ATTRIBUTE_FORMAT): New macro.
59712         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
59713         * lib/xstrtol.h (__attribute__): Remove definition.
59714         (ATTRIBUTE_NORETURN): Update definition. Define always.
59715         * lib/xvasprintf.h (__attribute__): Remove definition.
59716         (_GL_ATTRIBUTE_FORMAT): New macro.
59717         (xasprintf, xvasprintf): Use it.
59718         * tests/test-argmatch.c (__attribute__): Remove definition.
59719         (ATTRIBUTE_NORETURN): Update definition. Define always.
59720         * tests/test-exclude.c (__attribute__): Remove definition.
59721         (ATTRIBUTE_NORETURN): Update definition. Define always.
59722         Reported by Paul Eggert.
59724 2011-02-13  Bruno Haible  <bruno@clisp.org>
59726         mbrtowc: Add more tests for native Windows platforms.
59727         * tests/test-mbrtowc-w32-1.sh: New file.
59728         * tests/test-mbrtowc-w32-2.sh: New file.
59729         * tests/test-mbrtowc-w32-3.sh: New file.
59730         * tests/test-mbrtowc-w32-4.sh: New file.
59731         * tests/test-mbrtowc-w32-5.sh: New file.
59732         * tests/test-mbrtowc-w32.c: New file.
59733         * modules/mbrtowc-tests (Files): Add them.
59734         (Makefile.am): Arrange to run these tests.
59735         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
59736         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
59738 2011-02-13  Bruno Haible  <bruno@clisp.org>
59740         mbrtowc: Work around native Windows bug.
59741         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
59742         guess when no suitable locale for testing was found.
59743         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
59745 2011-02-13  Bruno Haible  <bruno@clisp.org>
59747         mbsinit: Work around mingw bug.
59748         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
59749         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
59750         Windows.
59751         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
59753 2011-02-13  Bruno Haible  <bruno@clisp.org>
59755         mbsinit: Don't crash for a NULL argument.
59756         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
59757         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
59759 2011-02-13  Bruno Haible  <bruno@clisp.org>
59761         Don't interfere with a program's definition of __attribute__.
59762         * lib/stdio.in.h (__attribute__): Remove definition.
59763         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
59764         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
59765         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
59766         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
59767         * lib/string.in.h (__attribute__): Remove definition.
59768         Reported by Paul Eggert.
59770 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
59772         stdlib: don't get in the way of non-GCC __attribute__
59773         See thread starting at
59774         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
59775         Revert previous stdlib change, installing the following instead:
59776         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
59777         to get in the way of a non-GCC compiler that supports __attribute__.
59778         (_GL_ATTRIBUTE_RETURN): New macro.
59779         (_Exit): Use it instead of __attribute__.
59781 2011-02-12  Bruno Haible  <bruno@clisp.org>
59783         quotearg test: Avoid test failure on mingw.
59784         * tests/test-quotearg.sh: Convert the locale identifier from native
59785         Windows syntax to Unix syntax.
59787 2011-02-12  Bruno Haible  <bruno@clisp.org>
59789         setlocale: Prefer gnulib's override over libintl's override.
59790         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
59791         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
59792         GNULIB_defined_setlocale is set.
59794 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
59796         stdlib: support non-GCC __attribute__
59798         Fix a serious and tricky problem encountered when attempting to
59799         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
59800         5.5, but it crashed due to memory corruption on Solaris 10 with
59801         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
59802         bits that are otherwise zero.  This tagging is optional inside
59803         Emacs but is preferred and is used when __attribute__ ((__aligned
59804         (8))) works, as it does with both recent-enough GCC and with Sun C
59805         5.11.  However, Sun C 5.11 is not GCC and does not #define
59806         __GNUC__ and __GNUC_MINOR__.
59808         When I added the getloadavg module to Emacs, it brought in
59809         stdlib.in.h, which contained this fragment:
59811            #ifndef __attribute__
59812            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
59813            #  define __attribute__(Spec)   /* empty */
59814            # endif
59815            #endif
59817         When files that include <stdlib.h> were compiled with Sun C 5.11,
59818         the above code disabled __attribute__ ((__aligned (8))), which
59819         caused variables to not be properly aligned, which eventually led
59820         to the pointer corruption mentioned above.  (This was a bit hard
59821         to diagnose, unfortunately.)
59823         Several "#define __attribute__(X) /* empty */" code snippets need
59824         to be eradicated from Gnulib to work with non-GCC compilers that
59825         support __attribute__.  The Autoconf way to do this is to test for
59826         each kind of attribute that we want support for, and selectively
59827         enable that in source code.
59829         Fix this problem just for stdlib.h, by adding a test for the
59830         __noreturn__ attribute, and change stdlib.in.h to use that test
59831         when needed.  This technique can be easily generalized to the
59832         other *.in.h files and attributes, and a similar technique can be
59833         used for *.h and *.c files.  This patch is enough to solve the
59834         problem for Emacs + getloadavg, and I thought I'd publish it for
59835         feedback before undertaking further, similar fixes in other
59836         modules.
59838         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
59839         because it's not needed for stdlib.h.  It merely substitutes the
59840         value directly into stdlib.h.  We may well need to #define it, or
59841         similar symbols, for other modules, but it's nice to also have an
59842         option to not #define it for applications like Emacs that do not
59843         need it.
59845         * lib/stdlib.in.h (__attribute__): Do not #define.
59846         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
59847         be defined only if the _Exit module is also used.
59848         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
59849         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
59850         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
59851         platforms.
59852         * modules/_Exit (Files): Add m4/attribute.m4.
59853         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
59854         * m4/attribute.m4: New file.
59856 2011-02-12  Bruno Haible  <bruno@clisp.org>
59858         wcsrtombs: Work around bug on native Windows.
59859         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
59860         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
59861         instead of len.
59862         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
59864 2011-02-12  Bruno Haible  <bruno@clisp.org>
59866         mbsrtowcs: Work around bug on native Windows.
59867         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
59868         against mingw bug.
59869         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
59871 2011-02-12  Bruno Haible  <bruno@clisp.org>
59873         Avoid setlocale bugs in tests.
59874         * modules/btowc (Dependencies): Add setlocale.
59875         * modules/c-strcase (Dependencies): Likewise.
59876         * modules/mbmemcasecmp (Dependencies): Likewise.
59877         * modules/mbmemcasecoll (Dependencies): Likewise.
59878         * modules/mbrtowc (Dependencies): Likewise.
59879         * modules/mbscasecmp (Dependencies): Likewise.
59880         * modules/mbscasestr (Dependencies): Likewise.
59881         * modules/mbschr (Dependencies): Likewise.
59882         * modules/mbscspn (Dependencies): Likewise.
59883         * modules/mbsinit (Dependencies): Likewise.
59884         * modules/mbsncasecmp (Dependencies): Likewise.
59885         * modules/mbsnrtowcs (Dependencies): Likewise.
59886         * modules/mbspbrk (Dependencies): Likewise.
59887         * modules/mbspcasecmp (Dependencies): Likewise.
59888         * modules/mbsrchr (Dependencies): Likewise.
59889         * modules/mbsrtowcs (Dependencies): Likewise.
59890         * modules/mbsspn (Dependencies): Likewise.
59891         * modules/mbsstr (Dependencies): Likewise.
59892         * modules/nl_langinfo (Dependencies): Likewise.
59893         * modules/quotearg (Dependencies): Likewise.
59894         * modules/unicase/locale-language (Dependencies): Likewise.
59895         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
59896         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
59897         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
59898         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
59899         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
59900         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
59901         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
59902         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
59903         * modules/vasnprintf-posix (Dependencies): Likewise.
59904         * modules/wcrtomb (Dependencies): Likewise.
59905         * modules/wcsnrtombs (Dependencies): Likewise.
59906         * modules/wcsrtombs (Dependencies): Likewise.
59908 2011-02-12  Bruno Haible  <bruno@clisp.org>
59910         setlocale: Workaround native Windows bug.
59911         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
59912         succeeds but sets LC_CTYPE to "C", report a failure.
59913         * tests/test-setlocale2.sh: New file.
59914         * tests/test-setlocale2.c: New file.
59915         * modules/setlocale-tests (Files): Add the new files.
59916         (Makefile.am): Enable test-setlocale2.sh test.
59917         * doc/posix-functions/setlocale.texi: Mention workaround.
59919 2011-02-11  Bruno Haible  <bruno@clisp.org>
59921         Tests for module 'setlocale'.
59922         * modules/setlocale-tests: New file.
59923         * tests/test-setlocale1.sh: New file.
59924         * tests/test-setlocale1.c: New file.
59926         New module 'setlocale'.
59927         * lib/locale.in.h (setlocale): New declaration.
59928         * lib/setlocale.c: New file, based on
59929         gettext/gettext-runtime/intl/setlocale.c.
59930         * m4/setlocale.m4: New file.
59931         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
59932         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
59933         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
59934         REPLACE_SETLOCALE.
59935         * modules/setlocale: New file.
59936         * tests/test-locale-c++.cc: Test the declaration of setlocale.
59937         * doc/posix-functions/setlocale.texi: Mention the new module.
59939 2011-02-11  Bruno Haible  <bruno@clisp.org>
59941         Prepare for locale dependent tests on mingw.
59942         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
59943         because it has the wrong locale encoding.
59944         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
59945         French_France.1252 instead of "fr".
59946         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
59947         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
59948         because it has the wrong locale encoding.
59949         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
59950         native Windows, try Turkish_Turkey.65001.
59951         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
59952         Chinese_China.54936.
59954         Prepare for locale dependent tests on mingw.
59955         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
59956         differently.
59957         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
59958         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
59959         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
59960         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59962 2011-02-11  Eric Blake  <eblake@redhat.com>
59964         strptime: avoid compiler warnings
59965         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
59966         compiler warnings about dead code.
59967         Reported by Daniel P. Berrange.
59969 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
59971         doc: update users.txt
59972         * users.txt: Add rcs.
59974 2011-02-10  John W. Eaton  <jwe@gnu.org>
59976         doc: update users.txt
59977         * users.txt: Add octave.
59979 2011-02-10  Jim Meyering  <meyering@redhat.com>
59981         doc: update users.txt
59982         * users.txt: Add iwhd.
59984 2011-02-09  Bruno Haible  <bruno@clisp.org>
59986         gnulib-tool: Make copyright notice adjustment more robust.
59987         * gnulib-tool (func_import): In sed_transform_main_lib_file,
59988         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
59989         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
59990         License".
59991         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
59993 2011-02-06  Bruno Haible  <bruno@clisp.org>
59995         New module 'towctrans'.
59996         * modules/towctrans: New file.
59997         * lib/wctype.in.h (towctrans): New declaration.
59998         * lib/towctrans.c: New file.
59999         * lib/towctrans-impl.h: New file.
60000         * m4/towctrans.m4: New file.
60001         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
60002         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
60003         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
60004         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
60005         * doc/posix-functions/towctrans.texi: Mention the new module.
60007 2011-02-06  Bruno Haible  <bruno@clisp.org>
60009         New module 'wctrans'.
60010         * modules/wctrans: New file.
60011         * lib/wctype.in.h (wctrans): New declaration.
60012         * lib/wctrans.c: New file.
60013         * lib/wctrans-impl.h: New file.
60014         * m4/wctrans.m4: New file.
60015         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
60016         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
60017         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
60018         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
60019         * doc/posix-functions/wctrans.texi: Mention the new module.
60021 2011-02-06  Bruno Haible  <bruno@clisp.org>
60023         New module 'iswctype'.
60024         * modules/iswctype: New file.
60025         * lib/wctype.in.h (iswctype): New declaration.
60026         * lib/iswctype.c: New file.
60027         * lib/iswctype-impl.h: New file.
60028         * m4/iswctype.m4: New file.
60029         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
60030         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
60031         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
60032         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
60033         * doc/posix-functions/iswctype.texi: Mention the new module and the
60034         HP-UX 11.00 problem.
60036 2011-02-06  Bruno Haible  <bruno@clisp.org>
60038         New module 'wctype'.
60039         * modules/wctype: Change to represent the wctype() substitute.
60040         * lib/wctype.in.h (wctype): New declaration.
60041         * lib/wctype.c: New file.
60042         * lib/wctype-impl.h: New file.
60043         * m4/wctype.m4: New file.
60044         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
60045         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
60046         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
60047         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
60048         * doc/posix-functions/wctype.texi: Mention the new module and the
60049         HP-UX 11.00 problem.
60051 2011-02-06  Bruno Haible  <bruno@clisp.org>
60053         wctype-h: Ensure wctype_t and wctrans_t are defined.
60054         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
60055         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
60056         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
60057         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
60058         HAVE_WCTRANS_T.
60059         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
60061 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
60063         flock: fix license typo
60065         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
60066         omitted.
60068 2011-02-08  Bruno Haible  <bruno@clisp.org>
60070         Split large sed scripts, for HP-UX sed.
60071         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
60072         to avoid HP-UX limit of 99 commands, in the near future.
60073         * modules/stdlib (Makefile.am): Likewise.
60074         * modules/unistd (Makefile.am): Likewise.
60075         * modules/wchar (Makefile.am): Likewise.
60076         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
60077         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
60078         <http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.
60080 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
60081             Bruno Haible  <bruno@clisp.org>
60083         stdlib: improve random_r modularization
60084         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
60085         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
60086         you also need the random_r module to get this material right.
60087         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
60088         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
60089         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
60091 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
60093         stdlib: don't depend on stdint
60094         * lib/stdlib.in.h: Don't include <stdint.h> merely because
60095         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
60096         be independent of whether stdint.h is needed.
60097         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
60098         here, instead of ...
60099         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
60100         struct random_data should be using the random_r module, not just
60101         the stdlib module (which wouldn't make sense: what package needs
60102         just struct random_data without also needing random_r?).
60103         * modules/stdlib (Depends-on): Remove stdint.
60105         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
60106         See the thread rooted at
60107         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
60108         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
60109         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
60110         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
60111         __VMS)); previously it was always included (via fcntl--.h).
60112         (getloadavg): Do not use c_strtod.  Instead, approximate it by
60113         hand; this is good enough for load averages.  Also, do not use
60114         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
60115         flags directly if available and don't bother otherwise.  (Packages
60116         that need the extra reliability should use the modules that define
60117         these flags on older platforms that lack them.)
60118         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
60119         fcntl-safer.
60121 2011-02-08  Jim Meyering  <meyering@redhat.com>
60123         di-set.h, ino-map.h: add multiple-inclusion guard
60124         Technically, the guard is required only for ino-map.h, due to its
60125         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
60126         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
60127         * lib/ino-map.h: Likewise.
60129 2011-02-06  Bruno Haible  <bruno@clisp.org>
60131         iswblank: Ensure declaration on glibc systems.
60132         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
60133         * modules/iswblank (Dependencies): Add 'extensions'.
60134         * doc/posix-functions/iswblank.texi: Document the glibc problem.
60136 2011-02-06  Bruno Haible  <bruno@clisp.org>
60138         New module 'iswblank'.
60139         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
60140         * modules/iswblank: New file.
60141         * modules/wctype-h (Files): Remove lib/iswblank.c.
60142         (Makefile.am): Substitute GNULIB_ISWBLANK.
60143         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
60144         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
60145         (gl_WCTYPE_H_DEFAULTS): New macro.
60146         (gl_WCTYPE_H): Require it. Remove iswblank related code.
60147         * modules/iswblank-tests: New file.
60148         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
60149         * tests/test-wctype-h.c (main): Remove iswblank tests.
60150         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
60151         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
60152         of 'wctype-h'.
60153         * NEWS: Mention the change.
60154         * modules/mbchar (Depends-on): Add iswblank.
60156 2011-02-08  Bruno Haible  <bruno@clisp.org>
60158         di-set tests: Refactor.
60159         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
60160         unnecessary includes.
60161         (ASSERT): Remove macro.
60162         (main): Make C90 compliant by avoiding variable declaration after
60163         statement.
60164         * modules/di-set-tests (Files): Add tests/macros.h.
60166 2011-02-08  Bruno Haible  <bruno@clisp.org>
60168         ino-map tests: Refactor.
60169         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
60170         unnecessary includes.
60171         (ASSERT): Remove macro.
60172         (main): Make C90 compliant by avoiding variable declaration after
60173         statement.
60174         * modules/ino-map-tests (Files): Add tests/macros.h.
60176 2011-02-08  Jim Meyering  <meyering@redhat.com>
60178         di-set: add "const" to a cast
60179         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
60180         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
60182 2011-02-06  Bruno Haible  <bruno@clisp.org>
60184         Rename module 'wctype' to 'wctype-h'.
60185         * modules/wctype-h: Renamed from modules/wctype.
60186         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
60187         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
60188         (Files, Depends-on, Makefile.am): Update.
60189         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
60190         (Files, Makefile.am): Update.
60191         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
60192         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
60193         * doc/posix-headers/wctype.texi: Update.
60194         * doc/posix-functions/iswalnum.texi: Update.
60195         * doc/posix-functions/iswalpha.texi: Update.
60196         * doc/posix-functions/iswblank.texi: Update.
60197         * doc/posix-functions/iswcntrl.texi: Update.
60198         * doc/posix-functions/iswdigit.texi: Update.
60199         * doc/posix-functions/iswgraph.texi: Update.
60200         * doc/posix-functions/iswlower.texi: Update.
60201         * doc/posix-functions/iswprint.texi: Update.
60202         * doc/posix-functions/iswpunct.texi: Update.
60203         * doc/posix-functions/iswspace.texi: Update.
60204         * doc/posix-functions/iswupper.texi: Update.
60205         * doc/posix-functions/iswxdigit.texi: Update.
60206         * doc/posix-functions/towlower.texi: Update.
60207         * doc/posix-functions/towupper.texi: Update.
60208         * NEWS: Mention the change.
60209         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
60210         * modules/mbchar (Dependencies): Likewise.
60211         * modules/mbswidth (Dependencies): Likewise.
60212         * modules/quotearg (Dependencies): Likewise.
60213         * modules/regex (Dependencies): Likewise.
60214         * modules/wcscasecmp (Dependencies): Likewise.
60215         * modules/wcsncasecmp (Dependencies): Likewise.
60216         * modules/wcwidth (Dependencies): Likewise.
60218 2011-02-06  Bruno Haible  <bruno@clisp.org>
60220         New module 'wcswidth'.
60221         * modules/wcswidth: New file.
60222         * lib/wchar.in.h (wcswidth): New declaration.
60223         * lib/wcswidth.c: New file.
60224         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
60225         * m4/wcswidth.m4: New file.
60226         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
60227         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
60228         REPLACE_WCSWIDTH.
60229         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
60230         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
60231         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
60232         * doc/posix-functions/wcswidth.texi: Mention the new module.
60234 2011-02-06  Bruno Haible  <bruno@clisp.org>
60236         New module 'wcstok'.
60237         * modules/wcstok: New file.
60238         * lib/wchar.in.h (wcstok): New declaration.
60239         * lib/wcstok.c: New file.
60240         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
60241         * m4/wcstok.m4: New file.
60242         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
60243         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
60244         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
60245         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
60246         * doc/posix-functions/wcstok.texi: Mention the new module.
60248 2011-02-06  Bruno Haible  <bruno@clisp.org>
60250         New module 'wcsstr'.
60251         * modules/wcsstr: New file.
60252         * lib/wchar.in.h (wcsstr): New declaration.
60253         * lib/wcsstr.c: New file.
60254         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
60255         * m4/wcsstr.m4: New file.
60256         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
60257         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
60258         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
60259         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
60260         * doc/posix-functions/wcsstr.texi: Mention the new module.
60262 2011-02-06  Bruno Haible  <bruno@clisp.org>
60264         New module 'wcspbrk'.
60265         * modules/wcspbrk: New file.
60266         * lib/wchar.in.h (wcspbrk): New declaration.
60267         * lib/wcspbrk.c: New file.
60268         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
60269         * m4/wcspbrk.m4: New file.
60270         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
60271         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
60272         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
60273         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
60274         * doc/posix-functions/wcspbrk.texi: Mention the new module.
60276 2011-02-06  Bruno Haible  <bruno@clisp.org>
60278         New module 'wcsspn'.
60279         * modules/wcsspn: New file.
60280         * lib/wchar.in.h (wcsspn): New declaration.
60281         * lib/wcsspn.c: New file.
60282         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
60283         * m4/wcsspn.m4: New file.
60284         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
60285         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
60286         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
60287         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
60288         * doc/posix-functions/wcsspn.texi: Mention the new module.
60290 2011-02-06  Bruno Haible  <bruno@clisp.org>
60292         New module 'wcscspn'.
60293         * modules/wcscspn: New file.
60294         * lib/wchar.in.h (wcscspn): New declaration.
60295         * lib/wcscspn.c: New file.
60296         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
60297         * m4/wcscspn.m4: New file.
60298         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
60299         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
60300         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
60301         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
60302         * doc/posix-functions/wcscspn.texi: Mention the new module.
60304 2011-02-06  Bruno Haible  <bruno@clisp.org>
60306         New module 'wcsrchr'.
60307         * modules/wcsrchr: New file.
60308         * lib/wchar.in.h (wcsrchr): New declaration.
60309         * lib/wcsrchr.c: New file.
60310         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
60311         * m4/wcsrchr.m4: New file.
60312         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
60313         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
60314         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
60315         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
60316         * doc/posix-functions/wcsrchr.texi: Mention the new module.
60318 2011-02-06  Bruno Haible  <bruno@clisp.org>
60320         New module 'wcschr'.
60321         * modules/wcschr: New file.
60322         * lib/wchar.in.h (wcschr): New declaration.
60323         * lib/wcschr.c: New file.
60324         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
60325         * m4/wcschr.m4: New file.
60326         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
60327         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
60328         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
60329         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
60330         * doc/posix-functions/wcschr.texi: Mention the new module.
60332 2011-02-06  Bruno Haible  <bruno@clisp.org>
60334         New module 'wcsdup'.
60335         * modules/wcsdup: New file.
60336         * lib/wchar.in.h (wcsdup): New declaration.
60337         * lib/wcsdup.c: New file.
60338         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
60339         * m4/wcsdup.m4: New file.
60340         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
60341         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
60342         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
60343         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
60344         * doc/posix-functions/wcsdup.texi: Mention the new module.
60346 2011-02-06  Bruno Haible  <bruno@clisp.org>
60348         New module 'wcsxfrm'.
60349         * modules/wcsxfrm: New file.
60350         * lib/wchar.in.h (wcsxfrm): New declaration.
60351         * lib/wcsxfrm.c: New file.
60352         * lib/wcsxfrm-impl.h: New file.
60353         * m4/wcsxfrm.m4: New file.
60354         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
60355         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
60356         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
60357         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
60358         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
60360 2011-02-06  Bruno Haible  <bruno@clisp.org>
60362         New module 'wcscoll'.
60363         * modules/wcscoll: New file.
60364         * lib/wchar.in.h (wcscoll): New declaration.
60365         * lib/wcscoll.c: New file.
60366         * lib/wcscoll-impl.h: New file.
60367         * m4/wcscoll.m4: New file.
60368         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
60369         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
60370         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
60371         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
60372         * doc/posix-functions/wcscoll.texi: Mention the new module.
60374 2011-02-06  Bruno Haible  <bruno@clisp.org>
60376         New module 'wcsncasecmp'.
60377         * modules/wcsncasecmp: New file.
60378         * lib/wchar.in.h (wcsncasecmp): New declaration.
60379         * lib/wcsncasecmp.c: New file.
60380         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
60381         * m4/wcsncasecmp.m4: New file.
60382         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
60383         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
60384         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
60385         HAVE_WCSNCASECMP.
60386         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
60387         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
60389 2011-02-06  Bruno Haible  <bruno@clisp.org>
60391         New module 'wcscasecmp'.
60392         * modules/wcscasecmp: New file.
60393         * lib/wchar.in.h (wcscasecmp): New declaration.
60394         * lib/wcscasecmp.c: New file.
60395         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
60396         * m4/wcscasecmp.m4: New file.
60397         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
60398         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
60399         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
60400         HAVE_WCSCASECMP.
60401         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
60402         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
60404 2011-02-05  Bruno Haible  <bruno@clisp.org>
60406         New module 'wcsncmp'.
60407         * modules/wcsncmp: New file.
60408         * lib/wchar.in.h (wcsncmp): New declaration.
60409         * lib/wcsncmp.c: New file.
60410         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
60411         * m4/wcsncmp.m4: New file.
60412         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
60413         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
60414         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
60415         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
60416         * doc/posix-functions/wcsncmp.texi: Mention the new module.
60418 2011-02-05  Bruno Haible  <bruno@clisp.org>
60420         New module 'wcscmp'.
60421         * modules/wcscmp: New file.
60422         * lib/wchar.in.h (wcscmp): New declaration.
60423         * lib/wcscmp.c: New file.
60424         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
60425         * m4/wcscmp.m4: New file.
60426         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
60427         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
60428         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
60429         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
60430         * doc/posix-functions/wcscmp.texi: Mention the new module.
60432 2011-02-05  Bruno Haible  <bruno@clisp.org>
60434         New module 'wcsncat'.
60435         * modules/wcsncat: New file.
60436         * lib/wchar.in.h (wcsncat): New declaration.
60437         * lib/wcsncat.c: New file.
60438         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
60439         * m4/wcsncat.m4: New file.
60440         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
60441         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
60442         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
60443         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
60444         * doc/posix-functions/wcsncat.texi: Mention the new module.
60446 2011-02-05  Bruno Haible  <bruno@clisp.org>
60448         New module 'wcscat'.
60449         * modules/wcscat: New file.
60450         * lib/wchar.in.h (wcscat): New declaration.
60451         * lib/wcscat.c: New file.
60452         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
60453         * m4/wcscat.m4: New file.
60454         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
60455         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
60456         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
60457         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
60458         * doc/posix-functions/wcscat.texi: Mention the new module.
60460 2011-02-05  Bruno Haible  <bruno@clisp.org>
60462         New module 'wcpncpy'.
60463         * modules/wcpncpy: New file.
60464         * lib/wchar.in.h (wcpncpy): New declaration.
60465         * lib/wcpncpy.c: New file.
60466         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
60467         * m4/wcpncpy.m4: New file.
60468         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
60469         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
60470         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
60471         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
60472         * doc/posix-functions/wcpncpy.texi: Mention the new module.
60474 2011-02-05  Bruno Haible  <bruno@clisp.org>
60476         New module 'wcsncpy'.
60477         * modules/wcsncpy: New file.
60478         * lib/wchar.in.h (wcsncpy): New declaration.
60479         * lib/wcsncpy.c: New file.
60480         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
60481         * m4/wcsncpy.m4: New file.
60482         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
60483         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
60484         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
60485         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
60486         * doc/posix-functions/wcsncpy.texi: Mention the new module.
60488 2011-02-05  Bruno Haible  <bruno@clisp.org>
60490         New module 'wcpcpy'.
60491         * modules/wcpcpy: New file.
60492         * lib/wchar.in.h (wcpcpy): New declaration.
60493         * lib/wcpcpy.c: New file.
60494         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
60495         * m4/wcpcpy.m4: New file.
60496         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
60497         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
60498         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
60499         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
60500         * doc/posix-functions/wcpcpy.texi: Mention the new module.
60502 2011-02-05  Bruno Haible  <bruno@clisp.org>
60504         New module 'wcscpy'.
60505         * modules/wcscpy: New file.
60506         * lib/wchar.in.h (wcscpy): New declaration.
60507         * lib/wcscpy.c: New file.
60508         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
60509         * m4/wcscpy.m4: New file.
60510         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
60511         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
60512         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
60513         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
60514         * doc/posix-functions/wcscpy.texi: Mention the new module.
60516 2011-02-05  Bruno Haible  <bruno@clisp.org>
60518         New module 'wcsnlen'.
60519         * modules/wcsnlen: New file.
60520         * lib/wchar.in.h (wcsnlen): New declaration.
60521         * lib/wcsnlen.c: New file.
60522         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
60523         * m4/wcsnlen.m4: New file.
60524         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
60525         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
60526         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
60527         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
60528         * doc/posix-functions/wcsnlen.texi: Mention the new module.
60530 2011-02-05  Bruno Haible  <bruno@clisp.org>
60532         New module 'wcslen'.
60533         * modules/wcslen: New file.
60534         * lib/wchar.in.h (wcslen): New declaration.
60535         * lib/wcslen.c: New file.
60536         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
60537         * m4/wcslen.m4: New file.
60538         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
60539         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
60540         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
60541         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
60542         * doc/posix-functions/wcslen.texi: Mention the new module.
60544 2011-02-05  Bruno Haible  <bruno@clisp.org>
60546         New module 'wmemset'.
60547         * modules/wmemset: New file.
60548         * lib/wchar.in.h (wmemset): New declaration.
60549         * lib/wmemset.c: New file.
60550         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
60551         * m4/wmemset.m4: New file.
60552         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
60553         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
60554         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
60555         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
60556         * doc/posix-functions/wmemset.texi: Mention the new module.
60558 2011-02-05  Bruno Haible  <bruno@clisp.org>
60560         New module 'wmemmove'.
60561         * modules/wmemmove: New file.
60562         * lib/wchar.in.h (wmemmove): New declaration.
60563         * lib/wmemmove.c: New file.
60564         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
60565         * m4/wmemmove.m4: New file.
60566         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
60567         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
60568         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
60569         HAVE_WMEMMOVE.
60570         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
60571         * doc/posix-functions/wmemmove.texi: Mention the new module.
60573 2011-02-05  Bruno Haible  <bruno@clisp.org>
60575         New module 'wmemcpy'.
60576         * modules/wmemcpy: New file.
60577         * lib/wchar.in.h (wmemcpy): New declaration.
60578         * lib/wmemcpy.c: New file.
60579         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
60580         * m4/wmemcpy.m4: New file.
60581         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
60582         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
60583         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
60584         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
60585         * doc/posix-functions/wmemcpy.texi: Mention the new module.
60587 2011-02-05  Bruno Haible  <bruno@clisp.org>
60589         New module 'wmemcmp'.
60590         * modules/wmemcmp: New file.
60591         * lib/wchar.in.h (wmemcmp): New declaration.
60592         * lib/wmemcmp.c: New file.
60593         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
60594         * m4/wmemcmp.m4: New file.
60595         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
60596         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
60597         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
60598         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
60599         * doc/posix-functions/wmemcmp.texi: Mention the new module.
60601 2011-02-07  Jim Meyering  <meyering@redhat.com>
60603         di-set, ino-map: new modules, from coreutils
60604         * lib/di-set.c: New file.
60605         * lib/di-set.h: Likewise.
60606         * lib/ino-map.c: Likewise.
60607         * lib/ino-map.h: Likewise.
60608         * modules/di-set: Likewise.
60609         * modules/di-set-tests: Likewise.
60610         * modules/ino-map: Likewise.
60611         * modules/ino-map-tests: Likewise.
60612         * tests/test-di-set.c: Likewise.
60613         * tests/test-ino-map.c: Likewise.
60615 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
60617         getloadavg: merge minor changes from Emacs
60619         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
60620         (getloadavg): Use memset, not bzero.
60622         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
60623         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
60624         clash (bug#86).
60626 2010-11-14  Bruno Haible  <bruno@clisp.org>
60628         Allow multiple gnulib generated replacements to coexist.
60629         * lib/getopt.in.h (struct option): Avoid identical redefinition.
60630         * lib/inttypes.in.h (imaxdiv_t): Likewise.
60631         * lib/langinfo.in.h (nl_item): Likewise.
60632         * lib/math.in.h (_NaN, NAN): Likewise.
60633         * lib/netdb.in.h (struct addrinfo): Likewise.
60634         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
60635         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
60636         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
60637         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
60638         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
60639         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
60640         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
60641         pthread_mutexattr_init, pthread_mutexattr_settype,
60642         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
60643         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
60644         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
60645         pthread_spin_trylock, pthread_spin_unlock): Likewise.
60646         * lib/sched.in.h (struct sched_param): Likewise.
60647         * lib/se-selinux.in.h (security_class_t, security_context_t,
60648         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
60649         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
60650         lsetfilecon, fsetfilecon, security_check_context,
60651         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
60652         Likewise.
60653         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
60654         Likewise.
60655         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
60656         _gl_function_taking_int_returning_void_t, union sigval,
60657         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
60658         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
60659         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
60660         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
60661         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
60662         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
60663         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
60664         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
60665         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
60666         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
60667         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
60668         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
60669         socklen_t, rpl_fd_isset): Likewise.
60670         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
60671         * lib/sys_time.in.h (struct timeval): Likewise.
60672         * lib/sys_times.in.h (struct tms): Likewise.
60673         * lib/sys_utsname.in.h (struct utsname):
60674         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
60675         * lib/unistd.in.h (getpagesize): Likewise.
60676         * lib/wchar.in.h (mbstate_t): Likewise.
60677         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
60678         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
60679         towlower, towupper): Likewise.
60680         Reported by Sam Steingold <sds@gnu.org>.
60682 2011-02-05  Eric Blake  <eblake@redhat.com>
60684         unsetenv: work around Haiku issues
60685         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
60686         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
60688 2010-12-30  Bruce Korb  <bkorb@gnu.org>
60690         libposix: avoid calling error() within libposix
60691         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
60692         is defined.
60694 2011-02-05  Eric Blake  <eblake@redhat.com>
60696         strerror_r-posix: port to cygwin
60697         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
60698         implementation.
60699         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
60700         * tests/test-strerror_r.c (main): Fix test.
60701         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
60702         issue.
60704 2011-02-05  Bruno Haible  <bruno@clisp.org>
60706         New module 'wmemchr'.
60707         * modules/wmemchr: New file.
60708         * lib/wchar.in.h (wmemchr): New declaration.
60709         * lib/wmemchr.c: New file.
60710         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
60711         * m4/wmemchr.m4: New file.
60712         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
60713         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
60714         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
60715         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
60716         * doc/posix-functions/wmemchr.texi: Mention the new module.
60718 2011-02-04  Eric Blake  <eblake@redhat.com>
60720         fdopendir: detect FreeBSD bug
60721         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
60722         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
60724 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
60726         stdbool: do not define HAVE_STDBOOL_H
60727         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
60728         AC_HEADER_STDBOOL.  All uses changed.  Do not define
60729         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
60730         imported from the latest Autoconf git.  It was motivated by Emacs,
60731         which uses gnulib but does not need HAVE_STDBOOL_H.
60733 2011-02-04  Bruno Haible  <bruno@clisp.org>
60735         wcsnrtombs: Prepare for new module wwcsnrtombs.
60736         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
60737         * lib/wcsnrtombs.c: Include it.
60738         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
60740         wcsrtombs: Prepare for new module wwcsrtombs.
60741         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
60742         * lib/wcsrtombs.c: Include it.
60743         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
60745         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
60746         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
60747         * lib/mbsnrtowcs.c: Include it.
60748         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
60750         mbsrtowcs: Prepare for new module mbsrtowwcs.
60751         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
60752         * lib/mbsrtowcs.c: Include it.
60753         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
60755 2011-02-04  Bruno Haible  <bruno@clisp.org>
60757         vasnprintf: Reduce use of malloc for small format strings.
60758         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
60759         (arguments): Add room for the first 7 arguments.
60760         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
60761         (char_directives, u8_directives, u16_directives, u32_directives): Add
60762         room for the first 7 directives.
60763         * lib/printf-parse.c: Include <string.h>.
60764         (PRINTF_PARSE): Change memory handling code so that it uses the first
60765         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
60766         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
60767         Reported by Pádraig Brady <P@draigbrady.com>.
60769 2011-01-31  Eric Blake  <eblake@redhat.com>
60771         dup2: work around Haiku bug
60772         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
60773         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
60774         * doc/posix-functions/dup2.texi (dup2): Document the bug.
60775         * tests/test-dup2.c (main): Enhance test.
60777 2011-01-31  Simon Josefsson  <simon@josefsson.org>
60779         doc: off_t is not available in eglibc 2.11.2 stdio.h.
60780         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
60781         declared by eglibc 2.11.2.
60782         * lib/stdio.in.h: Likewise.
60784 2011-01-31  Eric Blake  <eblake@redhat.com>
60786         ignore-value: add missing test dependency
60787         * tests/test-ignore-value.c: Revert previous change; stdio.h
60788         provides off_t.
60789         * modules/ignore-value-tests (Depends-on): Add missing dependency.
60791 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
60793         mktime: clarify long_int width checking
60794         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
60795         the top level, to make it clearer that the assumption about
60796         long_int width is being checked.  See
60797         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.
60799 2011-01-30  Simon Josefsson  <simon@josefsson.org>
60801         ignore-value: Fix self-test.
60802         * tests/test-ignore-value.c: Include sys/types.h for off_t.
60804 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
60806         TYPE_MAXIMUM: avoid theoretically undefined behavior
60807         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
60808         negative number, which the C Standard says has undefined behavior.
60809         In practice this is not a problem, but might as well do it by the book.
60810         Reported by Rich Felker and Eric Blake; see
60811         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
60812         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
60813         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
60814         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
60815         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
60816         * m4/stdint.m4 (gl_STDINT_H): Likewise.
60817         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
60819         mktime: #undef mktime before #defining it
60820         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
60822         mktime: systematically normalize tm_isdst comparisons
60823         * lib/mktime.c (isdst_differ): New function.
60824         (__mktime_internal): Use it systematically for all isdst comparisons.
60825         This completes the fix for libc BZ #6723, and removes the need for
60826         normalizing tm_isdst.  See
60827         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
60828         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
60830         mktime: fix some integer overflow issues and sidestep the rest
60832         This was prompted by a bug report by Benjamin Lindner for MinGW
60833         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
60834         His bug is due to signed integer overflow (0 - INT_MIN), and I
60835         I scanned through mktime.c looking for other integer overflow
60836         problems, fixing all the bugs I found.
60838         Although the C Standard says the resulting code is still not safe
60839         in the presence of integer overflow, in practice it should be good
60840         enough for all real-world two's-complement implementations, except
60841         for debugging environments that deliberately trap on integer
60842         overflow (e.g., gcc -ftrapv).
60844         * lib/mktime.c (WRAPV): New macro.
60845         (SHR): Also check that long_int and time_t shift right in the
60846         usual way, before using the fast-but-unportable method.
60847         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
60848         used.  The code already assumed two's complement, so there's
60849         no need to test for alternatives.  All uses removed.
60850         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
60851         the C standard.  Problem reported by Rich Felker in
60852         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
60853         (twos_complement_arithmetic): Also check long_int and time_t.
60854         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
60855         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
60856         (__mktime_internal): Avoid integer overflow with unary subtraction
60857         in two instances where -1 - X is an adequate replacement for -X,
60858         since the calculations are approximate.
60860 2011-01-29  Eric Blake  <eblake@redhat.com>
60862         mktime: avoid infinite loop
60863         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
60864         type; behavior is still undefined but portable to all known targets.
60865         Reported by Rich Felker.
60867 2011-01-29  Simon Josefsson  <simon@josefsson.org>
60869         rename, unlink, same-inode: Relicense.
60870         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
60871         * modules/unlink (License): Likewise.
60872         * modules/same-inode (License): Likewise.
60874 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
60876         mktime: avoid problems on NetBSD 5 / i386
60877         * lib/mktime.c (long_int): New type.  This works around a problem
60878         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
60879         but time_t is 64 bits, and where I expect the existing code is
60880         wrong in some cases.
60881         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
60882         (ydhms_diff): Bring back the compile-time check for wide-enough
60883         year and yday.
60885         mktime: fix misspelling in comment
60886         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
60887         This merges all recent glibc changes of importance.
60889 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60891         move-if-change: cope with concurrent mv of identical file.
60892         * build-aux/move-if-change (CMPPROG): Accept environment
60893         variable as an override for `cmp'.
60894         (usage): Document CMPPROG.
60895         Adjust comparison to drop stdout.  Cope with failure of mv if
60896         the target file exists and is identical to the source, for
60897         parallel builds.
60898         Report from H.J. Lu against binutils in PR binutils/12283.
60900 2011-01-28  Bruce Korb  <bkorb@gnu.org>
60902         * users.txt: Mention sharutils.
60904 2011-01-28  Simon Josefsson  <simon@josefsson.org>
60906         * users.txt: Mention OATH Toolkit.
60908 2011-01-27  Bruno Haible  <bruno@clisp.org>
60910         Prepare for supporting FreeBSD 10.
60911         * build-aux/config.libpath: Remove handling of freebsd1*.
60913 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
60915         Prepare for supporting FreeBSD 10.
60916         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
60917         match FreeBSD 10.0.
60919 2011-01-27  Bruno Haible  <bruno@clisp.org>
60921         vma-iter, get-rusage-as: Add OpenBSD support.
60922         * modules/vma-iter (configure.ac): Test for mquery.
60923         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
60924         * lib/vma-iter.c: Include <sys/mman.h>.
60925         (vma_iterate): Add an implementation based on mquery().
60926         * lib/resource-ext.h (get_rusage_as): Update comments.
60927         * lib/get-rusage-as.c: Likewise.
60928         * lib/get-rusage-data.c: Likewise.
60930 2011-01-26  Karl Berry  <karl@gnu.org>
60932         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
60933         variables to make it easier to override the makeinfo program used.
60935 2011-01-26  Eric Blake  <eblake@redhat.com>
60937         fcntl: work around Haiku F_DUPFD bugs
60938         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
60939         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
60940         cloexec bit on duplication.
60941         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
60943 2011-01-26  Bruno Haible  <bruno@clisp.org>
60945         Enable memory leak tests on AIX.
60946         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
60947         * tests/test-fprintf-posix3.c (main): Likewise.
60949 2011-01-26  Bruno Haible  <bruno@clisp.org>
60951         Tests for module 'get-rusage-data'.
60952         * modules/get-rusage-data-tests: New file.
60953         * tests/test-get-rusage-data.c: New file.
60955         New module 'get-rusage-data'.
60956         * lib/resource-ext.h (get_rusage_data): New declaration.
60957         * lib/get-rusage-data.c: New file.
60958         * modules/get-rusage-data: New file.
60960 2011-01-25  Bruno Haible  <bruno@clisp.org>
60962         get-rusage-as: Allow for easier testing.
60963         * lib/resource-ext.h (get_rusage_as): Add comment.
60964         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
60965         (main): New function for interactive testing.
60967 2011-01-25  Bruno Haible  <bruno@clisp.org>
60969         vma-iter: Treat Haiku like BeOS.
60970         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
60971         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
60973 2011-01-25  Eric Blake  <eblake@redhat.com>
60975         c-stack: fix regression on cygwin when libsigsegv is present
60976         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
60978 2011-01-24  Bruno Haible  <bruno@clisp.org>
60980         vma-iter: Avoid empty intervals.
60981         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
60982         on an empty interval.
60984 2011-01-24  Jim Meyering  <meyering@redhat.com>
60986         u64: remove unnecessary #include
60987         * lib/u64.h: Don't include <stddef.h>.  It was not used.
60989 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60991         Allow the user to avoid the HAVE_RAW_DECL_* macros.
60992         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
60994 2011-01-23  Bruno Haible  <bruno@clisp.org>
60996         New module 'vma-iter'.
60997         * lib/vma-iter.h: New file.
60998         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
60999         * modules/vma-iter: New file.
61000         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
61001         for get_rusage_as_via_iterator.
61002         (vma_iterate_callback): New function.
61003         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
61004         * modules/get-rusage-as (Depends-on): Add vma-iter.
61006 2011-01-23  Bruno Haible  <bruno@clisp.org>
61008         uninorm: Tweak includes.
61009         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
61010         Reported by Jim Meyering.
61012 2011-01-23  Bruno Haible  <bruno@clisp.org>
61014         get-rusage-as: Improve on NetBSD.
61015         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
61016         /proc, like on FreeBSD.
61018 2011-01-23  Jim Meyering  <meyering@redhat.com>
61020         xreadlink.h: remove unnecessary #include
61021         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
61023         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
61024         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
61026 2011-01-23  Bruno Haible  <bruno@clisp.org>
61028         get-rusage-as: Fix bug.
61029         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
61030         original limit when aborting the first loop.
61032 2011-01-23  Bruno Haible  <bruno@clisp.org>
61034         wctype: Ensure valid C syntax.
61035         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
61036         unconditionally, instead of gl_NEXT_HEADERS conditionally.
61038 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
61040         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
61041         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
61042         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
61043         as they are needed only for configure's test case.
61044         This removes two unnecessary symbols from config.h.
61046         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
61047         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
61048         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
61049         AC_CHECK_HEADERS_ONCE on a header that we also invoke
61050         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
61051         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
61052         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
61053         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
61054         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
61055         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
61056         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
61057         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
61058         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
61059         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
61060         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
61061         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
61062         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
61063         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
61065 2011-01-21  Eric Blake  <eblake@redhat.com>
61067         maintainer-makefile: work with older git for submodule check
61068         * top/maint.mk (public-submodule-commit): Rewrite to avoid
61069         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
61070         Reported by Matthias Bolte.
61072         bootstrap: minor portability fixes
61073         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
61074         (usage): Omit leading capital and trailing . on help phrases, per
61075         GNU Coding Standards.
61076         (check_versions, top level): Prefix messages with script name.
61078 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
61080         bootstrap: support --no-git option
61081         * build-aux/bootstrap: Add --no-git option, to be used when
61082         --gnulib-srcdir points to the exact desired checkout.
61084 2011-01-21  Eric Blake  <eblake@redhat.com>
61086         strerror_r-posix: work with glibc 2.13
61087         * lib/strerror_r.c (strerror_r): Fix return type.
61089 2011-01-21  Pádraig Brady  <P@draigBrady.com>
61090             Bruno Haible  <bruno@clisp.org>
61092         uN_strstr: New unit tests.
61093         * modules/unistr/u8-strstr-tests: New file.
61094         * modules/unistr/u16-strstr-tests: New file.
61095         * modules/unistr/u32-strstr-tests: New file.
61096         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
61097         * tests/unistr/test-u8-strstr.c: New file.
61098         * tests/unistr/test-u16-strstr.c: New file.
61099         * tests/unistr/test-u32-strstr.c: New file.
61101 2011-01-21  Pádraig Brady  <P@draigBrady.com>
61102             Bruno Haible  <bruno@clisp.org>
61104         Make uN_strstr functions O(n) worst-case.
61105         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
61106         16-bit and 32-bit unit cases, use the unibyte algorithm from
61107         lib/mbsstr.c.
61108         * lib/unistr/u8-strstr.c: Include <string.h>.
61109         (UNIT_IS_UINT8_T): New macro.
61110         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
61111         (U_STRLEN, U_STRNLEN): New macros.
61112         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
61113         (U_STRLEN, U_STRNLEN): New macros.
61114         * modules/unistr/u8-strstr (Depends-on): Add strstr.
61115         (configure.ac): Update required libunistring version.
61116         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
61117         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
61118         malloca.
61119         (configure.ac): Update required libunistring version.
61120         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
61121         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
61122         malloca.
61123         (configure.ac): Update required libunistring version.
61125 2011-01-21  Pádraig Brady  <P@draigBrady.com>
61126             Bruno Haible  <bruno@clisp.org>
61128         Prepare for faster uN_strstr functions.
61129         * lib/str-kmp.h: Support definable UNITs.
61130         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
61131         needle_len argument.
61132         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
61133         * lib/mbscasestr.c (mbscasestr): Likewise.
61135 2011-01-21  Pádraig Brady  <P@draigBrady.com>
61137         malloca-tests: make faster by unsetting MALLOC_PERTURB_
61138         * tests/test-malloca.c (main): Unset the environment variable
61139         to greatly speed up the test.
61140         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
61141         * modules/malloca-tests: Depend on unsetenv.
61143 2011-01-21  Pádraig Brady  <P@draigBrady.com>
61145         ignore-value: remove stdint dependency
61146         * lib/ignore-value.h: Remove <stdint.h>
61147         * modules/ignore-value: Remove stdint dependency.
61149 2011-01-21  Jim Meyering  <meyering@redhat.com>
61151         maint.mk: adjust variable name to be consistent with other gl_ vars
61152         * top/maint.mk (gl_public_submodule_commit): Rename the variable
61153         to be lower case.
61155 2011-01-20  Jim Meyering  <meyering@redhat.com>
61157         maint.mk: make "check" depend on public-submodule-commit by default
61158         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
61160 2011-01-20  Bruno Haible  <bruno@clisp.org>
61162         mbfile, mbiter: Complete change from 2008-12-21.
61163         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
61164         * m4/mbiter.m4 (gl_MBITER): Likewise.
61166 2011-01-20  Jim Meyering  <meyering@redhat.com>
61168         init.sh: insert space between each function name and "()"
61169         * tests/init.sh: Make it a little easier to see that a function's
61170         name is "warn_", and not "warn" when looking at the first part of
61171         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
61173 2011-01-20  Jim Meyering  <meyering@redhat.com>
61175         mountlist: clean up code formatting
61176         * lib/mountlist.c (read_file_system_list): Split a long line,
61177         correct bracing style, use NULL in place of "(struct statfs *)0",
61178         don't parenthesize return value, add spaces around "=" and after
61179         ";-in-for-stmt".
61181 2011-01-14  Markus Duft  <mduft@gentoo.org>
61183         mountlist: add support for Interix
61184         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
61185         Apply statvfs to all entries of /dev/fs.
61186         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
61187         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
61189 2011-01-20  Jim Meyering  <meyering@redhat.com>
61191         maint.mk: improve the public-submodule-commit rule
61192         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
61193         to suppress printing of its commands... unless V=1.
61194         Add git submodule's --quiet option to suppress printing of e.g.,
61195         "Entering gnulib" output.
61196         "cd" into $(srcdir) before running git submodule.
61198 2011-01-20  Bruno Haible  <bruno@clisp.org>
61200         include_next: Fix bug introduced on 2011-01-18.
61201         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
61202         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
61203         ac_cv_header_... variable if the second argument is not 'check'.
61204         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
61205         gl_NEXT_HEADERS_INTERNAL.
61207 2011-01-20  Bruno Haible  <bruno@clisp.org>
61209         Allow the user to avoid the GNULIB_TEST_* macros.
61210         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
61211         Suggested by Paul Eggert.
61213 2011-01-14  Jim Meyering  <meyering@redhat.com>
61215         bootstrap: avoid failure when there is no .gitmodules file
61216         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
61217         has been assigned to, even when its value is the empty string.
61218         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
61219         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
61220         Reported by John W. Eaton <jwe@gnu.org>.
61222 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
61224         assume <ctype.h>, ..., <time.h> exist
61225         For years gnulib has been assuming the existence of the headers
61226         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
61227         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
61228         them, since they don't appear to be needed.
61229         * README (Portability guidelines): Document this.
61230         * lib/flock.c: Assume <fcntl.h> exists.
61231         * lib/regex_internal.h: Assume <locale.h> exists.
61232         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
61233         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
61234         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
61235         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
61236         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
61237         * m4/regex.m4 (gl_REGEX): Likewise.
61238         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
61239         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
61240         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
61241         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
61242         * tests/test-argp.c: Likewise.
61243         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
61245         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
61246         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
61247         AA_APPLE_UNIVERSAL_BUILD.  See
61248         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
61249         * NEWS: Document this.
61251 2011-01-19  Eric Blake  <eblake@redhat.com>
61253         c-stack: assume stack overflow if SA_SIGINFO unsupported
61254         * lib/c-stack.c (SIGACTION_WORKS): Rename...
61255         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
61256         sigaction will work.
61257         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
61258         behavior match Linux.
61259         * tests/test-c-stack.c (main): Prefer NULL for pointers.
61261         stdbool-tests: accommodate Haiku
61262         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
61264         binary-io: fix O_TEXT on Haiku
61265         * modules/binary-io (Depends-on): Add fcntl-h.
61266         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
61267         than blindly undefining O_TEXT.
61268         Reported by Scott McCreary.
61270 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
61272         include_next: do not check for standard headers like stddef.h
61274         I found this problem when modifying Emacs to use gnulib.
61275         I noticed that it added HAVE_STDDEF_H to config.h, even though
61276         gnulib always assumes <stddef.h> exists as per README and this
61277         symbol is unnecessary.
61278         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
61279         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
61280         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
61281         faster for headers like stddef.h that are known to exist.
61282         (gl_CHECK_NEXT_HEADERS): Use it.
61283         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
61284         rather than gl_CHECK_NEXT_HEADERS.
61285         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
61286         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
61288 2011-01-18  Eric Blake  <eblake@redhat.com>
61290         ansi-c++-opt: skip C++ dependency style if C++ is unused
61291         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
61292         tests when we know C++ compilation is not desired.
61293         Reported by Scott McCreary.
61295 2011-01-18  Bruno Haible  <bruno@clisp.org>
61297         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
61298         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
61299         (main): Perform test also when getrlimit and setrlimit don't exist or
61300         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
61301         limiting the address space size using setrlimit, compare the address
61302         space size before and after the test.
61303         * tests/test-dprintf-posix2.c: Likewise.
61304         * tests/test-fprintf-posix3.sh: Update skip messages.
61305         * tests/test-dprintf-posix2.sh: Likewise.
61306         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
61307         * modules/dprintf-posix-tests (Depends-on): Likewise.
61308         Reported by Bruce Korb <bkorb@gnu.org> and
61309         Gary V. Vaughan <gary@gnu.org>.
61311 2011-01-18  Bruno Haible  <bruno@clisp.org>
61313         get-rusage-as: Improvement for Cygwin.
61314         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
61315         areas that are merely reserved.
61317 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
61319         strftime: remove dependencies on multibyte modules
61321         strftime depended on mbrlen, mbsinit, and wchar, but these modules
61322         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
61323         only if __osf__ is defined, and I suspect OSF doesn't need these
61324         other modules.  If my guess is wrong, we'll need to come up with a
61325         variant of strftime that doesn't need the multibyte modules.
61327         I discovered this problem when attempting modify Emacs to use the
61328         strftime module.  With the previous gnulib, this caused Emacs to
61329         need 31 new files, ranging from lib/config.charset to
61330         m4/wint_t.m4.  This was overkill and I expect would be offputting
61331         to the Emacs maintainers.  After this change, only 6 new files are
61332         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
61333         stdbool.m4, and tm_gmtoff.m4.
61335         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
61336         Suggested by Bruno Haible in
61337         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
61338         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
61339         and do not check for wchar.h.
61340         * modules/strftime (Files): Remove m4/mbstate_t.m4.
61341         (Depends-on): Remove mbrlen, mbsinit, wchar.
61343 2011-01-18  Bruno Haible  <bruno@clisp.org>
61345         Tests for module 'get-rusage-as'.
61346         * modules/get-rusage-as-tests: New file.
61347         * tests/test-get-rusage-as.c: New file.
61349         New module 'get-rusage-as'.
61350         * modules/get-rusage-as: New file.
61351         * lib/resource-ext.h: New file.
61352         * lib/get-rusage-as.c: New file.
61354 2011-01-17  Eric Blake  <eblake@redhat.com>
61356         sigaction: relax license from LGPLv3+ to LGPLv2+
61357         * modules/sigaction (License): Relax to LGPLv2+.
61359 2011-01-14  Bruno Haible  <bruno@clisp.org>
61361         filemode: Make function declarations usable in C++ mode.
61362         * lib/filemode.h: Enclose function declarations in extern "C" block.
61363         Reported by John W. Eaton <jwe@gnu.org>.
61365 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
61367         save-cwd: no longer include "xgetcwd.h"
61368         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
61369         This avoids a compilation failure in projects that use save-cwd
61370         without also using the xgetcwd module.
61372 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
61374         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
61375         This is so that a program like Emacs, which needs only dtoastr,
61376         does not have to bother with distributing and compiling ftoastr
61377         and ldtoastr.
61378         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
61379         * modules/dtoastr, modules/ldtoastr: New files.
61380         * modules/ftoastr: Now works just for 'float'.
61381         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
61382         (Makefile.am): Remove ftoastr.h (not needed and no effect),
61383         dtoastr.c, ldtoastr.c.
61385 2011-01-11  Jim Meyering  <meyering@redhat.com>
61387         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
61388         There is no need to work around the lack of the fchdir function,
61389         since gnulib can now provide a replacement when required.
61390         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
61391         * modules/save-cwd (Depends-on): Add fchdir.
61393 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
61395         openat, save-cwd: avoid xmalloc
61397         This removes a direct (but undocumented) dependency of openat on
61398         xalloc, along with an indirect dependency via save-cwd.  It also
61399         removes a dependency of save-cwd on xgetcwd, and thereby
61400         indirectly on xalloc.  This change causes the openat substitute
61401         to fall back on save_cwd when memory is tight, and for save_cwd to
61402         fail instead of dying when memory is tight, but that's good enough.
61403         Problem and initial idea for fix reported by Bastien Roucaries in
61404         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.
61406         * lib/openat-proc.c: Include stdlib.h (for malloc), not
61407         xalloc.h (for xmalloc).
61408         (openat_proc_name): Use malloc, not xmalloc.
61409         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
61410         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
61412         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
61413         This avoids heap allocation for file names whose lengths are in
61414         the range 512..1023, with the upper bound increasing to at most
61415         4031 depending on the platform's PATH_MAX.  (We do not want
61416         pathmax.h here as it might supply a non-constant PATH_MAX.)
61417         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
61418         Perhaps they should be moved to malloca.h?
61419         (OPENAT_BUFFER_SIZE): Use them.
61421 2011-01-10  Bruno Haible  <bruno@clisp.org>
61423         doc: Update users.txt.
61424         * users.txt: Add recutils.
61426 2011-01-09  Karl Berry  <karl@gnu.org>
61428         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
61430         * doc/configmake.texi: New file.
61431         * doc/gnulib.texi: Include it.
61432         * modules/configmake: Move documentation from here.
61434 2011-01-09  Bruno Haible  <bruno@clisp.org>
61436         Update to Unicode 6.0.0.
61437         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
61438         (get_lbp): Update for Unicode 6.0.0.
61439         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
61440         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
61441         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
61442         U+11001, U+11038..U+11046. Remove U+06DE.
61443         (uc_width): Fix bounds of planes.
61444         * tests/uniwidth/test-uc_width2.sh: Same updates as in
61445         lib/uniwidth/width.c.
61446         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
61447         trailing whitespace removed.
61448         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
61449         without comments, but with the original copyright notice.
61450         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
61451         * lib/unicase/ignorable.h: Likewise.
61452         * lib/unicase/tocasefold.h: Likewise.
61453         * lib/unicase/tolower.h: Likewise.
61454         * lib/unicase/totitle.h: Likewise.
61455         * lib/unicase/toupper.h: Likewise.
61456         * lib/unictype/bidi_of.h: Likewise.
61457         * lib/unictype/blocks.h: Likewise.
61458         * lib/unictype/categ_C.h: Likewise.
61459         * lib/unictype/categ_Cn.h: Likewise.
61460         * lib/unictype/categ_L.h: Likewise.
61461         * lib/unictype/categ_Ll.h: Likewise.
61462         * lib/unictype/categ_Lm.h: Likewise.
61463         * lib/unictype/categ_Lo.h: Likewise.
61464         * lib/unictype/categ_Lu.h: Likewise.
61465         * lib/unictype/categ_M.h: Likewise.
61466         * lib/unictype/categ_Mc.h: Likewise.
61467         * lib/unictype/categ_Me.h: Likewise.
61468         * lib/unictype/categ_Mn.h: Likewise.
61469         * lib/unictype/categ_N.h: Likewise.
61470         * lib/unictype/categ_Nd.h: Likewise.
61471         * lib/unictype/categ_No.h: Likewise.
61472         * lib/unictype/categ_P.h: Likewise.
61473         * lib/unictype/categ_Po.h: Likewise.
61474         * lib/unictype/categ_S.h: Likewise.
61475         * lib/unictype/categ_Sc.h: Likewise.
61476         * lib/unictype/categ_Sk.h: Likewise.
61477         * lib/unictype/categ_Sm.h: Likewise.
61478         * lib/unictype/categ_So.h: Likewise.
61479         * lib/unictype/categ_of.h: Likewise.
61480         * lib/unictype/combining.h: Likewise.
61481         * lib/unictype/ctype_alnum.h: Likewise.
61482         * lib/unictype/ctype_alpha.h: Likewise.
61483         * lib/unictype/ctype_graph.h: Likewise.
61484         * lib/unictype/ctype_lower.h: Likewise.
61485         * lib/unictype/ctype_print.h: Likewise.
61486         * lib/unictype/ctype_punct.h: Likewise.
61487         * lib/unictype/ctype_upper.h: Likewise.
61488         * lib/unictype/decdigit.h: Likewise.
61489         * lib/unictype/digit.h: Likewise.
61490         * lib/unictype/numeric.h: Likewise.
61491         * lib/unictype/pr_alphabetic.h: Likewise.
61492         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
61493         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
61494         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
61495         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
61496         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
61497         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
61498         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
61499         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
61500         * lib/unictype/pr_case_ignorable.h: Likewise.
61501         * lib/unictype/pr_cased.h: Likewise.
61502         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
61503         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
61504         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
61505         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
61506         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
61507         * lib/unictype/pr_combining.h: Likewise.
61508         * lib/unictype/pr_composite.h: Likewise.
61509         * lib/unictype/pr_currency_symbol.h: Likewise.
61510         * lib/unictype/pr_decimal_digit.h: Likewise.
61511         * lib/unictype/pr_deprecated.h: Likewise.
61512         * lib/unictype/pr_format_control.h: Likewise.
61513         * lib/unictype/pr_grapheme_base.h: Likewise.
61514         * lib/unictype/pr_grapheme_extend.h: Likewise.
61515         * lib/unictype/pr_grapheme_link.h: Likewise.
61516         * lib/unictype/pr_id_continue.h: Likewise.
61517         * lib/unictype/pr_id_start.h: Likewise.
61518         * lib/unictype/pr_ideographic.h: Likewise.
61519         * lib/unictype/pr_lowercase.h: Likewise.
61520         * lib/unictype/pr_math.h: Likewise.
61521         * lib/unictype/pr_numeric.h: Likewise.
61522         * lib/unictype/pr_other_alphabetic.h: Likewise.
61523         * lib/unictype/pr_other_id_continue.h: Likewise.
61524         * lib/unictype/pr_other_math.h: Likewise.
61525         * lib/unictype/pr_punctuation.h: Likewise.
61526         * lib/unictype/pr_sentence_terminal.h: Likewise.
61527         * lib/unictype/pr_terminal_punctuation.h: Likewise.
61528         * lib/unictype/pr_unassigned_code_value.h: Likewise.
61529         * lib/unictype/pr_unified_ideograph.h: Likewise.
61530         * lib/unictype/pr_uppercase.h: Likewise.
61531         * lib/unictype/pr_xid_continue.h: Likewise.
61532         * lib/unictype/pr_xid_start.h: Likewise.
61533         * lib/unictype/scripts.h: Likewise.
61534         * lib/unictype/scripts_byname.gperf: Likewise.
61535         * lib/unictype/sy_java_ident.h: Likewise.
61536         * lib/unigbrk/gbrkprop.h: Likewise.
61537         * lib/unilbrk/lbrkprop1.h: Likewise.
61538         * lib/unilbrk/lbrkprop2.h: Likewise.
61539         * lib/uninorm/decomposition-table2.h: Likewise.
61540         * lib/uniwbrk/wbrkprop.h: Likewise.
61541         * tests/unicase/test-cased.c: Likewise.
61542         * tests/unicase/test-ignorable.c: Likewise.
61543         * tests/unicase/test-uc_tolower.c: Likewise.
61544         * tests/unicase/test-uc_totitle.c: Likewise.
61545         * tests/unicase/test-uc_toupper.c: Likewise.
61546         * tests/unictype/test-categ_C.c: Likewise.
61547         * tests/unictype/test-categ_Cn.c: Likewise.
61548         * tests/unictype/test-categ_L.c: Likewise.
61549         * tests/unictype/test-categ_Ll.c: Likewise.
61550         * tests/unictype/test-categ_Lm.c: Likewise.
61551         * tests/unictype/test-categ_Lo.c: Likewise.
61552         * tests/unictype/test-categ_Lu.c: Likewise.
61553         * tests/unictype/test-categ_M.c: Likewise.
61554         * tests/unictype/test-categ_Mc.c: Likewise.
61555         * tests/unictype/test-categ_Me.c: Likewise.
61556         * tests/unictype/test-categ_Mn.c: Likewise.
61557         * tests/unictype/test-categ_N.c: Likewise.
61558         * tests/unictype/test-categ_Nd.c: Likewise.
61559         * tests/unictype/test-categ_No.c: Likewise.
61560         * tests/unictype/test-categ_P.c: Likewise.
61561         * tests/unictype/test-categ_Po.c: Likewise.
61562         * tests/unictype/test-categ_S.c: Likewise.
61563         * tests/unictype/test-categ_Sc.c: Likewise.
61564         * tests/unictype/test-categ_Sk.c: Likewise.
61565         * tests/unictype/test-categ_Sm.c: Likewise.
61566         * tests/unictype/test-categ_So.c: Likewise.
61567         * tests/unictype/test-ctype_alnum.c: Likewise.
61568         * tests/unictype/test-ctype_alpha.c: Likewise.
61569         * tests/unictype/test-ctype_graph.c: Likewise.
61570         * tests/unictype/test-ctype_lower.c: Likewise.
61571         * tests/unictype/test-ctype_print.c: Likewise.
61572         * tests/unictype/test-ctype_punct.c: Likewise.
61573         * tests/unictype/test-ctype_upper.c: Likewise.
61574         * tests/unictype/test-decdigit.h: Likewise.
61575         * tests/unictype/test-digit.h: Likewise.
61576         * tests/unictype/test-numeric.h: Likewise.
61577         * tests/unictype/test-pr_alphabetic.c: Likewise.
61578         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
61579         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
61580         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
61581         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
61582         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
61583         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
61584         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
61585         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
61586         * tests/unictype/test-pr_case_ignorable.c: Likewise.
61587         * tests/unictype/test-pr_cased.c: Likewise.
61588         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
61589         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
61590         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
61591         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
61592         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
61593         * tests/unictype/test-pr_combining.c: Likewise.
61594         * tests/unictype/test-pr_composite.c: Likewise.
61595         * tests/unictype/test-pr_currency_symbol.c: Likewise.
61596         * tests/unictype/test-pr_decimal_digit.c: Likewise.
61597         * tests/unictype/test-pr_deprecated.c: Likewise.
61598         * tests/unictype/test-pr_format_control.c: Likewise.
61599         * tests/unictype/test-pr_grapheme_base.c: Likewise.
61600         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
61601         * tests/unictype/test-pr_grapheme_link.c: Likewise.
61602         * tests/unictype/test-pr_id_continue.c: Likewise.
61603         * tests/unictype/test-pr_id_start.c: Likewise.
61604         * tests/unictype/test-pr_ideographic.c: Likewise.
61605         * tests/unictype/test-pr_lowercase.c: Likewise.
61606         * tests/unictype/test-pr_math.c: Likewise.
61607         * tests/unictype/test-pr_numeric.c: Likewise.
61608         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
61609         * tests/unictype/test-pr_other_id_continue.c: Likewise.
61610         * tests/unictype/test-pr_other_math.c: Likewise.
61611         * tests/unictype/test-pr_punctuation.c: Likewise.
61612         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
61613         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
61614         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
61615         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
61616         * tests/unictype/test-pr_uppercase.c: Likewise.
61617         * tests/unictype/test-pr_xid_continue.c: Likewise.
61618         * tests/unictype/test-pr_xid_start.c: Likewise.
61619         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
61620         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
61621         changes.
61622         * lib/unictype/categ_Cc.h: Likewise.
61623         * lib/unictype/categ_Cf.h: Likewise.
61624         * lib/unictype/categ_Co.h: Likewise.
61625         * lib/unictype/categ_Cs.h: Likewise.
61626         * lib/unictype/categ_Lt.h: Likewise.
61627         * lib/unictype/categ_Nl.h: Likewise.
61628         * lib/unictype/categ_Pc.h: Likewise.
61629         * lib/unictype/categ_Pd.h: Likewise.
61630         * lib/unictype/categ_Pe.h: Likewise.
61631         * lib/unictype/categ_Pf.h: Likewise.
61632         * lib/unictype/categ_Pi.h: Likewise.
61633         * lib/unictype/categ_Ps.h: Likewise.
61634         * lib/unictype/categ_Z.h: Likewise.
61635         * lib/unictype/categ_Zl.h: Likewise.
61636         * lib/unictype/categ_Zp.h: Likewise.
61637         * lib/unictype/categ_Zs.h: Likewise.
61638         * lib/unictype/ctype_blank.h: Likewise.
61639         * lib/unictype/ctype_cntrl.h: Likewise.
61640         * lib/unictype/ctype_digit.h: Likewise.
61641         * lib/unictype/ctype_space.h: Likewise.
61642         * lib/unictype/ctype_xdigit.h: Likewise.
61643         * lib/unictype/mirror.h: Likewise.
61644         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
61645         * lib/unictype/pr_bidi_block_separator.h: Likewise.
61646         * lib/unictype/pr_bidi_common_separator.h: Likewise.
61647         * lib/unictype/pr_bidi_control.h: Likewise.
61648         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
61649         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
61650         * lib/unictype/pr_bidi_european_digit.h: Likewise.
61651         * lib/unictype/pr_bidi_pdf.h: Likewise.
61652         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
61653         * lib/unictype/pr_bidi_whitespace.h: Likewise.
61654         * lib/unictype/pr_dash.h: Likewise.
61655         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
61656         * lib/unictype/pr_diacritic.h: Likewise.
61657         * lib/unictype/pr_extender.h: Likewise.
61658         * lib/unictype/pr_hex_digit.h: Likewise.
61659         * lib/unictype/pr_hyphen.h: Likewise.
61660         * lib/unictype/pr_ids_binary_operator.h: Likewise.
61661         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
61662         * lib/unictype/pr_ignorable_control.h: Likewise.
61663         * lib/unictype/pr_iso_control.h: Likewise.
61664         * lib/unictype/pr_join_control.h: Likewise.
61665         * lib/unictype/pr_left_of_pair.h: Likewise.
61666         * lib/unictype/pr_line_separator.h: Likewise.
61667         * lib/unictype/pr_logical_order_exception.h: Likewise.
61668         * lib/unictype/pr_non_break.h: Likewise.
61669         * lib/unictype/pr_not_a_character.h: Likewise.
61670         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
61671         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
61672         * lib/unictype/pr_other_id_start.h: Likewise.
61673         * lib/unictype/pr_other_lowercase.h: Likewise.
61674         * lib/unictype/pr_other_uppercase.h: Likewise.
61675         * lib/unictype/pr_paired_punctuation.h: Likewise.
61676         * lib/unictype/pr_paragraph_separator.h: Likewise.
61677         * lib/unictype/pr_pattern_syntax.h: Likewise.
61678         * lib/unictype/pr_pattern_white_space.h: Likewise.
61679         * lib/unictype/pr_private_use.h: Likewise.
61680         * lib/unictype/pr_quotation_mark.h: Likewise.
61681         * lib/unictype/pr_radical.h: Likewise.
61682         * lib/unictype/pr_soft_dotted.h: Likewise.
61683         * lib/unictype/pr_space.h: Likewise.
61684         * lib/unictype/pr_titlecase.h: Likewise.
61685         * lib/unictype/pr_variation_selector.h: Likewise.
61686         * lib/unictype/pr_white_space.h: Likewise.
61687         * lib/unictype/pr_zero_width.h: Likewise.
61688         * lib/unictype/sy_c_ident.h: Likewise.
61689         * lib/unictype/sy_c_whitespace.h: Likewise.
61690         * lib/unictype/sy_java_whitespace.h: Likewise.
61691         * lib/uninorm/composition-table.gperf: Likewise.
61692         * lib/uninorm/decomposition-table1.h: Likewise.
61693         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
61694         LB8.
61695         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
61696         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
61697         * modules/unictype/*: Bump version number of expected libunistring
61698         version.
61700 2011-01-09  Bruno Haible  <bruno@clisp.org>
61702         Update to Unicode 5.2.0.
61703         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
61704         trailing whitespace removed.
61706 2011-01-09  Bruno Haible  <bruno@clisp.org>
61708         New Unicode character properties, from Unicode 5.2.0.
61709         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
61710         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
61711         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
61712         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
61713         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
61714         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
61715         uc_is_property_cased, uc_is_property_case_ignorable,
61716         uc_is_property_changes_when_lowercased,
61717         uc_is_property_changes_when_uppercased,
61718         uc_is_property_changes_when_titlecased,
61719         uc_is_property_changes_when_casefolded,
61720         uc_is_property_changes_when_casemapped): New declarations.
61721         * lib/unictype/pr_byname.gperf: Add the new properties.
61722         * modules/unictype/property-byname (Depends-on): Depend on the new
61723         properties modules.
61724         * modules/unictype/property-all (Depends-on): Likewise.
61725         * MODULES.html.sh (Unicode string functions): Add
61726         unictype/property-case-ignorable, unictype/property-cased,
61727         unictype/property-changes-when-casefolded,
61728         unictype/property-changes-when-casemapped,
61729         unictype/property-changes-when-lowercased,
61730         unictype/property-changes-when-titlecased,
61731         unictype/property-changes-when-uppercased.
61733         New module 'unictype/property-changes-when-casemapped'.
61734         * modules/unictype/property-changes-when-casemapped: New file.
61735         * lib/unictype/pr_changes_when_casemapped.c: New file.
61736         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
61737         generated by gen-uni-tables.
61738         * modules/unictype/property-changes-when-casemapped-tests: New file.
61739         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
61740         automatically generated by gen-uni-tables.
61742         New module 'unictype/property-changes-when-casefolded'.
61743         * modules/unictype/property-changes-when-casefolded: New file.
61744         * lib/unictype/pr_changes_when_casefolded.c: New file.
61745         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
61746         generated by gen-uni-tables.
61747         * modules/unictype/property-changes-when-casefolded-tests: New file.
61748         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
61749         automatically generated by gen-uni-tables.
61751         New module 'unictype/property-changes-when-titlecased'.
61752         * modules/unictype/property-changes-when-titlecased: New file.
61753         * lib/unictype/pr_changes_when_titlecased.c: New file.
61754         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
61755         generated by gen-uni-tables.
61756         * modules/unictype/property-changes-when-titlecased-tests: New file.
61757         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
61758         automatically generated by gen-uni-tables.
61760         New module 'unictype/property-changes-when-uppercased'.
61761         * modules/unictype/property-changes-when-uppercased: New file.
61762         * lib/unictype/pr_changes_when_uppercased.c: New file.
61763         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
61764         generated by gen-uni-tables.
61765         * modules/unictype/property-changes-when-uppercased-tests: New file.
61766         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
61767         automatically generated by gen-uni-tables.
61769         New module 'unictype/property-changes-when-lowercased'.
61770         * modules/unictype/property-changes-when-lowercased: New file.
61771         * lib/unictype/pr_changes_when_lowercased.c: New file.
61772         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
61773         generated by gen-uni-tables.
61774         * modules/unictype/property-changes-when-lowercased-tests: New file.
61775         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
61776         automatically generated by gen-uni-tables.
61778         New module 'unictype/property-case-ignorable'.
61779         * modules/unictype/property-case-ignorable: New file.
61780         * lib/unictype/pr_case_ignorable.c: New file.
61781         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
61782         by gen-uni-tables.
61783         * modules/unictype/property-case-ignorable-tests: New file.
61784         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
61785         generated by gen-uni-tables.
61787         New module 'unictype/property-cased'.
61788         * modules/unictype/property-cased: New file.
61789         * lib/unictype/pr_cased.c: New file.
61790         * lib/unictype/pr_cased.h: New file, automatically generated by
61791         gen-uni-tables.
61792         * modules/unictype/property-cased-tests: New file.
61793         * tests/unictype/test-pr_cased.c: New file, automatically generated by
61794         gen-uni-tables.
61796 2011-01-09  Bruno Haible  <bruno@clisp.org>
61798         Update to Unicode 5.2.0.
61799         * lib/gen-uni-tables.c (output_predicate, output_category,
61800         output_combclass, output_bidi_category, output_decimal_digit_test,
61801         output_decimal_digit, output_digit_test, output_digit,
61802         output_numeric_test, output_numeric, output_mirror, output_scripts,
61803         output_scripts_byname, output_blocks, output_ident_category): Fix
61804         comment header.
61805         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
61806         get_wbp.
61807         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
61808         items.
61809         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
61810         Changes_When_Lowercased, Changes_When_Uppercased,
61811         Changes_When_Titlecased, Changes_When_Casefolded,
61812         Changes_When_Casemapped.
61813         (is_property_alphabetic, is_property_default_ignorable_code_point):
61814         Update for Unicode 5.2.0.
61815         (is_property_cased, is_property_case_ignorable,
61816         is_property_changes_when_lowercased,
61817         is_property_changes_when_uppercased,
61818         is_property_changes_when_titlecased,
61819         is_property_changes_when_casefolded,
61820         is_property_changes_when_casemapped): New functions.
61821         (output_properties): Output also the properties cased, case_ignorable,
61822         changes_when_lowercased, changes_when_uppercased,
61823         changes_when_titlecased, changes_when_casefolded,
61824         changes_when_casemapped.
61825         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
61826         Unicode TR#11 revision 17 -> 19.
61827         (LBP_CP): New enumeration value.
61828         (LBP_*): Adjust values accordingly.
61829         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
61830         TR#14 revision 22 -> 24.
61831         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
61832         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
61833         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
61834         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
61835         is_WBP_MIDLETTER.
61836         (output_composition_tables): Allow for 24 bits instead of 16 bits in
61837         the code1 and code2 of each composition rule.
61838         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
61839         * lib/unicase/ignorable.h: Likewise.
61840         * lib/unicase/tocasefold.h: Likewise.
61841         * lib/unicase/tolower.h: Likewise.
61842         * lib/unicase/totitle.h: Likewise.
61843         * lib/unicase/toupper.h: Likewise.
61844         * lib/unictype/bidi_of.h: Likewise.
61845         * lib/unictype/blocks.h: Likewise.
61846         * lib/unictype/categ_C.h: Likewise.
61847         * lib/unictype/categ_Cf.h: Likewise.
61848         * lib/unictype/categ_Cn.h: Likewise.
61849         * lib/unictype/categ_L.h: Likewise.
61850         * lib/unictype/categ_Ll.h: Likewise.
61851         * lib/unictype/categ_Lm.h: Likewise.
61852         * lib/unictype/categ_Lo.h: Likewise.
61853         * lib/unictype/categ_Lu.h: Likewise.
61854         * lib/unictype/categ_M.h: Likewise.
61855         * lib/unictype/categ_Mc.h: Likewise.
61856         * lib/unictype/categ_Mn.h: Likewise.
61857         * lib/unictype/categ_N.h: Likewise.
61858         * lib/unictype/categ_Nd.h: Likewise.
61859         * lib/unictype/categ_Nl.h: Likewise.
61860         * lib/unictype/categ_No.h: Likewise.
61861         * lib/unictype/categ_P.h: Likewise.
61862         * lib/unictype/categ_Pd.h: Likewise.
61863         * lib/unictype/categ_Po.h: Likewise.
61864         * lib/unictype/categ_S.h: Likewise.
61865         * lib/unictype/categ_Sc.h: Likewise.
61866         * lib/unictype/categ_So.h: Likewise.
61867         * lib/unictype/categ_of.h: Likewise.
61868         * lib/unictype/combining.h: Likewise.
61869         * lib/unictype/ctype_alnum.h: Likewise.
61870         * lib/unictype/ctype_alpha.h: Likewise.
61871         * lib/unictype/ctype_graph.h: Likewise.
61872         * lib/unictype/ctype_lower.h: Likewise.
61873         * lib/unictype/ctype_print.h: Likewise.
61874         * lib/unictype/ctype_punct.h: Likewise.
61875         * lib/unictype/ctype_upper.h: Likewise.
61876         * lib/unictype/decdigit.h: Likewise.
61877         * lib/unictype/digit.h: Likewise.
61878         * lib/unictype/numeric.h: Likewise.
61879         * lib/unictype/pr_alphabetic.h: Likewise.
61880         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
61881         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
61882         * lib/unictype/pr_bidi_european_digit.h: Likewise.
61883         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
61884         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
61885         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
61886         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
61887         * lib/unictype/pr_combining.h: Likewise.
61888         * lib/unictype/pr_composite.h: Likewise.
61889         * lib/unictype/pr_currency_symbol.h: Likewise.
61890         * lib/unictype/pr_dash.h: Likewise.
61891         * lib/unictype/pr_decimal_digit.h: Likewise.
61892         * lib/unictype/pr_deprecated.h: Likewise.
61893         * lib/unictype/pr_diacritic.h: Likewise.
61894         * lib/unictype/pr_extender.h: Likewise.
61895         * lib/unictype/pr_grapheme_base.h: Likewise.
61896         * lib/unictype/pr_grapheme_extend.h: Likewise.
61897         * lib/unictype/pr_grapheme_link.h: Likewise.
61898         * lib/unictype/pr_id_continue.h: Likewise.
61899         * lib/unictype/pr_id_start.h: Likewise.
61900         * lib/unictype/pr_ideographic.h: Likewise.
61901         * lib/unictype/pr_ignorable_control.h: Likewise.
61902         * lib/unictype/pr_logical_order_exception.h: Likewise.
61903         * lib/unictype/pr_lowercase.h: Likewise.
61904         * lib/unictype/pr_numeric.h: Likewise.
61905         * lib/unictype/pr_other_alphabetic.h: Likewise.
61906         * lib/unictype/pr_punctuation.h: Likewise.
61907         * lib/unictype/pr_sentence_terminal.h: Likewise.
61908         * lib/unictype/pr_terminal_punctuation.h: Likewise.
61909         * lib/unictype/pr_unassigned_code_value.h: Likewise.
61910         * lib/unictype/pr_unified_ideograph.h: Likewise.
61911         * lib/unictype/pr_uppercase.h: Likewise.
61912         * lib/unictype/pr_xid_continue.h: Likewise.
61913         * lib/unictype/pr_xid_start.h: Likewise.
61914         * lib/unictype/pr_zero_width.h: Likewise.
61915         * lib/unictype/scripts.h: Likewise.
61916         * lib/unictype/scripts_byname.gperf: Likewise.
61917         * lib/unictype/sy_java_ident.h: Likewise.
61918         * lib/unigbrk/gbrkprop.h: Likewise.
61919         * lib/unilbrk/lbrkprop1.h: Likewise.
61920         * lib/unilbrk/lbrkprop2.h: Likewise.
61921         * lib/unilbrk/lbrktables.h: Likewise.
61922         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
61923         LBP_CP. Implement rule LB30.
61924         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
61925         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
61926         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
61927         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
61928         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
61929         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
61930         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
61931         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
61932         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
61933         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
61934         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
61935         bits instead of 16 bits in the code1 and code2 of each composition
61936         rule.
61937         (uc_composition): Update for Unicode 5.2.0.
61938         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
61939         * lib/uninorm/decomposition-table2.h: Likewise.
61940         * lib/uniwbrk/wbrkprop.h: Likewise.
61941         * tests/unicase/test-cased.c: Likewise.
61942         * tests/unicase/test-ignorable.c: Likewise.
61943         * tests/unicase/test-uc_tolower.c: Likewise.
61944         * tests/unicase/test-uc_totitle.c: Likewise.
61945         * tests/unicase/test-uc_toupper.c: Likewise.
61946         * tests/unictype/test-categ_C.c: Likewise.
61947         * tests/unictype/test-categ_Cf.c: Likewise.
61948         * tests/unictype/test-categ_Cn.c: Likewise.
61949         * tests/unictype/test-categ_L.c: Likewise.
61950         * tests/unictype/test-categ_Ll.c: Likewise.
61951         * tests/unictype/test-categ_Lm.c: Likewise.
61952         * tests/unictype/test-categ_Lo.c: Likewise.
61953         * tests/unictype/test-categ_Lu.c: Likewise.
61954         * tests/unictype/test-categ_M.c: Likewise.
61955         * tests/unictype/test-categ_Mc.c: Likewise.
61956         * tests/unictype/test-categ_Mn.c: Likewise.
61957         * tests/unictype/test-categ_N.c: Likewise.
61958         * tests/unictype/test-categ_Nd.c: Likewise.
61959         * tests/unictype/test-categ_Nl.c: Likewise.
61960         * tests/unictype/test-categ_No.c: Likewise.
61961         * tests/unictype/test-categ_P.c: Likewise.
61962         * tests/unictype/test-categ_Pd.c: Likewise.
61963         * tests/unictype/test-categ_Po.c: Likewise.
61964         * tests/unictype/test-categ_S.c: Likewise.
61965         * tests/unictype/test-categ_Sc.c: Likewise.
61966         * tests/unictype/test-categ_So.c: Likewise.
61967         * tests/unictype/test-ctype_alnum.c: Likewise.
61968         * tests/unictype/test-ctype_alpha.c: Likewise.
61969         * tests/unictype/test-ctype_graph.c: Likewise.
61970         * tests/unictype/test-ctype_lower.c: Likewise.
61971         * tests/unictype/test-ctype_print.c: Likewise.
61972         * tests/unictype/test-ctype_punct.c: Likewise.
61973         * tests/unictype/test-ctype_upper.c: Likewise.
61974         * tests/unictype/test-decdigit.h: Likewise.
61975         * tests/unictype/test-digit.h: Likewise.
61976         * tests/unictype/test-numeric.h: Likewise.
61977         * tests/unictype/test-pr_alphabetic.c: Likewise.
61978         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
61979         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
61980         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
61981         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
61982         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
61983         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
61984         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
61985         * tests/unictype/test-pr_combining.c: Likewise.
61986         * tests/unictype/test-pr_composite.c: Likewise.
61987         * tests/unictype/test-pr_currency_symbol.c: Likewise.
61988         * tests/unictype/test-pr_dash.c: Likewise.
61989         * tests/unictype/test-pr_decimal_digit.c: Likewise.
61990         * tests/unictype/test-pr_deprecated.c: Likewise.
61991         * tests/unictype/test-pr_diacritic.c: Likewise.
61992         * tests/unictype/test-pr_extender.c: Likewise.
61993         * tests/unictype/test-pr_grapheme_base.c: Likewise.
61994         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
61995         * tests/unictype/test-pr_grapheme_link.c: Likewise.
61996         * tests/unictype/test-pr_id_continue.c: Likewise.
61997         * tests/unictype/test-pr_id_start.c: Likewise.
61998         * tests/unictype/test-pr_ideographic.c: Likewise.
61999         * tests/unictype/test-pr_ignorable_control.c: Likewise.
62000         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
62001         * tests/unictype/test-pr_lowercase.c: Likewise.
62002         * tests/unictype/test-pr_numeric.c: Likewise.
62003         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
62004         * tests/unictype/test-pr_punctuation.c: Likewise.
62005         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
62006         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
62007         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
62008         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
62009         * tests/unictype/test-pr_uppercase.c: Likewise.
62010         * tests/unictype/test-pr_xid_continue.c: Likewise.
62011         * tests/unictype/test-pr_xid_start.c: Likewise.
62012         * tests/unictype/test-pr_zero_width.c: Likewise.
62013         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
62014         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
62015         changed behaviour: line breaking is now disallowed between a letter
62016         or '=' and '('.
62017         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
62018         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
62019         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
62020         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
62021         * tests/uniwidth/test-uc_width2.sh: Same updates as in
62022         lib/uniwidth/width.c.
62023         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
62024         without comments, but with the original copyright notice.
62025         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
62026         changes.
62027         * lib/unictype/categ_Cc.h: Likewise.
62028         * lib/unictype/categ_Co.h: Likewise.
62029         * lib/unictype/categ_Cs.h: Likewise.
62030         * lib/unictype/categ_Lt.h: Likewise.
62031         * lib/unictype/categ_Me.h: Likewise.
62032         * lib/unictype/categ_Pc.h: Likewise.
62033         * lib/unictype/categ_Pe.h: Likewise.
62034         * lib/unictype/categ_Pf.h: Likewise.
62035         * lib/unictype/categ_Pi.h: Likewise.
62036         * lib/unictype/categ_Ps.h: Likewise.
62037         * lib/unictype/categ_Sk.h: Likewise.
62038         * lib/unictype/categ_Sm.h: Likewise.
62039         * lib/unictype/categ_Z.h: Likewise.
62040         * lib/unictype/categ_Zl.h: Likewise.
62041         * lib/unictype/categ_Zp.h: Likewise.
62042         * lib/unictype/categ_Zs.h: Likewise.
62043         * lib/unictype/ctype_blank.h: Likewise.
62044         * lib/unictype/ctype_cntrl.h: Likewise.
62045         * lib/unictype/ctype_digit.h: Likewise.
62046         * lib/unictype/ctype_space.h: Likewise.
62047         * lib/unictype/ctype_xdigit.h: Likewise.
62048         * lib/unictype/mirror.h: Likewise.
62049         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
62050         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
62051         * lib/unictype/pr_bidi_block_separator.h: Likewise.
62052         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
62053         * lib/unictype/pr_bidi_common_separator.h: Likewise.
62054         * lib/unictype/pr_bidi_control.h: Likewise.
62055         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
62056         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
62057         * lib/unictype/pr_bidi_pdf.h: Likewise.
62058         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
62059         * lib/unictype/pr_bidi_whitespace.h: Likewise.
62060         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
62061         * lib/unictype/pr_format_control.h: Likewise.
62062         * lib/unictype/pr_hex_digit.h: Likewise.
62063         * lib/unictype/pr_hyphen.h: Likewise.
62064         * lib/unictype/pr_ids_binary_operator.h: Likewise.
62065         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
62066         * lib/unictype/pr_iso_control.h: Likewise.
62067         * lib/unictype/pr_join_control.h: Likewise.
62068         * lib/unictype/pr_left_of_pair.h: Likewise.
62069         * lib/unictype/pr_line_separator.h: Likewise.
62070         * lib/unictype/pr_math.h: Likewise.
62071         * lib/unictype/pr_non_break.h: Likewise.
62072         * lib/unictype/pr_not_a_character.h: Likewise.
62073         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
62074         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
62075         * lib/unictype/pr_other_id_continue.h: Likewise.
62076         * lib/unictype/pr_other_id_start.h: Likewise.
62077         * lib/unictype/pr_other_lowercase.h: Likewise.
62078         * lib/unictype/pr_other_math.h: Likewise.
62079         * lib/unictype/pr_other_uppercase.h: Likewise.
62080         * lib/unictype/pr_paired_punctuation.h: Likewise.
62081         * lib/unictype/pr_paragraph_separator.h: Likewise.
62082         * lib/unictype/pr_pattern_syntax.h: Likewise.
62083         * lib/unictype/pr_pattern_white_space.h: Likewise.
62084         * lib/unictype/pr_private_use.h: Likewise.
62085         * lib/unictype/pr_quotation_mark.h: Likewise.
62086         * lib/unictype/pr_radical.h: Likewise.
62087         * lib/unictype/pr_soft_dotted.h: Likewise.
62088         * lib/unictype/pr_space.h: Likewise.
62089         * lib/unictype/pr_titlecase.h: Likewise.
62090         * lib/unictype/pr_variation_selector.h: Likewise.
62091         * lib/unictype/pr_white_space.h: Likewise.
62092         * lib/unictype/sy_c_ident.h: Likewise.
62093         * lib/unictype/sy_c_whitespace.h: Likewise.
62094         * lib/unictype/sy_java_whitespace.h: Likewise.
62095         * modules/uni*/*: Bump version number of expected libunistring version.
62096         Reported by Simon Josefsson.
62098 2011-01-09  Karl Heuer  <kwzh@gnu.org>
62100         useless-if-before-free: fix typo in --help and make the internal,
62101         automatic version date update process work once again.
62102         --help output contained a NUL character instead of the
62103         backslash-zero that was intended.  Also, the "must lie within
62104         the first 8 lines" line is on line 9, and hence not getting
62105         automatically updated.
62106         * build-aux/useless-if-before-free: Fix the former by adding a
62107         backslash, and the latter by condensing the three lines of what-it-does
62108         to a single line, leaving one line of slack for the future.
62110 2011-01-09  Bruno Haible  <bruno@clisp.org>
62112         uniwidth/width: Fix width of U+1D173..U+1D17A.
62113         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
62114         symbolic_width, output_width_property_test): New functions.
62115         (main): Invoke output_nonspacing_property, output_width_property_test.
62116         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
62117         U+1D173..U+1D17A.
62118         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
62119         1.
62120         * modules/uniwidth/*: Bump version number of expected libunistring
62121         version.
62122         * modules/unilbrk/*: Likewise.
62124 2011-01-08  Bruno Haible  <bruno@clisp.org>
62126         uninorm tests: Preserve copyright of Unicode data file.
62127         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
62128         Mention modifications.
62130 2011-01-08  Bruno Haible  <bruno@clisp.org>
62132         gen-uni-tables: Prepare for Unicode 5.2.0.
62133         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
62134         (debug_output_lbp, output_lbp): Update.
62136 2011-01-08  Bruno Haible  <bruno@clisp.org>
62138         unilbrk: Clarify gen-uni-tables.c code.
62139         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
62140         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
62141         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
62143 2011-01-07  Bruno Haible  <bruno@clisp.org>
62145         strtod: Restore errno when successfully parsing Infinity or NaN.
62146         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
62147         restore the original errno.
62149 2011-01-07  Bruno Haible  <bruno@clisp.org>
62151         remove test: Avoid failure on HP-UX 11.
62152         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
62154 2011-01-07  Bruno Haible  <bruno@clisp.org>
62156         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
62157         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
62158         error code.
62160 2011-01-07  Pádraig Brady  <P@draigBrady.com>
62162         ignore-value: fixup comments, and add Eric Blake
62163         as an author since he rewrote the macros.
62164         * lib/ignore-value.h (ignore_value):  State that
62165         we now support aggregates.  Also specify exactly
62166         when the GCC warn_unused_result feature was added.
62168 2011-01-06  Eric Blake  <eblake@redhat.com>
62170         ignore-value: support aggregate types
62171         * lib/ignore-value.h (ignore_value): Provide separate gcc
62172         definition.
62173         * modules/ignore-value-tests: New test module.
62174         * tests/test-ignore-value.c: New test.
62176         maint.mk: improve sc_prohibit_strcmp regex
62177         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
62178         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
62179         definition of STRNEQ.
62181         signal: work around Haiku issue with SIGBUS
62182         * lib/siglist.h: Add comment.
62183         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
62184         strsignal's favoring of SIGSEGV.
62185         * tests/test-signal.c (main): Avoid test failure.
62186         * doc/posix-headers/signal.texi (signal.h): Document the issue.
62187         Reported by Scott McCreary.
62189         maint.mk: add pre-release check to ensure submodule commits are public
62190         * top/maint.mk (public-submodule-commit): New rule.
62191         (submodule-checks): New variable.
62192         (alpha beta stable): Depend on the variable.
62194 2011-01-05  Pádraig Brady  <P@draigBrady.com>
62195         and Jim Meyering  <meyering@redhat.com>
62197         ignore-value: make ignore_value more generic; deprecate ignore_ptr
62198         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
62199         (ATTRIBUTE_DEPRECATED): Define.
62200         (_ignore_case): New function.
62201         (ignore_value): New macro, to replace the old function.
62202         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
62203         * modules/ignore-value (Depends-on): Add stdint.
62205 2011-01-04  Eric Blake  <eblake@redhat.com>
62207         doc: regenerate INSTALL
62208         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
62209         @firstparagraphindent support, now that autoconf dropped it.
62210         (INSTALL_PRELUDE): Reinstate old macro.
62211         * doc/install.texi: Resync from autoconf.
62212         * doc/INSTALL: Reflect recent autoconf update.
62213         * doc/INSTALL.ISO: Likewise.
62214         * doc/INSTALL.UTF-8: Likewise.
62215         Reported by Karl Berry.
62217 2011-01-04  Bruce Korb  <address@hidden>
62219         git-version-gen: avoid a sub-shell
62220         * build-aux/git-version-gen: Redirect stderr in `...` via
62221         "exec 2>...", rather than via an added sub-shell.
62223 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
62225         git-version-gen: use (...) rather than sh -c '...'
62226         * build-aux/git-version-gen: Rather than hard-coding a shell's name
62227         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
62229 2011-01-03  Jim Meyering  <meyering@redhat.com>
62231         git-version-gen: convert leading TABs to spaces
62232         * build-aux/git-version-gen: Expand leading TABs.
62234         git-version-gen: handle failed "git rev-list"
62235         * build-aux/git-version-gen: Rather than leaking a "fatal" error
62236         from git and proceeding as if it had succeeded but printed no SHA1
62237         checksums, suppress the diagnostic and handle the failure.
62238         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
62240         git-version-gen: include command name in one more diagnostic
62241         * build-aux/git-version-gen: When the required .tarball-version file
62242         was missing or unreadable, you might see the diagnostic from "cat",
62243         but no trace of the name of the invoking script.  Now, you still see
62244         the diagnostic from cat, but also get one from "git-version-gen: ".
62245         Inspired by a patch from Bruce Korb.
62247         update-copyright: adjust test to match changed code
62248         * tests/test-update-copyright.sh: Change test's expected output
62249         to match new actual output.
62251 2011-01-02  Bruno Haible  <bruno@clisp.org>
62253         getlogin_r: Avoid test failure on HP-UX 11.
62254         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
62255         ERANGE when the second argument is zero.
62256         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
62257         portability problem.
62259 2011-01-02  Bruce Korb  <bkorb@gnu.org>
62261         * build-aux/update-copyright: doc Simon's changes
62263 2011-01-02  Simon Josefsson  <simon@josefsson.org>
62265         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
62266         environment variable.
62268 2011-01-02  Bruno Haible  <bruno@clisp.org>
62270         unigbrk: Avoid gcc warnings.
62271         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
62272         unused variable.
62273         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
62274         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
62275         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
62276         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
62277         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
62278         Change type of first argument to 'const char *'.
62279         (main): Remove unused variable.
62280         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
62281         type of first argument to 'const char *'.
62282         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
62283         Likewise.
62284         (main): Change type of variable 's'.
62285         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
62286         to 'int'.
62288 2011-01-02  Bruno Haible  <bruno@clisp.org>
62290         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
62291         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
62292         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
62293         bug.
62294         * lib/pwrite.c: Undo 2010-12-31 patch.
62295         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
62297 2011-01-02  Bruno Haible  <bruno@clisp.org>
62299         pread: Fix test whether it works.
62300         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
62302 2011-01-02  Bruno Haible  <bruno@clisp.org>
62304         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
62305         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
62306         ends in "6". Don't require a specific month name. Try also the locale
62307         names found on HP-UX 11 and Solaris 7.
62309 2011-01-02  Bruno Haible  <bruno@clisp.org>
62311         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
62312         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
62313         C linkage.
62314         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
62316 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
62318         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
62319         for consistency, since the "cluster" term is not used elsewhere.
62320         * lib/unigbrk.in.h: Update name.
62321         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
62322         * lib/unigbrk/u16-grapheme-next.c: Update name.
62323         * lib/unigbrk/u16-grapheme-prev.c: Update name.
62324         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
62325         * lib/unigbrk/u32-grapheme-next.c: Update name.
62326         * lib/unigbrk/u32-grapheme-prev.c: Update name.
62327         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
62328         * lib/unigbrk/u8-grapheme-next.c: Update name.
62329         * lib/unigbrk/u8-grapheme-prev.c: Update name.
62330         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
62331         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
62332         Suggested by Bruno Haible.
62334 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
62336         Remove module 'u8-grapheme-len' as too redundant with
62337         'u8-grapheme-next'.
62338         * modules/unigbrk/u8-grapheme-len: Delete file.
62339         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
62340         * lib/unigbrk.in.h: Remove prototype for deleted function.
62341         * lib/unigbrk/u8-grapheme-len.c: Delete file.
62342         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
62344         Remove module 'u16-grapheme-len' as too redundant with
62345         'u16-grapheme-next'.
62346         * modules/unigbrk/u16-grapheme-len: Delete file.
62347         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
62348         * lib/unigbrk.in.h: Remove prototype for deleted function.
62349         * lib/unigbrk/u16-grapheme-len.c: Delete file.
62350         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
62352         Remove module 'u32-grapheme-len' as too redundant with
62353         'u32-grapheme-next'.
62354         * modules/unigbrk/u32-grapheme-len: Delete file.
62355         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
62356         * lib/unigbrk.in.h: Remove prototype for deleted function.
62357         * lib/unigbrk/u32-grapheme-len.c: Delete file.
62358         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
62360         Suggested by Bruno Haible.
62362 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
62364         * unigbrk.in.h: Fix typo: "ben" => "been".
62365         Reported by Bruno Haible.
62367 2011-01-01  Jim Meyering  <meyering@redhat.com>
62369         maint: update almost all copyright ranges to include 2011
62370         Run the new "make update-copyright" rule.
62372 2011-01-01  Jim Meyering  <meyering@redhat.com>
62374         maint: update-copyright: exempt doc/INSTALL*
62375         * Makefile (update-copyright): Also exclude doc/INSTALL*,
62376         since they are generated.  Suggested by Bruno Haible.
62378 2011-01-01  Jim Meyering  <meyering@redhat.com>
62380         maint: refine the update-copyright rule
62381         * Makefile (update-copyright): Also exclude any file that includes
62382         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
62383         code that merely generates the comment.
62385 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
62387         New module 'u8-grapheme-len'.
62388         * modules/unigbrk/u8-grapheme-len: New file.
62389         * modules/unigbrk/u8-grapheme-len-tests: New file.
62390         * lib/unigbrk.in.h: Add prototype for new function.
62391         * lib/unigbrk/u8-grapheme-len.c: New file.
62392         * tests/unigbrk/test-u8-grapheme-len.c: New file.
62394         New module 'u16-grapheme-len'.
62395         * modules/unigbrk/u16-grapheme-len: New file.
62396         * modules/unigbrk/u16-grapheme-len-tests: New file.
62397         * lib/unigbrk.in.h: Add prototype for new function.
62398         * lib/unigbrk/u16-grapheme-len.c: New file.
62399         * tests/unigbrk/test-u16-grapheme-len.c: New file.
62401         New module 'u32-grapheme-len'.
62402         * modules/unigbrk/u32-grapheme-len: New file.
62403         * modules/unigbrk/u32-grapheme-len-tests: New file.
62404         * lib/unigbrk.in.h: Add prototype for new function.
62405         * lib/unigbrk/u32-grapheme-len.c: New file.
62406         * tests/unigbrk/test-u32-grapheme-len.c: New file.
62408         New module 'u8-grapheme-next'.
62409         * modules/unigbrk/u8-grapheme-next: New file.
62410         * modules/unigbrk/u8-grapheme-next-tests: New file.
62411         * lib/unigbrk.in.h: Add prototype for new function.
62412         * lib/unigbrk/u8-grapheme-next.c: New file.
62413         * tests/unigbrk/test-u8-grapheme-next.c: New file.
62415         New module 'u16-grapheme-next'.
62416         * modules/unigbrk/u16-grapheme-next: New file.
62417         * modules/unigbrk/u16-grapheme-next-tests: New file.
62418         * lib/unigbrk.in.h: Add prototype for new function.
62419         * lib/unigbrk/u16-grapheme-next.c: New file.
62420         * tests/unigbrk/test-u16-grapheme-next.c: New file.
62422         New module 'u32-grapheme-next'.
62423         * modules/unigbrk/u32-grapheme-next: New file.
62424         * modules/unigbrk/u32-grapheme-next-tests: New file.
62425         * lib/unigbrk.in.h: Add prototype for new function.
62426         * lib/unigbrk/u32-grapheme-next.c: New file.
62427         * tests/unigbrk/test-u32-grapheme-next.c: New file.
62429         New module 'u8-grapheme-prev'.
62430         * modules/unigbrk/u8-grapheme-prev: New file.
62431         * modules/unigbrk/u8-grapheme-prev-tests: New file.
62432         * lib/unigbrk.in.h: Add prototype for new function.
62433         * lib/unigbrk/u8-grapheme-prev.c: New file.
62434         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
62436         New module 'u16-grapheme-prev'.
62437         * modules/unigbrk/u16-grapheme-prev: New file.
62438         * modules/unigbrk/u16-grapheme-prev-tests: New file.
62439         * lib/unigbrk.in.h: Add prototype for new function.
62440         * lib/unigbrk/u16-grapheme-prev.c: New file.
62441         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
62443         New module 'u32-grapheme-prev'.
62444         * modules/unigbrk/u32-grapheme-prev: New file.
62445         * modules/unigbrk/u32-grapheme-prev-tests: New file.
62446         * lib/unigbrk.in.h: Add prototype for new function.
62447         * lib/unigbrk/u32-grapheme-prev.c: New file.
62448         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
62450         New module 'u8-grapheme-breaks'.
62451         * modules/unigbrk/u8-grapheme-breaks: New file.
62452         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
62453         * lib/unigbrk.in.h: Add prototype for new function.
62454         * lib/unigbrk/u8-grapheme-breaks.c: New file.
62455         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
62457         New module 'u16-grapheme-breaks'.
62458         * modules/unigbrk/u16-grapheme-breaks: New file.
62459         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
62460         * lib/unigbrk.in.h: Add prototype for new function.
62461         * lib/unigbrk/u16-grapheme-breaks.c: New file.
62462         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
62464         New module 'u32-grapheme-breaks'.
62465         * modules/unigbrk/u32-grapheme-breaks: New file.
62466         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
62467         * lib/unigbrk.in.h: Add prototype for new function.
62468         * lib/unigbrk/u32-grapheme-breaks.c: New file.
62469         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
62471         New module 'ulc-grapheme-breaks'.
62472         * modules/unigbrk/ulc-grapheme-breaks: New file.
62473         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
62474         * m4/locale-ar.m4: New file.
62475         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
62476         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
62477         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
62479 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
62481         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
62482         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
62483         modified how this file was generated before I initially submitted
62484         the module, but failed to regenerate it.  This meant that several
62485         of the level2 entries were wrong.
62486         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
62487         Remove the division-by-2 that is folded into the table now that
62488         gbrkprop.h has been regenerated properly.  Now -1 entries are
62489         handled correctly.
62491         New module 'unigbrk/uc-gbrk-prop-tests'.
62492         * modules/unigbrk/uc-gbrk-prop-tests: New file.
62493         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
62494         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
62495         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
62497 2011-01-01  Bruno Haible  <bruno@clisp.org>
62499         Avoid use of hexadecimal escapes.
62500         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
62501         instead of hexadecimal escapes.
62503 2011-01-01  Jim Meyering  <meyering@redhat.com>
62505         maint: new rule to update copyright year ranges
62506         * Makefile (update-copyright): New rule.
62508         maint: indent with TABs in Makefile
62509         * Makefile: Expand leading sequences of spaces to TABs
62511         version-etc: update the copyright year it reports
62512         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
62514 2010-12-31  Bruno Haible  <bruno@clisp.org>
62516         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
62517         * lib/isfinite.c (zerof, zerod, zerol): New variables.
62518         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
62519         zero.
62521 2010-12-31  Bruno Haible  <bruno@clisp.org>
62523         pwrite: Work around HP-UX 11.11 bug.
62524         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
62525         works and set REPLACE_PWRITE if not.
62526         * lib/pwrite.c (pwrite): Add an implementation that uses the system
62527         function.
62528         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
62530 2010-12-31  Bruno Haible  <bruno@clisp.org>
62532         pread: Work around HP-UX 11 bugs.
62533         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
62534         and set REPLACE_PREAD if not.
62535         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
62537 2010-12-31  Eric Blake  <eblake@redhat.com>
62539         nl_langinfo: fix YESEXPR on Irix 6.5
62540         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
62541         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
62542         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
62543         it.
62545 2010-12-31  Bruno Haible  <bruno@clisp.org>
62547         iconv: Document HP-UX 11 bug.
62548         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
62550 2010-12-31  Bruno Haible  <bruno@clisp.org>
62552         ldexpl: Fix link error on HP-UX 11.
62553         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
62554         LDEXPL_LIBM, using $ISNANL_LIBM.
62556 2010-12-31  Eric Blake  <eblake@redhat.com>
62558         ftello: avoid compilation failure with SunStudio c89
62559         * lib/ftello.c (ftello): Use lseek, not llseek.
62561         tests: avoid failing coreutils tests on cygwin
62562         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
62563         (create_exe_shims_): Return 0 when skipping.
62565 2010-12-31  Bruno Haible  <bruno@clisp.org>
62567         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
62568         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
62570 2010-12-31  Bruno Haible  <bruno@clisp.org>
62572         waitpid: Fix link error in C++ mode.
62573         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
62575 2010-12-31  Bruno Haible  <bruno@clisp.org>
62577         isnan: Use GCC built-ins when possible.
62578         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
62579         __builtin_isnan.
62580         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
62581         (isnan): Define using GCC built-ins for GCC >= 4.0.
62583 2010-12-31  Bruno Haible  <bruno@clisp.org>
62585         isnand: Fix mistake.
62586         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
62587         __builtin_isnand.
62589 2010-12-31  Bruno Haible  <bruno@clisp.org>
62591         open: Avoid C++ error on HP-UX 11.
62592         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
62594 2010-12-31  Bruno Haible  <bruno@clisp.org>
62596         time_r: Add missing declarations on HP-UX 11.
62597         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
62598         instead of HAVE_LOCALTIME_R.
62599         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
62600         HAVE_LOCALTIME_R always.
62601         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
62602         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
62603         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
62604         HAVE_LOCALTIME_R.
62605         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
62606         * doc/posix-functions/localtime_r.texi: Likewise.
62608 2010-12-29  Eric Blake  <eblake@redhat.com>
62610         mountlist: tweak previous commit
62611         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
62612         Reported by Paul Eggert.
62614         mountlist: fix local drive detection on cygwin
62615         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
62616         that works for cygwin.
62618 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
62620         ftoastr, snprintf: ftoastr + snprintf module
62621         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
62622         since the snprintf module now should be good enough here.
62623         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
62624         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
62625         and gl_MODULE_INDICATOR([snprintf]), but the former enables
62626         GNULIB_SNPRINTF only for the test directory, and the latter
62627         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
62628         seems to suffice by itself.
62630 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
62632         alloca: one step towards thread-safety
62633         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
62634         need for a static variable.  All callers changed.  This does not
62635         make the alloca replacement thread-safe, but it's one step.
62637         tests: minor indenting change
62638         * tests/init.sh: Sync from coreutils housekeeping patch
62639         <http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
62640         to keep lines within 80 columns.
62642 2010-12-28  Jim Meyering  <meyering@redhat.com>
62644         regex: don't infloop on persistent failing calloc
62645         * lib/regexec.c (build_trtable): Return failure indication upon
62646         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
62647         In glibc, this was fixed for version 2.13:
62648         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
62650 2010-12-28  Bruno Haible  <bruno@clisp.org>
62651             Paul Eggert <eggert@cs.ucla.edu>
62653         linkat: Make implementation robust against system behaviour variations.
62654         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
62655         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
62656         way, and to -2 if it needs a generic runtime test.
62657         * lib/linkat.c (solaris_optimized_link_immediate,
62658         solaris_optimized_link_follow): New functions.
62659         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
62660         (check_same_link): Use it.
62662 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
62664         New module 'unigbrk/base'.
62665         * modules/unigbrk/base: New file.
62666         * lib/unigbrk.in.h: New file.
62668         New module 'unigbrk/uc-gbrk-prop'.
62669         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
62670         * modules/unigbrk/uc-gbrk-prop: New file.
62671         * lib/unigbrk/gbrkprop.h: New file.
62672         * lib/unigbrk/uc-gbrk-prop.c: New file.
62674         New module 'unigbrk/uc-is-grapheme-break'.
62675         * modules/unigbrk/uc-is-grapheme-break: New file.
62676         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
62677         * lib/unigbrk/uc-is-grapheme-break.c: New file.
62678         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
62679         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
62680         * tests/unigbrk/GraphemeBreakTest.txt: New file.
62682         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
62684 2010-12-27  Bruno Haible  <bruno@clisp.org>
62686         linkat test: Avoid failure on Solaris 11 2010-11.
62687         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
62689 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
62691         utimens: work around glibc rounding bug on more platforms
62692         * lib/utimens.c (fdutimens): Work around rounding bug even if
62693         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
62694         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.
62696 2010-12-27  Bruno Haible  <bruno@clisp.org>
62698         select tests: Improve comments.
62699         * tests/test-select.c (do_select): Add comments.
62701 2010-12-27  Bruno Haible  <bruno@clisp.org>
62703         select tests: Safer way of handling timeout.
62704         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
62705         at every invocation.
62707 2010-12-27  Bruno Haible  <bruno@clisp.org>
62709         select tests: Use 'bool' where appropriate.
62710         * tests/test-select.c (connect_to_socket): Change argument type to
62711         'bool'.
62713 2010-12-27  Bruno Haible  <bruno@clisp.org>
62715         select tests: Use existing modules.
62716         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
62717         (configure.ac): Don't test for unistd.h.
62718         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
62719         declared in <unistd.h>.
62721 2010-12-27  Bruno Haible  <bruno@clisp.org>
62723         mbrtowc: Work around a Solaris 7 bug.
62724         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
62725         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
62726         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
62727         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
62728         MBRTOWC_NULL_ARG1_BUG.
62729         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
62730         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
62731         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
62732         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
62734 2010-12-27  Jim Meyering  <meyering@redhat.com>
62736         read-file.c: tweak syntax
62737         * lib/read-file.c (fread_file): Remove space after "*" in function
62738         definitions.
62740 2010-12-27  Bruno Haible  <bruno@clisp.org>
62742         times test: Avoid gcc warnings on OSF/1.
62743         * tests/test-times.c (main): Cast printf arguments from clock_t to
62744         'long int'.
62746 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
62748         utimens: work around glibc rounding bug on older Linux kernels
62749         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
62750         on Linux with a glibc whose utimes might not work, then work
62751         around a longstanding glibc bug involving rounding rather than
62752         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
62753         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
62755 2010-12-26  Bruno Haible  <bruno@clisp.org>
62757         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
62758         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
62759         _GL_CXXALIAS_SYS.
62760         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62762 2010-12-26  Bruno Haible  <bruno@clisp.org>
62764         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
62765         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
62766         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
62767         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
62768         looking for the declaration.
62769         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
62770         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
62771         problem.
62772         * doc/posix-functions/inet_pton.texi: Likewise.
62774 2010-12-26  Bruno Haible  <bruno@clisp.org>
62776         arpa_inet: Use the common idioms with C++ support.
62777         * lib/arpa_inet.in.h: Include c++defs.h.
62778         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
62779         support.
62780         * modules/arpa_inet (Depends-on): Add c++defs.
62781         (Makefile.am): Substitute the contents of c++defs.h.
62782         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
62783         * modules/arpa_inet-c++-tests: New file.
62784         * tests/test-arpa_inet-c++.cc: New file.
62786 2010-12-25  Bruno Haible  <bruno@clisp.org>
62788         Fix more C++ link errors on Solaris 8.
62789         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
62790         $(LIB_EACCESS).
62791         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
62792         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
62793         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
62794         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
62795         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
62797 2010-12-25  Bruno Haible  <bruno@clisp.org>
62799         printf-posix: Fix link error when a non-GCC compiler is used.
62800         * lib/stdio.in.h (printf): When not using GCC, override printf
62801         correctly.
62802         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62804 2010-12-25  Bruno Haible  <bruno@clisp.org>
62806         strerror_r-posix: Update doc.
62807         * doc/posix-functions/strerror_r.texi: Update doc about the return
62808         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
62810 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
62812         utimens: simplify the logic of the previous change
62813         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
62814         This should not affect whether the test succeeds or fails.
62816         utimens: configure better on hosts with NFS clock skew
62817         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
62818         uses the clock of the local host.  It might use the clock of the
62819         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
62820         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
62822 2010-12-25  Bruno Haible  <bruno@clisp.org>
62824         ptsname test: Avoid failure on Solaris.
62825         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
62826         open a pseudo-terminal; don't use BSD-style ptys.
62827         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
62829 2010-12-25  Bruno Haible  <bruno@clisp.org>
62831         ptsname: Avoid ERANGE failure on some systems.
62832         * lib/ptsname.c (buffer): Increase size.
62834 2010-12-25  Bruno Haible  <bruno@clisp.org>
62836         rename, renameat: Avoid test failures at NFS mounted locations.
62837         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
62838         so that subsequent mkdir calls succeed.
62840 2010-12-25  Bruno Haible  <bruno@clisp.org>
62842         iswblank: Fix C++ link error on Solaris 8.
62843         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
62844         _GL_FUNCDECL_SYS.
62846 2010-12-25  Bruno Haible  <bruno@clisp.org>
62848         unistd: Fix C++ link error on Solaris 8.
62849         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
62851 2010-12-25  Bruno Haible  <bruno@clisp.org>
62853         readlink doc: Mention an old glibc bug.
62854         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
62856 2010-12-25  Bruno Haible  <bruno@clisp.org>
62858         fcntl-h: Fix for use of C++ on glibc systems.
62859         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
62860         also on glibc systems in C++ mode.
62861         Reported by Gary V. Vaughan <gary@gnu.org>.
62863 2010-12-25  Bruno Haible  <bruno@clisp.org>
62865         roundl-ieee: Make it work on OSF/1 5.1 with cc.
62866         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
62868 2010-12-25  Bruno Haible  <bruno@clisp.org>
62870         truncl-ieee: Make it work on OSF/1 5.1 with cc.
62871         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
62872         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
62873         test whether truncl works according to ISO C 99 with IEC 60559.
62874         * m4/truncl-ieee.m4: New file.
62875         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
62876         m4/signbit.m4.
62877         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
62879 2010-12-25  Bruno Haible  <bruno@clisp.org>
62881         ceill-ieee: Make it work on OSF/1 5.1 with cc.
62882         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
62883         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
62884         test whether ceill works according to ISO C 99 with IEC 60559.
62885         * m4/ceill-ieee.m4: New file.
62886         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
62887         m4/signbit.m4.
62888         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
62890 2010-12-25  Bruno Haible  <bruno@clisp.org>
62892         Ensure all prerequisites of <wchar.h> are included.
62893         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
62894         before <wchar.h>.
62895         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
62896         gl_MBRLEN_NUL_RETVAL): Likewise.
62897         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
62898         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
62899         AC_FUNC_MBRTOWC): Likewise.
62900         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
62901         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
62902         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
62903         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
62904         Likewise.
62905         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
62906         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
62907         (gl_WCHAR_H): Improve comments.
62908         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
62910 2010-12-25  Bruno Haible  <bruno@clisp.org>
62912         strtok_r: Fix C syntax error in autoconf macro.
62913         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
62914         characters in test program.
62916 2010-12-24  Bruno Haible  <bruno@clisp.org>
62918         ceil, trunc, round: Fix gcc warnings.
62919         * lib/ceil.c (MIN): Undefine before redefining.
62920         * lib/trunc.c (MIN): Likewise.
62921         * lib/round.c (MIN): Likewise.
62922         Include <math.h> first.
62924 2010-12-24  Bruno Haible  <bruno@clisp.org>
62926         select tests: Avoid failures on OSF/1 5.1.
62927         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
62928         failure of closing the last socket; it may fail with ECONNRESET.
62930 2010-12-24  Eric Blake  <eblake@redhat.com>
62932         stdint: avoid HP-UX 10.20 preprocessor bug
62933         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
62934         than #if.
62935         * tests/test-floor2.c (main): Likewise.
62936         Reported by Peter O'Gorman.
62938         pipe: make obsoletion transition easier
62939         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
62940         * modules/pipe (Files): Include revived file.
62941         (Include): Drop reference, to mirror getdate's behavior.
62943 2010-12-24  Bruno Haible  <bruno@clisp.org>
62945         sys_socket: Hide mismatch of declarations on NonStop Kernel.
62946         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
62947         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
62948         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62950 2010-12-24  Bruno Haible  <bruno@clisp.org>
62952         gethostname: Ensure declaration on NonStop Kernel.
62953         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
62954         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62956 2010-12-24  Bruno Haible  <bruno@clisp.org>
62958         sys_select: Ensure all necessary types on NonStop Kernel.
62959         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
62960         include <sys/time.h>.
62961         * doc/posix-headers/sys_select.texi: Mention that it's missing on
62962         NonStop Kernel.
62963         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62965 2010-12-24  Bruno Haible  <bruno@clisp.org>
62967         sys_select: Remove unneeded include.
62968         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
62969         have <sys/select.h>.
62971 2010-12-24  Bruno Haible  <bruno@clisp.org>
62973         gethostname: Provide a fallback for HOST_NAME_MAX.
62974         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
62975         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
62976         instead.
62977         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62979 2010-12-24  Bruno Haible  <bruno@clisp.org>
62981         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
62982         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
62983         (SA_RESTART): Likewise.
62984         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62986 2010-12-24  Bruno Haible  <bruno@clisp.org>
62988         signal: Define NSIG.
62989         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
62990         * tests/test-signal.c (nsig): New variable.
62991         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62993 2010-12-24  Bruno Haible  <bruno@clisp.org>
62995         rename, renameat: Avoid test failures on OSF/1 5.1.
62996         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
62997         alternative error codes.
62998         * tests/test-renameat.c (main): Likewise.
63000 2010-12-24  Bruno Haible  <bruno@clisp.org>
63002         *printf: Detect large precisions bug on Solaris 10/SPARC.
63003         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
63004         by Paul Eggert.
63005         * tests/test-snprintf-posix.h (test_function): Add this test code here
63006         too.
63007         * tests/test-sprintf-posix.h (test_function): Likewise.
63008         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63009         * tests/test-vasprintf-posix.c (test_function): Likewise.
63010         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
63011         around by gnulib.
63012         * doc/posix-functions/printf.texi: Likewise.
63013         * doc/posix-functions/snprintf.texi: Likewise.
63014         * doc/posix-functions/sprintf.texi: Likewise.
63015         * doc/posix-functions/vfprintf.texi: Likewise.
63016         * doc/posix-functions/vprintf.texi: Likewise.
63017         * doc/posix-functions/vsnprintf.texi: Likewise.
63018         * doc/posix-functions/vsprintf.texi: Likewise.
63019         * doc/posix-functions/dprintf.texi: Undo last commit.
63020         * doc/posix-functions/vdprintf.texi: Likewise.
63022 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
63024         tests: port test-fdutimensat.c to Solaris 8
63025         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
63026         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
63027         On Solaris 8, it fails with errno == ENOSYS, because there is no
63028         futimens (so it can't use the fd), and there is no lutimens (so it
63029         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
63031         vsnprintf: make more consistent with snprintf; doc fixes
63033         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
63034         the byte count return problem was promoted from the snprintf-posix
63035         to the snprintf module.
63036         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
63037         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
63038         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
63039         * tests/test-snprintf.c (main): Check the byte count returned.
63040         * tests/test-vsnprintf.c (main): Likewise.
63042 2010-12-23  Eric Blake  <eblake@redhat.com>
63044         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
63045         * modules/sigpipe (License): Relax license.
63047 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
63049         doc: document Solaris printf bug with large float precisions
63050         * doc/posix-functions/dprintf.texi (dprintf):
63051         * doc/posix-functions/fprintf.texi (fprintf):
63052         * doc/posix-functions/printf.texi (printf):
63053         * doc/posix-functions/snprintf.texi (snprintf):
63054         * doc/posix-functions/sprintf.texi (sprintf):
63055         * doc/posix-functions/vdprintf.texi (vdprintf):
63056         * doc/posix-functions/vfprintf.texi (vfprintf):
63057         * doc/posix-functions/vprintf.texi (vprintf):
63058         * doc/posix-functions/vsnprintf.texi (vsnprintf):
63059         * doc/posix-functions/vsprintf.texi (vsprintf):
63060         Mention that these functions mishandle large floating point
63061         precisions on Solaris 10.  The same bug is also present in Solaris
63062         8, and I assume earlier.  This causes "cd gnulib-tests; make
63063         check" to fail on Solaris 8 (and I assume, later) when building
63064         the latest coreutils, in test-vasprintf-posix's call to
63065         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
63066         the wide flavors (e.g., wprintf) so this patch just updates the
63067         documentation for the narrow ones.
63069         test-posixtm.c: add two tests
63070         * tests/test-posixtm.c: Add two tests, to highlight the
63071         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
63072         around this bug; this is merely to document it.
63074 2010-12-22  Bruno Haible  <bruno@clisp.org>
63076         getlogin_r: Work around portability problem on OSF/1.
63077         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
63078         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
63079         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
63080         test for a truncated result.
63081         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
63082         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
63083         * modules/getlogin_r (Depends-on): Add memchr.
63084         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
63086 2010-12-22  Bruno Haible  <bruno@clisp.org>
63088         ptsname: Avoid test failure on OSF/1 5.1.
63089         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
63090         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
63091         (same_slave): New function.
63092         (main): Use it to compare ptsname's result with the expected file name.
63094 2010-12-22  Bruno Haible  <bruno@clisp.org>
63096         Port extended stdio modules to HP NonStop Kernel.
63097         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
63098         macros.
63099         * lib/fbufmode.c: Update comments.
63100         * lib/fflush.c: Likewise.
63101         * lib/fpurge.c: Likewise.
63102         * lib/freadable.c: Likewise.
63103         * lib/freadahead.c: Likewise.
63104         * lib/freading.c: Likewise.
63105         * lib/freadptr.c: Likewise.
63106         * lib/freadseek.c: Likewise.
63107         * lib/fseeko.c: Likewise.
63108         * lib/fseterr.c: Likewise.
63109         * lib/fwritable.c: Likewise.
63110         * lib/fwriting.c: Likewise.
63111         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
63113 2010-12-22  Bruno Haible  <bruno@clisp.org>
63115         ttyname_r: Work around bug on OSF/1 5.1.
63116         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
63117         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
63118         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
63119         present.
63120         * lib/ttyname_r.c (ttyname_r): Update comments.
63122 2010-12-22  Bruno Haible  <bruno@clisp.org>
63124         round: Implement result sign according to IEEE 754.
63125         * lib/round.c (MIN, MINUS_ZERO): New macros.
63126         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
63127         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
63128         * tests/test-round-ieee.c (main): Likewise.
63129         * tests/test-roundl-ieee.c (main): Likewise.
63131         trunc: Implement result sign according to IEEE 754.
63132         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
63133         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
63134         * tests/test-trunc2.c: Include minus-zero.h.
63135         (MINUS_ZERO): New macro.
63136         (trunc_reference): Keep in sync with lib/trunc.c.
63137         * tests/test-truncf2.c: Include minus-zero.h.
63138         (MINUS_ZERO): New macro.
63139         (truncf_reference): Keep in sync with lib/trunc.c.
63140         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
63141         * tests/test-trunc-ieee.c (main): Likewise.
63142         * tests/test-truncl-ieee.c (main): Likewise.
63144         ceil: Implement result sign according to IEEE 754.
63145         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
63146         (FUNC): Return -0.0 for -1 < x < 0.
63147         * tests/test-ceil2.c: Include minus-zero.h.
63148         (MINUS_ZERO): New macro.
63149         (ceil_reference): Keep in sync with lib/ceil.c.
63150         * tests/test-ceilf2.c: Include minus-zero.h.
63151         (MINUS_ZERO): New macro.
63152         (ceilf_reference): Keep in sync with lib/ceil.c.
63153         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
63154         * tests/test-ceil-ieee.c (main): Likewise.
63155         * tests/test-ceill-ieee.c (main): Likewise.
63157         floor: Implement result sign according to IEEE 754.
63158         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
63159         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
63160         * tests/test-floorf2.c (floorf_reference): Likewise.
63161         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
63162         * tests/test-floor-ieee.c (main): Likewise.
63163         * tests/test-floorl-ieee.c (main): Likewise.
63165 2010-12-22  Bruno Haible  <bruno@clisp.org>
63167         getaddrinfo: Update doc.
63168         * doc/posix-functions/gai_strerror.texi: Return type is also different
63169         on AIX and HP-UX.
63171 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
63173         getaddrinfo, inet_ntop: Update doc for Solaris.
63174         * doc/posix-functions/gai_strerror.texi: Return type is also an
63175         issue on Solaris 9 and earlier.
63176         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
63177         on Solaris 10 and earlier.
63179 2010-12-21  Bruno Haible  <bruno@clisp.org>
63181         New module 'roundl-ieee'.
63182         * modules/roundl-ieee: New file.
63183         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
63184         test whether roundl works according to ISO C 99 with IEC 60559.
63185         * m4/roundl-ieee.m4: New file.
63186         * modules/roundl-ieee-tests: New file.
63187         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
63188         * tests/test-roundl.c (main): Remove signbit tests.
63189         * modules/roundl-tests (Depends-on): Remove signbit.
63190         * doc/posix-functions/roundl.texi: Mention the new module.
63192 2010-12-21  Bruno Haible  <bruno@clisp.org>
63194         New module 'truncl-ieee'.
63195         * modules/truncl-ieee: New file.
63196         * modules/truncl-ieee-tests: New file.
63197         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
63198         * tests/test-truncl.c (main): Remove signbit tests.
63199         * modules/truncl-tests (Depends-on): Remove signbit.
63200         * doc/posix-functions/truncl.texi: Mention the new module.
63202 2010-12-21  Bruno Haible  <bruno@clisp.org>
63204         New module 'ceill-ieee'.
63205         * modules/ceill-ieee: New file.
63206         * modules/ceill-ieee-tests: New file.
63207         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
63208         * tests/test-ceill.c (main): Remove signbit tests.
63209         * modules/ceill-tests (Depends-on): Remove signbit.
63210         * doc/posix-functions/ceill.texi: Mention the new module.
63212 2010-12-21  Bruno Haible  <bruno@clisp.org>
63214         New module 'floorl-ieee'.
63215         * modules/floorl-ieee: New file.
63216         * modules/floorl-ieee-tests: New file.
63217         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
63218         * tests/test-floorl.c (main): Remove signbit tests.
63219         * modules/floorl-tests (Depends-on): Remove signbit.
63220         * doc/posix-functions/floorl.texi: Mention the new module.
63222 2010-12-21  Bruno Haible  <bruno@clisp.org>
63224         New module 'round-ieee'.
63225         * modules/round-ieee: New file.
63226         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
63227         whether round works according to ISO C 99 with IEC 60559.
63228         * m4/round-ieee.m4: New file.
63229         * modules/round-ieee-tests: New file.
63230         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
63231         * tests/test-round1.c (main): Remove signbit tests.
63232         * modules/round-tests (Depends-on): Remove 'signbit'.
63233         * doc/posix-functions/round.texi: Mention the new module.
63235 2010-12-21  Bruno Haible  <bruno@clisp.org>
63237         New module 'trunc-ieee'.
63238         * modules/trunc-ieee: New file.
63239         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
63240         whether trunc works according to ISO C 99 with IEC 60559.
63241         * m4/trunc-ieee.m4: New file.
63242         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
63243         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
63244         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
63245         * modules/trunc-ieee-tests: New file.
63246         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
63247         * tests/test-trunc1.c (main): Remove signbit tests.
63248         * modules/trunc-tests (Depends-on): Remove 'signbit'.
63249         * doc/posix-functions/trunc.texi: Mention the new module.
63251 2010-12-21  Bruno Haible  <bruno@clisp.org>
63253         New module 'ceil-ieee'.
63254         * modules/ceil-ieee: New file.
63255         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
63256         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
63257         ISO C 99 with IEC 60559.
63258         * m4/ceil-ieee.m4: New file.
63259         * modules/ceil (Files): Add lib/ceil.c.
63260         (Depends-on): Add 'float'.
63261         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
63262         * lib/math.in.h (ceil): New declaration.
63263         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
63264         REPLACE_CEIL.
63265         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
63266         * modules/ceil-ieee-tests: New file.
63267         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
63268         * tests/test-math-c++.cc: Check the signature of 'ceil'.
63269         * doc/posix-functions/ceil.texi: Mention the new module.
63271 2010-12-21  Bruno Haible  <bruno@clisp.org>
63273         New module 'floor-ieee'.
63274         * modules/floor-ieee: New file.
63275         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
63276         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
63277         ISO C 99 with IEC 60559.
63278         * m4/floor-ieee.m4: New file.
63279         * modules/floor (Files): Add lib/floor.c.
63280         (Depends-on): Add 'float'.
63281         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
63282         * lib/math.in.h (floor): New declaration.
63283         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
63284         REPLACE_FLOOR.
63285         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
63286         * modules/floor-ieee-tests: New file.
63287         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
63288         * tests/test-math-c++.cc: Check the signature of 'floor'.
63289         * doc/posix-functions/floor.texi: Mention the new module.
63291 2010-12-21  Bruno Haible  <bruno@clisp.org>
63293         New module 'roundf-ieee'.
63294         * modules/roundf-ieee: New file.
63295         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
63296         test whether roundf works according to ISO C 99 with IEC 60559.
63297         * m4/roundf-ieee.m4: New file.
63298         * modules/roundf-ieee-tests: New file.
63299         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
63300         * tests/test-roundf1.c (main): Remove signbit tests.
63301         * modules/roundf-tests (Depends-on): Remove 'signbit'.
63302         * doc/posix-functions/roundf.texi: Mention the new module.
63304 2010-12-21  Bruno Haible  <bruno@clisp.org>
63306         New module 'truncf-ieee'.
63307         * modules/truncf-ieee: New file.
63308         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
63309         test whether truncf works according to ISO C 99 with IEC 60559.
63310         * m4/truncf-ieee.m4: New file.
63311         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
63312         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
63313         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
63314         * modules/truncf-ieee-tests: New file.
63315         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
63316         * tests/test-truncf1.c (main): Remove signbit tests.
63317         * modules/truncf-tests (Depends-on): Remove 'signbit'.
63318         * doc/posix-functions/truncf.texi: Mention the new module.
63320 2010-12-21  Bruno Haible  <bruno@clisp.org>
63322         New module 'ceilf-ieee'.
63323         * modules/ceilf-ieee: New file.
63324         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
63325         test whether ceilf works according to ISO C 99 with IEC 60559.
63326         * m4/ceilf-ieee.m4: New file.
63327         * modules/ceilf-ieee-tests: New file.
63328         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
63329         * tests/test-ceilf1.c (main): Remove signbit tests.
63330         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
63331         * doc/posix-functions/ceilf.texi: Mention the new module.
63333 2010-12-21  Bruno Haible  <bruno@clisp.org>
63335         New module 'floorf-ieee'.
63336         * modules/floorf-ieee: New file.
63337         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
63338         test whether floorf works according to ISO C 99 with IEC 60559.
63339         * m4/floorf-ieee.m4: New file.
63340         * modules/floorf-ieee-tests: New file.
63341         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
63342         * tests/test-floorf1.c (main): Remove signbit tests.
63343         * modules/floorf-tests (Depends-on): Remove 'signbit'.
63344         * doc/posix-functions/floorf.texi: Mention the new module.
63346 2010-12-21  Bruno Haible  <bruno@clisp.org>
63348         Support for minus zero in autoconf macros.
63349         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
63350         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
63351         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
63352         * tests/minus-zero.h: Update comments.
63354 2010-12-21  Bruno Haible  <bruno@clisp.org>
63356         Tests for module 'ceil'.
63357         * modules/ceil-tests: New file.
63358         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
63359         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
63361 2010-12-21  Bruno Haible  <bruno@clisp.org>
63363         Tests for module 'floor'.
63364         * modules/floor-tests: New file.
63365         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
63366         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
63368 2010-12-21  Bruno Haible  <bruno@clisp.org>
63370         math: Fix indentation.
63371         * lib/math.in.h (floorf): Fix indentation.
63373 2010-12-21  Bruno Haible  <bruno@clisp.org>
63375         Fix cross-compilation guesses on Solaris.
63376         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
63377         not match "solaris2.10".
63378         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
63379         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
63380         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
63382 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
63384         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
63385         This fixes a problem observed with the latest coreutils snapshot
63386         that caused a test to fail on Solaris 8.  src/csplit.c's call
63387         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
63388         earlier, instead of returning the number of bytes that would have
63389         been generated; this causes csplit to incorrectly report memory
63390         exhaustion.
63391         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
63392         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
63393         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
63394         comments to match.
63395         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
63396         Fix typo in matching older versions of Solaris: "solaris2.10"
63397         is matched by the shell pattern "solaris2.[0-9]*".  This matters
63398         only for guessing while cross-compiling.
63399         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
63401 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
63403         ftoastr: fix comment again
63404         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
63405         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
63406         Also, simplify example a bit by using flags = 0.
63408 2010-12-20  Bruno Haible  <bruno@clisp.org>
63410         round*, trunc*: Update documentation regarding glibc.
63411         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
63412         * doc/posix-functions/round.texi: Likewise.
63413         * doc/posix-functions/roundl.texi: Likewise.
63414         * doc/posix-functions/truncf.texi: Likewise.
63415         * doc/posix-functions/trunc.texi: Likewise.
63416         * doc/posix-functions/truncl.texi: Likewise.
63418 2010-12-20  Bruno Haible  <bruno@clisp.org>
63420         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
63421         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
63422         * doc/posix-functions/round.texi: Likewise.
63423         * doc/posix-functions/roundl.texi: Likewise.
63425 2010-12-20  Bruno Haible  <bruno@clisp.org>
63427         ttyname_r: Add missing declaration on HP-UX 11.
63428         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
63429         HAVE_TTYNAME_R.
63430         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
63431         declared. Set HAVE_TTYNAME_R always.
63432         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
63433         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
63434         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
63435         HAVE_TTYNAME_R.
63436         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
63438 2010-12-20  Bruno Haible  <bruno@clisp.org>
63440         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
63441         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
63442         * doc/posix-functions/getlogin_r.texi: Likewise.
63443         * tests/test-getlogin.c: Include <errno.h>.
63444         (main): Avoid test failure on HP-UX 11.11.
63445         * tests/test-getlogin_r.c (main): Likewise.
63447 2010-12-20  Bruno Haible  <bruno@clisp.org>
63449         getlogin_r: Add missing declaration on HP-UX 11.
63450         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
63451         declared also when it exists as a function.
63452         * doc/posix-functions/getlogin_r.texi: Document this workaround.
63454 2010-12-20  Bruno Haible  <bruno@clisp.org>
63456         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
63457         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
63458         through wcrtomb.
63460 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
63462         ftoastr: fix comment
63463         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
63464         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.
63466 2010-12-19  Bruno Haible  <bruno@clisp.org>
63468         isnan: Ensure it is a macro.
63469         * lib/math.in.h (isnan): Define as a macro if not already a macro.
63470         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
63471         Solaris.
63473 2010-12-19  Bruno Haible  <bruno@clisp.org>
63475         ldexpl test: Fix link error on OSF/1 5.1.
63476         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
63478 2010-12-19  Bruno Haible  <bruno@clisp.org>
63480         wctype: Make it work in C++ mode on OSF/1 5.1.
63481         * lib/wctype.in.h (iswblank): Declare but not define here.
63482         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
63483         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
63484         * modules/wctype (Files): Add lib/iswblank.c.
63486 2010-12-19  Bruno Haible  <bruno@clisp.org>
63488         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
63489         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
63490         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
63492 2010-12-19  Bruno Haible  <bruno@clisp.org>
63494         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
63495         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
63496         _POSIX_PII_SOCKET.
63497         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
63498         * doc/posix-functions/recvfrom.texi: Likewise.
63499         * doc/posix-functions/send.texi: Likewise.
63500         * doc/posix-functions/sendto.texi: Likewise.
63502 2010-12-19  Bruno Haible  <bruno@clisp.org>
63504         tcgetsid: Add missing declaration on OSF/1 5.1.
63505         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
63506         HAVE_TCGETSID.
63507         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
63508         Don't set HAVE_TCGETSID.
63509         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
63510         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
63511         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
63512         HAVE_TCGETSID.
63513         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
63515 2010-12-19  Bruno Haible  <bruno@clisp.org>
63517         stdio: Fix problem with popen() declaration on OSF/1 5.1.
63518         * lib/stdio.in.h: During the include_next statement, let recursive
63519         includes of this file include only the system header file.
63521 2010-12-19  Bruno Haible  <bruno@clisp.org>
63523         iconv_open: Fix regression from 2010-12-04.
63524         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
63525         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
63527 2010-12-19  Bruno Haible  <bruno@clisp.org>
63529         stdbool test: Avoid a gcc warning.
63530         * tests/test-stdbool.c (main): Fail if e1 is false.
63531         Reported by Jim Meyering.
63533 2010-12-19  Jim Meyering  <meyering@redhat.com>
63535         setenv: restore to working order
63536         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
63537         mistakenly removed.
63538         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
63539         HAVE_SETENV.
63540         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
63541         HAVE_SETENV.
63543 2010-12-19  Bruno Haible  <bruno@clisp.org>
63545         Document some different function declarations on OSF/1 5.1.
63546         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
63547         * doc/posix-functions/inet_ntop.texi: Likewise.
63548         * doc/posix-functions/gethostname.texi: Likewise.
63549         * lib/unistd.in.h (gethostname): Update comment.
63551 2010-12-19  Bruno Haible  <bruno@clisp.org>
63553         doc: Mention vasprintf-posix module.
63554         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
63555         the 'vasprintf-posix' module.
63556         * doc/glibc-functions/vasprintf.texi: Likewise.
63558 2010-12-19  Bruno Haible  <bruno@clisp.org>
63560         unsetenv: Add missing declaration on OSF/1 5.1.
63561         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
63562         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
63563         Don't set HAVE_UNSETENV. In the test program, set _BSD.
63564         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
63565         not HAVE_UNSETENV.
63566         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
63567         HAVE_UNSETENV.
63568         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
63570 2010-12-19  Bruno Haible  <bruno@clisp.org>
63572         setenv: Add missing declaration on OSF/1 5.1.
63573         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
63574         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
63575         declared. Don't set HAVE_SETENV.
63576         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
63577         not HAVE_SETENV.
63578         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
63579         HAVE_SETENV.
63580         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
63582 2010-12-19  Bruno Haible  <bruno@clisp.org>
63584         nl_langinfo tests: Avoid gcc warning.
63585         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
63587 2010-12-19  Bruno Haible  <bruno@clisp.org>
63589         mknod: Avoid error in C++ mode on OSF/1 with GCC.
63590         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
63591         _GL_CXXALIAS_SYS.
63593 2010-12-19  Bruno Haible  <bruno@clisp.org>
63595         stdbool: Relax test.
63596         * tests/test-stdbool.c (e): Don't require that casts from a variable's
63597         address to 'bool' work in static initializer, for compilers other than
63598         GCC.
63600 2010-12-19  Bruno Haible  <bruno@clisp.org>
63602         ftello: Add missing declaration on OSF/1 5.1.
63603         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
63604         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
63605         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
63606         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
63607         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
63609 2010-12-19  Bruno Haible  <bruno@clisp.org>
63611         fseeko: Add missing declaration on OSF/1 5.1.
63612         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
63613         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
63614         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
63615         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
63616         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
63618 2010-12-19  Bruno Haible  <bruno@clisp.org>
63620         fchdir: Add missing declaration on OSF/1 5.1.
63621         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
63622         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
63623         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
63624         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
63625         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
63627 2010-12-19  Bruno Haible  <bruno@clisp.org>
63629         relocatable-prog-wrapper: Separate from relocatable-prog.
63630         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
63631         uninstall-relocwrapper rule here.
63632         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
63633         Reported by Ian Beckwith <ianb@erislabs.net>.
63635 2010-12-19  Bruno Haible  <bruno@clisp.org>
63637         unistr/u8-mbsnlen: Add missing dependency.
63638         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
63639         Reported by Ian Beckwith <ianb@erislabs.net>.
63641 2010-12-19  Bruno Haible  <bruno@clisp.org>
63643         iconv: Make it possible again to use this module without 'iconv-h'.
63644         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
63645         if it is not defined.
63646         Reported by Ian Beckwith <ianb@erislabs.net>.
63648 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
63650         acl: port to Solaris 8 when copying from tmpfs to ufs
63651         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
63652         error number.  Problem observed on Solaris 8 with latest
63653         coreutils, with "mv A B", where A is on a tmpfs file system and B
63654         is on a ufs file system.  This caused coreutils' mv/part-symlink
63655         test to fail.
63657         tests: set fail=0 at start
63658         * tests/init.sh (setup_): Move fail=0 initialization here ...
63659         (mktempd_): ... from here, so that tests can rely on fail being
63660         set to 0 initially.  This fixes a problem in coreutils; see:
63661         http://lists.gnu.org/r/coreutils/2010-12/msg00083.html
63663 2010-12-18  Bruno Haible  <bruno@clisp.org>
63665         memmem-simple: Stylistic changes.
63666         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
63667         Fix preprocessor directive indentation.
63669 2010-12-15  Pádraig Brady  <P@draigBrady.com>
63671         memmem, memmem-simple: reorganize and expand empty needle check
63672         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
63673         functional checks to memmem-simple so that one has a fully functional
63674         memmem by using just this module.
63675         Restrict the performance only check to the memmem module.
63676         Also expand the empty needle check to ensure the correct
63677         pointer is returned, not just a non NULL pointer.
63678         * doc/glibc-functions/memmem.texi: Rearrange the portability
63679         documentation to correlate with the rearranged checks.
63680         Clarify exactly how the memmem and memmem-simple modules
63681         relate to each other.
63683 2010-12-15  Pádraig Brady  <P@draigBrady.com>
63684             Bruno Haible  <bruno@clisp.org>
63686         Improve cross-compilation guesses for uClibc.
63687         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
63688         that uClibc does not have the glibc bug.
63689         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
63690         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
63692 2010-12-14  Eric Blake  <eblake@redhat.com>
63694         configmake: provide fallbacks for oldest supported autotools
63695         * m4/configmake.m4: New file.
63696         * modules/configmake (Files): Ship it.
63697         (configure.ac): Use it to guarantee fallbacks.
63699 2010-12-13  Pádraig Brady  <P@draigBrady.com>
63701         read-file: Improve handling of large files
63702         * lib/read-file.c (fread_file): Minimize realloc()s
63703         for regular files, and better manage sizes around SIZE_MAX.
63705 2010-12-13  Eric Blake  <eblake@redhat.com>
63707         cloexec, fcntl: relax license
63708         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
63709         consent from all contributors.
63710         * modules/fcntl (License): Likewise.
63712 2010-12-10  Bruno Haible  <bruno@clisp.org>
63714         Tests for module 'pipe-posix'.
63715         * modules/pipe-posix-tests: New file.
63716         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
63718 2010-12-10  Bruno Haible  <bruno@clisp.org>
63720         pipe-posix: Make it work in C++ mode.
63721         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
63722         (pipe): Use common idiom, not a macro definition.
63723         * lib/pipe.c: New file.
63724         * m4/pipe.m4: New file.
63725         * modules/pipe-posix (Description): Enhance.
63726         (Files): Add lib/pipe.c, m4/pipe.m4.
63727         (configure.ac): Invoke gl_FUNC_PIPE.
63728         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
63729         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
63730         * tests/test-unistd-c++.cc: Check the signature of pipe.
63732 2010-12-10  Bruno Haible  <bruno@clisp.org>
63734         Rename module 'pipe' to 'spawn-pipe'.
63735         * modules/spawn-pipe: New file, renamed from modules/pipe.
63736         (Files, configure.ac, Makefile.am): Update.
63737         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
63738         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
63739         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
63740         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
63741         "spawn-pipe.h" instead of "pipe.h".
63742         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
63743         to gl_SPAWN_PIPE.
63744         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
63745         (Files, Makefile.am): Update.
63746         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
63747         Update.
63748         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
63749         Include "spawn-pipe.h" instead of "pipe.h".
63750         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
63751         * lib/javacomp.c: Likewise.
63752         * lib/javaversion.c: Likewise.
63753         * lib/pipe-filter-gi.c: Likewise.
63754         * lib/pipe-filter-ii.c: Likewise.
63755         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
63756         * modules/javacomp (Depends-on): Likewise.
63757         * modules/javaversion (Depends-on): Likewise.
63758         * modules/pipe-filter-gi (Depends-on): Likewise.
63759         * modules/pipe-filter-ii (Depends-on): Likewise.
63760         * MODULES.html.sh (Executing programs): Update.
63761         * NEWS: Mention the change.
63763 2010-12-10  Eric Blake  <eblake@redhat.com>
63765         pipe-posix: new module
63766         * modules/pipe-posix: New file.
63767         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
63768         (gl_UNISTD_H): Check for declaration.
63769         * modules/unistd (Makefile.am): Substitute it.
63770         * lib/unistd.in.h (pipe): Provide it for mingw.
63771         * doc/posix-functions/pipe.texi (pipe): Update documentation.
63772         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
63774 2010-12-07  Bruno Haible  <bruno@clisp.org>
63776         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
63777         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
63778         u8_strcmp_gnu.
63779         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
63781 2010-12-06  Bruno Haible  <bruno@clisp.org>
63783         Update internal documentation.
63784         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
63786 2010-12-04  Bruno Haible  <bruno@clisp.org>
63788         Put more information about failed tests into the test return codes.
63789         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
63790         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
63791         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
63792         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
63793         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
63794         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63795         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63796         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
63797         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
63798         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
63799         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
63800         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
63801         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
63802         * m4/stdint.m4 (gl_STDINT_H): Likewise.
63803         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
63804         returns a bit mask.
63805         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
63806         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
63807         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
63808         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
63809         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
63810         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
63811         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
63812         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
63813         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
63814         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
63815         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
63816         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
63817         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
63818         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
63819         * m4/link.m4 (gl_FUNC_LINK): Likewise.
63820         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
63821         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
63822         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
63823         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
63824         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
63825         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
63826         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
63827         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
63828         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
63829         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
63830         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
63831         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
63832         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
63833         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
63834         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
63835         gl_PRINTF_PRECISION): Likewise.
63836         * m4/regex.m4 (gl_REGEX): Likewise.
63837         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
63838         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
63839         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
63840         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
63841         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63842         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
63843         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
63844         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
63845         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
63846         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
63847         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
63848         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
63849         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
63850         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
63851         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
63852         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
63853         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
63854         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
63855         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
63856         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
63857         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
63858         enumerated value.
63859         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
63861 2010-12-04  Bruno Haible  <bruno@clisp.org>
63863         Update for Solaris 11 2010-11.
63864         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
63865         Express, released in November 2010.
63867 2010-12-04  Bruno Haible  <bruno@clisp.org>
63869         nproc: Relax license.
63870         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
63871         and Paul Eggert.
63872         Requested by Ludovic Courtès <ludo@gnu.org>.
63874 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
63876         utimecmp: fine-grained src to nearby coarse-grained dest
63878         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
63879         and the source is on a file system with higher-resolution time
63880         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
63881         not work, and the time stamps are close together, the algorithm to
63882         determine the exact resolution from the read-back mtime was buggy:
63883         it had a "!=" where it should have had an "==".  This bug has been
63884         in the code ever since it was introduced to gnulib.
63885         Problem reported by Dan Jacobson in
63886         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
63888 2010-11-30  Bruno Haible  <bruno@clisp.org>
63890         strerror_r-posix: Fix autoconf test.
63891         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
63893 2010-11-28  Bruno Haible  <bruno@clisp.org>
63894             Paul Eggert  <eggert@cs.ucla.edu>
63896         Tests for module 'getdomainname'.
63897         * modules/getdomainname-tests: New file.
63898         * tests/test-getdomainname.c: New file, based on
63899         tests/test-gethostname.c.
63901 2010-11-28  Bruno Haible  <bruno@clisp.org>
63902             Paul Eggert  <eggert@cs.ucla.edu>
63904         getdomainname: Use the system function when possible.
63905         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
63906         (getdomainname): Replace if needed. Provide the declaration if it is
63907         missing. Don't use _GL_CXXALIAS_SYS_CAST.
63908         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
63909         (getdomainname): When the system has getdomainname, call the system
63910         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
63911         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
63912         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
63913         found in libnsl. Look for the declaration also in <netdb.h>. Replace
63914         the function if its second argument is of type 'int' or if it is found
63915         in libnsl.
63916         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
63917         <sys/systeminfo.h> and sysinfo().
63918         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
63919         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
63920         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
63921         HAVE_GETDOMAINNAME.
63922         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
63923         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
63924         * doc/glibc-functions/getdomainname.texi: Document the problems with
63925         the getdomainname declaration.
63927 2010-11-28  Bruno Haible  <bruno@clisp.org>
63929         sys_socket: Ensure ss_family field on AIX.
63930         * lib/sys_socket.in.h (ss_family): New macro definition.
63931         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
63932         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
63933         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
63934         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
63935         * modules/sys_socket (Makefile.am): Substitute
63936         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
63937         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
63939 2010-11-27  Bruno Haible  <bruno@clisp.org>
63941         readline: Improve configure output.
63942         * m4/readline.m4 (gl_FUNC_READLINE): Make the
63943         "checking for readline..." result understandable.
63945 2010-11-27  Bruno Haible  <bruno@clisp.org>
63947         *printf-posix: Detect a bug on Solaris 10/x86.
63948         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
63949         for floating-point output.
63950         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
63951         directive.
63952         * tests/test-snprintf-posix.h (test_function): Likewise.
63953         * tests/test-sprintf-posix.h (test_function): Likewise.
63954         * tests/test-vasprintf-posix.c (test_function): Likewise.
63955         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
63956         * doc/posix-functions/printf.texi: Likewise.
63957         * doc/posix-functions/snprintf.texi: Likewise.
63958         * doc/posix-functions/sprintf.texi: Likewise.
63959         * doc/posix-functions/vfprintf.texi: Likewise.
63960         * doc/posix-functions/vprintf.texi: Likewise.
63961         * doc/posix-functions/vsnprintf.texi: Likewise.
63962         * doc/posix-functions/vsprintf.texi: Likewise.
63963         * doc/glibc-functions/obstack_printf.texi: Likewise.
63964         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
63966 2010-11-27  Bruno Haible  <bruno@clisp.org>
63968         Fix link error when module libunistring-optional is in use.
63969         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
63970         * modules/striconveha-tests (Makefile.am): Likewise.
63972 2010-11-27  Bruno Haible  <bruno@clisp.org>
63974         regex: Mention link dependencies.
63975         * modules/regex (Link): New section.
63976         * modules/rpmatch (Link): Likewise.
63977         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
63979 2010-11-27  Bruno Haible  <bruno@clisp.org>
63981         ftoastr: Fix compilation error on Solaris.
63982         * lib/ftoastr.c: Include <config.h>.
63984 2010-11-27  Bruno Haible  <bruno@clisp.org>
63986         getloadavg: Update documentation.
63987         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
63989 2010-11-27  Bruno Haible  <bruno@clisp.org>
63991         sys_socket: Fix test whether the functions are declared.
63992         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
63993         not <sys/select.h>.
63995 2010-11-27  Bruno Haible  <bruno@clisp.org>
63997         getpass: Make sure to get system declaration on some platforms.
63998         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
63999         gl_USE_SYSTEM_EXTENSIONS.
64000         * modules/getpass (Depends-on): Add extensions.
64002 2010-11-26  Bruno Haible  <bruno@clisp.org>
64004         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
64005         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
64006         'iconv' module is present.
64007         (ICONV_CONST): New macro.
64008         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
64009         ICONV_CONST.
64010         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
64011         set ICONV_CONST.
64012         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
64013         here.
64014         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
64015         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
64016         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
64017         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
64018         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
64019         present.
64021 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
64023         ftoastr: comment fix
64024         * lib/ftoastr.c: "little" -> "little or no" in comment
64026 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
64028         stdint: port to GCC 4.3 + OSX + Octave
64029         On this platform, stdint.h is buggy and defines int64_t to long
64030         long int.  The replacement defined it to long int, causing
64031         problems with C++ style name mangling.  Instead, trust the system
64032         definition if INT64_MAX is defined, and likewise for the unsigned
64033         variant.   Problem reported by Jarno Rajahalme in
64034         <http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
64035         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
64036         and don't mess with int64_t and INT64_MAX in this case.
64037         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
64039 2010-11-24  Bruno Haible  <bruno@clisp.org>
64041         doc: Corrections regarding MacOS X 10.4 and 10.5.
64042         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
64043         MacOS X.
64044         Reported by Simon Josefsson.
64046 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
64048         Uninstall ".bin" files installed by relocwrapper.
64049         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
64050         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
64051         unless it is already there.
64053 2010-11-21  Bruno Haible  <bruno@clisp.org>
64055         Update for NetBSD 5.0.
64056         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
64057         NetBSD; the test fails on NetBSD 5.0.
64058         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
64059         about NetBSD.
64061 2010-11-21  Bruno Haible  <bruno@clisp.org>
64063         Update for HP-UX 11.23 and HP-UX 11.31.
64064         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
64065         HP-UX.
64067 2010-11-21  Bruno Haible  <bruno@clisp.org>
64069         Update for MacOS X 10.5.
64070         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
64071         MacOS X; the test fails on MacOS X 10.5.8.
64072         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
64073         about MacOS X.
64075 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
64077         bootstrap: add bootstrap_sync option.
64078         See discussion at
64079         <http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
64080         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
64081         * build-aux/bootstrap: Accept --bootstrap-sync to update
64082         bootstrap if it is not identical to the local gnulib's
64083         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
64084         enable this by default.  Accept --no-bootstrap-sync to disable
64085         it.
64087 2010-11-20  Bruno Haible  <bruno@clisp.org>
64089         Ensure that <features.h> is included before __GLIBC__ is tested.
64090         * lib/printf-parse.h: Include <features.h>.
64091         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
64092         Reported by Mike Frysinger <vapier@gentoo.org>.
64094         Ensure that <features.h> is included before __GLIBC__ is tested.
64095         * lib/wchar.in.h: Include <features.h>.
64096         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
64097         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
64098         Reported by Mike Frysinger <vapier@gentoo.org>.
64100         Ensure that <features.h> is included before __GLIBC__ is tested.
64101         * lib/arpa_inet.in.h: Include <features.h>.
64102         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
64103         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
64104         Reported by Mike Frysinger <vapier@gentoo.org>.
64106         Ensure that <features.h> is included before __GLIBC__ is tested.
64107         * build-aux/link-warning.h: Include <features.h>.
64108         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
64109         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
64110         Reported by Mike Frysinger <vapier@gentoo.org>.
64112         Ensure that <features.h> is included before __GLIBC__ is tested.
64113         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
64114         Reported by Mike Frysinger <vapier@gentoo.org>.
64116 2010-11-20  Bruno Haible  <bruno@clisp.org>
64118         memmem: Fix autoconf test.
64119         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
64121 2010-11-20  Bruno Haible  <bruno@clisp.org>
64123         Port to uClibc.
64124         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
64125         * lib/fcntl.in.h: Likewise.
64126         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
64127         * lib/mbrtowc.c (mbrtowc): Likewise.
64128         * lib/relocatable.c (find_shared_library_fullname): Likewise.
64129         * lib/strerror_r.c: Likewise.
64130         * lib/unistr/u8-strnlen.c: Likewise.
64131         * lib/vasnprintf.c (decimal_point_char): Likewise.
64132         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
64133         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
64134         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
64135         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
64136         * tests/test-sigaction.c (handler, main): Likewise.
64137         * lib/freading.h: Treat uClibc like a non-glibc platform.
64138         * lib/freading.c: Likewise.
64139         * lib/gettext.h: Likewise.
64140         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
64141         Likewise.
64142         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
64143         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
64144         * lib/propername.c (proper_name_utf8): Likewise.
64145         * lib/spawn.in.h: Likewise.
64146         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
64147         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
64148         mem_cd_iconveh_internal): Likewise.
64149         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
64150         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
64151         strstr, strcasestr): Likewise.
64152         * lib/unicodeio.c (unicode_to_mb): Likewise.
64153         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
64154         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
64155         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
64156         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
64157         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
64158         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
64159         * lib/unistr/u8-stpncpy.c: Likewise.
64160         * lib/vasnprintf.c (VASNPRINTF): Likewise.
64161         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
64162         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
64163         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
64164         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
64165         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
64166         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
64167         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
64168         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
64169         Likewise.
64170         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
64171         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
64172         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
64173         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
64174         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
64175         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
64176         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
64177         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
64178         * tests/test-getopt.h (OPTIND_MIN): Likewise.
64179         * tests/test-striconveha.c (main): Likewise.
64180         * tests/test-vasnprintf-posix.c (test_function): Likewise.
64181         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
64182         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
64183         * doc/posix-functions/getline.texi: Likewise.
64184         Reported by Mike Frysinger <vapier@gentoo.org>.
64186 2010-11-20  Bruno Haible  <bruno@clisp.org>
64188         nproc: Fix condition.
64189         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
64190         HAVE_PTHREAD_AFFINITY_NP.
64192 2010-11-20  Bruno Haible  <bruno@clisp.org>
64194         Fix a comment.
64195         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
64197 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
64199         ftoastr: don't assume snprintf
64200         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
64201         Implement a subset of snprintf here, by using sprintf safely.
64202         * modules/ftoastr (Depends-on): Remove snprintf.
64204 2010-11-19  Jim Meyering  <meyering@redhat.com>
64206         test-rename.h: fix compilation failure
64207         * tests/test-rename.h (test_rename): Add omitted "}".
64209 2010-11-17  Jim Meyering  <meyering@redhat.com>
64211         maint.mk: add a URL discussing the no-@acronym policy
64212         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
64214 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
64216         ftoastr: depend on snprintf, improve comments
64217         * lib/ftoastr.c: Also mention Loitsch's draft.
64218         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
64219         needed in the current implementation, but it might simplify
64220         speeding up the code later.
64221         * modules/ftoastr: Depend on snprintf; this improves portability.
64222         Suggested by Bruno Haible in the same email.
64224         ftoastr: port to hosts lacking strtof and strtold
64225         Problem reported by Bruno Haible in
64226         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
64227         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
64228         environment and strtold (and presumably strtof) are not available.
64229         * modules/ftoastr (Files): Add m4/c-strtod.m4.
64230         (configure.ac): Require gl_C99_STRTOLD.
64232 2010-11-18  Bruno Haible  <bruno@clisp.org>
64234         c-strtold: Avoid link error on AIX 7.
64235         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
64236         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
64237         (gl_C_STRTOLD): Test whether strtold_l exists.
64238         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
64240 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
64242         intprops: new macro INT_BITS_STRLEN_BOUND
64243         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
64244         ftoastr.h.  This exposes an internal of intprops.h that was formerly
64245         not exposed.  Also, it uses a slightly tighter bound than before;
64246         though this makes no practical difference, we might as well be as
64247         tight as we easily can.
64249         ftoastr: new module, for lossless conversion of floats to short strings
64250         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
64251         * modules/ftoastr: New files.
64253 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
64255         bootstrap: port to Solaris sed
64256         * build-aux/bootstrap (get_version): Port to Solaris sed.
64257         See Ralf Wildenhues's note in
64258         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.
64260 2010-11-14  Jim Meyering  <meyering@redhat.com>
64262         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
64263         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
64264         and move definition closer to sole use.
64266 2010-11-13  Jim Meyering  <meyering@redhat.com>
64268         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
64269         Now we require at least autoconf-2.59, which means the work-around
64270         is no longer needed.
64271         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
64272         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
64273         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
64274         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
64275         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
64277 2010-11-13  Bruno Haible  <bruno@clisp.org>
64279         rename, renameat: Avoid test failures at NFS mounted locations.
64280         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
64281         functions.
64282         (test_rename): Use assert_nonexistent.
64283         * tests/test-rename.c: Include <dirent.h>.
64284         * tests/test-renameat.c: Likewise.
64285         Reported by Gary V. Vaughan <gary@gnu.org>.
64287         rename, renameat: Document Linux bug with NFS
64288         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
64289         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
64290         * doc/posix-functions/renameat.texi: Likewise.
64291         Suggested by Eric Blake.
64293 2010-11-13  Bruno Haible  <bruno@clisp.org>
64295         rename test: Add comments.
64296         * tests/test-rename.h (test_rename): Add structure and comments.
64298 2010-11-13  Eric Blake  <eblake@redhat.com>
64300         maintainer-makefile: cover a few more files
64301         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
64302         scripts generated within C files, for libvirt.
64304 2010-11-13  Bruno Haible  <bruno@clisp.org>
64306         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
64307         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
64308         character, return the number of bytes that belong together, not always
64309         1.
64310         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
64311         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
64312         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
64313         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
64314         number of bytes of an invalid character.
64315         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
64316         (main): Invoke it.
64317         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
64318         results.
64319         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
64320         malformed byte sequences.
64321         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
64322         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
64323         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
64324         Reported by Ben Pfaff and Paolo Bonzini.
64326 2010-11-13  Bruno Haible  <bruno@clisp.org>
64328         openat: Work around glibc bug with fchownat() and empty file names.
64329         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
64330         (gl_FUNC_FCHOWNAT): Invoke it.
64331         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
64332         * doc/posix-functions/fchownat.texi: Document the glibc bug.
64333         Reported by Gary V. Vaughan <gary@gnu.org>.
64335 2010-11-13  Bruno Haible  <bruno@clisp.org>
64337         openat: Ensure autoconf macro ordering.
64338         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
64339         gl_USE_SYSTEM_EXTENSIONS.
64340         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
64342 2010-11-13  Bruno Haible  <bruno@clisp.org>
64344         Update comments.
64345         * lib/unistr/u8-check.c: Update file name in comments.
64346         * lib/unistr/u8-mblen.c: Likewise.
64347         * lib/unistr/u8-prev.c: Likewise.
64348         * lib/unistr/u8-strmblen.c: Likewise.
64349         * lib/unistr/u8-strmbtouc.c: Likewise.
64351 2010-11-13  Jim Meyering  <meyering@redhat.com>
64353         tests: avoid test failure on Solaris 10 due to lack of PATH export
64354         * tests/test-update-copyright.sh: Don't forget to export PATH.
64356         init.sh: ensure that IFS is defined, just in case...
64357         * tests/init.sh (setup_): Ensure that IFS is defined,
64358         so that saving and restoring it works as expected.  This
64359         appears to be useful at least for an old version of dash
64360         from a long time ago (RH 6).  See here for details:
64361         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
64363         maint.mk: tighten "test a == b" check
64364         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
64365         test to files that contain something like #!/bin/sh.
64366         Without this, coreutils would get two false positives in
64367         the comments of C source files.
64369 2010-11-12  Eric Blake  <eblake@redhat.com>
64371         bootstrap: fix typo in previous attempt
64372         * build-aux/bootstrap (buildreq): Correct the grouping.
64373         Reported by Paul Eggert.
64375         maintainer-makefile: prohibit test x == x
64376         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
64377         Based on a report by Matthias Bolte.
64379         bootstrap: allow FreeBSD gzip
64380         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
64381         which has no '.' and goes to stderr.
64382         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
64383         Reported by Matthias Bolte.
64385         maintainer-makefile: check for i18n setup
64386         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
64387         will likely work.
64389 2010-11-12  Bruno Haible  <bruno@clisp.org>
64391         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
64392         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
64393         * lib/nanosleep.c (nanosleep): Likewise.
64395 2010-11-11  Bruno Haible  <bruno@clisp.org>
64397         fcntl-h: Fix for use of C++ on glibc systems.
64398         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
64399         also on glibc systems in C++ mode.
64400         Reported by Gary V. Vaughan <gary@gnu.org>.
64402 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
64404         mknod: avoid false failure with dash
64405         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
64407 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
64409         unlink: Fix "is it should" typo in diagnostic.
64410         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
64411         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.
64413 2010-11-11  Bruno Haible  <bruno@clisp.org>
64415         Tests for module 'strerror_r-posix'.
64416         * modules/strerror_r-posix-tests: New file.
64417         * tests/test-strerror_r.c: New file.
64418         * tests/test-string-c++.cc: Check the signature of strerror_r.
64420         New module 'strerror_r-posix'.
64421         * lib/string.in.h (strerror_r): New declaration.
64422         * lib/strerror_r.c: New file.
64423         * m4/strerror_r.m4: New file.
64424         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
64425         of strerror_r.
64426         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
64427         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
64428         * modules/strerror_r-posix: New file.
64429         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
64430         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
64431         * doc/posix-functions/strerror_r.texi: Mention the new module and the
64432         portability problems.
64434 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
64436         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
64437         line is also considered for output. Quoted function name in shell
64438         command, so temporary files for functions like MyClass::operator()
64439         are removed correctly without errors.
64441 2010-11-09  Bruno Haible  <bruno@clisp.org>
64443         * doc/posix-functions/strerror.texi: List more failing platforms.
64445         * doc/posix-functions/strerror.texi: Add a comment.
64447 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
64449         fdopendir: fix bug on MacOS X when low on file descriptors
64451         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
64452         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
64453         All callers changed.
64454         (fdopendir): Invoke save_cwd at the top level, not after using
64455         multiple dup() calls to use up file descriptors.  Then retry
64456         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
64457         less than the maximum number of open file descriptors, because
64458         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
64459         on Mac OS X 10.6.4 for tar 1.24
64460         <http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
64461         <http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
64462         and for tar 1.25
64463         <http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.
64465 2010-11-07  Bruno Haible  <bruno@clisp.org>
64467         vasnprintf: Support I flag on glibc systems.
64468         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
64469         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
64470         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
64471         snprintf function.
64472         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
64473         glibc systems.
64474         * tests/test-vasnprintf-posix3.c: New file.
64475         * modules/vasnprintf-posix-tests (Files): Add it.
64476         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
64478 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
64480         [html] Fix copy/paste bug: Use unique name for compiler warnings.
64481         * MODULES.html.sh: For compiler warnings, use name
64482         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
64484 2010-11-05  Eric Blake  <eblake@redhat.com>
64486         ceil, floor: avoid spurious failure with icc
64487         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
64488         [denormals-as-zero] when optimizing without -mieee-fp option.
64489         * tests/test-floorf2.c (floorf_reference): Likewise.
64490         * tests/test-ceilf1.c (dummy): New function.
64491         (main): Use it to outsmart icc's optimization.
64492         * tests/test-floorf1.c (dummy, main): Likewise.
64494         tests: require working signbit
64495         * modules/ceilf-tests (Depends-on): Add signbit.
64496         * modules/ceill-tests (Depends-on): Likewise.
64497         * modules/floorf-tests (Depends-on): Likewise.
64498         * modules/floorl-tests (Depends-on): Likewise.
64499         * modules/round-tests (Depends-on): Likewise.
64500         * modules/roundf-tests (Depends-on): Likewise.
64501         * modules/roundl-tests (Depends-on): Likewise.
64502         * modules/trunc-tests (Depends-on): Likewise.
64503         * modules/truncf-tests (Depends-on): Likewise.
64504         * modules/truncl-tests (Depends-on): Likewise.
64506         strtod: work around icc bug
64507         * lib/strtod.c (minus_zero): Define to working value.
64508         (strtod): Use it to avoid icc bug.
64510         copysign: enhance tests
64511         * modules/copysign-tests (Files): Add minus-zero.h.
64512         * tests/test-copysign.c (main): Also test zeros.
64514 2010-11-04  Eric Blake  <eblake@redhat.com>
64516         ceil, floor, round, trunc: enhance tests of -0
64517         * tests/test-ceilf1.c (main): Ensure correct sign of result.
64518         * tests/test-ceill.c (main): Likewise.
64519         * tests/test-floorf1.c (main): Likewise.
64520         * tests/test-floorl.c (main): Likewise.
64521         * tests/test-round1.c (main): Likewise.
64522         * tests/test-roundf1.c (main): Likewise.
64523         * tests/test-roundl.c (main): Likewise.
64524         * tests/test-trunc1.c (main): Likewise.
64525         * tests/test-truncf1.c (main): Likewise.
64526         * tests/test-truncl.c (main): Likewise.
64528 2010-11-04  Eric Blake  <eblake@redhat.com>
64530         frexp, tests: work around ICC bug with -zero
64531         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
64532         works with more compilers.
64533         * tests/minus-zero.h: New file.
64534         * modules/ceilf-tests (Files): Include it.
64535         * modules/ceill-tests (Files): Likewise.
64536         * modules/floorf-tests (Files): Likewise.
64537         * modules/floorl-tests (Files): Likewise.
64538         * modules/frexp-nolibm-tests (Files): Likewise.
64539         * modules/frexp-tests (Files): Likewise.
64540         * modules/frexpl-nolibm-tests (Files): Likewise.
64541         * modules/frexpl-tests (Files): Likewise.
64542         * modules/isnan-tests (Files): Likewise.
64543         * modules/isnand-nolibm-tests (Files): Likewise.
64544         * modules/isnand-tests (Files): Likewise.
64545         * modules/isnanf-nolibm-tests (Files): Likewise.
64546         * modules/isnanf-tests (Files): Likewise.
64547         * modules/isnanl-nolibm-tests (Files): Likewise.
64548         * modules/isnanl-tests (Files): Likewise.
64549         * modules/round-tests (Files): Likewise.
64550         * modules/roundf-tests (Files): Likewise.
64551         * modules/roundl-tests (Files): Likewise.
64552         * modules/ldexpl-tests (Files): Likewise.
64553         * modules/signbit-tests (Files): Likewise.
64554         * modules/snprintf-posix-tests (Files): Likewise.
64555         * modules/sprintf-posix-tests (Files): Likewise.
64556         * modules/strtod-tests (Files): Likewise.
64557         * modules/trunc-tests (Files): Likewise.
64558         * modules/truncf-tests (Files): Likewise.
64559         * modules/truncl-tests (Files): Likewise.
64560         * modules/vsnprintf-posix-tests (Files): Likewise.
64561         * modules/vsprintf-posix-tests (Files): Likewise.
64562         * modules/vasnprintf-posix-tests (Files): Likewise.
64563         * modules/vasprintf-posix-tests (Files): Likewise.
64564         * tests/test-ceilf1.c (main): Use it.
64565         * tests/test-ceill.c (main): Likewise.
64566         * tests/test-floorf1.c (main): Likewise.
64567         * tests/test-floorl.c (main): Likewise.
64568         * tests/test-frexp.c (main): Likewise.
64569         * tests/test-frexpl.c (main): Likewise.
64570         * tests/test-isnan.c (main): Likewise.
64571         * tests/test-isnand.h (main): Likewise.
64572         * tests/test-isnanf.h (main): Likewise.
64573         * tests/test-isnanl.h (main): Likewise.
64574         * tests/test-ldexpl.c (main): Likewise.
64575         * tests/test-round.c (main): Likewise.
64576         * tests/test-roundf.c (main): Likewise.
64577         * tests/test-roundl.c (main): Likewise.
64578         * tests/test-signbit.c (test_signbitf, test_signbitd)
64579         (test_signbitl): Likewise.
64580         * tests/test-snprintf-posix.h (test_function): Likewise.
64581         * tests/test-sprintf-posix.h (test_function): Likewise.
64582         * tests/test-strtod.c (main): Likewise.
64583         * tests/test-trunc1.c (main): Likewise.
64584         * tests/test-truncf1.c (main): Likewise.
64585         * tests/test-truncl.c (main): Likewise.
64587         isnanl: work around icc bug
64588         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
64590 2010-11-03  Eric Blake  <eblake@redhat.com>
64592         tests: fix compiler warnings
64593         * tests/test-getopt.h (test_getopt): Fix condition.
64594         * tests/test-getopt_long.h (test_getopt_long): Likewise.
64595         * tests/test-pipe2.c (main): Likewise.
64596         * tests/test-quotearg-simple.c (main): Avoid icc warning.
64598         utimens: fix broken m4 test
64599         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
64601 2010-10-28  Bruno Haible  <bruno@clisp.org>
64603         posix_spawn*, getdtablesize: Relax license.
64604         * modules/posix_spawn (License): Change to LGPLv2+.
64605         * modules/posix_spawnp (License): Likewise.
64606         * modules/posix_spawn-internal (License): Likewise.
64607         * modules/posix_spawnattr_init (License): Likewise.
64608         * modules/posix_spawnattr_getflags (License): Likewise.
64609         * modules/posix_spawnattr_setflags (License): Likewise.
64610         * modules/posix_spawnattr_getpgroup (License): Likewise.
64611         * modules/posix_spawnattr_setpgroup (License): Likewise.
64612         * modules/posix_spawnattr_getschedparam (License): Likewise.
64613         * modules/posix_spawnattr_setschedparam (License): Likewise.
64614         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
64615         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
64616         * modules/posix_spawnattr_getsigdefault (License): Likewise.
64617         * modules/posix_spawnattr_setsigdefault (License): Likewise.
64618         * modules/posix_spawnattr_getsigmask (License): Likewise.
64619         * modules/posix_spawnattr_setsigmask (License): Likewise.
64620         * modules/posix_spawnattr_destroy (License): Likewise.
64621         * modules/posix_spawn_file_actions_init (License): Likewise.
64622         * modules/posix_spawn_file_actions_addclose (License): Likewise.
64623         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
64624         * modules/posix_spawn_file_actions_addopen (License): Likewise.
64625         * modules/posix_spawn_file_actions_destroy (License): Likewise.
64626         * modules/getdtablesize (License): Likewise.
64627         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
64629 2010-10-26  Bruno Haible  <bruno@clisp.org>
64631         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
64632         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
64633         Cygwin and mingw.
64634         Suggested by Eric Blake.
64636 2010-10-26  Bruno Haible  <bruno@clisp.org>
64638         stdio: Work around compilation error due to renameat() on Solaris 10.
64639         * lib/stdio.in.h: Include <unistd.h> on Solaris.
64640         * lib/renameat.c: Don't include <unistd.h> here.
64641         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
64642         Reported by Paul Eggert and Eric Blake.
64644 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
64646         renameat: port to Solaris 10, which declares renameat in unistd.h
64648         * lib/renameat.c: Include unistd.h before stdio.h, because
64649         Solaris 10 declares renameat in unistd.h.  Problem encountered
64650         when building GNU tar 1.24 on Solaris 10.
64652 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
64654         fdopendir: fix C89 compilation
64655         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
64656         compilers.
64658 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
64660         inttostr: simplify by removing unnecessary redundancy
64661         * lib/anytostr.c: Don't include verify.h.
64662         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
64663         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
64664         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
64665         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
64666         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
64667         Likewise.
64668         * modules/inttostr (Depends-on): Remove 'verify'.
64670 2010-10-23  Bruno Haible  <bruno@clisp.org>
64672         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
64673         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
64674         Reported by Eric Blake.
64676 2010-10-23  Bruno Haible  <bruno@clisp.org>
64678         Tests: Fix LOCALE_JA on MirBSD 10.
64679         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
64680         to an UTF-8 locale.
64681         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
64682         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
64683         Reported by Eric Blake.
64685 2010-10-21  Bruno Haible  <bruno@clisp.org>
64687         nl_langinfo test: Avoid test failure on NetBSD 5.
64688         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
64689         Reported by Eric Blake.
64691 2010-10-21  Eric Blake  <eblake@redhat.com>
64693         c-stack: work around libsigsegv 2.8 bug
64694         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
64695         overflow on at least PowerPC64.
64697 2010-10-17  Bruno Haible  <bruno@clisp.org>
64699         userspec: Drop redundant file.
64700         * modules/userspec (Files): Remove lib/inttostr.h.
64702 2010-10-17  Bruno Haible  <bruno@clisp.org>
64704         nl_langinfo tests: Silence some warnings.
64705         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
64706         Reported by Jim Meyering.
64708 2010-10-17  Bruno Haible  <bruno@clisp.org>
64710         Make use of GCC's attribute __alloc_size__.
64711         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
64712         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
64713         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
64714         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
64715         __alloc_size__.
64716         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
64717         Suggested by Jim Meyering.
64719 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
64721         bootstrap: anchor .gitignore entries.
64722         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
64723         with...
64724         (insert_vc_ignore): ... this new function, which prepends `/' to
64725         all .gitignore entries before passing them to
64726         insert_sorted_if_absent.
64728 2010-10-16  Bruno Haible  <bruno@clisp.org>
64730         nextafter: Fix configure check.
64731         * modules/nextafter (configure.ac): Correct expected prototype.
64733 2010-10-16  Bruno Haible  <bruno@clisp.org>
64735         termios: Update documentation.
64736         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
64738 2010-10-16  Bruno Haible  <bruno@clisp.org>
64740         tests: Make them compile with TinyCC.
64741         * tests/test-strstr.c (main): Remove parentheses around array
64742         initializer.
64744 2010-10-15  Eric Blake  <eblake@redhat.com>
64746         ignore-value: make header idempotent
64747         * lib/ignore-value.h: Add double-inclusion guards.
64748         Reported by Stefan Berger.
64750 2010-10-15  Jim Meyering  <meyering@redhat.com>
64752         GNUmakefile: handle "stable" target, not "major"
64753         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
64754         lists in maint.mk and announce-gen.  Without this, "make stable"
64755         would fail to ensure that $(VERSION) is up to date.
64757 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
64759         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
64760         & co.
64762 2010-10-14  Bruno Haible  <bruno@clisp.org>
64764         vasnprintf: Don't set errno to 0.
64765         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
64766         block that sets it to 0.
64767         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
64769 2010-10-14  Bruno Haible  <bruno@clisp.org>
64771         socketlib: Fix.
64772         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
64773         gl_PREREQ_SYS_H_WINSOCK2.
64774         Reported by Ian Beckwith <ianb@erislabs.net>.
64776 2010-10-13  Jim Meyering  <meyering@redhat.com>
64778         test-select-stdin.c: avoid warn_unused_result warnings
64779         * tests/test-select-stdin.c: Include "macros.h".
64780         ASSERT that read and fflush succeed.
64782 2010-10-13  Jim Meyering  <meyering@redhat.com>
64784         git-version-gen: do require git-VC'd files in cwd
64785         * build-aux/git-version-gen: Reject a git version string
64786         if there are no commits associated with the current directory.
64787         This avoids an unlikely false-positive (unrelated dir whose parent
64788         repository also contains a tag matching v*), as pointed out
64789         by Giuseppe Scrivano in
64790         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
64792 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
64794         argv-iter: omit nonconforming declaration
64795         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
64796         enum arg_iter_err declaration, which doesn't conform to C99.
64797         Solaris 10 cc warns about this.
64799 2010-10-13  Eric Blake  <eblake@redhat.com>
64801         termios: fix compilation on mingw
64802         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
64803         (gl_TERMIOS_H): Adjust it on mingw.
64804         * modules/termios (Makefile.am): Substitute new key.
64805         * lib/termios.in.h (includes): Make include_next conditional.
64806         * doc/posix-headers/termios.texi (termios.h): Update
64807         documentation.
64808         Reported by Daniel P. Berrange.
64810 2010-10-13  Jim Meyering  <meyering@redhat.com>
64812         git-version-gen: don't require that .git/ be in the current dir
64813         * build-aux/git-version-gen: Adjust this script so that it works
64814         when run from any working directory beneath the top-level .git/-
64815         containing directory.  Inspired by a patch from Giuseppe Scrivano,
64816         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
64818         test-select: avoid warn_unused_result warnings
64819         * tests/test-select.c: Include "macros.h".
64820         ASSERT that each call to read, write, and pipe succeeds.
64821         While not technically required, also check each "close".
64822         * modules/select-tests (Files): Add tests/macros.h.
64824         test-symlinkat: remove declaration of unused local
64825         * tests/test-symlinkat.c (main): Remove unused local, "buf".
64827         test-inttostr: avoid shadowing warnings
64828         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
64829         and use malloc rather than the stack for the same reason as
64830         mentioned in the comment justifying the other allocation.
64832 2010-10-11  Bruno Haible  <bruno@clisp.org>
64834         stdlib: Allow multiple gnulib generated replacements to coexist.
64835         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
64836         Reported by Sam Steingold <sds@gnu.org>.
64838 2010-10-11  Jim Meyering  <meyering@redhat.com>
64840         fix a documentation typo
64841         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
64843 2010-10-11  Eric Blake  <eblake@redhat.com>
64845         futimens: work around Solaris 11 bug
64846         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
64847         * tests/test-futimens.h (test_futimens): Enhance, rather than
64848         weaken test.
64849         * doc/posix-functions/futimens.texi (futimens): Document the bug.
64851 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
64853         Indentation.
64854         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
64855         higher-level operators more to the left.
64857 2010-10-11  Jim Meyering  <meyering@redhat.com>
64859         test-futimens: avoid unwarranted test failure on Solaris 5.11
64860         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
64861         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
64862         because it tries to dereference the NULL name argument.
64864 2010-10-11  Bruno Haible  <bruno@clisp.org>
64866         Indentation.
64867         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
64868         indentation.
64870 2010-10-11  Jim Meyering  <meyering@redhat.com>
64872         spawn.in.h: make indentation consistent with parentheses
64873         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
64874         Make indentation consistent with parentheses.
64876 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
64878         Fix mismatched parens in previous commit
64879         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
64880         parens.
64882 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
64884         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
64886         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
64887         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
64888         * lib/malloca.c: Include "verify.h".
64889         (verify1): Remove, replacing with a verify call.
64890         * lib/relocwrapper.c (verify1): Likewise.
64891         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
64892         Likewise.
64893         * modules/malloca (Depends-on): Add 'verify'.
64894         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
64895         * modules/vasnprintf (Depends-on): Add 'verify'.
64896         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
64897         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
64898         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
64899         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
64900         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
64901         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
64902         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
64904         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
64906         Formerly the style was sometimes 2*X - 1, because the C standard
64907         was wrongly thought to disallow ?: in integral constant expressions.
64908         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
64909         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
64910         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
64911         * lib/stdint.in.h (_verify_intmax_size): Likewise.
64912         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
64913         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
64914         verify that time_t cannot be floating.
64916 2010-10-08  Eric Blake  <eblake@redhat.com>
64918         time: enforce recent POSIX ruling that time_t is integral
64919         * lib/time.in.h (__time_t_must_be_integral): Detect any
64920         problematic systems, allowing the rest of gnulib to assume POSIX.
64922 2010-10-08  Jim Meyering  <meyering@redhat.com>
64924         fdopendir: fix a bug on systems lacking openat and /proc support
64925         OpenBSD 4.7 is one such system.  The most noticeable effect was
64926         failure of any application making nontrivial use of fts: rm, du,
64927         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
64928           ./rm: traversal failed: `a': Bad file descriptor
64929         Debugging that, you see that even though FD 6 was closed just
64930         prior to the opendir call in fd_clone_opendir, its resulting
64931         dir->dd_fd was 8, rather than the expected value of 6:
64933         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
64934         93                close (fd);
64935         (gdb) n
64936         94                dir = fd_clone_opendir (dupfd);
64937         (gdb) n
64938         95                saved_errno = errno;
64939         (gdb) p dir->dd_fd
64940         $11 = 8
64942         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
64943         The problem is that on OpenBSD, fd_clone_opendir has to resort
64944         to using the old-style save/restore CWD mechanism, due to its
64945         lack of openat/proc support, and *that* would steal the FD (6)
64946         that opendir was supposed to use.
64948         The fix is to squirrel away the desired FD so that save_cwd uses a
64949         different one, and then free the dest FD right before calling opendir.
64950         That guarantees opendir will use the required file descriptor.
64952         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
64954 2010-10-08  Bruno Haible  <bruno@clisp.org>
64956         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
64957         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
64959 2010-10-08  Bruno Haible  <bruno@clisp.org>
64961         nanosleep: Make replacement POSIX compliant.
64962         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
64963         is out of range.
64964         Reported by Jim Meyering.
64966 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
64968         bootstrap: add hook for altering gnulib.mk, for Bison
64969         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
64970         the Bison bootstrapping process can rewrite file names and variables
64971         in this file before later parts of 'bootstrap' use the file.
64972         Bison wants to include lib/gnulib.mk from the top-level makefile,
64973         so it needs the file names in this file to be relative to the top
64974         level, not relative to lib; plus it needs variable names to be
64975         rewritten.
64976         (slurp): Use the new function.
64978         bootstrap: reformat for readability
64979         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
64981 2010-10-08  Eric Blake  <eblake@redhat.com>
64983         docs: update cygwin progress
64984         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
64985         1.7.7.
64986         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
64987         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
64988         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
64989         * doc/posix-functions/carg.texi (carg): Likewise.
64990         * doc/posix-functions/cargf.texi (cargf): Likewise.
64991         * doc/posix-functions/casin.texi (casin): Likewise.
64992         * doc/posix-functions/casinf.texi (casinf): Likewise.
64993         * doc/posix-functions/casinh.texi (casinh): Likewise.
64994         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
64995         * doc/posix-functions/catan.texi (catan): Likewise.
64996         * doc/posix-functions/catanf.texi (catanf): Likewise.
64997         * doc/posix-functions/catanh.texi (catanh): Likewise.
64998         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
64999         * doc/posix-functions/ccos.texi (ccos): Likewise.
65000         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
65001         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
65002         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
65003         * doc/posix-functions/cexp.texi (cexp): Likewise.
65004         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
65005         * doc/posix-functions/cimag.texi (cimag): Likewise.
65006         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
65007         * doc/posix-functions/clog.texi (clog): Likewise.
65008         * doc/posix-functions/clogf.texi (clogf): Likewise.
65009         * doc/posix-functions/conj.texi (conj): Likewise.
65010         * doc/posix-functions/conjf.texi (conjf): Likewise.
65011         * doc/posix-functions/cpow.texi (cpow): Likewise.
65012         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
65013         * doc/posix-functions/cproj.texi (cproj): Likewise.
65014         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
65015         * doc/posix-functions/creal.texi (creal): Likewise.
65016         * doc/posix-functions/crealf.texi (crealf): Likewise.
65017         * doc/posix-functions/csin.texi (csin): Likewise.
65018         * doc/posix-functions/csinf.texi (csinf): Likewise.
65019         * doc/posix-functions/csinh.texi (csinh): Likewise.
65020         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
65021         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
65022         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
65023         * doc/posix-functions/ctan.texi (ctan): Likewise.
65024         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
65025         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
65026         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
65027         * doc/posix-headers/complex.texi (complex.h): Likewise.
65029 2010-10-07  Jim Meyering  <meyering@redhat.com>
65031         parse-datetime: avoid compilation failure on OpenBSD 4.7
65032         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
65033         This works around a compilation failure on OpenBSD 4.7:
65034         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
65036 2010-10-07  Eric Blake  <eblake@redhat.com>
65038         docs: update cygwin progress
65039         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
65040         1.7.6.
65041         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
65042         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
65043         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
65044         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
65045         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
65046         Likewise.
65047         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
65048         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
65049         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
65050         Likewise.
65051         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
65052         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
65053         Likewise.
65054         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
65055         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
65056         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
65057         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
65058         Likewise.
65059         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
65060         Likewise.
65061         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
65063         docs: update parse-datetime history
65064         * doc/parse-datetime.texi (Authors of parse_datetime): Better
65065         documentation of this function's history and alternatives.
65067         cygwin: use more robust version check
65068         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
65069         exclude an eventual cygwin 1.9.1.
65070         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
65071         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
65072         (gl_FUNC_STRCASESTR): Likewise.
65073         Reported by Bruno Haible.
65075 2010-10-06  Bruno Haible  <bruno@clisp.org>
65077         string, sys_select: Avoid #including large headers unless necessary.
65078         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
65079         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
65080         OSF/1, BeOS, Haiku.
65081         Reported by Jim Meyering.
65083 2010-10-05  Eric Blake  <eblake@redhat.com>
65085         memmem, strstr, strcasestr: fix bug with long periodic needle
65086         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
65087         periodic needle having false positive.
65088         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
65089         and cygwin 1.7.7.
65090         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
65091         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
65092         (gl_FUNC_STRCASESTR): Likewise.
65093         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
65094         * tests/test-memmem.c (main): Expose the bug.
65095         * tests/test-strcasestr.c (main): Likewise.
65096         * tests/test-strstr.c (main): Likewise.
65097         * tests/test-c-strcasestr.c (main): Likewise.
65098         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
65099         * doc/posix-functions/strstr.texi (strstr): Likewise.
65100         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
65101         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
65103 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
65105         parse-datetime: do some more renaming
65106         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
65107         parse_datetime, not get_date.  Mention the renaming.
65108         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
65109         in comments.
65110         * m4/bison.m4: Likewise.
65112 2010-10-05  Eric Blake  <eblake@redhat.com>
65114         parse-datetime: better name than get_date
65115         * NEWS: Reword the deprecation notice.
65116         * modules/get_date: Rename to modules/parse-datetime.
65117         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
65118         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
65119         * lib/get_date.y: Rename to lib/parse-datetime.y.
65120         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
65121         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
65122         * doc/getdate.texi: Provide fallback wrapper.
65123         * lib/getdate.h: Move guts, and wrap...
65124         * lib/parse-datetime.h: ...new file.
65125         * lib/parse-datetime.y (get_date): Rename...
65126         (parse_datetime): ...to this.
65127         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
65128         (gl_PARSE_DATETIME): ...to this.
65129         * doc/posix-functions/getdate.texi (get_date): Provide fallback
65130         documentation.
65131         * modules/getdate (Files): Provide fallback docs and header.
65132         (Notice, Depends-on): Update references.
65133         * tests/test-parse-datetime.c: Likewise.
65134         * DEPENDENCIES: Likewise.
65135         * MODULES.html.sh (Date and time <time.h>): Likewise.
65136         * doc/parse-datetime.texi (Date input formats)
65137         (Authors of parse_datetime): Likewise.
65138         * modules/parse-datetime (Files, configure.ac, Makefile.am)
65139         (Include): Likewise.
65140         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
65141         * gnulib-tool: Likewise.
65142         * m4/bison.m4 (gl_BISON): Likewise.
65143         Suggested by Bruno Haible.
65145 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
65147         more ports to Solaris tr, which needs [] around ranges
65148         * gnulib-tool: Solaris tr needs [] around ranges.
65149         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
65150         * tests/test-pipe-filter-gi1.c (main): Likewise.
65151         * tests/test-pipe-filter-ii1.c (main): Likewise.
65153 2010-10-05  Eric Blake  <eblake@redhat.com>
65155         bootstrap: fix Solaris regression
65156         * build-aux/bootstrap (check_versions): Solaris tr still needs []
65157         around ranges.
65158         Reported by Pádraig Brady.
65160         bootstrap: work with pkg-config
65161         * build-aux/bootstrap (check_versions): Also transliterate - in
65162         prerequisite name.
65163         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
65164         prerequisites that were already found, to avoid confusion.
65165         Reported by Justin Clift.
65167         faccessat: remove unused wrappers
65168         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
65169         presence of these wrappers dragged in -lgen on Solaris.
65170         Reported by Clemens Brogi; fix suggested by Paul Eggert.
65172 2010-10-05  Jim Meyering  <meyering@redhat.com>
65174         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
65175         * Makefile (sc_pragma_columns): New syntax-check rule.
65177 2010-10-04  Bruno Haible  <bruno@clisp.org>
65179         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
65180         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
65181         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
65182         Reported by Bruce Korb and Eric Blake.
65184 2010-10-04  Bruno Haible  <bruno@clisp.org>
65186         threadlib: Make option --with-libpth-prefix work.
65187         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
65188         use $LIBPTH, not just -lpth.
65190 2010-10-04  Bruno Haible  <bruno@clisp.org>
65192         Avoid line length limitation from HP NonStop system header files.
65193         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
65194         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
65195         * lib/ctype.in.h: Likewise.
65196         * lib/dirent.in.h: Likewise.
65197         * lib/errno.in.h: Likewise.
65198         * lib/fcntl.in.h: Likewise.
65199         * lib/float.in.h: Likewise.
65200         * lib/getopt.in.h: Likewise.
65201         * lib/iconv.in.h: Likewise.
65202         * lib/inttypes.in.h: Likewise.
65203         * lib/langinfo.in.h: Likewise.
65204         * lib/locale.in.h: Likewise.
65205         * lib/math.in.h: Likewise.
65206         * lib/netdb.in.h: Likewise.
65207         * lib/netinet_in.in.h: Likewise.
65208         * lib/poll.in.h: Likewise.
65209         * lib/pthread.in.h: Likewise.
65210         * lib/pty.in.h: Likewise.
65211         * lib/sched.in.h: Likewise.
65212         * lib/se-selinux.in.h: Likewise.
65213         * lib/search.in.h: Likewise.
65214         * lib/signal.in.h: Likewise.
65215         * lib/spawn.in.h: Likewise.
65216         * lib/stdarg.in.h: Likewise.
65217         * lib/stddef.in.h: Likewise.
65218         * lib/stdint.in.h: Likewise.
65219         * lib/stdio.in.h: Likewise.
65220         * lib/stdlib.in.h: Likewise.
65221         * lib/string.in.h: Likewise.
65222         * lib/strings.in.h: Likewise.
65223         * lib/sys_file.in.h: Likewise.
65224         * lib/sys_ioctl.in.h: Likewise.
65225         * lib/sys_select.in.h: Likewise.
65226         * lib/sys_socket.in.h: Likewise.
65227         * lib/sys_stat.in.h: Likewise.
65228         * lib/sys_time.in.h: Likewise.
65229         * lib/sys_times.in.h: Likewise.
65230         * lib/sys_utsname.in.h: Likewise.
65231         * lib/sys_wait.in.h: Likewise.
65232         * lib/sysexits.in.h: Likewise.
65233         * lib/termios.in.h: Likewise.
65234         * lib/time.in.h: Likewise.
65235         * lib/unistd.in.h: Likewise.
65236         * lib/wchar.in.h: Likewise.
65237         * lib/wctype.in.h: Likewise.
65238         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
65239         * modules/ctype (Makefile.am): Likewise.
65240         * modules/dirent (Makefile.am): Likewise.
65241         * modules/errno (Makefile.am): Likewise.
65242         * modules/fcntl-h (Makefile.am): Likewise.
65243         * modules/float (Makefile.am): Likewise.
65244         * modules/getopt-posix (Makefile.am): Likewise.
65245         * modules/iconv-h (Makefile.am): Likewise.
65246         * modules/inttypes (Makefile.am): Likewise.
65247         * modules/langinfo (Makefile.am): Likewise.
65248         * modules/locale (Makefile.am): Likewise.
65249         * modules/math (Makefile.am): Likewise.
65250         * modules/netdb (Makefile.am): Likewise.
65251         * modules/netinet_in (Makefile.am): Likewise.
65252         * modules/poll-h (Makefile.am): Likewise.
65253         * modules/pthread (Makefile.am): Likewise.
65254         * modules/pty (Makefile.am): Likewise.
65255         * modules/sched (Makefile.am): Likewise.
65256         * modules/search (Makefile.am): Likewise.
65257         * modules/selinux-h (Makefile.am): Likewise.
65258         * modules/signal (Makefile.am): Likewise.
65259         * modules/spawn (Makefile.am): Likewise.
65260         * modules/stdarg (Makefile.am): Likewise.
65261         * modules/stddef (Makefile.am): Likewise.
65262         * modules/stdint (Makefile.am): Likewise.
65263         * modules/stdio (Makefile.am): Likewise.
65264         * modules/stdlib (Makefile.am): Likewise.
65265         * modules/string (Makefile.am): Likewise.
65266         * modules/strings (Makefile.am): Likewise.
65267         * modules/sys_file (Makefile.am): Likewise.
65268         * modules/sys_ioctl (Makefile.am): Likewise.
65269         * modules/sys_select (Makefile.am): Likewise.
65270         * modules/sys_socket (Makefile.am): Likewise.
65271         * modules/sys_stat (Makefile.am): Likewise.
65272         * modules/sys_time (Makefile.am): Likewise.
65273         * modules/sys_times (Makefile.am): Likewise.
65274         * modules/sys_utsname (Makefile.am): Likewise.
65275         * modules/sys_wait (Makefile.am): Likewise.
65276         * modules/sysexits (Makefile.am): Likewise.
65277         * modules/termios (Makefile.am): Likewise.
65278         * modules/time (Makefile.am): Likewise.
65279         * modules/unistd (Makefile.am): Likewise.
65280         * modules/wchar (Makefile.am): Likewise.
65281         * modules/wctype (Makefile.am): Likewise.
65283 2010-10-04  Bruno Haible  <bruno@clisp.org>
65285         read-file tests: Avoid a test failure on NonStop Kernel.
65286         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
65287         a regular file.
65288         Reported by Joachim Schmitz <schmitz@hp.com>.
65290 2010-10-03  Bruno Haible  <bruno@clisp.org>
65292         gnulib-tool: Fixes for --create-testdir with --libtool.
65293         * gnulib-tool (func_get_automake_snippet): Don't augment
65294         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
65295         an executable.
65296         (func_create_testdir): Handle module 'alloca' like func_import.
65297         Reported by Bruce Korb <bruce.korb@gmail.com>.
65299 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
65301         Avoid some lines longer than 80 characters.
65302         * lib/stdint.in.h: Break long comment lines.
65303         * lib/math.in.h: Likewise.
65304         (_GL_NUM_UINT_WORDS): New macro, for readability.
65305         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
65306         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
65307         * lib/stdlib.in.h: Likewise.
65308         * lib/spawn.in.h: Likewise.
65309         * lib/sys_socket.in.h: Update an URL.
65310         * lib/sys_stat.in.h: Break long line.
65312 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
65314         Improve pmccabe2html.
65315         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
65316         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
65317         when the sources change. Remove the line in the HTML about "Used
65318         ranges" (which implied that there might be other unused ranges),
65319         rename "Resume" to "Summary" (easier to understand for more users).
65320         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
65321         styles, and some unnecessary blank lines.
65323 2010-10-03  Bruno Haible  <bruno@clisp.org>
65324             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
65326         acl: Add support for ACLs on NonStop Kernel.
65327         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
65328         Check whether the function aclsort() exists.
65329         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
65330         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
65331         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
65332         (acl_nontrivial [HAVE_ACLSORT]: New function.
65333         (file_has_acl): Implement for NonStop Kernel.
65334         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
65335         (qset_acl): Implement for NonStop Kernel.
65336         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
65337         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
65338         (main): Implement for NonStop Kernel.
65339         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
65340         Kernel. Handle this flavor.
65341         * tests/test-set-mode-acl.sh: Likewise.
65342         * tests/test-copy-acl.sh: Likewise.
65343         * tests/test-copy-file.sh: Likewise.
65345 2010-10-03  Bruno Haible  <bruno@clisp.org>
65347         Info about ACLs on NonStop Kernel.
65348         * doc/acl-resources.txt: Add info about NonStop Kernel.
65349         References by Joachim Schmitz <schmitz@hp.com>.
65351 2010-10-02  Bruno Haible  <bruno@clisp.org>
65353         Define missing EDQUOT on NonStop Kernel.
65354         * lib/errno.in.h (EDQUOT): Assign a value if missing.
65355         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
65356         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
65357         missing.
65358         * doc/posix-headers/errno.texi: Mention the NSK bug.
65359         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
65360         Reported by Joachim Schmitz <schmitz@hp.com>.
65362 2010-10-02  Bruno Haible  <bruno@clisp.org>
65364         Update doc for POSIX:2008.
65365         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
65366         Update URL of POSIX specification.
65368 2010-10-02  Bruno Haible  <bruno@clisp.org>
65370         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
65371         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
65372         from gnulib, not from Automake.
65374 2010-10-02  Bruno Haible  <bruno@clisp.org>
65376         New module 'system-posix'.
65377         * modules/system-posix: New file.
65378         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
65379         module is present.
65380         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
65381         GNULIB_SYSTEM_POSIX.
65382         * modules/stdlib (Depends-on): Remove sys_wait.
65383         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
65384         * doc/posix-functions/system.texi: Mention the new module.
65385         * doc/posix-headers/stdlib.texi: Likewise.
65386         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
65387         define test_sys_wait_macros to a no-op.
65388         Reported by Sam Steingold <sds@gnu.org>.
65390 2010-09-30  Bruno Haible  <bruno@clisp.org>
65392         More renaming from 'getdate' to 'get_date'.
65393         * doc/get_date.texi: Renamed from doc/getdate.texi.
65394         * modules/get_date (Files): Update.
65395         * MODULES.html.sh (Date and time <time.h>): Update.
65396         * DEPENDENCIES: Update.
65397         * gnulib-tool: Update comment.
65398         * m4/bison.m4 (gl_BISON): Likewise.
65399         * m4/get_date.m4 (gl_GET_DATE): Likewise.
65401 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
65403         bootstrap: support ACLOCAL_FLAGS during aclocal
65404         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
65405         can add additional -I dir for third-party .m4 files.
65407 2010-09-30  Eric Blake  <eblake@redhat.com>
65409         bootstrap: use glibtoolize on MacOS
65410         * build-aux/bootstrap (check_versions): Convert libtool into
65411         libtoolize.
65412         (tool search): Move libtool check earlier, and look for
65413         glibtoolize for MacOS.
65414         (gnulib_tool_options): Auto-add --libtool when appropriate.
65415         Reported by Justin Clift.
65417         poll: fix typo that broke test on MacOS
65418         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
65419         Reported by Justin Clift.
65421         getdate: rename to get_date
65422         Note: getdate.h is not renamed, to minimize client impact.
65423         * modules/getdate: Mark obsolete.  Move old contents...
65424         * modules/get_date: ...to new module name.
65425         * modules/getdate-tests: Move...
65426         * modules/get_date-tests: ...here.
65427         * m4/getdate.m4: Move...
65428         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
65429         * lib/getdate.y: Move...
65430         * lib/get_date.y: ...here.
65431         * tests/test-getdate.c: Move...
65432         * tests/test-get_date.c: ...here.
65433         * doc/posix-functions/getdate.texi (getdate): Update name.
65434         * NEWS: Mention the change.
65436 2010-09-29  Bruno Haible  <bruno@clisp.org>
65438         Separate the module 'waitpid' from the module 'sys_wait'.
65439         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
65440         present.
65441         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
65442         gl_MODULE_INDICATOR_FOR_TESTS.
65443         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
65444         * modules/sys_wait (Depends-on): Remove waitpid.
65445         (Makefile.am): Substitute GNULIB_WAITPID.
65446         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
65447         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
65448         signature only if the 'waitpid' module is present.
65449         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
65450         * NEWS: Mention the change.
65451         * modules/grantpt (Depends-on): Add waitpid.
65452         * modules/wait-process (Depends-on): Likewise.
65454 2010-09-29  Bruno Haible  <bruno@clisp.org>
65456         More tests for module 'sys_wait'.
65457         * modules/sys_wait-c++-tests: New file.
65458         * tests/test-sys_wait-c++.cc: New file.
65459         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
65460         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
65462 2010-09-29  Bruno Haible  <bruno@clisp.org>
65464         New module 'waitpid'.
65465         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
65466         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
65467         Don't include <process.h>.
65468         (waitpid): Declare only, using modern idiom.
65469         * m4/waitpid.m4: New file.
65470         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
65471         * modules/waitpid: New file.
65472         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
65473         (Makefile.am): Update.
65474         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
65476 2010-09-28  Bruno Haible  <bruno@clisp.org>
65478         poll: Assume ANSI C.
65479         * lib/poll.c (poll): Use an ANSI C declaration.
65481 2010-09-28  Bruno Haible  <bruno@clisp.org>
65483         poll-h: Create poll.h on all platforms.
65484         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
65485         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
65486         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
65487         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
65488         (gl_REPLACE_POLL_H): Don't set POLL_H.
65489         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
65490         * modules/poll-h (Depends-on): Add include_next.
65491         (Makefile.am): Create poll.h unconditionally. Substitute also
65492         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
65494 2010-09-28  Bruno Haible  <bruno@clisp.org>
65496         Tests for module 'poll-h'.
65497         * modules/poll-h-c++-tests: New file.
65498         * tests/test-poll-h-c++.cc: New file.
65500         Tests for module 'poll-h'.
65501         * modules/poll-h-tests: New file.
65502         * tests/test-poll-h.c: New file.
65504 2010-09-28  Bruno Haible  <bruno@clisp.org>
65506         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
65507         * modules/poll-h (Depends-on): Add 'extensions'.
65509 2010-09-28  Bruno Haible  <bruno@clisp.org>
65511         New module 'poll-h'.
65512         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
65513         (poll): Use modern idiom.
65514         * modules/poll-h: New file.
65515         * modules/poll (Files): Remove lib/poll.in.h.
65516         (Depends-on): Add poll-h.
65517         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
65518         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
65519         * m4/poll_h.m4: New file.
65520         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
65521         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
65522         and invoke gl_REPLACE_POLL_H.
65523         * lib/poll.c: Use common idiom.
65524         * tests/test-poll.c: Likewise.
65525         * doc/posix-headers/poll.texi: Mention the poll-h module.
65526         Suggested by Eric Blake.
65528 2010-09-26  Bruno Haible  <bruno@clisp.org>
65530         sys_wait: Implement WSTOPSIG.
65531         * lib/sys_wait.in.h (WSTOPSIG): New macro.
65532         Reported by Simon Josefsson.
65534 2010-09-26  Simon Josefsson  <simon@josefsson.org>
65536         stdlib, sys_wait: Avoid compilation error on mingw.
65537         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
65539 2010-09-26  Bruno Haible  <bruno@clisp.org>
65541         stdlib tests: Avoid code duplication.
65542         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
65543         * modules/sys_wait-tests (Files): Likewise.
65544         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
65545         * tests/test-stdlib.c: Include test-sys_wait.h.
65546         (main): Invoke test_sys_wait_macros.
65547         * tests/test-sys_wait.c: Include test-sys_wait.h.
65548         (main): Invoke test_sys_wait_macros.
65550 2010-09-25  Simon Josefsson  <simon@josefsson.org>
65552         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
65553         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
65554         sure Windows sockets are working before calling getaddrinfo.
65555         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
65556         * doc/gnulib.texi (Windows sockets): Fix typo.
65558 2010-09-25  Bruno Haible  <bruno@clisp.org>
65560         Tests for module 'regex-quote'.
65561         * modules/regex-quote-tests: New file.
65562         * tests/test-regex-quote.c: New file.
65564         New module 'regex-quote'.
65565         * lib/regex-quote.h: New file.
65566         * lib/regex-quote.c: New file.
65567         * modules/regex-quote: New file.
65568         Suggested by Reuben Thomas <rrt@sc3d.org>.
65570 2010-09-24  Bruno Haible  <bruno@clisp.org>
65572         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
65573         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
65575 2010-09-23  Bruno Haible  <bruno@clisp.org>
65577         setenv: Relax license.
65578         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
65579         Blake.
65580         Requested by Eric Blake.
65582 2010-09-22  Bruno Haible  <bruno@clisp.org>
65584         termios: Relax license.
65585         * modules/termios (License): Change to LGPLv2+.
65586         Requested by Eric Blake.
65588 2010-09-22  Bruno Haible  <bruno@clisp.org>
65590         threadlib: Allow the package to change the default to 'no'.
65591         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
65592         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
65593         Reported by Paul Eggert.
65595 2010-09-22  Pádraig Brady  <P@draigbrady.com>
65596             Bruno Haible  <bruno@clisp.org>
65598         Fix endless loop in mbmemcasecoll.
65599         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
65600         byte.
65601         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
65603 2010-09-22  Bruno Haible  <bruno@clisp.org>
65605         Tests for module 'memcoll'.
65606         * modules/memcoll-tests: New file.
65607         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
65609         memcoll, xmemcoll: Clarify size vs. length.
65610         * modules/memcoll.c (memcoll0): Clarify specification.
65611         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
65612         passed to collate_error.
65614 2010-09-22  Bruno Haible  <bruno@clisp.org>
65616         Tests for module 'memcasecmp'.
65617         * modules/memcasecmp-tests: New file.
65618         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
65620 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65622         * lib/pthread.in.h: Add split double-inclusion guard, and include
65623         system <pthread.h> if there is one.  Use @@-style as in other
65624         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
65625         pthread.h doesn't.
65626         (pthread_mutexattr_destroy, pthread_mutexattr_init):
65627         (pthread_mutexattr_settype, pthread_mutex_trylock):
65628         New static inline functions, if there's no system <pthread.h>.
65629         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
65630         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
65631         Approximate with mutexes if the system lacks spinlocks, as in
65632         MacOS.
65633         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
65634         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
65635         @@-style.  Check for spinlocks separately.
65636         (gl_PTHREAD_DEFAULTS): New macro.
65637         * modules/pthread: Redo to use a more typical style for in.h files.
65639 2010-09-21  Eric Blake  <eblake@redhat.com>
65641         net_if: enhance tests
65642         * tests/test-net_if.c (main): Move signature checks earlier.
65643         Print failures to stderr.
65644         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
65645         Document the bug that we do not yet fix.
65647 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
65649         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
65650         about gnulib, not GSS.
65652 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
65654         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
65655         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
65656         for Emacs.
65657         * build-aux/pmccabe2html: Make Makefile.am example code more
65658         cut-and-paste friendly.
65660 2010-09-21  Simon Josefsson  <simon@josefsson.org>
65662         * tests/test-net_if.c: New file.
65663         * modules/net_if-tests: New file.
65665 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
65667         pthread: add pthread_spin_destroy
65668         * lib/pthread.in.h (pthread_spin_destroy): New function.
65670 2010-09-19  Bruno Haible  <bruno@clisp.org>
65672         gnulib-tool: Fix --help output.
65673         * gnulib-tool (func_usage): Fix help message.
65674         Reported by Reuben Thomas <rrt@sc3d.org>.
65676 2010-09-18  Jim Meyering  <meyering@redhat.com>
65678         maint.mk: avoid unexpanded \n in two diagnostics
65679         * top/maint.mk (sc_prohibit_always_true_header_tests):
65680         Don't use a literal \n in a halt=... assignment.  It would not be
65681         expanded, and the two \n bytes would appear in the diagnostic output
65682         rather than the desired newline.  Use halt=$$(printf ... instead.
65683         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
65685 2010-09-18  Bruno Haible  <bruno@clisp.org>
65687         netinet_in: Doc tweak.
65688         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
65689         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65691 2010-09-18  Jim Meyering  <meyering@redhat.com>
65693         init.sh: correct an outdated comment
65694         * tests/init.sh (create_exe_shims_):  s/function/alias/
65696         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
65697         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
65698         a file named "*.exe" is removed between the glob expansion and the
65699         processing of that oddly named file.
65701 2010-09-17  Eric Blake  <eblake@redhat.com>
65703         mirbsd: add some more support
65704         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
65705         in BSD family.
65706         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
65707         devices as OpenBSD.
65708         * m4/host-os.m4 (mirbsd): Add MirBSD.
65710         tests: fix unportable assumption on sys/wait.h
65711         * tests/test-sys_wait.c (main): Relax test.
65712         * tests/test-stdlib.c (main): Likewise.
65714         init.sh: accommodate directory with no .exes
65715         * tests/init.sh: Accomodate directory containing only scripts.
65717         tests: avoid compiler warning
65718         * tests/test-stdlib.c (main): Use the variable.
65720         fdutimens, fdutimensat: update signature, again
65721         * lib/utimens.h (gl_futimens): Delete, and move signature...
65722         (fdutimens): ...here.
65723         (fdutimensat): Rearrange signature.
65724         (lutimensat): Rename variable for clarity.
65725         * lib/fdutimensat.c (fdutimensat): Update signature.
65726         * lib/utimens.c (fdutimens): Likewise.
65727         (gl_futimens): Delete.
65728         (utimens, lutimens): Update callers.
65729         * lib/futimens.c (futimens): Likewise.
65730         * tests/test-fdutimensat.c: Likewise.
65731         * tests/test-utimens.c: Likewise.
65732         * tests/test-futimens.h: Update comment.
65733         * NEWS: Mention this.
65734         Suggested by Paul Eggert.
65736 2010-09-17  Bruno Haible  <bruno@clisp.org>
65738         Take over the maintenance of some older macros from Autoconf.
65739         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
65740         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
65741         GNU Autoconf.
65742         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
65743         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
65745 2010-09-17  Eric Blake  <eblake@redhat.com>
65747         fdutimensat: drop atflag validation
65748         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
65749         with valid fd, to close a race scenario where futimens is
65750         unsupported and FILE was replaced by a symlink.
65751         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
65752         accordingly.
65753         Suggested by Paul Eggert.
65755 2010-09-16  Bruno Haible  <bruno@clisp.org>
65757         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
65758         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
65760 2010-09-16  Bruno Haible  <bruno@clisp.org>
65762         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
65763         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
65764         login_tty exists.
65765         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65767 2010-09-16  Bruno Haible  <bruno@clisp.org>
65769         login_tty: Make the replacement code work on BSD systems.
65770         * lib/login_tty.c: Include <sys/ioctl.h>.
65771         (login_tty): Use ioctl TIOCSCTTY when available.
65772         * modules/login_tty (Depends-on): Add sys_ioctl.
65773         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65775 2010-09-16  Bruno Haible  <bruno@clisp.org>
65777         login_tty: Stricter unit test.
65778         * modules/login_tty-tests (Depends-on): Add tcgetsid.
65779         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
65780         and tcgetsid() after login_tty.
65781         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65783 2010-09-16  Bruno Haible  <bruno@clisp.org>
65785         New module 'tcgetsid'.
65786         * lib/tcgetsid.c: New file.
65787         * m4/tcgetsid.m4: New file.
65788         * modules/tcgetsid: New file.
65789         * modules/termios (Depends-on): Add c++defs, warn-on-use.
65790         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
65791         GNULIB_TCGETSID, HAVE_TCGETSID.
65792         * lib/termios.in.h: Include <sys/types.h>.
65793         (tcgetsid): New declaration.
65794         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
65795         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
65796         * doc/posix-functions/tcgetsid.texi: Mention the new module.
65797         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
65799 2010-09-16  Bruno Haible  <bruno@clisp.org>
65801         Tests for module 'termios'.
65802         * modules/termios-c++-tests: New file.
65803         * modules/termios-tests: New file.
65804         * tests/test-termios-c++.cc: New file.
65805         * tests/test-termios.c: New file.
65807         New module 'termios'.
65808         * modules/termios: New file.
65809         * lib/termios.in.h: New file.
65810         * m4/termios_h.m4: New file.
65811         * doc/posix-headers/termios.texi: Mention the new module.
65813 2010-09-16  Eric Blake  <eblake@redhat.com>
65815         fdutimensat: add an atflag parameter
65816         * lib/fdutimensat.c (fdutimensat): Add new parameter.
65817         * lib/utimens.h (fdutimensat): Update prototype.
65818         * tests/test-fdutimensat.c: Adjust test to match.
65819         * NEWS: Document the change.
65820         Suggested by Paul Eggert.
65822 2010-09-16  Bruno Haible  <bruno@clisp.org>
65824         Fix typos in comments.
65825         * lib/striconveh.h: Fix typo in comment.
65826         * lib/login_tty.c (login_tty): Likewise.
65828 2010-09-15  Bruno Haible  <bruno@clisp.org>
65830         stdlib: clarify MirBSD WEXITSTATUS bug
65831         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
65832         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
65834 2010-09-15  Eric Blake  <eblake@redhat.com>
65836         stdlib: work around MirBSD WEXITSTATUS bug
65837         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
65838         * modules/stdlib (Depends-on): Add sys_wait.
65839         * tests/test-sys_wait.c (main): Enhance test.
65840         * tests/test-stdlib.c (main): Likewise.
65841         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
65843         docs: mention MacOS issue with WEXITSTATUS(constant)
65844         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
65845         issue.
65846         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
65848         strnlen: add tests
65849         * modules/strnlen-tests: New file.
65850         * tests/test-strnlen.c: Likewise.
65852 2010-09-14  Bruno Haible  <bruno@clisp.org>
65854         unistr/base: Avoid link errors when module 'libunistring' is also used.
65855         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
65856         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
65857         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
65858         Declare also when HAVE_LIBUNISTRING is set.
65859         Reported by Pádraig Brady <P@draigbrady.com>.
65861 2010-09-14  Eric Blake  <eblake@redhat.com>
65863         test-rawmemchr: make more robust
65864         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
65865         (Depends-on, configure.ac): Add needed prerequisites to use it.
65866         * modules/memchr-tests (Files, Depends-on, configure.ac):
65867         Likewise, to avoid implicit reliance on memchr module prereqs.
65868         * tests/test-memchr.c (main): Ensure proper masking.
65869         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
65870         reads.
65872         memchr: detect glibc Alpha bug
65873         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
65874         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
65875         Alpha.
65876         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
65877         * tests/test-memchr.c (main): Enhance test.
65878         Reported by Nelson H. F. Beebe.
65880 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
65882         fts, getcwd, glob: audit for dirfd returning -1
65883         * lib/fts.c (opendir): Remove #define; no longer used.
65884         (opendirat): New arg PDIR_FD.  All callers changed.
65885         (fts_build, _opendir2): Use new opendirat to avoid the need for
65886         dirfd, or for checking whether dirfd returns a negative value.
65887         Don't use opendir; always use openat followed by fdopendir.
65888         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
65889         it.
65890         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
65891         returns -1 here.
65892         * modules/fts (Depends-on): Remove dirfd.
65893         * modules/getcwd (Depends-on): Likewise.
65895 2010-09-13  Eric Blake  <eblake@redhat.com>
65897         float: fix broken MirBSD header
65898         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
65899         * doc/posix-headers/float.texi (float.h): Document it.
65901 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
65903         fts: use O_NOFOLLOW to avoid race condition when opening a directory
65904         * lib/fts.c (opendirat): New arg extra_flags.
65905         (__opendir2): Use it to avoid following symlinks when opening
65906         a directory, if symlinks are not supposed to be followed.  See
65907         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.
65909         fdopendir: preserve argument fd before returning
65910         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
65911         (fdopendir_with_dup, fd_clone_opendir): New static functions.
65912         (fdopendir): Use them, arranging for FD to be open to the same
65913         directory that it was when it started.  (It might be temporarily
65914         closed while fdopendir is running, so this not thread- or
65915         signal-safe.)  Be careful to do the right thing even when file
65916         descriptors are scarce and dup fails with errno == EMFILE.  See
65917         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.
65919 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
65921         regex: Pass the system regex if its only problem is 32-bit regoff_t.
65922         * NEWS: Document change.
65923         * m4/regex.m4: Disable test for regoff_t size.
65925 2010-09-13  Jim Meyering  <meyering@redhat.com>
65927         fts: don't operate on an invalid file descriptor after failed dup
65928         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
65929         negative file descriptor.
65931 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
65933         savedir: add streamsavedir, deprecate fdsavedir
65934         * NEWS: Mention deprecation of fdsavedir.
65935         * lib/savedir.c (streamsavedir): New extern function, whose name
65936         ends in "savedir" to be consistent with the others.  This differs
65937         from savedirstream in that it doesn't close its argument.  The
65938         next version of GNU tar will use this instead of fdsavedir, to
65939         avoid some race conditions and conserve file descriptors.
65940         (savedirstream): Reimplement as a wrapper around streamsavedir.
65941         (fdsavedir): Add a comment deprecating this function.  As far as
65942         I know, only GNU tar used it, and GNU tar doesn't need it any more.
65943         * lib/savedir.h (streamsavedir): New decl.
65944         (fdsavedir): Add a comment deprecating this.
65946 2010-09-10  Bruno Haible  <bruno@clisp.org>
65948         langinfo: Fix last commit.
65949         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
65950         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
65951         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
65953 2010-09-10  Bruno Haible  <bruno@clisp.org>
65955         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
65956         * lib/progreloc.c (O_EXEC): Define fallback.
65958 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
65960         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
65961         * NEWS: Document recent changes to fcntl-h.
65962         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
65963         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
65964         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
65965         Similarly for O_SEARCH; this last was already true, but not documented.
65966         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
65967         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
65968         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
65969         Likewise.
65970         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
65971         is zero, not whether it is defined.
65972         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
65973         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
65974         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
65976 2010-09-10  Bruno Haible  <bruno@clisp.org>
65978         langinfo, nl_langinfo: Fix for IRIX 5.3.
65979         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
65980         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
65981         HAVE_LANGINFO_YESEXPR.
65982         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
65983         HAVE_LANGINFO_YESEXPR.
65984         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
65985         HAVE_LANGINFO_T_FMT_AMPM is 0.
65986         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
65987         HAVE_LANGINFO_YESEXPR is 0.
65988         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
65989         NOEXPR.
65990         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
65991         * doc/posix-functions/nl_langinfo.texi: Likewise.
65992         Reported by Eric Blake.
65994 2010-09-10  Bruno Haible  <bruno@clisp.org>
65996         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
65997         * doc/glibc-functions/login_tty.texi: Mention the include file problem
65998         on FreeBSD 8.0 and OpenBSD 4.6.
65999         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
66000         * m4/pty_h.m4 (gl_PTY_H): Likewise.
66001         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
66002         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
66003         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
66004         ac_includes_default.
66005         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
66007 2010-09-09  Eric Blake  <eblake@redhat.com>
66009         strsignal: work around NetBSD bug
66010         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
66011         * lib/string.in.h (includes): Likewise.
66012         * doc/posix-functions/strsignal.texi (strsignal): Document the
66013         bug.
66014         Reported by Nelson H. F. Beebe.
66016         gnulib-tool: work with NetBSD /bin/sh
66017         * gnulib-tool (func_cache_var, func_cache_lookup_module)
66018         (func_get_description, func_get_comment, func_get_status)
66019         (func_get_notice, func_get_applicability, func_get_filelist)
66020         (func_get_dependencies, func_get_autoconf_early_snippet)
66021         (func_get_autoconf_snippet, func_get_automake_snippet)
66022         (func_get_include_directive, func_get_link_directive)
66023         (func_get_license, func_get_maintainer, func_import): Avoid
66024         shell syntax errors from parsing syntax extensions.
66026 2010-09-09  Bruno Haible  <bruno@clisp.org>
66028         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
66029         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
66030         a reliable way to determine whether the 'alias' command works.
66032 2010-09-08  Jim Meyering  <meyering@redhat.com>
66034         init.sh: penalize a set-x-impaired shell; don't disqualify it
66035         * tests/init.sh: Too many shells corrupt application stderr when
66036         you set -x, so we can't afford to disqualify them, since at least
66037         on Irix-6.5, that would disqualify all bourne shells.
66038         Instead, use a two-pass approach.
66039         On the first pass, try to find a shell that meets the stricter
66040         condition that set -x does not corrupt stderr.
66041         If no shell meets the stricter condition, retest each candidate
66042         shell, but without that extra condition.  Finally, when
66043         VERBOSE=yes is requested and set -x might cause trouble, simply
66044         issue a warning and refrain from enabling debug output.
66046 2010-09-08  Eric Blake  <eblake@redhat.com>
66048         unsetenv: fix OpenBSD bug
66049         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
66050         * doc/posix-functions/unsetenv.texi (unsetenv): Update
66051         documentation.
66052         Reported by Jim Meyering.
66054         strtod: work around IRIX 6.5 bug
66055         * lib/strtod.c (strtod): Reparse number on shorter string if
66056         exponent parse was invalid.
66057         * tests/test-strtod.c (main): Add check for "0x1p 2".
66058         Reported by Tom G. Christensen.
66060         getopt: optimize previous patch
66061         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
66062         empty variable.  Speed up awk script.
66063         Reported by Paolo Bonzini.
66065 2010-09-08  Jim Meyering  <meyering@redhat.com>
66067         test.sh: disqualify shells for which set -x corrupts stderr
66068         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
66069         and OpenBSD 4.7.  They make it so with "set -x", environment settings
66070         appear in stderr output.  For example, this command:
66071             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
66072         prints "P=1" on those two systems:
66074 2010-09-08  Bruno Haible  <bruno@clisp.org>
66076         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
66077         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
66078         commands, because some shells ignore redirections when there is an
66079         error in the command lookup.
66080         Reported by Eric Blake.
66082 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
66084         * lib/regex.h: Fix a mention of `regex_compile' (should be
66085         `re_compile_pattern').
66086         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
66087         (re_set_registers): Correct name of parameter in comment.
66089         * doc/regex.texi: Add documentation for missing syntax flags.
66090         Remove commented-out documentation of defunct syntax option
66091         RE_NO_EMPTY_ALTS.
66092         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
66093         Add documentation of re_set_registers.
66094         Document trick to re-use a pattern buffer by setting fastmap manually.
66095         Update documentation of struct re_pattern_buffer per public members.
66096         Uncomment documentation of equivalence class operators and
66097         collating symbol operators, since they are now implemented,
66098         Explain leftmost-longest matching in relation to alternatives.
66099         Tidy documentation of substring matching.
66100         Remove POSIX documentation, which is done better in
66101         glibc, and refer the reader there. Keep BSD API documentation, as
66102         that is not readily available elsewhere.
66104 2010-09-07  Eric Blake  <eblake@redhat.com>
66106         getopt: handle POSIXLY_CORRECT set but not exported
66107         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
66108         export state of POSIXLY_CORRECT, due to bash set -o posix.
66109         Reported by Dustin J. Mitchell.
66111 2010-09-05  Bruno Haible  <bruno@clisp.org>
66113         gnulib-tool: Highlight the changed options.
66114         * gnulib-tool (func_usage): Display the --import, --add-import,
66115         --remove-import explanations in bold font.
66117 2010-09-06  Karl Berry  <karl@gnu.org>
66119         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
66121 2010-09-05  Bruno Haible  <bruno@clisp.org>
66123         uniwidth/width: Update comment.
66124         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
66125         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
66127 2010-09-05  Bruno Haible  <bruno@clisp.org>
66129         isinf, isnan: Relax license.
66130         * modules/isinf (License): Change from GPL to LGPL, with consent from
66131         Ben Pfaff.
66132         * modules/isnan (License): Likewise.
66133         Requested by Ludovic Courtès.
66135 2010-09-04  Bruno Haible  <bruno@clisp.org>
66137         gnulib-tool: Help migration from --import to --add-import or --update.
66138         * gnulib-tool: Emit a verbose error message when --import is used
66139         without any module name.
66141 2010-09-04  Bruno Haible  <bruno@clisp.org>
66143         Update doc about gnulib-tool.
66144         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
66145         'gnulib-tool --update' in more detail.
66146         Reported by Eric Blake.
66148 2010-09-04  Bruno Haible  <bruno@clisp.org>
66150         gnulib-tool: Change --import. New options --add/remove-import.
66151         * gnulib-tool: New options --add-import, --remove-import.
66152         (func_usage): Document them.
66153         (have_associative): Define always.
66154         (func_import): In import mode, don't merge the specified settings with
66155         the cached settings. Implement remove-import mode.
66156         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
66157         Explain when to use them versus --import.
66158         (Simple update): Use --add-import instead of --import.
66159         * NEWS: Mention the change.
66161 2010-09-04  Bruno Haible  <bruno@clisp.org>
66163         * doc/gnulib-tool.texi (Initial import): Update paragraph about
66164         separate gnulib.mk.
66166 2010-09-04  Bruno Haible  <bruno@clisp.org>
66168         gnulib-tool: Don't talk about CVS any more.
66169         * gnulib-tool (func_usage, func_import): Write "version control"
66170         instead of CVS.
66172 2010-09-04  Jim Meyering  <meyering@redhat.com>
66174         maint.mk: avoid obscure sc_copyright_check failure in coreutils
66175         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
66176         false positives (whose names may be ill-chosen) when searching
66177         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
66178         would cause a false-positive.
66180         avoid coreutils "make distcheck" failure
66181         Coreutils tests with an absolute build directory name that contains
66182         a space.  Not quoting this directory name caused a failure.
66183         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
66184         * tests/test-vc-list-files-cvs.sh: Likewise.
66186 2010-09-04  Bruno Haible  <bruno@clisp.org>
66188         gnulib-tool: Avoid error when run in a package without Makefile.am.
66189         * gnulib-tool: When collecting the m4dirs in a package that does not
66190         have a Makefile.am, eliminate those directories that contain no
66191         gnulib-cache.m4. Fix expression that counts these directories.
66193 2010-09-04  Bruno Haible  <bruno@clisp.org>
66195         update-copyright test: Improve output when perl is missing or too old.
66196         * tests/test-update-copyright.sh: Move test of Perl version down after
66197         the test whether Perl exists. Provide an explanation relating Perl's
66198         error message to Automake's SKIP: message.
66200 2010-09-04  Bruno Haible  <bruno@clisp.org>
66202         Don't augment PATH in TESTS_ENVIRONMENT.
66203         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
66204         set abs_aux_dir instead of augmenting PATH.
66205         * modules/vc-list-files-tests (Makefile.am): Likewise.
66206         * tests/test-update-copyright.sh: Augment PATH here.
66207         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
66208         path_prepend_.
66209         * tests/test-vc-list-files-git.sh: Likewise.
66211 2010-09-04  Jim Meyering  <meyering@redhat.com>
66213         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
66214         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
66216 2010-09-04  Bruno Haible  <bruno@clisp.org>
66218         strdup: Fix compilation error in C++ mode.
66219         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
66220         the macro.
66222 2010-09-04  Bruno Haible  <bruno@clisp.org>
66224         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
66225         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
66226         macro into a function.
66227         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
66229 2010-09-04  Bruno Haible  <bruno@clisp.org>
66231         Set PATH_SEPARATOR the same way autoconf does.
66232         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
66233         the value of PATH_SEPARATOR the same way autoconf-generated configure
66234         scripts do.
66235         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
66236         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
66238 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
66240         Set PATH_SEPARATOR the same way autoconf does.
66241         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
66242         the same way autoconf-generated configure scripts do.
66243         * posix-modules: Likewise.
66245 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
66247         hash: fix safe_hasher const typo
66248         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
66249         const; otherwise, there is a type error later.
66251 2010-09-02  Jim Meyering  <meyering@redhat.com>
66253         test-update-copyright.sh: require perl 5.8.0
66254         * tests/test-update-copyright.sh: Require 5.8.0,
66255         which Tom G. Christensen has confirmed is adequate,
66256         while 5.6.1 is not.
66258 2010-09-02  Eric Blake  <eblake@redhat.com>
66260         tests: init.sh improvements for re-exec'ing with zsh
66261         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
66262         -vx through shell re-exec.
66263         Reported by Tom G. Christensen.
66265         wctype: fix typo in previous commit
66266         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
66267         Reported by Ludovic Courtès.
66269 2010-09-02  Jim Meyering  <meyering@redhat.com>
66271         test-update-copyright.sh: skip test if Perl is too old
66272         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
66273         Reported by Tom G. Christensen.
66275 2010-09-02  Bruno Haible  <bruno@clisp.org>
66277         wctype: Avoid compilation error on IRIX 6.5.30.
66278         * lib/wctype.in.h (iswblank): Declare with a replacement if
66279         REPLACE_ISWBLANK is set.
66280         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
66281         declared. Set REPLACE_ISWBLANK.
66282         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
66283         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
66284         * doc/posix-headers/wctype.texi: Likewise.
66285         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
66287 2010-09-01  Bruno Haible  <bruno@clisp.org>
66289         New module 'socketlib'.
66290         * modules/socketlib: New file.
66291         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
66292         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
66293         * modules/sockets (Depends-on): Add socketlib.
66294         Suggested by Sam Steingold <sds@gnu.org>.
66296 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
66298         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
66300         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
66301         when one needs search access to a directory but not read access.
66302         On systems where it is available, it works in some cases where
66303         O_RDONLY does not, namely on directories that are searchable but
66304         not readable, and which need only to be searchable.  If O_SEARCH
66305         is not available, fall back to the traditional method of using
66306         O_RDONLY.
66308         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
66309         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
66310         when opening a directory that needs only to be searchable.
66311         * lib/chdir-safer.c (chdir_no_follow): Likewise.
66312         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
66313         * lib/openat-proc.c (openat_proc_name): Likewise.
66314         * lib/openat.c (openat_needs_fchdir): Likewise.
66315         * lib/save-cwd.c (save_cwd): Likewise.
66316         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
66318 2010-08-28  Bruno Haible  <bruno@clisp.org>
66320         New module 'host-cpu-c-abi'.
66321         * modules/host-cpu-c-abi: New file.
66322         * m4/host-cpu-c-abi.m4: New file, based on part of
66323         clisp/src/m4/general.m4.
66324         Requested by Sam Steingold <sds@gnu.org>.
66326 2010-08-31  Eric Blake  <eblake@redhat.com>
66327         and Jim Meyering  <meyering@redhat.com>
66329         hash: factor, and guard against misbehaving hasher function
66330         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
66331         of table->hasher's return value.  Also protect against a hash value
66332         so large that adding it to table->bucket results in a NULL pointer.
66333         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
66334         Use it in place of open-coded check-and-abort.
66336 2010-08-30  Bruno Haible  <bruno@clisp.org>
66338         hash: silence spurious clang warning
66339         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
66340         Reported by Eric Blake.
66342 2010-08-30  Eric Blake  <eblake@redhat.com>
66344         strstr, memmem, strcasestr: avoid leaked shell message
66345         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
66346         FreeBSD.
66347         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
66348         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
66350         tests: silence clang warning
66351         * tests/test-malloca.c (do_allocation): Avoid dead store.
66353 2010-08-29  Bruno Haible  <bruno@clisp.org>
66355         gettext: Fix recent mistake.
66356         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
66358 2010-08-29  Bruno Haible  <bruno@clisp.org>
66360         selinux-h: Offer a --without-selinux option.
66361         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
66362         --without-selinux was specified, skip all tests and define
66363         HAVE_SELINUX_SELINUX_H to 0.
66364         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
66365         set LIB_SELINUX to empty.
66366         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
66367         gl_LIBSELINUX. If --without-selinux was specified, replace
66368         selinux/context.h.
66369         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
66371 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66372             Bruno Haible  <bruno@clisp.org>
66374         Make the module 'realloc-gnu' work again on AIX and OSF/1.
66375         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
66376         of HAVE_REALLOC.
66377         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
66378         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
66379         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
66380         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
66382 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66383             Bruno Haible  <bruno@clisp.org>
66385         Make the module 'calloc-gnu' work again on AIX and OSF/1.
66386         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
66387         HAVE_CALLOC.
66388         * lib/xmalloc.c: Update accordingly.
66389         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
66390         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
66391         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
66393 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66394             Bruno Haible  <bruno@clisp.org>
66396         Make the module 'malloc-gnu' work again on AIX and OSF/1.
66397         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
66398         HAVE_MALLOC.
66399         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
66400         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
66401         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
66403 2010-08-29  Bruno Haible  <bruno@clisp.org>
66405         Update modules list.
66406         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
66407         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
66408         (String handling <string.h>): Add astrxfrm.
66409         (File system functions): Add readlinkat.
66411 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66413         Tests for module 'realloc-gnu'.
66414         * modules/realloc-gnu-tests: New file.
66415         * tests/test-realloc-gnu.c: New file.
66417         Tests for module 'calloc-gnu'.
66418         * modules/calloc-gnu-tests: New file.
66419         * tests/test-calloc-gnu.c: New file.
66421         Tests for module 'malloc-gnu'.
66422         * modules/malloc-gnu-tests: New file.
66423         * tests/test-malloc-gnu.c: New file.
66425 2010-08-28  Bruno Haible  <bruno@clisp.org>
66427         Rename module 'realloc' -> 'realloc-gnu'.
66428         * modules/realloc-gnu: New file, copied from modules/realloc.
66429         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
66430         obsolete.
66431         * modules/mgetgroups (Depends-on): Update.
66432         * doc/posix-functions/realloc.texi: Update.
66433         * NEWS: Mention the change.
66435         Rename module 'calloc' -> 'calloc-gnu'.
66436         * modules/calloc-gnu: New file, copied from modules/calloc.
66437         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
66438         obsolete.
66439         * doc/posix-functions/calloc.texi: Update.
66440         * NEWS: Mention the change.
66442         Rename module 'malloc' -> 'malloc-gnu'.
66443         * modules/malloc-gnu: New file, copied from modules/malloc.
66444         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
66445         obsolete.
66446         * modules/argp (Depends-on): Update.
66447         * modules/regex (Depends-on): Update.
66448         * doc/posix-functions/malloc.texi: Update.
66449         * NEWS: Mention the change.
66451 2010-08-28  Eric Blake  <eblake@redhat.com>
66453         pread, pwrite: add missing dependency
66454         * modules/pread (Depends-on): Add extensions.
66455         * modules/pwrite (Depends-on): Likewise.
66457 2010-08-28  Bruno Haible  <bruno@clisp.org>
66459         unistr/u*-strchr: Fix tests dependencies.
66460         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
66461         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
66462         Reported by Ian Beckwith <ianb@erislabs.net>.
66464 2010-08-28  Bruno Haible  <bruno@clisp.org>
66466         read-file: Don't occupy too much unused memory.
66467         * lib/read-file.c (fread_file): Shrink the buffer at the end.
66469 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
66470             Eric Blake  <eblake@redhat.com>
66471             Bruno Haible  <bruno@clisp.org>
66473         read-file: Avoid memory reallocations with regular files.
66474         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
66475         (fread_file): With regular files, use the remaining length as the
66476         initial buffer size.  Check against overflow.
66477         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
66478         sys_stat.
66480 2010-08-28  Bruno Haible  <bruno@clisp.org>
66482         ftello: Relax license.
66483         * modules/ftello (License): Relax to LGPLv2+.
66484         Reported by Eric Blake.
66486 2010-08-28  Bruno Haible  <bruno@clisp.org>
66488         Avoid relocwrapper link errors due to gnulib replacement functions.
66489         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
66490         function.
66491         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66493 2010-08-28  Bruno Haible  <bruno@clisp.org>
66495         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
66496         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
66497         defined.
66498         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
66499         Suggested by Eric Blake.
66501 2010-08-28  Bruno Haible  <bruno@clisp.org>
66503         sys_socket, netdb: Ensure socklen_t gets defined.
66504         * modules/sys_socket (Depends-on): Add socklen.
66505         * modules/netdb (Depends-on): Likewise.
66506         * modules/getaddrinfo (Depends-on): Remove socklen.
66507         * modules/getsockopt (Depends-on): Likewise.
66508         * modules/setsockopt (Depends-on): Likewise.
66509         * tests/test-sys_socket.c: Check that socklen_t is defined.
66510         * tests/test-netdb.c: Likewise.
66511         * m4/socklen.m4: Update comments.
66512         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66514 2010-08-27  Eric Blake  <eblake@redhat.com>
66516         login_tty: add missing dependency
66517         * modules/login_tty (Depends-on): Add pty.
66519 2010-08-26  Eric Blake  <eblake@redhat.com>
66521         lib-symbol-versions: fix m4 quoting
66522         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
66523         format for AC_LINK_IFELSE.
66525         glob: fix compile test
66526         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
66528         btowc: fix missing file
66529         * modules/btowc (Files): Also ship locale-fr.m4.
66531         lseek: fix link test
66532         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
66533         AC_LINK_IFELSE.
66535         include_next: silence autoconf 2.68 warning
66536         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
66537         AC_COMPILE_IFELSE as special.
66538         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
66539         autoconf < 2.68.
66541         acl: fix compilation test
66542         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
66543         AC_COMPILE_IFELSE.
66545 2010-08-26  Bruno Haible  <bruno@clisp.org>
66547         Modernize AC_TRY_RUN invocations.
66548         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
66549         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
66550         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
66551         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
66552         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
66553         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
66554         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
66555         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
66556         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
66557         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
66558         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
66559         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
66560         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
66561         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
66562         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
66563         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
66564         gl_MBRLEN_NUL_RETVAL): Likewise.
66565         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
66566         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
66567         Likewise.
66568         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
66569         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
66570         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
66571         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
66572         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
66573         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
66574         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
66575         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
66576         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
66577         Likewise.
66578         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
66579         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
66580         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66581         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
66582         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
66583         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
66584         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
66585         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
66586         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
66587         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
66589 2010-08-26  Bruno Haible  <bruno@clisp.org>
66591         Modernize AC_TRY_LINK invocations.
66592         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
66593         AC_TRY_LINK.
66594         * m4/argp.m4 (gl_ARGP): Likewise.
66595         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
66596         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
66597         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
66598         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
66599         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
66600         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
66601         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
66602         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
66603         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
66604         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
66605         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
66606         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
66607         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
66608         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
66609         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
66610         * m4/hostent.m4 (gl_HOSTENT): Likewise.
66611         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
66612         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
66613         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
66614         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
66615         Likewise.
66616         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
66617         Likewise.
66618         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
66619         Likewise.
66620         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
66621         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
66622         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
66623         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
66624         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
66625         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
66626         * m4/servent.m4 (gl_SERVENT): Likewise.
66627         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
66628         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
66629         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
66630         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
66631         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
66632         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
66633         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
66634         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
66635         * modules/tsearch-tests (configure.ac): Likewise.
66637 2010-08-26  Bruno Haible  <bruno@clisp.org>
66639         Modernize AC_TRY_COMPILE invocations.
66640         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
66641         AC_TRY_COMPILE.
66642         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
66643         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
66644         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
66645         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
66646         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
66647         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
66648         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
66649         * m4/lock.m4 (gl_LOCK): Likewise.
66650         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
66651         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
66652         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
66653         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
66654         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
66655         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
66656         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
66657         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
66658         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
66659         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
66660         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
66661         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
66662         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
66663         extraneous semicolon.
66665 2010-08-26  Jim Meyering  <meyering@redhat.com>
66667         stat-time: relax license LGPL
66668         * modules/stat-time (License): Change from GPL to LGPL,
66669         with consent from all contributors, for use in libguile.
66670         Requested by Ludovic Courtès.
66672 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
66674         poll: return immediately on POLLHUP.
66675         * lib/poll.c (poll): Always set timeout before wait_timeout is
66676         computed.
66678 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66680         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
66681         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
66682         rmdir ("dir/.//"), unlinkat.
66684 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66686         stdbool: avoid spurious failure with modern xlc
66687         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
66689 2010-08-24  Bruno Haible  <bruno@clisp.org>
66691         getloadavg: simplify code
66692         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
66693         gl_have_func. Update comments.
66695 2010-08-24  Eric Blake  <eblake@redhat.com>
66697         getloadavg: don't define SVR4 on cygwin
66698         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
66699         only define SVR4 when -lkvm is required.
66700         Reported by Yaakov Selkowitz.
66702 2010-08-24  Bruno Haible  <bruno@clisp.org>
66704         priv-set: fix comment
66705         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
66707 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66709         priv-set: fix comments
66710         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
66711         to match code, as suggested by David Bartley in:
66712         http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html
66714 2010-08-23  Eric Blake  <eblake@redhat.com>
66716         stdbool: avoid rejecting clang
66717         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
66718         * tests/test-stdbool.c: Enable more tests if using the system
66719         <stdbool.h> instead of the gnulib replacement.
66720         (main): Move xlc bug test to a runtime test for all compilers.
66721         Reported by Anders Kaseorg.
66723         argz: fix shell quoting issue
66724         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
66725         Reported by Charles Wilson.
66727 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
66728             Erik Faye-Lund <kusmabite@gmail.com>
66730         poll, select: handle ERROR_BROKEN_PIPE.
66731         * lib/poll.c (win32_compute_revents): Return POLLHUP when
66732         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
66733         * lib/select.c (win32_compute_revents): Do not mark a pipe
66734         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
66736 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
66738         fts: allow compilation with C++
66739         * lib/fts_.h: Specify extern "C" linkage with C++.
66741 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66743         Fix gnulib-tool sed script de-commentation for AIX sed.
66744         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
66745         sed.
66747 2010-08-17  Eric Blake  <eblake@redhat.com>
66749         test-stddef: test for (some) offsetof bugs
66750         * tests/test-stddef.c: Enhance test to ensure correct type of
66751         offsetof.
66752         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
66753         that we are not fixing at this time.
66755 2010-08-15  Bruno Haible  <bruno@clisp.org>
66757         stpncpy: Allow stpncpy to be defined as a macro.
66758         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
66759         if it's already correctly declared.
66760         * lib/string.in.h (stpncpy): Undefine before redefining.
66761         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
66763 2010-08-14  Bruno Haible  <bruno@clisp.org>
66765         Rename module 'memxfrm' to 'amemxfrm'.
66766         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
66767         (amemxfrm): Renamed from memxfrm.
66768         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
66769         (amemxfrm): Renamed from memxfrm.
66770         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
66771         * NEWS: Mention the change.
66772         * MODULES.html.sh (String handling <string.h>): Update.
66773         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
66774         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
66775         * lib/unicase/u16-casexfrm.c: Likewise.
66776         * lib/unicase/u32-casexfrm.c: Likewise.
66777         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
66778         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
66779         * lib/uninorm/u16-normxfrm.c: Likewise.
66780         * lib/uninorm/u32-normxfrm.c: Likewise.
66781         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
66782         memxfrm.
66783         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
66784         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
66785         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
66786         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
66787         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
66788         Suggested by Paul Eggert.
66790 2010-08-14  Bruno Haible  <bruno@clisp.org>
66792         Tests for module 'astrxfrm'.
66793         * modules/astrxfrm-tests: New file.
66794         * tests/test-astrxfrm.c: New file.
66796         New module 'astrxfrm'.
66797         * lib/astrxfrm.h: New file.
66798         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
66799         * modules/astrxfrm: New file.
66801 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
66803         regex: Tweak doc.
66804         * doc/regex.texi (Overview): Don't mention regex.c.
66805         (GNU Regular Expression Compiling): Likewise.
66806         (Match-end-of-line Operator): Mention 'not_eol'.
66808 2010-08-14  Brian Gough  <bjg@gnu.org>
66809             Bruno Haible  <bruno@clisp.org>
66811         git-merge-changelog: add doc relating to use with bzr and hg.
66812         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
66814 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
66816         pthread: fix pthread.h creation for srcdir != builddir
66817         * modules/pthread (Makefile.am): Fix the rule to work also in a
66818         non-srcdir build.
66820 2010-08-13  Karl Berry  <karl@gnu.org>
66822         * doc/regex.texi (Predefined Syntaxes): @smallexample.
66823         * doc/posix-*/*: force line break before @url of POSIX
66824         specifications.
66825         Suggested by Werner Lemberg.
66827 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
66829         strtod: fix const diagnostic
66830         * lib/strtod.c (strtod): Don't assign const char * to char *,
66831         as this elicits a warning from GCC when warnings are enabled.
66833 2010-08-10  Pádraig Brady  <P@draigbrady.com>
66834         and Eric Blake  <eblake@redhat.com>
66836         copy-acl: ignore ENOTSUP on HP-UX
66837         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
66838         so that it is available for HP-UX.
66839         * lib/copy-acl.c (qcopy_acl): Use it.
66840         Reported by Patrick M. Callahan.
66842 2010-08-10  Eric Blake  <eblake@redhat.com>
66844         open, chown: relax license
66845         * modules/open (License): Change to LGPLv2+, with consent by all
66846         authors, for use in augeas.
66847         * modules/chown (License): Likewise.
66848         * modules/lchown (Likewise): Likewise.
66849         Requested by Adam Stokes.
66851 2010-08-09  Karl Berry  <karl@gnu.org>
66853         * build-aux/ar-lib: new file, import from Automake.
66854         * config/srclist.txt: autocheck for updates.
66856 2010-08-09  Eric Blake  <eblake@redhat.com>
66858         readlinkat: adjust client modules
66859         * modules/areadlinkat (Depends-on): Use readlinkat, not
66860         symlinkat.
66861         * modules/areadlinkat-with-size (Depends-on): Likewise.
66863         mknod: be more vocal about danger of running tests as root
66864         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
66865         root, since that is just asking for problems.
66866         Suggested by Bruno Haible, based on a report by Rainer Tammer.
66868         readlinkat: split into its own module
66869         * modules/symlinkat: Split readlinkat...
66870         * modules/readlinkat: ...into separate module.
66871         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
66872         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
66873         * lib/symlinkat.c (readlinkat): Move...
66874         * lib/readlinkat.c: ...into new file.
66875         * modules/symlinkat-tests: Split readlinkat test...
66876         * modules/readlinkat-tests: ...into separate module.
66877         * tests/test-symlinkat.c: Split...
66878         * tests/test-readlinkat.c: ...into new file.
66879         * NEWS: Document the split.
66880         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
66881         * lib/unistd.in.h (readlinkat): Likewise.
66882         Suggested by Bruno Haible.
66884 2010-08-08  Bruno Haible  <bruno@clisp.org>
66886         memxfrm: Speed up.
66887         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
66888         that usually only one call to strxfrm is necessary for each string
66889         part.
66890         Reported by Paul Eggert <eggert@cs.ucla.edu>.
66892 2010-08-07  Karl Berry  <karl@gnu.org>
66894         * doc/posix-headers/limits.texi,
66895         * doc/posix-functions/malloc.texi,
66896         * doc/posix-functions/strsignal.texi: missing @item.
66897         * doc/ld-version-script.texi: spurious leading i.
66898         * doc/regex.texi (Interval Operators): no commas inside @var.
66900 2010-08-01  Bruno Haible  <bruno@clisp.org>
66902         Integrate the regex documentation.
66903         * doc/gnulib.texi: Define 'cn' index.
66904         (Regular expressions): New a chapter that includes regex.texi and
66905         regexprops-generic.texi.
66906         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
66907         syntax.
66909         Whitespace cleanup.
66910         * doc/regex.texi: Remove trailing spaces.
66912         Add regex documentation.
66913         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
66914         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
66915         Written by Kathy A. Hargreaves and Karl Berry.
66917 2010-08-01  Bruno Haible  <bruno@clisp.org>
66919         link: Update documentation.
66920         * doc/posix-functions/link.texi: Update regarding Solaris.
66922 2010-07-31  Bruno Haible  <bruno@clisp.org>
66924         Update modules list.
66925         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
66926         (String handling <string.h>): Add memcmp2, memxfrm.
66927         (Container data structures): Add xlist, xsublist, xoset.
66928         (Core language properties): Add alignof, unused-parameter.
66929         (Process control, Numeric conversion functions <stdlib.h>): Renamed
66930         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
66931         (Unibyte characters <ctype.h>): New section.
66932         (String handling <string.h>): New section.
66933         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
66934         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
66935         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
66936         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
66937         tan, tanh, tanl, y0, y1, yn.
66938         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
66939         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
66940         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
66941         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
66942         unlockpt, vdprintf, vdprintf-posix.
66943         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
66944         (File system functions): Add concat-filename, sys_file, sys_ioctl,
66945         xconcat-filename.
66946         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
66947         getdtablesize, pipe2, pipe2-safer.
66948         (Security): New section.
66949         (Networking functions): Add accept4.
66950         (Signal handling): Add sigpipe.
66951         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
66952         mbmemcasecoll.
66953         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
66954         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
66955         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
66956         pipe-filter-ii.
66957         (Misc): Add argp-version-etc, login_tty, parse-duration.
66959 2010-07-31  Bruno Haible  <bruno@clisp.org>
66961         Improve doc in MODULES.html.
66962         * modules/linkat (Description): Add the word "function".
66963         * modules/mkfifo (Description): Likewise.
66964         * modules/mknod (Description): Likewise.
66965         * modules/remove (Description): Likewise.
66966         * modules/renameat (Description): Likewise.
66967         * modules/stat (Description): Likewise.
66968         * modules/symlink (Description): Likewise.
66969         * modules/unlink (Description): Likewise.
66971 2010-07-31  Bruno Haible  <bruno@clisp.org>
66973         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
66974         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
66975         option --enable/disable-c++ instead of --enable/disable-cxx.
66976         * NEWS: Mention the change.
66978 2010-07-31  Bruno Haible  <bruno@clisp.org>
66980         readlink, areadlink: Relax test a bit.
66981         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
66982         alternative to ENOTDIR.
66983         * tests/test-areadlink.h (test_areadlink): Likewise.
66984         Reported by Rainer Tammer.
66986 2010-07-31  Bruno Haible  <bruno@clisp.org>
66988         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
66989         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
66990         character, perform the search using U_STRCHR.
66991         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
66992         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
66993         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
66994         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
66995         Suggested by Paolo Bonzini.
66997 2010-07-31  Bruno Haible  <bruno@clisp.org>
66999         unistr/u*-strstr: Fix dependencies.
67000         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
67001         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
67002         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
67004 2010-07-31  Bruno Haible  <bruno@clisp.org>
67006         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
67007         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
67008         the beginning of the loop.
67009         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
67010         cases in 'switch' statement.
67012         unistr/u8-strchr: Fix several bugs.
67013         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
67014         the string. When not found, return NULL, not a pointer near the end.
67016         More tests for unistr/u8-strchr.
67017         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
67018         that the function does not read past the first occurrence of the byte
67019         being searched.
67020         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
67021         * tests/unistr/test-u16-strchr.c (main): New function.
67022         * tests/unistr/test-u32-strchr.c (main): New function.
67024 2010-07-31  Bruno Haible  <bruno@clisp.org>
67026         posix-modules: Ignore backup files of documentation files.
67027         * posix-modules: grep only through files named *.texi.
67029 2010-07-31  Bruno Haible  <bruno@clisp.org>
67031         symlinkat: Fix documentation.
67032         * doc/posix-functions/readlinkat.texi: Fix module name.
67034 2010-07-31  Bruno Haible  <bruno@clisp.org>
67036         fchownat: Replace also when chown has the trailing slash bug.
67037         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
67038         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
67039         introduced on 2010-04-10.
67040         Reported by Rainer Tammer.
67042 2010-07-31  Bruno Haible  <bruno@clisp.org>
67044         linkat: Work around AIX 7.1 bug.
67045         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
67046         whether linkat handles trailing slash correctly. If not, replace linkat
67047         and define LINKAT_TRAILING_SLASH_BUG.
67048         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
67049         check whether (fd1,file1) points to a directory if file1 or file2 ends
67050         in a slash. Code taken from lib/link.c.
67051         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
67052         Reported by Rainer Tammer.
67054 2010-07-31  Bruno Haible  <bruno@clisp.org>
67056         Correctly determine whether pow is available in libc on AIX 7 with xlc.
67057         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
67058         This disables an xlc optimization that was causing wrong test results.
67059         Reported by Rainer Tammer.
67061 2010-07-31  Bruno Haible  <bruno@clisp.org>
67063         iconv: Work around AIX 6.1..7.1 bug.
67064         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
67065         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
67066         cross-compiling, guess no on all versions of AIX.
67067         Reported by Rainer Tammer.
67069 2010-07-31  Bruno Haible  <bruno@clisp.org>
67071         readlink: Relax test a bit.
67072         * tests/test-readlink.h (test_readlink): Allow different errno value
67073         when readlink is called with a file name that ends in / and refers to
67074         a file.
67075         Suggested by Eric Blake.
67076         Reported by Rainer Tammer.
67078 2010-07-31  Bruno Haible  <bruno@clisp.org>
67080         copysign: Does not require -lm on glibc systems.
67081         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
67082         gl_COMMON_DOUBLE_MATHFUNC.
67083         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
67085 2010-07-31  Bruno Haible  <bruno@clisp.org>
67087         duplocale: Work around AIX 7.1 bug.
67088         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
67089         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
67090         * lib/duplocale.c (rpl_duplocale): Update comment.
67091         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
67092         Reported by Rainer Tammer.
67094 2010-07-30  Bruno Haible  <bruno@clisp.org>
67096         dirfd: Avoid link error on AIX 7.1.
67097         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
67098         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
67099         exist, set REPLACE_DIRFD.
67100         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
67101         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
67102         * doc/posix-functions/dirfd.texi: Update.
67103         Reported by Rainer Tammer.
67105 2010-07-30  Eric Blake  <eblake@redhat.com>
67107         strtod: next round of AIX fixes
67108         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
67109         exponent.
67110         * tests/test-strtod.c (main): Enhance tests.
67111         * doc/posix-functions/strtod.texi (strtod): Document next bug.
67112         Reported by Rainer Tammer.
67114         futimens: fix configure check
67115         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
67116         Reported by Bruno Haible.
67118 2010-07-30  Bruno Haible  <bruno@clisp.org>
67120         getline: Update regarding AIX.
67121         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
67122         Reported by Rainer Tammer.
67124 2010-07-30  Bruno Haible  <bruno@clisp.org>
67126         wcwidth: Drop replacement on AIX 7.
67127         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
67128         AIX 7.
67129         Reported by Rainer Tammer.
67131 2010-07-30  Bruno Haible  <bruno@clisp.org>
67133         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
67134         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
67135         a 'char *'.
67136         Reported by Rainer Tammer.
67138 2010-07-30  Bruno Haible  <bruno@clisp.org>
67140         unlink: Update regarding AIX.
67141         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
67142         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
67143         Reported by Rainer Tammer.
67145 2010-07-30  Bruno Haible  <bruno@clisp.org>
67147         symlink: Update regarding AIX.
67148         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
67149         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
67150         Reported by Rainer Tammer.
67152 2010-07-30  Bruno Haible  <bruno@clisp.org>
67154         strndup: Update regarding AIX.
67155         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
67156         AIX 7.
67157         Reported by Rainer Tammer.
67159 2010-07-30  Bruno Haible  <bruno@clisp.org>
67161         stat: Update regarding AIX.
67162         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
67163         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
67164         Reported by Rainer Tammer.
67166 2010-07-30  Bruno Haible  <bruno@clisp.org>
67168         truncl: Fix autoconf test.
67169         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
67170         whether truncl works.
67171         Reported by Rainer Tammer.
67173 2010-07-30  Bruno Haible  <bruno@clisp.org>
67175         round: Update regarding AIX.
67176         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
67177         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
67178         Reported by Rainer Tammer.
67180 2010-07-30  Bruno Haible  <bruno@clisp.org>
67182         rename: Update regarding AIX.
67183         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
67184         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
67185         Reported by Rainer Tammer.
67187 2010-07-30  Bruno Haible  <bruno@clisp.org>
67189         printf.m4: Update regarding AIX.
67190         * m4/printf.m4: Update comments regarding AIX.
67191         Reported by Rainer Tammer.
67193 2010-07-30  Bruno Haible  <bruno@clisp.org>
67195         iconv: Update regarding AIX.
67196         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
67197         AIX 7.
67198         Reported by Rainer Tammer.
67200 2010-07-30  Bruno Haible  <bruno@clisp.org>
67202         getopt: Update regarding AIX.
67203         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
67204         no on AIX.
67205         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
67206         Reported by Rainer Tammer.
67208 2010-07-30  Bruno Haible  <bruno@clisp.org>
67210         ldexpl; Update regarding AIX.
67211         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
67212         on AIX 7.
67213         Reported by Rainer Tammer.
67215 2010-07-30  Bruno Haible  <bruno@clisp.org>
67217         frexpl: Update regarding AIX.
67218         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
67219         on AIX 7.
67220         Reported by Rainer Tammer.
67222 2010-07-30  Bruno Haible  <bruno@clisp.org>
67224         open, fopen: Update regarding AIX.
67225         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
67226         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
67227         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
67228         * doc/posix-functions/fopen.texi: Likewise.
67229         Reported by Rainer Tammer.
67231 2010-07-30  Bruno Haible  <bruno@clisp.org>
67233         chown: Update doc regarding AIX.
67234         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
67235         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
67236         Reported by Rainer Tammer.
67238 2010-07-30  Eric Blake  <eblake@redhat.com>
67240         strtod: fix bug in replacement function on AIX
67241         * lib/strtod.c (strtod): Special case broken "0x" parse in
67242         underlying strtod.
67243         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
67244         * doc/posix-functions/strtod.texi (strtod): Likewise.
67245         Reported by Rainer Tammer.
67247 2010-07-30  Bruno Haible  <bruno@clisp.org>
67249         mbrlen: Fix cross-compilation guess for AIX.
67250         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
67251         guess. Leftover from 2008-12-22.
67253 2010-07-30  Bruno Haible  <bruno@clisp.org>
67255         mbrtowc: Fix cross-compilation guess for AIX.
67256         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
67257         guess. Leftover from 2008-12-21.
67259 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
67261         init.sh: work around trap limitation of some shells
67262         * tests/init.sh (setup_): Move exit trap outside of shell function.
67264 2010-07-29  Eric Blake  <eblake@redhat.com>
67266         strtod: aid debugging
67267         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
67268         understanding why strtod is rejected.
67270 2010-07-28  Bruno Haible  <bruno@clisp.org>
67272         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
67273         * lib/unistr/u8-chr.c: Include <string.h>.
67274         * tests/unistr/test-u8-chr.c: Likewise.
67275         * tests/unistr/test-u16-chr.c: Likewise.
67276         * tests/unistr/test-u32-chr.c: Likewise.
67277         * tests/unistr/test-u8-strchr.c: Likewise.
67278         * tests/unistr/test-u16-strchr.c: Likewise.
67279         * tests/unistr/test-u32-strchr.c: Likewise.
67280         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
67281         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
67282         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
67283         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
67285 2010-07-28  Bruno Haible  <bruno@clisp.org>
67287         Use spaces for indentation, not tabs.
67288         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
67290 2010-07-27  Bruno Haible  <bruno@clisp.org>
67292         mbspcasecmp: Fix function specification.
67293         * lib/string.in.h (mbspcasecmp): Fix specification comment.
67294         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
67295         Reported by Eric Blake <eblake@redhat.com>.
67297 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
67299         timespec: use cast and not conditional, as truncation isn't possible
67300         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
67301         instead of a conditional.  Comment about the situation in more detail.
67302         This undoes most of the 2009-10-29 patch.
67304 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
67306         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
67307         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
67308         * lib/unistr/u8-strchr.c: Likewise.
67309         * modules/unistr/u8-chr: Depend on memchr.
67311         unistr/u*-strchr: add tests
67312         * modules/unistr/u8-strchr-tests: New file.
67313         * modules/unistr/u16-strchr-tests: New file.
67314         * modules/unistr/u32-strchr-tests: New file.
67315         * tests/unistr/test-strchr.h: New file.
67316         * tests/unistr/test-u8-strchr.c: New file.
67317         * tests/unistr/test-u16-strchr.c: New file.
67318         * tests/unistr/test-u32-strchr.c: New file.
67320         unistr/u*-chr: test multibyte sequences more
67321         * tests/unistr/test-chr.h: Do complete testing of the characters in the
67322         test vector.
67323         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
67324         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
67325         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
67327         unistr/u*-chr: test multibyte sequences
67328         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
67330         unistr/u*-chr: prepare for multibyte tests
67331         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
67332         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
67333         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
67334         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
67335         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
67336         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
67338 2010-07-18  Bruno Haible  <bruno@clisp.org>
67340         unistr/u8-strchr: Optimize non-ASCII argument case.
67341         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
67342         because the first byte often matches anyway.
67343         Reported by Pádraig Brady <P@draigbrady.com>.
67345 2010-07-15  Karl Berry  <karl@gnu.org>
67347         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
67349 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
67351         getcwd: on Solaris, work better if ancestors are inaccessible
67352         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
67353         buffer and size, try again with a large buffer.  This works better
67354         on Solaris, since its getcwd succeeds even if the path to the root
67355         is inaccessible, and this is helpful in common cases such as .zfs
67356         hidden directories.  Problem reported by J Chapman Flack in
67357         http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
67358         Use system getcwd if it's declared, not merely if it's partly
67359         working; use the partly-working test only to avoid needless effort
67360         if the system getcwd fails.
67361         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
67362         comment that was already obsolete and is now even more obsolete.
67363         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
67364         now might call strdup.
67366 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
67368         pthread: Add enough so that coreutils/src/sort.c compiles.
67369         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
67370         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
67371         gnulib. Include <sched.h> and <time.h>, as per POSIX.
67372         Include <sys/types.h>, in case it defines pthread_t.
67373         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
67374         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
67375         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
67376         (pthread_rwlockattr_t, pthread_spinlock_t):
67377         New typedefs, if HAVE_PTHREAD_T is not defined.
67378         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
67379         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
67380         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
67381         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
67382         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
67383         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
67384         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
67385         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
67386         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
67387         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
67388         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
67389         New macros.
67390         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
67391         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
67392         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
67393         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
67394         (pthread_spin_unlock): New dummy functions.
67395         (pthread_create): Return EAGAIN; don't set errno.
67396         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
67397         require AC_C_INLINE.
67398         * modules/pthread (Depends-on): Add sched, time.
67399         (pthread.h): Use AM_V_GEN.
67401 2010-07-13  Bruno Haible  <bruno@clisp.org>
67403         striconveh: Don't malloc memory if the result buffer is sufficient.
67404         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
67405         buffer if its size is sufficient.
67406         Reported by Ludovic Courtès <ludo@gnu.org>.
67408 2010-07-13  Bruno Haible  <bruno@clisp.org>
67410         strtod: Add safety check.
67411         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
67413 2010-07-12  Bruno Haible  <bruno@clisp.org>
67415         Unify tests that set gl_cv_func_ldexpl_no_libm.
67416         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
67417         gl_FUNC_LDEXPL.
67418         (gl_FUNC_LDEXPL): Invoke it.
67419         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
67421 2010-07-12  Bruno Haible  <bruno@clisp.org>
67423         Unify tests that set gl_cv_func_ldexp_no_libm.
67424         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
67425         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
67426         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
67427         (configure.ac): Simply invoke gl_FUNC_LDEXP.
67428         * modules/strtod (Files): Add m4/ldexp.m4.
67430 2010-07-12  Bruno Haible  <bruno@clisp.org>
67432         Unify tests that set gl_cv_func_frexpl_no_libm.
67433         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
67434         gl_FUNC_FREXPL_NO_LIBM.
67435         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
67436         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
67438 2010-07-12  Bruno Haible  <bruno@clisp.org>
67440         Unify tests that set gl_cv_func_frexp_no_libm.
67441         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
67442         gl_FUNC_FREXP_NO_LIBM.
67443         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
67444         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
67446 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
67448         memcoll: clarify sizes versus lengths, document better, and tweak perf
67449         * lib/memcoll.c (strcoll_loop, memcoll0):
67450         Improve quality of descriptive comments.  Name variables
67451         consistently as to whether they are lengths (which do not include
67452         terminating null) versus sizes (which do).
67453         * lib/xmemcoll.c (xmemcoll0): Likewise.
67454         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
67455         returned when s1size == 0; this is easier to compile and saves
67456         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
67458 2010-07-12  Bruno Haible  <bruno@clisp.org>
67460         Tests for module '_Exit'.
67461         * modules/_Exit-tests: New file.
67462         * tests/test-_Exit.sh: New file.
67463         * tests/test-_Exit.c: New file.
67465         New module '_Exit'.
67466         * lib/stdlib.in.h (__attribute__): New macro.
67467         (_Exit): New declaration.
67468         * lib/_Exit.c: New file.
67469         * m4/_Exit.m4: New file.
67470         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
67471         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
67472         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
67473         * modules/_Exit: New file.
67474         * tests/test-stdlib-c++.cc (_Exit): Check signature.
67475         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
67477 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
67479         strtod: make it more-accurate typically, and don't require libm
67480         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
67481         Include limits.h.  Don't include string.h.
67482         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
67483         (locale_isspace): New function, so that no casts are needed to
67484         check whether *s is a space.
67485         (ldexp): Provide an unused dummy if not available.
67486         (scale_radix_exp, parse_number, underlying_strtod): New functions.
67487         (strtod): Use them.  This implementation prefers to use the
67488         underlying strtod if available, falling back on our own code
67489         only to fix known bugs.  This is more likely to produce an
67490         accurate result.  Also, it avoids the use of libm functions.
67491         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
67492         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
67493         was absent, but it caused a test failure with coreutils.
67494         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
67495         with libm.
67496         * modules/strtod (Makefile.am, Link): libm is no longer needed.
67497         * modules/strtod-tests (Makefile.am): Likewise.
67499 2010-07-11  Pádraig Brady  <P@draigBrady.com>
67500             Bruno Haible  <bruno@clisp.org>
67502         unistr/u8-strchr: Optimize ASCII argument case.
67503         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
67505 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
67507         (x)memcoll: minor tweaks
67508         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
67509         is after the type that it qualifies.
67510         (memcoll0): Likewise.
67511         * lib/memcoll.h (memcoll0): Likewise.
67512         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
67513         * lib/xmemcoll.h (xmemcoll0): Likewise.
67514         * lib/memcoll.c (memcoll0): Correct the comment.  This function
67515         differs from memcoll in that the NUL byte is part of the argument.
67516         Omit the abort-checks, as performance is a real issue here.  Plus,
67517         the checks were wrong anyway (an off-by-one error).  Omit local
67518         variable 'diff', as it's a bit clearer that way.
67519         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
67520         no longer needed.
67522 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
67524         (x)memcoll: speedup when input is known to be NUL delimited
67525         * lib/memcoll.c: Include stdlib.
67526         (memcoll0): New function.
67527         (strcoll_loop): New function, refactored for use in both memcoll
67528         and memcoll0.
67529         * lib/memcoll.h (memcoll0): Add prototype.
67530         * lib/xmemcoll.c (xmemcoll0): New function.
67531         (collate_error): New function, refactored for use in both xmemcoll
67532         and xmemcoll0.
67533         * lib/xmemcoll.h (xmemcoll0): Add prototype.
67534         * m4/memcoll.m4: add inline invocation.
67536 2010-07-06  Pádraig Brady  <P@draigBrady.com>
67538         * build-aux/bootstrap: Remove any local translations
67539         from the translation project synchronization directory,
67540         so that local only translations are not distributed.
67542 2010-07-04  Bruno Haible  <bruno@clisp.org>
67544         fsusage: Clarify which code applies to which platforms.
67545         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
67546         platform.
67547         * lib/fsusage.c (get_fs_usage): Likewise.
67549 2010-07-04  Bruno Haible  <bruno@clisp.org>
67551         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
67552         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
67553         Reported by Martin Lambers <marlam@marlam.de>.
67555 2010-07-04  Jim Meyering  <meyering@redhat.com>
67557         hash: once again explicitly disallow insertion of NULL
67558         * lib/hash.c (hash_insert0): Reinstate just-removed test:
67559         inserting a NULL pointer cannot work with these functions.
67560         Add a comment with details.
67561         This reverts part of the 2010-07-01 commit, 5bef1a35
67562         "hash: extend module to deal with non-pointer keys".
67564 2010-07-01  Bruno Haible  <bruno@clisp.org>
67566         stdbool: Update doc.
67567         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
67568         Info from Christian Weisgerber <naddy@mips.inka.de>.
67570 2010-07-01  Jim Meyering  <meyering@redhat.com>
67572         hash: extend module to deal with non-pointer keys
67573         * lib/hash.c (hash_insert0): New interface, much like hash_insert
67574         but that allows insertion of non-pointer entries.
67575         Do not disallow an ENTRY value of NULL.
67576         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
67577         * lib/hash.h (hash_insert0): Declare.
67579 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
67581         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
67582         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
67583         not present (i.e. with autoconf 2.59 and when using gettextize, not
67584         gnulib), require AC_GNU_SOURCE instead.
67586 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
67588         idpriv-drop: Fix tests.
67589         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
67590         not to the test-idpriv-droptemp program.
67592 2010-06-29  Bruno Haible  <bruno@clisp.org>
67594         string: Fix syntax error with g++ 2.96.
67595         * lib/string.in.h (__pure__): Remove definition.
67596         (_GL_ATTRIBUTE_PURE): New macro.
67597         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
67598         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
67599         Reported by Christian Weisgerber <naddy@mips.inka.de>.
67601 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
67603         unitypes: Fix bug introduced on 2010-05-18.
67604         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
67606 2010-06-22  Eric Blake  <eblake@redhat.com>
67608         memmem: slight optimization
67609         * lib/str-two-way.h (critical_factorization): Update comments.
67610         Reduce work during factorization phase.
67611         Reported by Carlos Bueno <carlos@bueno.org>.
67613 2010-06-21  Bruno Haible  <bruno@clisp.org>
67615         Fix HAVE_CALLOC_POSIX misnomer.
67616         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
67617         !HAVE_CALLOC_POSIX.
67618         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
67619         HAVE_CALLOC_POSIX.
67620         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
67621         instead of HAVE_CALLOC_POSIX.
67622         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
67623         HAVE_CALLOC_POSIX.
67625         Use modern idiom for calloc() replacement.
67626         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
67627         AC_FUNC_CALLOC.
67628         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
67629         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
67630         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
67631         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
67632         (gl_REPLACE_CALLOC): New macro.
67634 2010-06-21  Bruno Haible  <bruno@clisp.org>
67636         Fix HAVE_REALLOC_POSIX misnomer.
67637         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
67638         !HAVE_REALLOC_POSIX.
67639         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
67640         HAVE_REALLOC_POSIX.
67641         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
67642         instead of HAVE_REALLOC_POSIX.
67643         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
67644         HAVE_REALLOC_POSIX.
67646         Use modern idiom for realloc() replacement.
67647         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
67648         AC_FUNC_REALLOC.
67649         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
67650         Autoconf's AC_FUNC_REALLOC.
67651         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
67652         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
67653         (gl_REPLACE_REALLOC): New macro.
67654         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
67656 2010-06-21  Bruno Haible  <bruno@clisp.org>
67658         Fix HAVE_MALLOC_POSIX misnomer.
67659         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
67660         !HAVE_MALLOC_POSIX.
67661         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
67662         HAVE_MALLOC_POSIX.
67663         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
67664         instead of HAVE_MALLOC_POSIX.
67665         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
67666         HAVE_MALLOC_POSIX.
67668         Use modern idiom for malloc() replacement.
67669         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
67670         AC_FUNC_MALLOC.
67671         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
67672         Autoconf's AC_FUNC_MALLOC.
67673         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
67674         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
67675         (gl_REPLACE_MALLOC): New macro.
67676         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
67678 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
67680         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
67681         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
67682         This macro takes 3 arguments, not 4.
67684 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
67686         ipv6: fix detection under mingw
67687         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
67688         in6_addr.
67690 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
67692         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
67693         that strtod() works when cross-compiling to a glibc version known
67694         to work.
67696 2010-06-15  Bruno Haible  <bruno@clisp.org>
67698         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
67700 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
67702         select: Correct timeout.
67703         * lib/select.c (rpl_select): Compute wait_timeout correctly.
67705 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
67707         git-version-gen: init shell var to avoid env var influence
67708         * build-aux/git-version-gen (v): Init shell var to empty.
67710 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
67712         priv-set: Don't assume that priv.h exists merely because getppriv does.
67713         See Jan Andersen's bug report about AIX 5L in
67714         http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
67715         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
67716         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
67717         * lib/priv-set.h: Likewise.
67718         * tests/test-priv-set.c: Likewise.
67720 2010-06-13  Bruno Haible  <bruno@clisp.org>
67722         relocatable: Make it easier to test whether to install wrappers.
67723         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
67724         RELOCATABLE_VIA_WRAPPER.
67726 2010-06-13  Bruno Haible  <bruno@clisp.org>
67728         gnulib-tool: Display specified modules and dependencies differently.
67729         * gnulib-tool (func_show_module_list): New function.
67730         (func_import, func_create_testdir): Invoke it.
67731         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
67733 2010-06-13  Bruno Haible  <bruno@clisp.org>
67735         gnulib-tool: Align code of func_import and func_create_testdir.
67736         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
67737         specified_modules.
67739 2010-06-12  Jim Meyering  <meyering@redhat.com>
67741         test-inttostr: avoid spurious failure on Solaris 9
67742         * tests/test-inttostr.c (main): Skip the test when snprintf fails
67743         to accept "%ju".  Reported by Bruno Haible.
67745 2010-06-11  Jim Meyering  <meyering@redhat.com>
67747         test-sys_socket: mark variables as used more readably
67748         * tests/test-sys_socket.c (main): Mark otherwise unused variables
67749         as "used" explicitly via (void) statement casts.  This is more
67750         readable than using them in an artificial return expression.
67751         Suggestion from Bruno Haible.
67753 2010-06-11  Bruno Haible  <bruno@clisp.org>
67755         Avoid some more warnings from "gcc -Wwrite-strings".
67756         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
67757         to 'const char *'.
67758         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
67759         * tests/test-c-strcasestr.c (main): Likewise.
67760         * tests/test-mbscasestr1.c (main): Likewise.
67761         * tests/test-mbscasestr2.c (main): Likewise.
67762         * tests/test-memmem.c (main): Likewise.
67763         * tests/test-strstr.c (main): Likewise.
67764         * tests/test-strcasestr.c (main): Likewise.
67766 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67768         init.sh: change framework_failure_ to fail with status 99, not 1
67769         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
67770         automake's parallel-tests rule that this is an unexpected failure,
67771         even if the test is listed in XFAIL_TESTS.
67773 2010-06-11  Jim Meyering  <meyering@redhat.com>
67775         test-inttostr: avoid warnings about 4-6KB literal strings
67776         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
67777         Include "macros.h", for its definition of ASSERT.
67778         (CK): s/assert/ASSERT/
67779         * modules/inttostr-tests (Files): Add macros.h.
67781         init.sh: don't use $ME_ or skip_ before they are defined
67782         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
67783         their first uses.  Also hoist their companions: warn_, fail_,
67784         framework_failure_, $stderr_fileno.  Prompted by a patch from
67785         Stefano Lattarini.
67787         test-sys_socket: avoid set-but-not-used warnings from gcc
67788         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
67789         avoid warning about set-but-not-used variables.
67791         test-xvasprintf: avoid 'const' discard warnings
67792         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
67793         "const" when assigning from literal strings.
67794         (test_xasprintf): Add "void" in function argument list to placate
67795         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
67797         tests: avoid compilation warnings in argmatch and exclude tests...
67798         in packages that define ARGMATCH_DIE_DECL, like coreutils.
67799         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
67800         Since it always exits, declare with the "noreturn" attribute.
67801         * tests/test-argmatch.c: Likewise.
67803         tests: avoid 'const' discard warnings in mbsstr tests
67804         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
67805         * tests/test-mbsstr2.c (main): Likewise.
67807         test-verify: avoid warning from gcc's -Wmissing-declarations
67808         * tests/test-verify.c (function): Declare to be static.
67810         test-inttostr.c: include <string.h> for use of strcmp
67811         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
67813         test-linkat: avoid failed assertion on "other" architectures
67814         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
67815         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
67816         sparc: https://bugs.launchpad.net/bugs/591968
67818 2010-06-11  Jim Meyering  <meyering@redhat.com>
67820         printf.m4: avoid autoconf's "Expanded Before Required" warning
67821         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
67822         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
67823         autoconf warning.
67825 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
67827         Replacement header templates are now named with ".in", not "_".
67828         * doc/gnulib-intro.texi: Correct.
67830 2010-06-10  Jim Meyering  <meyering@redhat.com>
67832         inttostr-tests: depend on snprintf, not snprintf-posix
67833         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
67834         snprintf-posix, to avoid this aclocal failure:
67835           missing file gnulib-tests/vasnprintf.c
67836           configure.ac:45: error: expected source file, required through \
67837           AC_LIBSOURCES, not found
67839 2010-06-10  Jim Meyering  <meyering@redhat.com>
67841         inttostr: add a new function, inttostr, and tests
67842         The namesake function was not available.  The existence of the
67843         template file, inttostr.c makes its addition nontrivial.
67844         * lib/anytostr.c: Rename from inttostr.c.
67845         (anytostr): Rename from inttostr.
67846         * lib/inttostr.c: New file.
67847         * modules/inttostr (Files): Add anytostr.c.
67848         (Makefile.am): Set lib_SOURCES instead of ...
67849         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
67850         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
67851         * lib/offtostr.c: Likewise.
67852         * lib/uinttostr.c: Likewise.
67853         * lib/umaxtostr.c: Likewise.
67854         * modules/inttostr-tests: New file.
67855         * tests/test-inttostr.c: New file.  Test these functions.
67857 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
67858             Bruno Haible  <bruno@clisp.org>
67860         Add "Extending Gnulib" chapter to manual.
67861         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
67862         chapter.
67863         (Extending Gnulib): New chapter.
67864         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
67865         chapter.
67867 2010-06-09  Bruno Haible  <bruno@clisp.org>
67869         Avoid relocwrapper link errors due to gnulib replacement functions.
67870         * lib/areadlink.c: Use the system's malloc, realloc functions.
67871         (areadlink): Set errno to ENOMEM explicitly.
67872         * modules/areadlink (Depends-on): Remove malloc-posix.
67873         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67875 2010-06-09  Bruno Haible  <bruno@clisp.org>
67877         Avoid relocwrapper link errors due to gnulib replacement functions.
67878         * lib/canonicalize-lgpl.c: Use the system's malloc function.
67879         * lib/malloca.c: Likewise.
67880         * lib/relocatable.c: Likewise.
67881         * lib/progreloc.c: Use the system's malloc, sprintf functions.
67882         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
67883         * lib/setenv.c: Use the system's malloc, realloc functions.
67884         * lib/strerror.c: Use the system's sprintf function.
67885         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67887 2010-06-04  Bruno Haible  <bruno@clisp.org>
67889         Prefer documented low-level autoconf macro names.
67890         * m4/lib-link.m4: Use m4_translit instead of translit.
67891         * m4/environ.m4: Likewise.
67892         * m4/mathfunc.m4: Likewise.
67893         * m4/onceonly.m4: Likewise.
67894         * m4/stdint.m4: Likewise.
67895         Suggested by Eric Blake.
67897 2010-06-04  Martin Lambers  <marlam@marlam.de>
67898             Bruno Haible  <bruno@clisp.org>
67900         havelib: Allow library names with '+' characters.
67901         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
67902         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
67904 2010-06-09  Bruno Haible  <bruno@clisp.org>
67906         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
67907         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
67908         realloc failed.
67910 2010-06-08  Peter Simons  <simons@cryp.to>
67912         maint.mk: make the news-check rule more configurable
67913         * top/maint.mk (news-check-lines-spec): New variable.
67914         (news-check): Use "sed -n 1,10p" in place of "head".
67916 2010-06-07  Jim Meyering  <meyering@redhat.com>
67918         do-release-commit-and-tag: fix typo in --help
67919         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
67921         regex: avoid new dead-code warning with gcc-4.6.0
67922         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
67923         if-block containing a while-loop.  It's been unused for at least
67924         5 years.
67926 2010-06-05  Bruno Haible  <bruno@clisp.org>
67928         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
67929         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
67931 2010-06-04  Bruno Haible  <bruno@clisp.org>
67933         Update to GNU gettext 0.18.1.
67934         * modules/gettext (configure.ac): Require gettext infrastructure from
67935         version 0.18.1.
67937 2010-06-03  Bruno Haible  <bruno@clisp.org>
67939         Don't use AC_LIBOBJ with file names in subdirectories.
67940         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
67941         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
67942         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
67943         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
67944         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
67945         gl_LIBUNISTRING_LIBSOURCE.
67946         (Makefile.am): Augment lib_SOURCES here, conditionally.
67947         * NEWS: Drop requirement for Automake option 'subdir-objects'.
67949 2010-06-03  Bruno Haible  <bruno@clisp.org>
67951         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
67952         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
67953         expansion does not end with a newline.
67954         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
67955         unnecessary newline.
67957 2010-06-03  Bruno Haible  <bruno@clisp.org>
67959         Reduce dependencies.
67960         * tests/test-quotearg.h: New file, extracted from
67961         tests/test-quotearg.c.
67962         * tests/test-quotearg-simple.c: New file, extracted from
67963         tests/test-quotearg.c.
67964         * tests/test-quotearg.c: Don't include <ctype.h>.
67965         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
67966         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
67967         use_quote_double_quotes, use_quotearg_colon): Moved to
67968         tests/test-quotearg.h.
67969         (results_g, flag_results, custom_quotes, custom_results): Moved
67970         to tests/test-quotearg-simple.c.
67971         (main): Moved the part that does not depend on gettext to
67972         tests/test-quotearg-simple.c. Return 77 if the test cannot be
67973         performed.
67974         * modules/quotearg-simple: New file.
67975         * modules/quotearg-simple-tests: New file.
67976         * modules/quotearg (Depends-on): Add quotearg-simple.
67977         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
67978         (Files): Add tests/test-quotearg.h.
67979         Reported by Paolo Bonzini.
67981 2010-06-03  Bruno Haible  <bruno@clisp.org>
67983         Reduce dependencies.
67984         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
67986 2010-06-03  Bruno Haible  <bruno@clisp.org>
67988         time: Undefine more broken macros.
67989         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
67990         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
67991         Reported by Eric Blake.
67993 2010-06-03  Bruno Haible  <bruno@clisp.org>
67995         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
67996         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
67997         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
67998         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
67999         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
68000         Reported by Ludovic Courtès <ludo@gnu.org>.
68002 2010-06-02  Eric Blake  <eblake@redhat.com>
68004         time: work with mingw + pthreads-win32 library
68005         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
68006         if timespec is defined only in pthread.h.
68007         * modules/time (Makefile.am): Substitute it.
68008         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
68009         <pthread.h>, when needed.
68010         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
68011         from the library.
68013 2010-05-31  Bruno Haible  <bruno@clisp.org>
68015         Avoid expanding two macros in the wrong order.
68016         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
68017         gl_LIBUNISTRING if it is defined.
68018         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
68019         autoconf >= 2.64.
68020         Reported by Ludovic Courtès <ludo@gnu.org>.
68022 2010-05-27  Jim Meyering  <meyering@redhat.com>
68024         maint.mk: also prohibit "#undef" of always-defined symbols
68025         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
68026         Allow more than one space before the symbol name.
68027         (sc_prohibit_always-defined_macros): Use grep's -E, now that
68028         the regexp uses alternation.
68030 2010-05-26  Eric Blake  <eblake@redhat.com>
68032         maint.mk: avoid echo -e
68033         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
68034         Convert all uses of echo -* to printf.
68035         Reported by Matthias Bolte.
68037 2010-05-25  Bruno Haible  <bruno@clisp.org>
68039         Update to GNU gettext 0.18, part 2.
68040         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
68041         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
68043 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68045         Add missing include in test-pwrite.c.
68046         * tests/test-pwrite.c: Include string.h, for strcmp.
68048 2010-05-24  Bruno Haible  <bruno@clisp.org>
68050         * NEWS: Mention requirement for Automake option 'subdir-objects'.
68052 2010-05-24  Bruno Haible  <bruno@clisp.org>
68054         Don't use conversion with transliteration in u{8,16,32}_strcoll.
68055         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
68056         iconveh_error argument.
68057         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
68058         U_STRCONV_TO_LOCALE.
68059         * lib/unistr/u16-strcoll.c: Likewise.
68060         * lib/unistr/u32-strcoll.c: Likewise.
68061         * modules/unistr/u8-strcoll (Depends-on): Add
68062         uniconv/u8-strconv-to-enc, localcharset. Remove
68063         uniconv/u8-strconv-to-locale.
68064         (configure.ac): Bump version number.
68065         * modules/unistr/u16-strcoll (Depends-on): Add
68066         uniconv/u16-strconv-to-enc, localcharset. Remove
68067         uniconv/u16-strconv-to-locale.
68068         (configure.ac): Bump version number.
68069         * modules/unistr/u32-strcoll (Depends-on): Add
68070         uniconv/u32-strconv-to-enc, localcharset. Remove
68071         uniconv/u32-strconv-to-locale.
68072         (configure.ac): Bump version number.
68074 2010-05-24  Bruno Haible  <bruno@clisp.org>
68076         Avoid a test failure on NetBSD 5.0.
68077         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
68078         an iconv() bug.
68080 2010-05-24  Bruno Haible  <bruno@clisp.org>
68082         Adjust #include directive style.
68083         * modules/regex (Includes): Recommend to write <regex.h>.
68085 2010-05-24  Bruno Haible  <bruno@clisp.org>
68087         regex: Don't require alloca.
68088         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
68089         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
68090         only inside if (0).
68092 2010-05-23  Jim Meyering  <meyering@redhat.com>
68094         test-renameat.c: include <sys/stat.h>
68095         * tests/test-renameat.c: Include <sys/stat.h>; required for
68096         definition of S_IS* macros.
68098 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
68100         Update maintainer documentation for 'relocatable-prog' module.
68101         * doc/relocatable-maint.texi: Update.
68102         Comments by Bruno Haible.
68104 2010-05-23  Bruno Haible  <bruno@clisp.org>
68106         git-merge-changelog: Enable --split-merged-entry by default.
68107         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
68108         (usage): Don't mention this option any more.
68109         Reported by Ralf Wildenhues.
68111 2010-05-23  Jim Meyering  <meyering@redhat.com>
68113         test-pwrite: do not leave behind a test file named "out"
68114         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
68115         The trivial-looking use of init.sh is really necessary.
68116         It ensures that the temporary file, "out", is created in
68117         a temporary directory, and removed upon termination.
68118         * tests/test-pwrite.sh: Re-add file.
68119         * modules/pwrite-tests: Reference it.
68121 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68123         Fix output redirection buglet in init.sh.
68124         * tests/init.sh: Fix redirection of stderr.
68126 2010-05-20  Simon Josefsson  <simon@josefsson.org>
68128         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
68130 2010-05-17  Simon Josefsson  <simon@josefsson.org>
68132         * modules/valgrind-tests: New file.
68133         * m4/valgrind-tests.m4: New file.
68134         * doc/valgrind-tests.texi: New file.
68135         * doc/gnulib.texi (Running self-tests under valgrind): New
68136         section.
68138 2010-05-19  Bruno Haible  <bruno@clisp.org>
68140         Clean up dead code in recent commit.
68141         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
68142         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
68143         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
68144         Suggested by Paolo Bonzini.
68146 2010-05-19  Bruno Haible  <bruno@clisp.org>
68148         Avoid valgrind error reports from libunistring.
68149         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
68150         * modules/libunistring (Files): Add it.
68151         * modules/libunistring-optional (Files): Likewise.
68153 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
68154             Bruno Haible  <bruno@clisp.org>
68156         New module 'libunistring-optional'.
68157         * modules/libunistring-optional: New file.
68158         * m4/libunistring-base.m4: New file.
68159         * m4/libunistring-optional.m4: New file.
68160         * lib/unicase.in.h: Renamed from lib/unicase.h.
68161         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
68162         * lib/unictype.in.h: Renamed from lib/unictype.h.
68163         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
68164         * lib/uniname.in.h: Renamed from lib/uniname.h.
68165         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
68166         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
68167         * lib/unistr.in.h: Renamed from lib/unistr.h.
68168         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
68169         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
68170         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
68171         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
68172         gl_LIBUNISTRING. If the library was found, determine the installed
68173         version and set LIBUNISTRING_VERSION.
68174         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
68175         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
68176         handle a configuration option --with-included-libunistring.
68177         * modules/libunistring (Files): Add m4/absolute-header.m4.
68178         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
68179         Add m4/libunistring-base.m4.
68180         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68181         (Makefile.am): Build unicase.h from unicase.in.h.
68182         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
68183         Add m4/libunistring-base.m4.
68184         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68185         (Makefile.am): Build uniconv.h from uniconv.in.h.
68186         * modules/unictype/base (Files): Use unictype.in.h instead of
68187         unictype.h. Add m4/libunistring-base.m4.
68188         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68189         (Makefile.am): Build unictype.h from unictype.in.h.
68190         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
68191         Add m4/libunistring-base.m4.
68192         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68193         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
68194         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
68195         Add m4/libunistring-base.m4.
68196         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68197         (Makefile.am): Build uniname.h from uniname.in.h.
68198         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
68199         Add m4/libunistring-base.m4.
68200         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68201         (Makefile.am): Build uninorm.h from uninorm.in.h.
68202         * modules/unistdio/base (Files): Use unistdio.in.h instead of
68203         unistdio.h. Add m4/libunistring-base.m4.
68204         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68205         (Makefile.am): Build unistdio.h from unistdio.in.h.
68206         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
68207         Add m4/libunistring-base.m4.
68208         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68209         (Makefile.am): Build unistr.h from unistr.in.h.
68210         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
68211         Add m4/libunistring-base.m4.
68212         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68213         (Makefile.am): Build unitypes.h from unitypes.in.h.
68214         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
68215         Add m4/libunistring-base.m4.
68216         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68217         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
68218         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
68219         uniwidth.h. Add m4/libunistring-base.m4.
68220         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68221         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
68222         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
68223         instead of augmenting lib_SOURCES.
68224         * modules/unicase/empty-suffix-context: Likewise.
68225         * modules/unicase/locale-language: Likewise.
68226         * modules/unicase/tolower: Likewise.
68227         * modules/unicase/totitle: Likewise.
68228         * modules/unicase/toupper: Likewise.
68229         * modules/unicase/u8-casecmp: Likewise.
68230         * modules/unicase/u8-casecoll: Likewise.
68231         * modules/unicase/u8-casefold: Likewise.
68232         * modules/unicase/u8-casexfrm: Likewise.
68233         * modules/unicase/u8-ct-casefold: Likewise.
68234         * modules/unicase/u8-ct-tolower: Likewise.
68235         * modules/unicase/u8-ct-totitle: Likewise.
68236         * modules/unicase/u8-ct-toupper: Likewise.
68237         * modules/unicase/u8-is-cased: Likewise.
68238         * modules/unicase/u8-is-casefolded: Likewise.
68239         * modules/unicase/u8-is-lowercase: Likewise.
68240         * modules/unicase/u8-is-titlecase: Likewise.
68241         * modules/unicase/u8-is-uppercase: Likewise.
68242         * modules/unicase/u8-prefix-context: Likewise.
68243         * modules/unicase/u8-suffix-context: Likewise.
68244         * modules/unicase/u8-tolower: Likewise.
68245         * modules/unicase/u8-totitle: Likewise.
68246         * modules/unicase/u8-toupper: Likewise.
68247         * modules/unicase/u16-casecmp: Likewise.
68248         * modules/unicase/u16-casecoll: Likewise.
68249         * modules/unicase/u16-casefold: Likewise.
68250         * modules/unicase/u16-casexfrm: Likewise.
68251         * modules/unicase/u16-ct-casefold: Likewise.
68252         * modules/unicase/u16-ct-tolower: Likewise.
68253         * modules/unicase/u16-ct-totitle: Likewise.
68254         * modules/unicase/u16-ct-toupper: Likewise.
68255         * modules/unicase/u16-is-cased: Likewise.
68256         * modules/unicase/u16-is-casefolded: Likewise.
68257         * modules/unicase/u16-is-lowercase: Likewise.
68258         * modules/unicase/u16-is-titlecase: Likewise.
68259         * modules/unicase/u16-is-uppercase: Likewise.
68260         * modules/unicase/u16-prefix-context: Likewise.
68261         * modules/unicase/u16-suffix-context: Likewise.
68262         * modules/unicase/u16-tolower: Likewise.
68263         * modules/unicase/u16-totitle: Likewise.
68264         * modules/unicase/u16-toupper: Likewise.
68265         * modules/unicase/u32-casecmp: Likewise.
68266         * modules/unicase/u32-casecoll: Likewise.
68267         * modules/unicase/u32-casefold: Likewise.
68268         * modules/unicase/u32-casexfrm: Likewise.
68269         * modules/unicase/u32-ct-casefold: Likewise.
68270         * modules/unicase/u32-ct-tolower: Likewise.
68271         * modules/unicase/u32-ct-totitle: Likewise.
68272         * modules/unicase/u32-ct-toupper: Likewise.
68273         * modules/unicase/u32-is-cased: Likewise.
68274         * modules/unicase/u32-is-casefolded: Likewise.
68275         * modules/unicase/u32-is-lowercase: Likewise.
68276         * modules/unicase/u32-is-titlecase: Likewise.
68277         * modules/unicase/u32-is-uppercase: Likewise.
68278         * modules/unicase/u32-prefix-context: Likewise.
68279         * modules/unicase/u32-suffix-context: Likewise.
68280         * modules/unicase/u32-tolower: Likewise.
68281         * modules/unicase/u32-totitle: Likewise.
68282         * modules/unicase/u32-toupper: Likewise.
68283         * modules/unicase/ulc-casecmp: Likewise.
68284         * modules/unicase/ulc-casecoll: Likewise.
68285         * modules/unicase/ulc-casexfrm: Likewise.
68286         * modules/uniconv/u8-conv-from-enc: Likewise.
68287         * modules/uniconv/u8-conv-to-enc: Likewise.
68288         * modules/uniconv/u8-strconv-from-enc: Likewise.
68289         * modules/uniconv/u8-strconv-from-locale: Likewise.
68290         * modules/uniconv/u8-strconv-to-enc: Likewise.
68291         * modules/uniconv/u8-strconv-to-locale: Likewise.
68292         * modules/uniconv/u16-conv-from-enc: Likewise.
68293         * modules/uniconv/u16-conv-to-enc: Likewise.
68294         * modules/uniconv/u16-strconv-from-enc: Likewise.
68295         * modules/uniconv/u16-strconv-from-locale: Likewise.
68296         * modules/uniconv/u16-strconv-to-enc: Likewise.
68297         * modules/uniconv/u16-strconv-to-locale: Likewise.
68298         * modules/uniconv/u32-conv-from-enc: Likewise.
68299         * modules/uniconv/u32-conv-to-enc: Likewise.
68300         * modules/uniconv/u32-strconv-from-enc: Likewise.
68301         * modules/uniconv/u32-strconv-from-locale: Likewise.
68302         * modules/uniconv/u32-strconv-to-enc: Likewise.
68303         * modules/uniconv/u32-strconv-to-locale: Likewise.
68304         * modules/unictype/bidicategory-byname: Likewise.
68305         * modules/unictype/bidicategory-name: Likewise.
68306         * modules/unictype/bidicategory-of: Likewise.
68307         * modules/unictype/bidicategory-test: Likewise.
68308         * modules/unictype/block-list: Likewise.
68309         * modules/unictype/block-test: Likewise.
68310         * modules/unictype/category-C: Likewise.
68311         * modules/unictype/category-Cc: Likewise.
68312         * modules/unictype/category-Cf: Likewise.
68313         * modules/unictype/category-Cn: Likewise.
68314         * modules/unictype/category-Co: Likewise.
68315         * modules/unictype/category-Cs: Likewise.
68316         * modules/unictype/category-L: Likewise.
68317         * modules/unictype/category-Ll: Likewise.
68318         * modules/unictype/category-Lm: Likewise.
68319         * modules/unictype/category-Lo: Likewise.
68320         * modules/unictype/category-Lt: Likewise.
68321         * modules/unictype/category-Lu: Likewise.
68322         * modules/unictype/category-M: Likewise.
68323         * modules/unictype/category-Mc: Likewise.
68324         * modules/unictype/category-Me: Likewise.
68325         * modules/unictype/category-Mn: Likewise.
68326         * modules/unictype/category-N: Likewise.
68327         * modules/unictype/category-Nd: Likewise.
68328         * modules/unictype/category-Nl: Likewise.
68329         * modules/unictype/category-No: Likewise.
68330         * modules/unictype/category-P: Likewise.
68331         * modules/unictype/category-Pc: Likewise.
68332         * modules/unictype/category-Pd: Likewise.
68333         * modules/unictype/category-Pe: Likewise.
68334         * modules/unictype/category-Pf: Likewise.
68335         * modules/unictype/category-Pi: Likewise.
68336         * modules/unictype/category-Po: Likewise.
68337         * modules/unictype/category-Ps: Likewise.
68338         * modules/unictype/category-S: Likewise.
68339         * modules/unictype/category-Sc: Likewise.
68340         * modules/unictype/category-Sk: Likewise.
68341         * modules/unictype/category-Sm: Likewise.
68342         * modules/unictype/category-So: Likewise.
68343         * modules/unictype/category-Z: Likewise.
68344         * modules/unictype/category-Zl: Likewise.
68345         * modules/unictype/category-Zp: Likewise.
68346         * modules/unictype/category-Zs: Likewise.
68347         * modules/unictype/category-and: Likewise.
68348         * modules/unictype/category-and-not: Likewise.
68349         * modules/unictype/category-byname: Likewise.
68350         * modules/unictype/category-name: Likewise.
68351         * modules/unictype/category-none: Likewise.
68352         * modules/unictype/category-of: Likewise.
68353         * modules/unictype/category-or: Likewise.
68354         * modules/unictype/category-test: Likewise.
68355         * modules/unictype/combining-class: Likewise.
68356         * modules/unictype/ctype-alnum: Likewise.
68357         * modules/unictype/ctype-alpha: Likewise.
68358         * modules/unictype/ctype-blank: Likewise.
68359         * modules/unictype/ctype-cntrl: Likewise.
68360         * modules/unictype/ctype-digit: Likewise.
68361         * modules/unictype/ctype-graph: Likewise.
68362         * modules/unictype/ctype-lower: Likewise.
68363         * modules/unictype/ctype-print: Likewise.
68364         * modules/unictype/ctype-punct: Likewise.
68365         * modules/unictype/ctype-space: Likewise.
68366         * modules/unictype/ctype-upper: Likewise.
68367         * modules/unictype/ctype-xdigit: Likewise.
68368         * modules/unictype/decimal-digit: Likewise.
68369         * modules/unictype/digit: Likewise.
68370         * modules/unictype/mirror: Likewise.
68371         * modules/unictype/numeric: Likewise.
68372         * modules/unictype/property-alphabetic: Likewise.
68373         * modules/unictype/property-ascii-hex-digit: Likewise.
68374         * modules/unictype/property-bidi-arabic-digit: Likewise.
68375         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
68376         * modules/unictype/property-bidi-block-separator: Likewise.
68377         * modules/unictype/property-bidi-boundary-neutral: Likewise.
68378         * modules/unictype/property-bidi-common-separator: Likewise.
68379         * modules/unictype/property-bidi-control: Likewise.
68380         * modules/unictype/property-bidi-embedding-or-override: Likewise.
68381         * modules/unictype/property-bidi-eur-num-separator: Likewise.
68382         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
68383         * modules/unictype/property-bidi-european-digit: Likewise.
68384         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
68385         * modules/unictype/property-bidi-left-to-right: Likewise.
68386         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
68387         * modules/unictype/property-bidi-other-neutral: Likewise.
68388         * modules/unictype/property-bidi-pdf: Likewise.
68389         * modules/unictype/property-bidi-segment-separator: Likewise.
68390         * modules/unictype/property-bidi-whitespace: Likewise.
68391         * modules/unictype/property-byname: Likewise.
68392         * modules/unictype/property-combining: Likewise.
68393         * modules/unictype/property-composite: Likewise.
68394         * modules/unictype/property-currency-symbol: Likewise.
68395         * modules/unictype/property-dash: Likewise.
68396         * modules/unictype/property-decimal-digit: Likewise.
68397         * modules/unictype/property-default-ignorable-code-point: Likewise.
68398         * modules/unictype/property-deprecated: Likewise.
68399         * modules/unictype/property-diacritic: Likewise.
68400         * modules/unictype/property-extender: Likewise.
68401         * modules/unictype/property-format-control: Likewise.
68402         * modules/unictype/property-grapheme-base: Likewise.
68403         * modules/unictype/property-grapheme-extend: Likewise.
68404         * modules/unictype/property-grapheme-link: Likewise.
68405         * modules/unictype/property-hex-digit: Likewise.
68406         * modules/unictype/property-hyphen: Likewise.
68407         * modules/unictype/property-id-continue: Likewise.
68408         * modules/unictype/property-id-start: Likewise.
68409         * modules/unictype/property-ideographic: Likewise.
68410         * modules/unictype/property-ids-binary-operator: Likewise.
68411         * modules/unictype/property-ids-trinary-operator: Likewise.
68412         * modules/unictype/property-ignorable-control: Likewise.
68413         * modules/unictype/property-iso-control: Likewise.
68414         * modules/unictype/property-join-control: Likewise.
68415         * modules/unictype/property-left-of-pair: Likewise.
68416         * modules/unictype/property-line-separator: Likewise.
68417         * modules/unictype/property-logical-order-exception: Likewise.
68418         * modules/unictype/property-lowercase: Likewise.
68419         * modules/unictype/property-math: Likewise.
68420         * modules/unictype/property-non-break: Likewise.
68421         * modules/unictype/property-not-a-character: Likewise.
68422         * modules/unictype/property-numeric: Likewise.
68423         * modules/unictype/property-other-alphabetic: Likewise.
68424         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
68425         * modules/unictype/property-other-grapheme-extend: Likewise.
68426         * modules/unictype/property-other-id-continue: Likewise.
68427         * modules/unictype/property-other-id-start: Likewise.
68428         * modules/unictype/property-other-lowercase: Likewise.
68429         * modules/unictype/property-other-math: Likewise.
68430         * modules/unictype/property-other-uppercase: Likewise.
68431         * modules/unictype/property-paired-punctuation: Likewise.
68432         * modules/unictype/property-paragraph-separator: Likewise.
68433         * modules/unictype/property-pattern-syntax: Likewise.
68434         * modules/unictype/property-pattern-white-space: Likewise.
68435         * modules/unictype/property-private-use: Likewise.
68436         * modules/unictype/property-punctuation: Likewise.
68437         * modules/unictype/property-quotation-mark: Likewise.
68438         * modules/unictype/property-radical: Likewise.
68439         * modules/unictype/property-sentence-terminal: Likewise.
68440         * modules/unictype/property-soft-dotted: Likewise.
68441         * modules/unictype/property-space: Likewise.
68442         * modules/unictype/property-terminal-punctuation: Likewise.
68443         * modules/unictype/property-test: Likewise.
68444         * modules/unictype/property-titlecase: Likewise.
68445         * modules/unictype/property-unassigned-code-value: Likewise.
68446         * modules/unictype/property-unified-ideograph: Likewise.
68447         * modules/unictype/property-uppercase: Likewise.
68448         * modules/unictype/property-variation-selector: Likewise.
68449         * modules/unictype/property-white-space: Likewise.
68450         * modules/unictype/property-xid-continue: Likewise.
68451         * modules/unictype/property-xid-start: Likewise.
68452         * modules/unictype/property-zero-width: Likewise.
68453         * modules/unictype/scripts: Likewise.
68454         * modules/unictype/syntax-c-ident: Likewise.
68455         * modules/unictype/syntax-c-whitespace: Likewise.
68456         * modules/unictype/syntax-java-ident: Likewise.
68457         * modules/unictype/syntax-java-whitespace: Likewise.
68458         * modules/unilbrk/u8-possible-linebreaks: Likewise.
68459         * modules/unilbrk/u8-width-linebreaks: Likewise.
68460         * modules/unilbrk/u16-possible-linebreaks: Likewise.
68461         * modules/unilbrk/u16-width-linebreaks: Likewise.
68462         * modules/unilbrk/u32-possible-linebreaks: Likewise.
68463         * modules/unilbrk/u32-width-linebreaks: Likewise.
68464         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
68465         * modules/unilbrk/ulc-width-linebreaks: Likewise.
68466         * modules/uniname/uniname: Likewise.
68467         * modules/uninorm/canonical-decomposition: Likewise.
68468         * modules/uninorm/composition: Likewise.
68469         * modules/uninorm/decomposing-form: Likewise.
68470         * modules/uninorm/decomposition: Likewise.
68471         * modules/uninorm/filter: Likewise.
68472         * modules/uninorm/nfc: Likewise.
68473         * modules/uninorm/nfd: Likewise.
68474         * modules/uninorm/nfkc: Likewise.
68475         * modules/uninorm/nfkd: Likewise.
68476         * modules/uninorm/u8-normalize: Likewise.
68477         * modules/uninorm/u8-normcmp: Likewise.
68478         * modules/uninorm/u8-normcoll: Likewise.
68479         * modules/uninorm/u8-normxfrm: Likewise.
68480         * modules/uninorm/u16-normalize: Likewise.
68481         * modules/uninorm/u16-normcmp: Likewise.
68482         * modules/uninorm/u16-normcoll: Likewise.
68483         * modules/uninorm/u16-normxfrm: Likewise.
68484         * modules/uninorm/u32-normalize: Likewise.
68485         * modules/uninorm/u32-normcmp: Likewise.
68486         * modules/uninorm/u32-normcoll: Likewise.
68487         * modules/uninorm/u32-normxfrm: Likewise.
68488         * modules/unistdio/u8-asnprintf: Likewise.
68489         * modules/unistdio/u8-asprintf: Likewise.
68490         * modules/unistdio/u8-snprintf: Likewise.
68491         * modules/unistdio/u8-sprintf: Likewise.
68492         * modules/unistdio/u8-u8-asnprintf: Likewise.
68493         * modules/unistdio/u8-u8-asprintf: Likewise.
68494         * modules/unistdio/u8-u8-snprintf: Likewise.
68495         * modules/unistdio/u8-u8-sprintf: Likewise.
68496         * modules/unistdio/u8-u8-vasnprintf: Likewise.
68497         * modules/unistdio/u8-u8-vasprintf: Likewise.
68498         * modules/unistdio/u8-u8-vsnprintf: Likewise.
68499         * modules/unistdio/u8-u8-vsprintf: Likewise.
68500         * modules/unistdio/u8-vasnprintf: Likewise.
68501         * modules/unistdio/u8-vasprintf: Likewise.
68502         * modules/unistdio/u8-vsnprintf: Likewise.
68503         * modules/unistdio/u8-vsprintf: Likewise.
68504         * modules/unistdio/u16-asnprintf: Likewise.
68505         * modules/unistdio/u16-asprintf: Likewise.
68506         * modules/unistdio/u16-snprintf: Likewise.
68507         * modules/unistdio/u16-sprintf: Likewise.
68508         * modules/unistdio/u16-u16-asnprintf: Likewise.
68509         * modules/unistdio/u16-u16-asprintf: Likewise.
68510         * modules/unistdio/u16-u16-snprintf: Likewise.
68511         * modules/unistdio/u16-u16-sprintf: Likewise.
68512         * modules/unistdio/u16-u16-vasnprintf: Likewise.
68513         * modules/unistdio/u16-u16-vasprintf: Likewise.
68514         * modules/unistdio/u16-u16-vsnprintf: Likewise.
68515         * modules/unistdio/u16-u16-vsprintf: Likewise.
68516         * modules/unistdio/u16-vasnprintf: Likewise.
68517         * modules/unistdio/u16-vasprintf: Likewise.
68518         * modules/unistdio/u16-vsnprintf: Likewise.
68519         * modules/unistdio/u16-vsprintf: Likewise.
68520         * modules/unistdio/u32-asnprintf: Likewise.
68521         * modules/unistdio/u32-asprintf: Likewise.
68522         * modules/unistdio/u32-snprintf: Likewise.
68523         * modules/unistdio/u32-sprintf: Likewise.
68524         * modules/unistdio/u32-u32-asnprintf: Likewise.
68525         * modules/unistdio/u32-u32-asprintf: Likewise.
68526         * modules/unistdio/u32-u32-snprintf: Likewise.
68527         * modules/unistdio/u32-u32-sprintf: Likewise.
68528         * modules/unistdio/u32-u32-vasnprintf: Likewise.
68529         * modules/unistdio/u32-u32-vasprintf: Likewise.
68530         * modules/unistdio/u32-u32-vsnprintf: Likewise.
68531         * modules/unistdio/u32-u32-vsprintf: Likewise.
68532         * modules/unistdio/u32-vasnprintf: Likewise.
68533         * modules/unistdio/u32-vasprintf: Likewise.
68534         * modules/unistdio/u32-vsnprintf: Likewise.
68535         * modules/unistdio/u32-vsprintf: Likewise.
68536         * modules/unistdio/ulc-asnprintf: Likewise.
68537         * modules/unistdio/ulc-asprintf: Likewise.
68538         * modules/unistdio/ulc-fprintf: Likewise.
68539         * modules/unistdio/ulc-snprintf: Likewise.
68540         * modules/unistdio/ulc-sprintf: Likewise.
68541         * modules/unistdio/ulc-vasnprintf: Likewise.
68542         * modules/unistdio/ulc-vasprintf: Likewise.
68543         * modules/unistdio/ulc-vfprintf: Likewise.
68544         * modules/unistdio/ulc-vsnprintf: Likewise.
68545         * modules/unistdio/ulc-vsprintf: Likewise.
68546         * modules/unistr/u8-check: Likewise.
68547         * modules/unistr/u8-chr: Likewise.
68548         * modules/unistr/u8-cmp: Likewise.
68549         * modules/unistr/u8-cmp2: Likewise.
68550         * modules/unistr/u8-cpy: Likewise.
68551         * modules/unistr/u8-cpy-alloc: Likewise.
68552         * modules/unistr/u8-endswith: Likewise.
68553         * modules/unistr/u8-mblen: Likewise.
68554         * modules/unistr/u8-mbsnlen: Likewise.
68555         * modules/unistr/u8-mbtouc: Likewise.
68556         * modules/unistr/u8-mbtouc-unsafe: Likewise.
68557         * modules/unistr/u8-mbtoucr: Likewise.
68558         * modules/unistr/u8-move: Likewise.
68559         * modules/unistr/u8-next: Likewise.
68560         * modules/unistr/u8-prev: Likewise.
68561         * modules/unistr/u8-set: Likewise.
68562         * modules/unistr/u8-startswith: Likewise.
68563         * modules/unistr/u8-stpcpy: Likewise.
68564         * modules/unistr/u8-stpncpy: Likewise.
68565         * modules/unistr/u8-strcat: Likewise.
68566         * modules/unistr/u8-strchr: Likewise.
68567         * modules/unistr/u8-strcmp: Likewise.
68568         * modules/unistr/u8-strcoll: Likewise.
68569         * modules/unistr/u8-strcpy: Likewise.
68570         * modules/unistr/u8-strcspn: Likewise.
68571         * modules/unistr/u8-strdup: Likewise.
68572         * modules/unistr/u8-strlen: Likewise.
68573         * modules/unistr/u8-strmblen: Likewise.
68574         * modules/unistr/u8-strmbtouc: Likewise.
68575         * modules/unistr/u8-strncat: Likewise.
68576         * modules/unistr/u8-strncmp: Likewise.
68577         * modules/unistr/u8-strncpy: Likewise.
68578         * modules/unistr/u8-strnlen: Likewise.
68579         * modules/unistr/u8-strpbrk: Likewise.
68580         * modules/unistr/u8-strrchr: Likewise.
68581         * modules/unistr/u8-strspn: Likewise.
68582         * modules/unistr/u8-strstr: Likewise.
68583         * modules/unistr/u8-strtok: Likewise.
68584         * modules/unistr/u8-to-u16: Likewise.
68585         * modules/unistr/u8-to-u32: Likewise.
68586         * modules/unistr/u8-uctomb: Likewise.
68587         * modules/unistr/u16-check: Likewise.
68588         * modules/unistr/u16-chr: Likewise.
68589         * modules/unistr/u16-cmp: Likewise.
68590         * modules/unistr/u16-cmp2: Likewise.
68591         * modules/unistr/u16-cpy: Likewise.
68592         * modules/unistr/u16-cpy-alloc: Likewise.
68593         * modules/unistr/u16-endswith: Likewise.
68594         * modules/unistr/u16-mblen: Likewise.
68595         * modules/unistr/u16-mbsnlen: Likewise.
68596         * modules/unistr/u16-mbtouc: Likewise.
68597         * modules/unistr/u16-mbtouc-unsafe: Likewise.
68598         * modules/unistr/u16-mbtoucr: Likewise.
68599         * modules/unistr/u16-move: Likewise.
68600         * modules/unistr/u16-next: Likewise.
68601         * modules/unistr/u16-prev: Likewise.
68602         * modules/unistr/u16-set: Likewise.
68603         * modules/unistr/u16-startswith: Likewise.
68604         * modules/unistr/u16-stpcpy: Likewise.
68605         * modules/unistr/u16-stpncpy: Likewise.
68606         * modules/unistr/u16-strcat: Likewise.
68607         * modules/unistr/u16-strchr: Likewise.
68608         * modules/unistr/u16-strcmp: Likewise.
68609         * modules/unistr/u16-strcoll: Likewise.
68610         * modules/unistr/u16-strcpy: Likewise.
68611         * modules/unistr/u16-strcspn: Likewise.
68612         * modules/unistr/u16-strdup: Likewise.
68613         * modules/unistr/u16-strlen: Likewise.
68614         * modules/unistr/u16-strmblen: Likewise.
68615         * modules/unistr/u16-strmbtouc: Likewise.
68616         * modules/unistr/u16-strncat: Likewise.
68617         * modules/unistr/u16-strncmp: Likewise.
68618         * modules/unistr/u16-strncpy: Likewise.
68619         * modules/unistr/u16-strnlen: Likewise.
68620         * modules/unistr/u16-strpbrk: Likewise.
68621         * modules/unistr/u16-strrchr: Likewise.
68622         * modules/unistr/u16-strspn: Likewise.
68623         * modules/unistr/u16-strstr: Likewise.
68624         * modules/unistr/u16-strtok: Likewise.
68625         * modules/unistr/u16-to-u32: Likewise.
68626         * modules/unistr/u16-to-u8: Likewise.
68627         * modules/unistr/u16-uctomb: Likewise.
68628         * modules/unistr/u32-check: Likewise.
68629         * modules/unistr/u32-chr: Likewise.
68630         * modules/unistr/u32-cmp: Likewise.
68631         * modules/unistr/u32-cmp2: Likewise.
68632         * modules/unistr/u32-cpy: Likewise.
68633         * modules/unistr/u32-cpy-alloc: Likewise.
68634         * modules/unistr/u32-endswith: Likewise.
68635         * modules/unistr/u32-mblen: Likewise.
68636         * modules/unistr/u32-mbsnlen: Likewise.
68637         * modules/unistr/u32-mbtouc: Likewise.
68638         * modules/unistr/u32-mbtouc-unsafe: Likewise.
68639         * modules/unistr/u32-mbtoucr: Likewise.
68640         * modules/unistr/u32-move: Likewise.
68641         * modules/unistr/u32-next: Likewise.
68642         * modules/unistr/u32-prev: Likewise.
68643         * modules/unistr/u32-set: Likewise.
68644         * modules/unistr/u32-startswith: Likewise.
68645         * modules/unistr/u32-stpcpy: Likewise.
68646         * modules/unistr/u32-stpncpy: Likewise.
68647         * modules/unistr/u32-strcat: Likewise.
68648         * modules/unistr/u32-strchr: Likewise.
68649         * modules/unistr/u32-strcmp: Likewise.
68650         * modules/unistr/u32-strcoll: Likewise.
68651         * modules/unistr/u32-strcpy: Likewise.
68652         * modules/unistr/u32-strcspn: Likewise.
68653         * modules/unistr/u32-strdup: Likewise.
68654         * modules/unistr/u32-strlen: Likewise.
68655         * modules/unistr/u32-strmblen: Likewise.
68656         * modules/unistr/u32-strmbtouc: Likewise.
68657         * modules/unistr/u32-strncat: Likewise.
68658         * modules/unistr/u32-strncmp: Likewise.
68659         * modules/unistr/u32-strncpy: Likewise.
68660         * modules/unistr/u32-strnlen: Likewise.
68661         * modules/unistr/u32-strpbrk: Likewise.
68662         * modules/unistr/u32-strrchr: Likewise.
68663         * modules/unistr/u32-strspn: Likewise.
68664         * modules/unistr/u32-strstr: Likewise.
68665         * modules/unistr/u32-strtok: Likewise.
68666         * modules/unistr/u32-to-u16: Likewise.
68667         * modules/unistr/u32-to-u8: Likewise.
68668         * modules/unistr/u32-uctomb: Likewise.
68669         * modules/uniwbrk/u8-wordbreaks: Likewise.
68670         * modules/uniwbrk/u16-wordbreaks: Likewise.
68671         * modules/uniwbrk/u32-wordbreaks: Likewise.
68672         * modules/uniwbrk/ulc-wordbreaks: Likewise.
68673         * modules/uniwbrk/wordbreak-property: Likewise.
68674         * modules/uniwidth/u8-strwidth: Likewise.
68675         * modules/uniwidth/u8-width: Likewise.
68676         * modules/uniwidth/u16-strwidth: Likewise.
68677         * modules/uniwidth/u16-width: Likewise.
68678         * modules/uniwidth/u32-strwidth: Likewise.
68679         * modules/uniwidth/u32-width: Likewise.
68680         * modules/uniwidth/width: Likewise.
68681         * modules/unicase/cased-tests (Makefile.am): Link all test programs
68682         with $(LIBUNISTRING).
68683         * modules/unicase/ignorable-tests: Likewise.
68684         * modules/unicase/locale-language-tests: Likewise.
68685         * modules/unicase/tolower-tests: Likewise.
68686         * modules/unicase/totitle-tests: Likewise.
68687         * modules/unicase/toupper-tests: Likewise.
68688         * modules/unicase/u8-casecmp-tests: Likewise.
68689         * modules/unicase/u8-casecoll-tests: Likewise.
68690         * modules/unicase/u8-casefold-tests: Likewise.
68691         * modules/unicase/u8-is-cased-tests: Likewise.
68692         * modules/unicase/u8-is-casefolded-tests: Likewise.
68693         * modules/unicase/u8-is-lowercase-tests: Likewise.
68694         * modules/unicase/u8-is-titlecase-tests: Likewise.
68695         * modules/unicase/u8-is-uppercase-tests: Likewise.
68696         * modules/unicase/u8-tolower-tests: Likewise.
68697         * modules/unicase/u8-totitle-tests: Likewise.
68698         * modules/unicase/u8-toupper-tests: Likewise.
68699         * modules/unicase/u16-casecmp-tests: Likewise.
68700         * modules/unicase/u16-casecoll-tests: Likewise.
68701         * modules/unicase/u16-casefold-tests: Likewise.
68702         * modules/unicase/u16-is-cased-tests: Likewise.
68703         * modules/unicase/u16-is-casefolded-tests: Likewise.
68704         * modules/unicase/u16-is-lowercase-tests: Likewise.
68705         * modules/unicase/u16-is-titlecase-tests: Likewise.
68706         * modules/unicase/u16-is-uppercase-tests: Likewise.
68707         * modules/unicase/u16-tolower-tests: Likewise.
68708         * modules/unicase/u16-totitle-tests: Likewise.
68709         * modules/unicase/u16-toupper-tests: Likewise.
68710         * modules/unicase/u32-casecmp-tests: Likewise.
68711         * modules/unicase/u32-casecoll-tests: Likewise.
68712         * modules/unicase/u32-casefold-tests: Likewise.
68713         * modules/unicase/u32-is-cased-tests: Likewise.
68714         * modules/unicase/u32-is-casefolded-tests: Likewise.
68715         * modules/unicase/u32-is-lowercase-tests: Likewise.
68716         * modules/unicase/u32-is-titlecase-tests: Likewise.
68717         * modules/unicase/u32-is-uppercase-tests: Likewise.
68718         * modules/unicase/u32-tolower-tests: Likewise.
68719         * modules/unicase/u32-totitle-tests: Likewise.
68720         * modules/unicase/u32-toupper-tests: Likewise.
68721         * modules/unicase/ulc-casecmp-tests: Likewise.
68722         * modules/unicase/ulc-casecoll-tests: Likewise.
68723         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
68724         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
68725         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
68726         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
68727         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
68728         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
68729         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
68730         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
68731         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
68732         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
68733         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
68734         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
68735         * modules/unictype/bidicategory-byname-tests: Likewise.
68736         * modules/unictype/bidicategory-name-tests: Likewise.
68737         * modules/unictype/bidicategory-of-tests: Likewise.
68738         * modules/unictype/bidicategory-test-tests: Likewise.
68739         * modules/unictype/block-list-tests: Likewise.
68740         * modules/unictype/block-of-tests: Likewise.
68741         * modules/unictype/block-test-tests: Likewise.
68742         * modules/unictype/category-C-tests: Likewise.
68743         * modules/unictype/category-Cc-tests: Likewise.
68744         * modules/unictype/category-Cf-tests: Likewise.
68745         * modules/unictype/category-Cn-tests: Likewise.
68746         * modules/unictype/category-Co-tests: Likewise.
68747         * modules/unictype/category-Cs-tests: Likewise.
68748         * modules/unictype/category-L-tests: Likewise.
68749         * modules/unictype/category-Ll-tests: Likewise.
68750         * modules/unictype/category-Lm-tests: Likewise.
68751         * modules/unictype/category-Lo-tests: Likewise.
68752         * modules/unictype/category-Lt-tests: Likewise.
68753         * modules/unictype/category-Lu-tests: Likewise.
68754         * modules/unictype/category-M-tests: Likewise.
68755         * modules/unictype/category-Mc-tests: Likewise.
68756         * modules/unictype/category-Me-tests: Likewise.
68757         * modules/unictype/category-Mn-tests: Likewise.
68758         * modules/unictype/category-N-tests: Likewise.
68759         * modules/unictype/category-Nd-tests: Likewise.
68760         * modules/unictype/category-Nl-tests: Likewise.
68761         * modules/unictype/category-No-tests: Likewise.
68762         * modules/unictype/category-P-tests: Likewise.
68763         * modules/unictype/category-Pc-tests: Likewise.
68764         * modules/unictype/category-Pd-tests: Likewise.
68765         * modules/unictype/category-Pe-tests: Likewise.
68766         * modules/unictype/category-Pf-tests: Likewise.
68767         * modules/unictype/category-Pi-tests: Likewise.
68768         * modules/unictype/category-Po-tests: Likewise.
68769         * modules/unictype/category-Ps-tests: Likewise.
68770         * modules/unictype/category-S-tests: Likewise.
68771         * modules/unictype/category-Sc-tests: Likewise.
68772         * modules/unictype/category-Sk-tests: Likewise.
68773         * modules/unictype/category-Sm-tests: Likewise.
68774         * modules/unictype/category-So-tests: Likewise.
68775         * modules/unictype/category-Z-tests: Likewise.
68776         * modules/unictype/category-Zl-tests: Likewise.
68777         * modules/unictype/category-Zp-tests: Likewise.
68778         * modules/unictype/category-Zs-tests: Likewise.
68779         * modules/unictype/category-and-not-tests: Likewise.
68780         * modules/unictype/category-and-tests: Likewise.
68781         * modules/unictype/category-byname-tests: Likewise.
68782         * modules/unictype/category-name-tests: Likewise.
68783         * modules/unictype/category-none-tests: Likewise.
68784         * modules/unictype/category-of-tests: Likewise.
68785         * modules/unictype/category-or-tests: Likewise.
68786         * modules/unictype/category-test-withtable-tests: Likewise.
68787         * modules/unictype/combining-class-tests: Likewise.
68788         * modules/unictype/ctype-alnum-tests: Likewise.
68789         * modules/unictype/ctype-alpha-tests: Likewise.
68790         * modules/unictype/ctype-blank-tests: Likewise.
68791         * modules/unictype/ctype-cntrl-tests: Likewise.
68792         * modules/unictype/ctype-digit-tests: Likewise.
68793         * modules/unictype/ctype-graph-tests: Likewise.
68794         * modules/unictype/ctype-lower-tests: Likewise.
68795         * modules/unictype/ctype-print-tests: Likewise.
68796         * modules/unictype/ctype-punct-tests: Likewise.
68797         * modules/unictype/ctype-space-tests: Likewise.
68798         * modules/unictype/ctype-upper-tests: Likewise.
68799         * modules/unictype/ctype-xdigit-tests: Likewise.
68800         * modules/unictype/decimal-digit-tests: Likewise.
68801         * modules/unictype/digit-tests: Likewise.
68802         * modules/unictype/mirror-tests: Likewise.
68803         * modules/unictype/numeric-tests: Likewise.
68804         * modules/unictype/property-alphabetic-tests: Likewise.
68805         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
68806         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
68807         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
68808         * modules/unictype/property-bidi-block-separator-tests: Likewise.
68809         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
68810         * modules/unictype/property-bidi-common-separator-tests: Likewise.
68811         * modules/unictype/property-bidi-control-tests: Likewise.
68812         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
68813         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
68814         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
68815         * modules/unictype/property-bidi-european-digit-tests: Likewise.
68816         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
68817         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
68818         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
68819         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
68820         * modules/unictype/property-bidi-pdf-tests: Likewise.
68821         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
68822         * modules/unictype/property-bidi-whitespace-tests: Likewise.
68823         * modules/unictype/property-byname-tests: Likewise.
68824         * modules/unictype/property-combining-tests: Likewise.
68825         * modules/unictype/property-composite-tests: Likewise.
68826         * modules/unictype/property-currency-symbol-tests: Likewise.
68827         * modules/unictype/property-dash-tests: Likewise.
68828         * modules/unictype/property-decimal-digit-tests: Likewise.
68829         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
68830         * modules/unictype/property-deprecated-tests: Likewise.
68831         * modules/unictype/property-diacritic-tests: Likewise.
68832         * modules/unictype/property-extender-tests: Likewise.
68833         * modules/unictype/property-format-control-tests: Likewise.
68834         * modules/unictype/property-grapheme-base-tests: Likewise.
68835         * modules/unictype/property-grapheme-extend-tests: Likewise.
68836         * modules/unictype/property-grapheme-link-tests: Likewise.
68837         * modules/unictype/property-hex-digit-tests: Likewise.
68838         * modules/unictype/property-hyphen-tests: Likewise.
68839         * modules/unictype/property-id-continue-tests: Likewise.
68840         * modules/unictype/property-id-start-tests: Likewise.
68841         * modules/unictype/property-ideographic-tests: Likewise.
68842         * modules/unictype/property-ids-binary-operator-tests: Likewise.
68843         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
68844         * modules/unictype/property-ignorable-control-tests: Likewise.
68845         * modules/unictype/property-iso-control-tests: Likewise.
68846         * modules/unictype/property-join-control-tests: Likewise.
68847         * modules/unictype/property-left-of-pair-tests: Likewise.
68848         * modules/unictype/property-line-separator-tests: Likewise.
68849         * modules/unictype/property-logical-order-exception-tests: Likewise.
68850         * modules/unictype/property-lowercase-tests: Likewise.
68851         * modules/unictype/property-math-tests: Likewise.
68852         * modules/unictype/property-non-break-tests: Likewise.
68853         * modules/unictype/property-not-a-character-tests: Likewise.
68854         * modules/unictype/property-numeric-tests: Likewise.
68855         * modules/unictype/property-other-alphabetic-tests: Likewise.
68856         * modules/unictype/property-other-default-ignorable-code-point-tests:
68857         Likewise.
68858         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
68859         * modules/unictype/property-other-id-continue-tests: Likewise.
68860         * modules/unictype/property-other-id-start-tests: Likewise.
68861         * modules/unictype/property-other-lowercase-tests: Likewise.
68862         * modules/unictype/property-other-math-tests: Likewise.
68863         * modules/unictype/property-other-uppercase-tests: Likewise.
68864         * modules/unictype/property-paired-punctuation-tests: Likewise.
68865         * modules/unictype/property-paragraph-separator-tests: Likewise.
68866         * modules/unictype/property-pattern-syntax-tests: Likewise.
68867         * modules/unictype/property-pattern-white-space-tests: Likewise.
68868         * modules/unictype/property-private-use-tests: Likewise.
68869         * modules/unictype/property-punctuation-tests: Likewise.
68870         * modules/unictype/property-quotation-mark-tests: Likewise.
68871         * modules/unictype/property-radical-tests: Likewise.
68872         * modules/unictype/property-sentence-terminal-tests: Likewise.
68873         * modules/unictype/property-soft-dotted-tests: Likewise.
68874         * modules/unictype/property-space-tests: Likewise.
68875         * modules/unictype/property-terminal-punctuation-tests: Likewise.
68876         * modules/unictype/property-test-tests: Likewise.
68877         * modules/unictype/property-titlecase-tests: Likewise.
68878         * modules/unictype/property-unassigned-code-value-tests: Likewise.
68879         * modules/unictype/property-unified-ideograph-tests: Likewise.
68880         * modules/unictype/property-uppercase-tests: Likewise.
68881         * modules/unictype/property-variation-selector-tests: Likewise.
68882         * modules/unictype/property-white-space-tests: Likewise.
68883         * modules/unictype/property-xid-continue-tests: Likewise.
68884         * modules/unictype/property-xid-start-tests: Likewise.
68885         * modules/unictype/property-zero-width-tests: Likewise.
68886         * modules/unictype/scripts-tests: Likewise.
68887         * modules/unictype/syntax-c-ident-tests: Likewise.
68888         * modules/unictype/syntax-c-whitespace-tests: Likewise.
68889         * modules/unictype/syntax-java-ident-tests: Likewise.
68890         * modules/unictype/syntax-java-whitespace-tests: Likewise.
68891         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
68892         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
68893         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
68894         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
68895         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
68896         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
68897         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
68898         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
68899         * modules/uniname/uniname-tests: Likewise.
68900         * modules/uninorm/canonical-decomposition-tests: Likewise.
68901         * modules/uninorm/compat-decomposition-tests: Likewise.
68902         * modules/uninorm/composition-tests: Likewise.
68903         * modules/uninorm/decomposing-form-tests: Likewise.
68904         * modules/uninorm/decomposition-tests: Likewise.
68905         * modules/uninorm/filter-tests: Likewise.
68906         * modules/uninorm/nfc-tests: Likewise.
68907         * modules/uninorm/nfd-tests: Likewise.
68908         * modules/uninorm/nfkc-tests: Likewise.
68909         * modules/uninorm/nfkd-tests: Likewise.
68910         * modules/uninorm/u8-normcmp-tests: Likewise.
68911         * modules/uninorm/u8-normcoll-tests: Likewise.
68912         * modules/uninorm/u16-normcmp-tests: Likewise.
68913         * modules/uninorm/u16-normcoll-tests: Likewise.
68914         * modules/uninorm/u32-normcmp-tests: Likewise.
68915         * modules/uninorm/u32-normcoll-tests: Likewise.
68916         * modules/unistdio/u8-asnprintf-tests: Likewise.
68917         * modules/unistdio/u8-vasnprintf-tests: Likewise.
68918         * modules/unistdio/u8-vasprintf-tests: Likewise.
68919         * modules/unistdio/u8-vsnprintf-tests: Likewise.
68920         * modules/unistdio/u8-vsprintf-tests: Likewise.
68921         * modules/unistdio/u16-asnprintf-tests: Likewise.
68922         * modules/unistdio/u16-vasnprintf-tests: Likewise.
68923         * modules/unistdio/u16-vasprintf-tests: Likewise.
68924         * modules/unistdio/u16-vsnprintf-tests: Likewise.
68925         * modules/unistdio/u16-vsprintf-tests: Likewise.
68926         * modules/unistdio/u32-asnprintf-tests: Likewise.
68927         * modules/unistdio/u32-vasnprintf-tests: Likewise.
68928         * modules/unistdio/u32-vasprintf-tests: Likewise.
68929         * modules/unistdio/u32-vsnprintf-tests: Likewise.
68930         * modules/unistdio/u32-vsprintf-tests: Likewise.
68931         * modules/unistdio/ulc-asnprintf-tests: Likewise.
68932         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
68933         * modules/unistdio/ulc-vasprintf-tests: Likewise.
68934         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
68935         * modules/unistdio/ulc-vsprintf-tests: Likewise.
68936         * modules/unistr/u8-check-tests: Likewise.
68937         * modules/unistr/u8-chr-tests: Likewise.
68938         * modules/unistr/u8-cmp-tests: Likewise.
68939         * modules/unistr/u8-cmp2-tests: Likewise.
68940         * modules/unistr/u8-cpy-alloc-tests: Likewise.
68941         * modules/unistr/u8-cpy-tests: Likewise.
68942         * modules/unistr/u8-mblen-tests: Likewise.
68943         * modules/unistr/u8-mbsnlen-tests: Likewise.
68944         * modules/unistr/u8-mbtouc-tests: Likewise.
68945         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
68946         * modules/unistr/u8-mbtoucr-tests: Likewise.
68947         * modules/unistr/u8-move-tests: Likewise.
68948         * modules/unistr/u8-next-tests: Likewise.
68949         * modules/unistr/u8-prev-tests: Likewise.
68950         * modules/unistr/u8-set-tests: Likewise.
68951         * modules/unistr/u8-stpcpy-tests: Likewise.
68952         * modules/unistr/u8-stpncpy-tests: Likewise.
68953         * modules/unistr/u8-strcat-tests: Likewise.
68954         * modules/unistr/u8-strcmp-tests: Likewise.
68955         * modules/unistr/u8-strcoll-tests: Likewise.
68956         * modules/unistr/u8-strcpy-tests: Likewise.
68957         * modules/unistr/u8-strdup-tests: Likewise.
68958         * modules/unistr/u8-strlen-tests: Likewise.
68959         * modules/unistr/u8-strmblen-tests: Likewise.
68960         * modules/unistr/u8-strmbtouc-tests: Likewise.
68961         * modules/unistr/u8-strncat-tests: Likewise.
68962         * modules/unistr/u8-strncmp-tests: Likewise.
68963         * modules/unistr/u8-strncpy-tests: Likewise.
68964         * modules/unistr/u8-strnlen-tests: Likewise.
68965         * modules/unistr/u8-to-u16-tests: Likewise.
68966         * modules/unistr/u8-to-u32-tests: Likewise.
68967         * modules/unistr/u8-uctomb-tests: Likewise.
68968         * modules/unistr/u16-check-tests: Likewise.
68969         * modules/unistr/u16-chr-tests: Likewise.
68970         * modules/unistr/u16-cmp-tests: Likewise.
68971         * modules/unistr/u16-cmp2-tests: Likewise.
68972         * modules/unistr/u16-cpy-alloc-tests: Likewise.
68973         * modules/unistr/u16-cpy-tests: Likewise.
68974         * modules/unistr/u16-mblen-tests: Likewise.
68975         * modules/unistr/u16-mbsnlen-tests: Likewise.
68976         * modules/unistr/u16-mbtouc-tests: Likewise.
68977         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
68978         * modules/unistr/u16-mbtoucr-tests: Likewise.
68979         * modules/unistr/u16-move-tests: Likewise.
68980         * modules/unistr/u16-next-tests: Likewise.
68981         * modules/unistr/u16-prev-tests: Likewise.
68982         * modules/unistr/u16-set-tests: Likewise.
68983         * modules/unistr/u16-stpcpy-tests: Likewise.
68984         * modules/unistr/u16-stpncpy-tests: Likewise.
68985         * modules/unistr/u16-strcat-tests: Likewise.
68986         * modules/unistr/u16-strcmp-tests: Likewise.
68987         * modules/unistr/u16-strcoll-tests: Likewise.
68988         * modules/unistr/u16-strcpy-tests: Likewise.
68989         * modules/unistr/u16-strdup-tests: Likewise.
68990         * modules/unistr/u16-strlen-tests: Likewise.
68991         * modules/unistr/u16-strmblen-tests: Likewise.
68992         * modules/unistr/u16-strmbtouc-tests: Likewise.
68993         * modules/unistr/u16-strncat-tests: Likewise.
68994         * modules/unistr/u16-strncmp-tests: Likewise.
68995         * modules/unistr/u16-strncpy-tests: Likewise.
68996         * modules/unistr/u16-strnlen-tests: Likewise.
68997         * modules/unistr/u16-to-u32-tests: Likewise.
68998         * modules/unistr/u16-to-u8-tests: Likewise.
68999         * modules/unistr/u16-uctomb-tests: Likewise.
69000         * modules/unistr/u32-check-tests: Likewise.
69001         * modules/unistr/u32-chr-tests: Likewise.
69002         * modules/unistr/u32-cmp-tests: Likewise.
69003         * modules/unistr/u32-cmp2-tests: Likewise.
69004         * modules/unistr/u32-cpy-alloc-tests: Likewise.
69005         * modules/unistr/u32-cpy-tests: Likewise.
69006         * modules/unistr/u32-mblen-tests: Likewise.
69007         * modules/unistr/u32-mbsnlen-tests: Likewise.
69008         * modules/unistr/u32-mbtouc-tests: Likewise.
69009         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
69010         * modules/unistr/u32-mbtoucr-tests: Likewise.
69011         * modules/unistr/u32-move-tests: Likewise.
69012         * modules/unistr/u32-next-tests: Likewise.
69013         * modules/unistr/u32-prev-tests: Likewise.
69014         * modules/unistr/u32-set-tests: Likewise.
69015         * modules/unistr/u32-stpcpy-tests: Likewise.
69016         * modules/unistr/u32-stpncpy-tests: Likewise.
69017         * modules/unistr/u32-strcat-tests: Likewise.
69018         * modules/unistr/u32-strcmp-tests: Likewise.
69019         * modules/unistr/u32-strcoll-tests: Likewise.
69020         * modules/unistr/u32-strcpy-tests: Likewise.
69021         * modules/unistr/u32-strdup-tests: Likewise.
69022         * modules/unistr/u32-strlen-tests: Likewise.
69023         * modules/unistr/u32-strmblen-tests: Likewise.
69024         * modules/unistr/u32-strmbtouc-tests: Likewise.
69025         * modules/unistr/u32-strncat-tests: Likewise.
69026         * modules/unistr/u32-strncmp-tests: Likewise.
69027         * modules/unistr/u32-strncpy-tests: Likewise.
69028         * modules/unistr/u32-strnlen-tests: Likewise.
69029         * modules/unistr/u32-to-u16-tests: Likewise.
69030         * modules/unistr/u32-to-u8-tests: Likewise.
69031         * modules/unistr/u32-uctomb-tests: Likewise.
69032         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
69033         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
69034         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
69035         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
69036         * modules/uniwidth/u8-strwidth-tests: Likewise.
69037         * modules/uniwidth/u8-width-tests: Likewise.
69038         * modules/uniwidth/u16-strwidth-tests: Likewise.
69039         * modules/uniwidth/u16-width-tests: Likewise.
69040         * modules/uniwidth/u32-strwidth-tests: Likewise.
69041         * modules/uniwidth/u32-width-tests: Likewise.
69042         * modules/uniwidth/width-tests: Likewise.
69044 2010-05-18  Richard Jones  <rjones@redhat.com>
69046         doc: users.txt: list hivex
69047         * users.txt: Add hivex.
69049 2010-05-18  Richard Jones  <rjones@redhat.com>
69051         doc: users.txt: list febootstrap
69052         * users.txt: Add febootstrap.
69054 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
69056         bootstrap: fix an error when gnulib is not used as a git submodule
69057         * build-aux/bootstrap (gnulib_path): If its length is zero then
69058         assign "gnulib" to it.
69059         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
69061 2010-05-16  Bruno Haible  <bruno@clisp.org>
69063         Avoid autoconf warnings about AM_ICONV.
69064         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
69065         2.64.
69067 2010-05-16  Bruno Haible  <bruno@clisp.org>
69069         absolute-header: Make the macro usable in more situations.
69070         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
69071         from gl_ABSOLUTE_HEADER.
69072         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
69074 2010-05-16  James Youngman  <jay@gnu.org>
69076         doc: update users.txt
69077         * users.txt: Add CSSC.
69079 2010-05-16  Jim Meyering  <meyering@redhat.com>
69081         init.sh: fix an error in the previous change; add more comments
69082         * tests/init.sh: Compare exit code in loop against 9, not 2.
69083         Patch by Bruno Haible.
69084         Make the two tests more similar by adding an empty "then" clause.
69085         Add comments.
69087         init.sh: avoid unnecessary shell re-exec
69088         * tests/init.sh: Improve the re-exec-required check to first test the
69089         current shell.  If it passes the test, do not search for a shell that
69090         does pass, and do not re-exec.  This test is particularly contorted to
69091         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
69092         of $(...) evokes a syntax error and causes immediate shell exit with
69093         status 2.  Bruno Haible reported that the re-exec made it impossible
69094         to single-step through any init.sh-using script.
69096 2010-05-16  Bruno Haible  <bruno@clisp.org>
69098         Fix collision between gnulib's and libintl's printf replacements.
69099         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
69100         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
69101         (printf): When using GNU C, map the __printf__ function to rpl_printf
69102         via __asm__. When not using GNU C, define rpl_printf instead of
69103         __printf__.
69104         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
69105         commit.
69106         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
69107         commit.
69108         * m4/asm-underscore.m4: New file.
69109         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
69110         * modules/stdio (Files): Add m4/asm-underscore.m4.
69111         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
69112         Reported by Ben Pfaff.
69114 2010-05-16  Bruno Haible  <bruno@clisp.org>
69116         verify: Avoid skipping the test on openSUSE 11.0.
69117         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
69119 2010-05-13  Bruno Haible  <bruno@clisp.org>
69121         Avoid useless warnings from G++.
69122         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
69123         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
69124         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
69126 2010-05-11  Jim Meyering  <meyering@redhat.com>
69128         maint.mk: tweak preceding change
69129         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
69130         regexps tighter by anchoring at EOL, and make the new group "shy"
69131         for slightly decreased overhead.
69133 2010-05-11  Eric Blake  <eblake@redhat.com>
69135         maint.mk: gnulib doesn't guarantee NSIG
69136         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
69138 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
69140         test-pwrite.c: Remove unused variable declaration.
69141         * tests/test-pwrite.c (main): Remove read_buf declaration.
69143         Remove useless test-pwrite.sh file.
69144         * tests/test-pwrite.sh: Delete file.
69145         * modules/pwrite-tests: Remove references.
69146         Reported by Bruno Haible.
69148 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
69150         init.sh: fix a typo
69151         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
69153 2010-05-10  Jim Meyering  <meyering@redhat.com>
69155         maint.mk: avoid using a temporary file in the always-defined-macros check
69156         * top/maint.mk (.re-defmac): Remove rule.
69157         (gl_trap_): Remove definition.
69158         (sc_prohibit_always-defined_macros): Rewrite not to create and
69159         depend on a temporary file.  Instead, depend on GNU grep's ability
69160         to read a list of regular expressions from stdin when given "-f -".
69162 2010-05-09  Bruno Haible  <bruno@clisp.org>
69164         Update to GNU gettext 0.18, part 1.
69165         * m4/gettext.m4: Update to GNU gettext 0.18.
69166         * m4/intl.m4: Likewise.
69167         * m4/po.m4: Likewise.
69168         * modules/gettext (Files): Add m4/fcntl-o.m4.
69169         (configure.ac): Require gettext infrastructure from version 0.18.
69171 2010-05-09  Jim Meyering  <meyering@redhat.com>
69173         init.sh: enable MALLOC_PERTURB_
69174         * tests/init.sh: Enable glibc's malloc-perturbing option.
69176         maint.mk: improve sc_cross_check_PATH_usage_in_tests
69177         With my recent change in init.sh from the two-line form:
69178             -#   : ${srcdir=.}
69179             -#   . "$srcdir/init.sh"; path_prepend_ .
69180             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
69181         I noticed that using the one-line form would cause this test
69182         to fail with a false-positive, or to stop working altogether,
69183         depending on whether help-version changed or all the tests did.
69184         * top/maint.mk (_hv_regex): Remove this definition.
69185         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
69186         (_hv_regex_strong): Use a stronger regex to check for conformance.
69187         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
69188         Give a separate diagnostic for lack of conforming use.
69190         maint.mk: prohibit definition of symbols defined by gnulib
69191         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
69192         definition of symbols defined by gnulib.
69194 2010-05-09  Bruno Haible  <bruno@clisp.org>
69196         acl: Avoid test failure on Cygwin-hosted mingw.
69197         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
69199 2010-05-09  Bruno Haible  <bruno@clisp.org>
69201         error: Use system's fcntl function.
69202         * lib/error.c (fcntl): Undefine.
69204 2010-05-09  Jim Meyering  <meyering@redhat.com>
69206         verify: adjust formatting to be more consistent
69207         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
69208         argument-list '('s, and after one comma.
69210 2010-05-09  Bruno Haible  <bruno@clisp.org>
69212         error: More reliable output on mingw.
69213         * lib/error.c: Include <windows.h>.
69214         (is_open): New function.
69215         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
69216         defined.
69218 2010-05-09  Bruno Haible  <bruno@clisp.org>
69220         vasnprintf: Fix syntax errors in libintl build on mingw.
69221         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
69222         pad_ourselves and prec_ourselves after use.
69224 2010-05-08  Bruno Haible  <bruno@clisp.org>
69226         * lib/config.charset: Update comments for Cygwin 1.7.
69227         * lib/localcharset.c: Likewise.
69229 2010-05-07  Jim Meyering  <meyering@redhat.com>
69231         init.sh: improve comments
69232         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
69233         . "${srcdir=.}/init.sh"; path_prepend_ .
69234         Add a note about path_prepend_ and the alternative of using
69235         TESTS_ENVIRONMENT.
69237 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
69239         exclude: Unescape hashed patterns in wildcard mode.
69240         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
69241         to the hash list.
69242         * tests/test-exclude8.sh: New test case.
69243         * modules/exclude-tests: Add new test.
69245 2010-05-05  Eric Blake  <eblake@redhat.com>
69247         verify: automate tests
69248         * modules/verify-tests: New module.
69249         * tests/test-verify.sh: New file.
69250         * tests/test-verify.c: Guard each negative test with a unique id.
69251         Also avoid warning about unused left hand of comma expressions.
69253 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
69255         Further improvements to verify.h, suggested by Eric Blake.
69256         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
69257         the GL_* versions, to avoid collision with OpenGL.
69258         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
69259         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
69260         than testing merely whether it's defined.
69262         Modify verify.h to pacify gcc -Wredundant_decls.
69263         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
69264         These use the prefix "GL_" since they're likely to be useful elsewhere.
69265         We may need to break them out into a different .h file.
69266         (__COUNTER__): Define to 0 if the compiler doesn't support it.
69267         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
69268         of verify_function__.
69270 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
69272         Tests for module pwrite.
69273         * modules/pwrite-tests: New file.
69274         * tests/test-pwrite.sh: New file.
69275         * tests/test-pwrite.c: New file.
69277         New module pwrite.
69278         * lib/unistd.in.h (pwrite): New declaration.
69279         * lib/pwrite.c: New file, from glibc with modifications.
69280         * m4/pwrite.m4: New file.
69281         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
69282         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
69283         REPLACE_PWRITE.
69284         * modules/pwrite: New file.
69285         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
69286         REPLACE_PWRITE.
69287         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
69288         * doc/posix-functions/pwrite.texi: Mention the new module.
69290 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
69292         pread: Update documentation.
69293         * doc/posix-functions/pread.texi: Mention the 'pread' module.
69295 2010-05-04  Eric Blake  <eblake@redhat.com>
69297         docs: update cygwin progress
69298         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
69299         this bug.
69300         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
69301         Added in cygwin 1.7.2.
69302         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
69303         Likewise.
69304         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
69305         Likewise.
69306         * doc/glibc-functions/dup3.texi (dup3): Likewise.
69307         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
69308         * doc/glibc-functions/accept4.texi (accept4): Likewise.
69309         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
69310         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
69311         Mention nproc module.
69312         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
69313         bug in cygwin 1.7.5 addition.
69314         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
69315         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
69316         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
69317         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
69318         1.7.5.
69319         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
69320         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
69321         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
69322         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
69323         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
69324         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
69325         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
69326         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
69327         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
69328         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
69329         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
69330         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
69331         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
69332         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
69333         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
69334         Likewise.
69335         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
69336         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
69337         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
69338         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
69339         Likewise.
69340         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
69341         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
69342         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
69343         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
69344         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
69345         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
69346         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
69347         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
69348         Likewise.
69349         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
69350         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
69351         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
69352         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
69353         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
69354         Likewise.
69355         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
69356         Likewise.
69357         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
69358         Likewise.
69359         * doc/glibc-functions/xdrrec_endofrecord.texi
69360         (xdrrec_endofrecord): Likewise.
69361         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
69362         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
69363         Likewise.
69364         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
69365         Likewise.
69367 2010-05-04  Jim Meyering  <meyering@redhat.com>
69369         gendocs.sh: make its "-s FILE" option more useful
69370         * build-aux/gendocs.sh: When honoring the -s FILE option, update
69371         $PACKAGE to reflect the probably-different basename of "FILE".
69373 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
69375         bootstrap: don't ignore download_po_files failure
69376         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
69377         failure.
69379 2010-05-03  Jim Meyering  <meyering@redhat.com>
69381         maint.mk: allow to pass options to gendocs.sh
69382         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
69383         (gendocs_options_): New overridable variable.
69385         gnu-web-doc-update: don't ignore configure or build failure
69386         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
69388         announce-gen: backslash-escape '@'s in --help output
69389         * build-aux/announce-gen: Fix syntax errors.
69391         maint.mk, announce-gen: allow project-specific announcement mail headers
69392         * top/maint.mk (translation_project_): Define default.
69393         (announcement_Cc_, announcement_mail_headers_): Likewise.
69394         (announcement): Invoke announce-gen with new --mail-headers option.
69395         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
69397         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
69398         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
69399         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
69400         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
69401         line in the "err2" output file when running "make check" in verbose
69402         mode (i.e., with set -x enabled).
69404 2010-05-03  Bruno Haible  <bruno@clisp.org>
69406         wctob: Fix for weird platforms.
69407         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
69408         argument value.
69410 2010-05-03  Jim Meyering  <meyering@redhat.com>
69412         maint.mk: prohibit unwarranted use of <strings.h>
69413         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
69414         strings.h in a file that does not also use strcasecmp, strncasecmp,
69415         ffs or ffsll.
69417         maint.mk: remove obsolete comments
69418         * top/maint.mk: Remove stale, commented-out rules.
69420 2010-05-02  Bruno Haible  <bruno@clisp.org>
69422         wcwidth: Declare also when it's aliased.
69423         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
69424         macro.
69426 2010-05-02  Bruno Haible  <bruno@clisp.org>
69428         Fix regression from 2010-04-25.
69429         * gnulib-tool (func_modules_transitive_closure): Check the status of
69430         all modules, not only of the tests that are of the form foo-tests where
69431         foo is a module.
69433 2010-05-02  Bruno Haible  <bruno@clisp.org>
69435         wctob: Work around nasty Cygwin 1.7.2 bug.
69436         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
69437         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
69439 2010-05-01  Bruno Haible  <bruno@clisp.org>
69441         fpurge: Sharper test.
69442         * tests/test-fpurge.c (main): Add one more ftell check.
69443         * modules/fpurge-tests (Depends-on): Add ftell.
69444         Suggested by Eric Blake.
69446 2010-05-01  Bruno Haible  <bruno@clisp.org>
69448         ftello: Another test.
69449         * tests/test-ftello3.c: New file.
69450         * modules/ftello-tests (Files): Add it.
69451         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
69452         MOSTLYCLEANFILES.
69454         ftell: Another test.
69455         * tests/test-ftell3.c: New file.
69456         * modules/ftell-tests (Files): Add it.
69457         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
69458         MOSTLYCLEANFILES.
69460 2010-05-01  Bruno Haible  <bruno@clisp.org>
69462         ftell, ftello: Work around Solaris bug.
69463         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
69464         * lib/ftello.c: Include stdio-impl.h.
69465         (ftello): On Solaris, when _IOWRT is set, compute the result without
69466         looking at _IOREAD.
69467         * modules/ftello (Files): Add lib/stdio-impl.h.
69468         * doc/posix-functions/ftell.texi: Mention Solaris bug.
69469         * doc/posix-functions/ftello.texi: Likewise.
69470         Reported by Eric Blake.
69472 2010-05-01  Bruno Haible  <bruno@clisp.org>
69474         freading: Adapt to special meaning of _IOREAD flag on Solaris.
69475         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
69476         the _IOWRT flag is also set.
69478 2010-05-01  Bruno Haible  <bruno@clisp.org>
69480         Fix doc about a HP-UX stdio bug.
69481         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
69482         * doc/posix-functions/ftello.texi: Likewise.
69484 2010-05-01  Bruno Haible  <bruno@clisp.org>
69486         lseek test: Fix failure on Solaris.
69487         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
69488         output.
69490 2010-04-30  Jim Meyering  <meyering@redhat.com>
69492         bootstrap: don't ignore failure to generate po*/Makevars
69493         * build-aux/bootstrap (with_gettext): Don't ignore failure
69494         to create po/Makevars or runtime-po/Makevars.
69496 2010-04-29  Eric Blake  <eblake@redhat.com>
69498         headers: relax license to LGPLv2+
69499         * modules/fcntl-h (License): Relax license.
69500         * modules/getopt-posix (License): Likewise.
69501         * modules/locale (License): Likewise.
69502         * modules/math (License): Likewise.
69503         * modules/pty (License): Likewise.
69504         * modules/sched (License): Likewise.
69505         * modules/search (License): Likewise.
69506         * modules/spawn (License): Likewise.
69507         * modules/stdarg (License): Likewise.
69508         * modules/sysexits (License): Likewise.
69510 2010-04-29  Jim Meyering  <meyering@redhat.com>
69512         inttypes: relax license to LGPLv2+
69513         * modules/inttypes (License): Relax license.
69515 2010-04-29  Simon Josefsson  <simon@josefsson.org>
69517         * top/maint.mk (indent): Run twice to produce idempotent results.
69519 2010-04-28  Bruno Haible  <bruno@clisp.org>
69521         getdate: Generate getdate.c in the source directory.
69522         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
69523         MOSTLYCLEANFILES.
69524         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
69526 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
69528         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
69529         is not declared as a const *; avoid warnings in that case.
69531 2010-04-28  Eric Blake  <eblake@redhat.com>
69533         canonicalize-lgpl: avoid compiler warning
69534         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
69535         declaration' / 'extraneous semicolon' warning with some compilers.
69536         Reported by Andreas Gruenbacher.
69538 2010-04-28  Jim Meyering  <meyering@redhat.com>
69540         init.sh: ensure a more reliable exit status when exiting via trap
69541         * tests/init.sh (setup_): Don't rely on $? in signal handler.
69542         Inspired by patches from Dmitry V. Levin.
69543         Also trap on signal 3 (SIGQUIT).
69545 2010-04-27  Bruno Haible  <bruno@clisp.org>
69547         Update doc about utimes().
69548         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
69549         'utimens' module.
69550         Reported by Andreas Gruenbacher <agruen@suse.de>.
69552 2010-04-27  Eric Blake  <eblake@redhat.com>
69554         full-read, full-write: relax license
69555         * modules/full-read (License): Drop to LGPLv2+.
69556         * modules/full-write (License): Likewise.
69557         * modules/safe-read (License): Likewise.
69558         * modules/safe-write (License): Likewise.
69560         pthread: mention library for linking
69561         * modules/pthread (Link): Mention $(LIB_PTHREAD).
69563 2010-04-27  Jim Meyering  <meyering@redhat.com>
69565         maint.mk: fix a bug introduced in last change
69566         * top/maint.mk (gl_assured_headers_): Now that all names are on
69567         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
69568         is not anchored to end of word, it should be adequate.
69570         maint.mk: avoid side-effect in latest syntax-check
69571         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
69572         to run commands via $(shell...), and hence to incur cost only when
69573         the new rule is actually run.
69575         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
69576         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
69577         and use that to create a regexp used to detect all #if HAVE_..._H uses.
69578         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
69579         (gl_assured_headers_, az_, AZ_): Define.
69580         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
69582 2010-04-26  Jim Meyering  <jim@meyering.net>
69583             Bruno Haible  <bruno@clisp.org>
69585         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
69586         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
69587         Prompted by an exchange with Gilles Espinasse.
69589 2010-04-26  Jim Meyering  <meyering@redhat.com>
69591         git-version-gen: aesthetic tweak
69592         * build-aux/git-version-gen: Use "$nl" rather than a literal,
69593         so that the command remains on a single line.
69595 2010-04-26  Eric Blake  <eblake@redhat.com>
69597         git-version-gen: allow use on EBCDIC hosts
69598         * build-aux/git-version-gen (dirty): Use literal rather than tying
69599         ourselves to ascii.
69600         Reported by Steve Goetze.
69602 2010-04-25  Bruno Haible  <bruno@clisp.org>
69604         netdb: Add support for GNULIB_POSIXCHECK.
69605         * lib/netdb.in.h: Include warn-on-use.h.
69606         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
69607         functions are used when GNULIB_POSIXCHECK is defined and the
69608         getaddrinfo module is not in use.
69609         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
69610         freeaddrinfo, gai_strerror, getnameinfo are declared.
69611         * modules/netdb (Depends-on): Add warn-on-use.
69612         (Makefile.am): Include warn-on-use.h in netdb.h.
69614 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
69616         build: avoid "make check" failure without .git/ directory
69617         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
69618         there is no .git/ directory.
69620 2010-04-25  Bruno Haible  <bruno@clisp.org>
69622         ptsname: Fix misuse of ttyname_r.
69623         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
69624         of errno.
69626 2010-04-25  Bruno Haible  <bruno@clisp.org>
69628         ttyname_r: Make it work on Solaris 10.
69629         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
69630         if the system function has the POSIX declaration. Test whether the
69631         function fails if the buffer is less than 128 bytes large.
69632         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
69633         system's ttyname_r function. Provide a reasonably large buffer.
69634         * modules/ttyname_r (Depends-on): Add extensions.
69635         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
69637 2010-04-25  Bruno Haible  <bruno@clisp.org>
69639         Use the 'extensions' module for some more functions on Solaris.
69640         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
69641         module.
69642         * doc/posix-functions/ctime_r.texi: Likewise.
69643         * doc/posix-functions/getgrgid_r.texi: Likewise.
69644         * doc/posix-functions/getgrnam_r.texi: Likewise.
69645         * doc/posix-functions/getpwnam_r.texi: Likewise.
69646         * doc/posix-functions/getpwuid_r.texi: Likewise.
69647         * doc/posix-functions/readdir_r.texi: Likewise.
69648         * doc/posix-functions/sigwait.texi: Likewise.
69649         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
69650         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
69652 2010-04-25  Bruno Haible  <bruno@clisp.org>
69654         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
69655         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
69656         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
69657         * lib/ttyname_r.c: Include <limits.h>.
69658         (ttyname_r): Define using the system's ttyname_r function, if it exists
69659         and not on Solaris.
69660         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
69661         set.
69662         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
69663         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
69664         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
69665         Reported by Simon Josefsson.
69667 2010-04-25  Bruno Haible  <bruno@clisp.org>
69669         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
69670         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
69671         * doc/posix-functions/ctime_r.texi: Likewise.
69672         * doc/posix-functions/getgrgid_r.texi: Likewise.
69673         * doc/posix-functions/getgrnam_r.texi: Likewise.
69674         * doc/posix-functions/getlogin_r.texi: Likewise.
69675         * doc/posix-functions/getpwnam_r.texi: Likewise.
69676         * doc/posix-functions/getpwuid_r.texi: Likewise.
69677         * doc/posix-functions/readdir_r.texi: Likewise.
69678         * doc/posix-functions/sigwait.texi: Likewise.
69679         * doc/posix-functions/ttyname_r.texi: Likewise.
69680         Reported by Simon Josefsson.
69682 2010-04-25  Bruno Haible  <bruno@clisp.org>
69684         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
69685         * gnulib-tool (func_usage): Document that --with-*-tests options apply
69686         also to --create-testdir.
69687         (func_acceptable): Don't consider the status of *-tests modules here.
69688         (func_modules_transitive_closure): Consider it here, before including a
69689         test module.
69690         (func_import, func_create_testdir): Set inc_all_direct_tests,
69691         inc_all_indirect_tests.
69692         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
69693         --create-testdir and --create-megatestdir.
69695 2010-04-25  Bruno Haible  <bruno@clisp.org>
69697         gnulib-tool: Add --without-*-tests options.
69698         * gnulib-tool (func_usage): Document the --without-*-tests options.
69699         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
69700         excl_unportable_tests): New variables.
69701         Fail if they are specified with --import or --update.
69702         (func_acceptable): Respect the excl_*_tests variables.
69703         (func_import): Set the excl_*_tests variables to empty.
69705 2010-04-25  Simon Josefsson  <simon@josefsson.org>
69706             Bruno Haible  <bruno@clisp.org>
69708         Work around a MacOS X 10.4 bug with openpty.
69709         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
69710         * tests/test-openpty.c (main): Close the master side explicitly.
69712 2010-04-25  Bruno Haible  <bruno@clisp.org>
69714         strnlen: Fix a C++ test error on MacOS X and Solaris.
69715         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
69716         the function is not declared.
69717         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
69718         Simon Josefsson.
69720 2010-04-24  Bruno Haible  <bruno@clisp.org>
69722         Avoid a gcc warning.
69723         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
69724         of correct type for %08lx directive.
69725         Reported by Eric Blake.
69727 2010-04-24  Bruno Haible  <bruno@clisp.org>
69729         vasnprintf: Correct errno value in case of out-of-memory.
69730         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
69731         or sprintf. Use the errno value from SNPRINTF or sprintf.
69732         Reported by Ian Beckwith <ianb@erislabs.net>.
69734 2010-04-24  Bruno Haible  <bruno@clisp.org>
69736         ansi-c++-opt: Find correct compiler when cross-compiling.
69737         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
69738         AC_CHECK_PROGS.
69739         Reported by Simon Josefsson.
69741 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
69743         vc-list-files: Add support for subversion
69744         * build-aux/vc-list-files: Use "svn list" to generate the list of
69745         files controlled by subversion.
69747 2010-04-23  Jim Meyering  <meyering@redhat.com>
69749         vc-list-files tests: convert to use init.sh
69750         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
69751         path_prepend_.
69752         Use Exit, not exit.
69753         Use skip_ rather than open coding it.
69754         Remove trap set-up and compare definitions.
69755         * tests/test-vc-list-files-git.sh: Likewise.
69756         * modules/vc-list-files-tests (Files): Add tests/init.sh.
69758 2010-04-22  Simon Josefsson  <simon@josefsson.org>
69760         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
69761         backup files.
69763 2010-04-21  Simon Josefsson  <simon@josefsson.org>
69765         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
69767 2010-04-20  Eric Blake  <eblake@redhat.com>
69769         tests: be robust to ignored SIGPIPE
69770         * tests/test-select-in.sh: Consume all output.
69771         * tests/test-lseek.sh: Check correct exit status, while avoiding
69772         EPIPE.
69774 2010-04-20  Simon Josefsson  <simon@josefsson.org>
69775             Bruno Haible  <bruno@clisp.org>
69777         visibility: Don't use -fvisibility if it leads to a warning.
69778         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
69779         yes, don't pretend that visibility works if it leads to a warning.
69780         Reported by Mike Gran <spk121@yahoo.com>.
69782 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
69784         * build-aux/bootstrap: Use "git -h" for testing for supported options
69785         instead of "git --help".  The short-form option only shows a summary,
69786         and doesn't layout the full man page.  Grep for the full option name
69787         in the summary, too.
69789 2010-04-19  Bruno Haible  <bruno@clisp.org>
69791         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
69792         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
69793         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
69794         mention of RELOCATABLE_STRIP.
69795         Reported by Sylvain Beucler <beuc@beuc.net>.
69797 2010-04-19  Bruno Haible  <bruno@clisp.org>
69799         * lib/diffseq.h: Fix typo in comment.
69800         Reported by Eric Blake.
69802 2010-04-19  Bruno Haible  <bruno@clisp.org>
69804         ioctl: Move autoconf macro to a .m4 file.
69805         * m4/ioctl.m4: New file, extracted from modules/ioctl.
69806         * modules/ioctl (Files): Add it.
69807         (configure.ac): Simply invoke gl_FUNC_IOCTL.
69808         Reported by Ian Beckwith <ianb@erislabs.net>.
69810 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
69811             Bruno Haible  <bruno@clisp.org>
69813         diffseq: Accommodate use-case with abstract arrays.
69814         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
69815         is not defined.
69816         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
69817         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
69819 2010-04-18  Bruno Haible  <bruno@clisp.org>
69821         * doc/posix-headers/stdbool.texi: More precise wording.
69823 2010-04-17  Jim Meyering  <meyering@redhat.com>
69825         maint.mk: use gnu-style indentation in an embedded perl script
69826         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
69827         Rename variable: s/two/last_two_bytes/
69829 2010-04-16  Eric Blake  <eblake@redhat.com>
69831         test-stdbool: skip test that fails with Solaris CC
69832         * tests/test-stdbool.c (f): Skip test that causes compilation
69833         error under buggy C++ compiler.
69834         * lib/stdbool.in.h: Document the limitation.
69835         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
69837         setenv: allow compilation with C++
69838         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
69839         register keyword.
69841         stdint: allow test to pass with C++
69842         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
69844         getopt: allow compilation with C++
69845         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
69846         struct.
69847         * lib/getopt.c (_getopt_internal_r): Use correct type.
69848         Reported by Dagobert Michelson, via Joel E. Denny.
69850 2010-04-16  Bruno Haible  <bruno@clisp.org>
69852         Override netdb.h always.
69853         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
69854         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
69855         Reported by Ludovic Courtès <ludo@gnu.org>.
69857 2010-04-15  Bruno Haible  <bruno@clisp.org>
69859         openpty: Fix mistake from 2010-03-21.
69860         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
69861         Reported by Simon Josefsson.
69863 2010-04-15  Eric Blake  <eblake@redhat.com>
69865         test-forkpty: fix expected signature
69866         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
69867         Reported by Simon Josefsson.
69869 2010-04-15  Jim Meyering  <meyering@redhat.com>
69871         maint.mk: texinfo_suffix_re_: correct the default regexp
69872         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
69874         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
69875         make it configurable via texinfo_suffix_re_.
69877 2010-04-14  Eric Blake  <eblake@redhat.com>
69879         strtok_r: relax license to LGPLv2+
69880         * modules/strtok_r (License): Relax license.
69881         Reported by Matthias Bolte.
69883 2010-04-14  Simon Josefsson  <simon@josefsson.org>
69885         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
69886         version 1.4.4 by default instead of requiring the libgcrypt
69887         version used during build.  This makes it possible to use the
69888         application with older but still binary compatible libgcrypt
69889         versions.
69891 2010-04-13  Eric Blake  <eblake@redhat.com>
69893         getopt-gnu: match recent glibc fixes and posix ruling
69894         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
69895         '+' handling, when requesting extensions.
69896         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
69897         'W;' handling.
69898         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
69899         * doc/posix-functions/getopt.texi (getopt): Document this.
69900         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
69901         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
69902         Likewise.
69904         getopt: merge bug fixes from glibc
69905         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
69906         diagnostics.  Honor '+:' correctly.  Reject ';'.
69908         getopt-posix: detect MacOS bug
69909         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
69910         optind when missing a required argument.
69911         * doc/posix-functions/getopt.texi (getopt): Document the bug.
69912         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
69913         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
69914         Likewise.
69916         getopt-posix: avoid spurious failure on Solaris
69917         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
69918         an indicator that setting optind=1 is sufficient for reset.
69920         getopt-posix: avoid spurious failure on FreeBSD
69921         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
69922         in POSIX mode, since the m4 test uses it.
69924         gnulib-tool: silence warning on BSD sh
69925         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
69927 2010-04-13  Jim Meyering  <meyering@redhat.com>
69929         doc: users.txt: GNU patch now uses gnulib
69930         * users.txt: Add patch.
69932 2010-04-12  Jim Meyering  <meyering@redhat.com>
69934         maint.mk: generate more concise timing data for syntax-check rules
69935         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
69936         " done" from each line that reports a syntax-check test duration.
69938 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
69940         git-version-gen: use "git update-index..." rather than "git status"
69941         * build-aux/git-version-gen: Use git update-index --refresh, not
69942         "git status".  With some versions of git, "git status" would fail
69943         to update the index and result in an unwarranted "-dirty" suffix.
69945 2010-04-11  Jim Meyering  <meyering@redhat.com>
69947         openat: correct formatting (no semantic change)
69948         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
69949         Suggested by Bruno Haible.
69951 2010-04-11  Bruno Haible  <bruno@clisp.org>
69953         Stricter declaration checking in testdirs.
69954         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69955         If for_tests is true, augment AM_CPPFLAGS to define
69956         GNULIB_STRICT_CHECKING.
69957         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
69958         GNULIB_STRICT_CHECKING is defined, verify that the function is
69959         declared.
69961 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
69962             Bruno Haible  <bruno@clisp.org>
69964         libunistring: Improve configure output.
69965         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
69966         Don't say "consider installing GNU libunistring" when checking again
69967         with libiconv.
69969 2010-04-11  Bruno Haible  <bruno@clisp.org>
69971         libunistring: Correct value of $LTLIBUNISTRING.
69972         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
69973         correct the value of $LTLIBUNISTRING.
69975 2010-04-11  Bruno Haible  <bruno@clisp.org>
69977         havelib: Add static libraries to LIBS in the right order.
69978         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
69979         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
69981 2010-04-11  Bruno Haible  <bruno@clisp.org>
69983         libunistring: Detect libunistring also when it depends on libiconv.
69984         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
69985         the second AC_LIB_HAVE_LINKFLAGS invocation.
69987 2010-04-11  James Youngman  <jay@gnu.org>
69989         close-stream: declare local scalars to be "const"
69990         * lib/close-stream.c (close_stream): Make boolean variables const
69991         to document the fact that we set but do not change them.
69993 2010-04-11  Bruno Haible  <bruno@clisp.org>
69995         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
69997 2010-04-11  Jim Meyering  <meyering@redhat.com>
69999         maint.mk: don't include dist-check.mk
70000         * top/maint.mk: Remove bogus include directive.
70002         maint.mk: improve empty-line-at-EOF check
70003         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
70004         solution, rather than tail+Perl-based one.  The latter would read
70005         a few kilobytes from the end of each file, and did not handle empty
70006         files properly.
70008         maint.mk: print the elapsed time for each syntax-check rule
70009         * top/maint.mk (sc_m_rules_): Save start time in a file.
70010         (sc_z_rules_): New rules: remove temp file and print elapsed time.
70011         (local-check): Interpose the .z rules
70013 2010-04-11  Jim Meyering  <meyering@redhat.com>
70015         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
70016         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
70017         empty file with one that ends in an empty line.
70019 2010-04-10  Bruno Haible  <bruno@clisp.org>
70021         mkdir: Make it work on mingw64.
70022         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
70023         * lib/mkdir.c: Update comment.
70024         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
70026 2010-04-10  Bruno Haible  <bruno@clisp.org>
70028         Don't override improved macro from newer autoconf.
70029         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
70030         autoconf >= 2.62.
70031         Reported by Joel E. Denny <jdenny@clemson.edu>.
70033 2010-04-10  Jim Meyering  <meyering@redhat.com>
70035         maint.mk: new syntax-check rule: prohibit empty lines at end of file
70036         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
70038         maint.mk: correct a diagnostic
70039         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
70040         in diagnostic; now use $prohibit.
70042 2010-04-10  Bruno Haible  <address@hidden>
70044         fchownat: Fix a C++ test error on Solaris 8.
70045         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
70046         the function does not exist.
70048 2010-04-10  Bruno Haible  <bruno@clisp.org>
70050         vasnprintf: Add more tests.
70051         * tests/test-vasnprintf-posix.c: Include <errno.h>.
70052         (test_function): Test converting an invalid wide string.
70054         vasnprintf: Correct handling of unconvertible wide string arguments.
70055         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
70056         VASNPRINTF.
70057         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
70058         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
70059         smaller than the expected maximum need for the directive. Set errno to
70060         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
70061         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
70062         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
70063         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
70064         * modules/vasnprintf (Files): Add m4/printf.m4.
70065         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
70067 2010-04-10  Bruno Haible  <bruno@clisp.org>
70069         vasnprintf: Fix crash in %ls directive.
70070         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
70071         string is passed as argument to %ls, with no precision and no width.
70072         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
70074 2010-04-10  Bruno Haible  <bruno@clisp.org>
70076         vasnprintf: Fix multiple test failures on mingw.
70077         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
70078         _snprintf, or snwprintf, not _snwprintf.
70080 2010-04-10  Bruno Haible  <bruno@clisp.org>
70082         write: Fix a C++ test error on mingw.
70083         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
70085 2010-04-10  Bruno Haible  <bruno@clisp.org>
70087         vasnprintf test: Reduce code duplication.
70088         * tests/test-vasnprintf.c (test_function): New function, extracted from
70089         test_vasnprintf.
70090         (test_vasnprintf, test_asnprintf): Invoke it.
70092 2010-04-10  Bruno Haible  <bruno@clisp.org>
70094         strnlen: Fix warning in C++ mode on MacOS X.
70095         * lib/string.in.h (strnlen): Use the modern idiom.
70096         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
70097         defining strnlen as a macro already in <config.h>.
70098         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70099         REPLACE_STRNLEN.
70100         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
70101         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
70103 2010-04-08  James Youngman  <jay@gnu.org>
70105         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
70106         the example.
70108 2010-04-09  Jim Meyering  <meyering@redhat.com>
70110         maint.mk: print better diagnostic when there is no $(_hv_file)
70111         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
70112         announce that when $(_hv_file) (aka help-version) does not exist.
70114         init.sh: run tr in the "C" locale to avoid multibyte interpretation
70115         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
70116         not try to interpret its random input bytes.  Jarno Rajahalme reported
70117         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
70118         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
70119         (mktempd_): Likewise, just in case.
70121         ftruncate: add two years to projected module removal date: 2012
70122         * m4/ftruncate.m4: Adjust comments.
70124         ftruncate: mark module as obsolete; even MinGW provides it, now
70125         * modules/ftruncate (Status): Obsolete.
70126         (Notice): Say that.
70127         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
70128         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
70130 2010-04-08  Bruno Haible  <bruno@clisp.org>
70132         Fix side effects from tests-related modules.
70133         * modules/dprintf-posix (Comment): New section.
70134         * modules/fprintf-posix (Comment): Likewise.
70135         * modules/obstack-printf-posix (Comment): Likewise.
70136         * modules/printf-posix (Comment): Likewise.
70137         * modules/snprintf-posix (Comment): Likewise.
70138         * modules/sprintf-posix (Comment): Likewise.
70139         * modules/vasnprintf-posix (Comment): Likewise.
70140         * modules/vasprintf-posix (Comment): Likewise.
70141         * modules/vdprintf-posix (Comment): Likewise.
70142         * modules/vfprintf-posix (Comment): Likewise.
70143         * modules/vprintf-posix (Comment): Likewise.
70144         * modules/vsnprintf-posix (Comment): Likewise.
70145         * modules/vsprintf-posix (Comment): Likewise.
70146         * modules/xprintf-posix (Comment): Likewise.
70147         * modules/xvasprintf-posix (Comment): Likewise.
70148         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
70149         * modules/floorf-tests (Depends-on): Likewise.
70150         * modules/round-tests (Depends-on): Likewise.
70151         * modules/roundf-tests (Depends-on): Likewise.
70152         * modules/trunc-tests (Depends-on): Likewise.
70153         * modules/truncf-tests (Depends-on): Likewise.
70154         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
70155         'fprintf-posix' module is not present.
70156         * tests/test-floorf2.c (check): Likewise.
70157         * tests/test-trunc2.c (check): Likewise.
70158         * tests/test-truncf2.c (check): Likewise.
70159         * tests/test-round2.c (equal): Likewise.
70160         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
70162 2010-04-07  Karl Berry  <karl@gnu.org>
70164         * config/srclist.txt,
70165         * config/srclistvars.sh,
70166         * config/srclist-update: doc fixes.
70168 2010-04-07  Jim Meyering  <meyering@redhat.com>
70170         maint.mk: add a PATH crosschecking syntax-check rule
70171         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
70172         Useful if you use a test like the one in help-version (coreutils,
70173         diffutils, grep, gzip) that ensures $(VERSION) matches what is
70174         printed by prog --version.
70176 2010-04-06  Bruno Haible  <bruno@clisp.org>
70178         Fix link error on mingw.
70179         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
70180         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
70182 2010-04-06  Bruno Haible  <bruno@clisp.org>
70184         Assume rmdir exists.
70185         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
70187 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
70189         doc: update users.txt
70190         * users.txt: Add gcal.
70192 2010-04-06  Jim Meyering  <meyering@redhat.com>
70194         init.sh: simply unset TMPDIR rather than risking env -i
70195         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
70196         although it probably works fine on all Unix-based systems, some
70197         systems (Cygwin?) cannot tolerate a totally cleared environment.
70198         Suggestion from Eric Blake.
70200 2010-04-06  Jim Meyering  <meyering@redhat.com>
70202         init.sh: portability fix: use env's POSIX-specified -i option not -u
70203         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
70204         than unportable env -u.  Solaris 5.11's env lacks support for -u.
70206 2010-04-05  Bruno Haible  <bruno@clisp.org>
70208         btowc: Work around Cygwin 1.7.2 bug.
70209         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
70210         does not map NUL to 0.
70211         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
70213 2010-04-05  Bruno Haible  <bruno@clisp.org>
70215         Make the multithread modules work on Cygwin 1.7.2.
70216         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
70217         imported symbols can be declared weak, so that it returns "no" on
70218         Cygwin 1.7.2.
70220 2010-04-05  Bruno Haible  <bruno@clisp.org>
70222         Use the module 'strncat'.
70223         * modules/unistr/u8-strncat (Depends-on): Add strncat.
70225         Tests for module 'strncat'.
70226         * modules/strncat-tests: New file.
70227         * tests/test-strncat.c: New file.
70229         New module 'strncat'.
70230         * lib/string.in.h (strncat): New declaration.
70231         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
70232         * m4/strncat.m4: New file, based on m4/memchr.m4.
70233         * modules/strncat: New file.
70234         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
70235         is declared.
70236         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
70237         REPLACE_STRNCAT.
70238         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
70239         REPLACE_STRNCAT.
70240         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
70241         module.
70242         * tests/test-string-c++.cc: Check signature of strncat.
70244 2010-04-05  Jim Meyering  <meyering@redhat.com>
70246         xstrtoumax-tests: convert to use init.sh
70247         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
70248         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
70249         Use Exit, not exit.
70250         Remove uses of $EXEEXT and "./" to run a program in the current dir.
70252         xstrtoimax-tests: convert to use init.sh
70253         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
70254         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
70255         Use Exit, not exit.
70256         Remove uses of $EXEEXT and "./" to run a program in the current dir.
70258 2010-04-05  Bruno Haible  <bruno@clisp.org>
70260         sys_socket: Avoid #define replacements in C++ mode.
70261         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
70262         warning to the function if possible, rather than #defining the symbol
70263         to a dysfunctional alias.
70265 2010-04-05  Bruno Haible  <bruno@clisp.org>
70267         fseeko: Fix C++ test error on mingw.
70268         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
70269         gl_FUNC_FSEEKO.
70270         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
70271         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
70272         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
70273         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
70275 2010-04-05  Bruno Haible  <bruno@clisp.org>
70277         duplocale: Improve test output.
70278         * tests/test-duplocale.c (main): Print reason for skipped test.
70280 2010-04-05  Bruno Haible  <bruno@clisp.org>
70282         Assume rmdir exists.
70283         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
70284         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
70286 2010-04-05  Bruno Haible  <bruno@clisp.org>
70288         Fix link error on Solaris 8 with cc.
70289         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
70291 2010-04-05  Bruno Haible  <bruno@clisp.org>
70293         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
70294         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
70296 2010-04-05  Bruno Haible  <bruno@clisp.org>
70298         vasprintf: Update documentation.
70299         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
70301 2010-04-05  Bruno Haible  <bruno@clisp.org>
70303         ptsname: Improve test.
70304         * tests/test-ptsname.c (main): Also try the various master names of BSD
70305         systems.
70307 2010-04-05  Bruno Haible  <bruno@clisp.org>
70309         memchr: Avoid a possible C++ test error.
70310         * lib/string.in.h (memchr): Provide declaration if function is missing.
70311         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
70312         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
70313         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
70314         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
70316 2010-04-05  Bruno Haible  <bruno@clisp.org>
70318         strtok_r: Improve idiom.
70319         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
70320         AC_LIBOBJ is used.
70322 2010-04-05  Bruno Haible  <bruno@clisp.org>
70324         strdup: Improve idiom.
70325         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
70326         AC_LIBOBJ is used.
70327         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
70328         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
70329         when AC_LIBOBJ is used.
70331 2010-04-05  Bruno Haible  <bruno@clisp.org>
70333         mbsinit, mbrtowc, wcrtomb: Improve idioms.
70334         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
70335         don't set REPLACE_MBSINIT to 1.
70336         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
70337         don't set REPLACE_MBRTOWC to 1.
70338         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
70339         exist, don't set REPLACE_MBSRTOWCS to 1.
70340         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
70341         exist, don't set REPLACE_MBSNRTOWCS to 1.
70342         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
70343         don't set REPLACE_WCRTOMB to 1.
70344         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
70345         exist, don't set REPLACE_WCSRTOMBS to 1.
70346         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
70347         exist, don't set REPLACE_WCSNRTOMBS to 1.
70349 2010-04-05  Bruno Haible  <bruno@clisp.org>
70351         ldexpl: Improve idiom.
70352         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
70353         make sure to set HAVE_DECL_LDEXPL to 0.
70355 2010-04-05  Jim Meyering  <meyering@redhat.com>
70357         xstrtol-tests: convert to use init.sh
70358         * modules/xstrtol-tests (Files): Add tests/init.sh.
70359         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
70360         Use Exit, not exit.
70361         Remove uses of $EXEEXT and "./" to run a program in the current dir.
70363         atexit-tests: convert to use init.sh
70364         * modules/atexit-tests (Files): Add tests/init.sh.
70365         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
70366         Use Exit, not exit.
70367         Remove uses of $EXEEXT and "./" to run a program in the current dir.
70369         init.sh: fix typo
70370         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
70372         init.sh: make it easier for a test script to write to the tty, ...
70373         when using automake's parallel-tests mode.
70374         * tests/init.sh (stderr_fileno_): Define overridable variable.
70375         (warn_): New function, to use it.
70376         (fail_, skip_, framework_failure_): Use warn_.
70378 2010-04-04  Bruno Haible  <bruno@clisp.org>
70380         btowc: Avoid warning.
70381         * lib/btowc.c: Include <stdlib.h>.
70382         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
70384 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
70385             Bruno Haible  <bruno@clisp.org>
70387         wchar: Port to NetBSD 1.5.
70388         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
70389         * lib/wctype.in.h (WEOF): Likewise.
70391 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
70392             Bruno Haible  <bruno@clisp.org>
70394         Port extended stdio to NetBSD 1.5.
70395         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
70396         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
70397         older.
70399 2010-04-04  Bruno Haible  <bruno@clisp.org>
70401         string: Remove unused substitution.
70402         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
70403         HAVE_DECL_STRERROR.
70404         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
70406 2010-04-04  Bruno Haible  <bruno@clisp.org>
70408         strtod: Avoid a possible C++ test error.
70409         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
70410         set REPLACE_STRTOD.
70412 2010-04-04  Bruno Haible  <bruno@clisp.org>
70414         strerror: Update documentation.
70415         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
70417 2010-04-04  Bruno Haible  <bruno@clisp.org>
70419         stdio: Fix some C++ test errors on Solaris 8 with GCC.
70420         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
70421         _GL_CXXALIAS_SYS_CAST.
70423 2010-04-04  Bruno Haible  <bruno@clisp.org>
70425         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
70426         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
70427         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
70428         REPLACE_FREXPL to 1.
70429         * doc/posix-functions/frexpl.texi: Update documentation.
70431 2010-04-04  Bruno Haible  <bruno@clisp.org>
70433         math: Fix some C++ test errors on Solaris 8 and Cygwin.
70434         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
70436 2010-04-04  Bruno Haible  <bruno@clisp.org>
70438         Implement nanosleep for native Windows.
70439         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
70441 2010-04-04  Bruno Haible  <bruno@clisp.org>
70443         math: Fix some C++ test errors on Solaris 8.
70444         * lib/math.in.h (truncf, trunc): Use simpler idiom.
70446 2010-04-04  Bruno Haible  <bruno@clisp.org>
70448         math: Fix some C++ test errors on Cygwin.
70449         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
70450         truncl): Provide declaration if the system does not have it.
70451         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
70452         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
70453         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
70454         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
70455         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
70456         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
70457         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
70458         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
70459         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
70460         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
70461         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
70462         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
70463         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
70464         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
70465         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
70466         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
70467         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
70468         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
70469         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
70470         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
70471         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
70472         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
70474 2010-04-04  Bruno Haible  <bruno@clisp.org>
70476         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
70477         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
70478         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
70479         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
70480         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
70481         * m4/isinf.m4 (gl_ISINF): Likewise.
70482         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
70484 2010-04-04  Bruno Haible  <bruno@clisp.org>
70486         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
70487         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
70489 2010-04-04  Bruno Haible  <bruno@clisp.org>
70491         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
70492         * modules/tmpfile (configure.ac): Update.
70494         tmpfile: Fix C++ test error on mingw.
70495         * lib/stdio.in.h (tmpfile): New declaration.
70496         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
70497         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
70498         * modules/tmpfile (Depends-on): Add stdio.
70499         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
70500         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
70501         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
70502         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
70503         REPLACE_TMPFILE.
70504         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
70506 2010-04-04  Bruno Haible  <bruno@clisp.org>
70508         ioctl: Fix C++ test error on mingw.
70509         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
70510         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
70511         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
70513 2010-04-03  Bruno Haible  <bruno@clisp.org>
70515         wcwidth: Fix C++ test error on mingw.
70516         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
70517         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
70518         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
70520 2010-04-03  Bruno Haible  <bruno@clisp.org>
70522         nanosleep: Fix C++ test error on mingw.
70523         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
70524         * lib/time.in.h (nanosleep): Use modern idiom.
70525         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
70526         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
70527         REPLACE_NANOSLEEP to 1.
70528         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
70529         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
70531 2010-04-03  Bruno Haible  <bruno@clisp.org>
70533         strptime: Fix C++ test error on mingw.
70534         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
70535         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
70536         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
70537         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
70538         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
70539         not REPLACE_STRPTIME.
70540         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
70541         REPLACE_STRPTIME.
70543 2010-04-03  Bruno Haible  <bruno@clisp.org>
70545         timegm: Fix C++ test error on mingw.
70546         * lib/time.in.h (timegm): Use modern idiom.
70547         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
70548         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
70549         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
70550         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
70552 2010-04-03  Bruno Haible  <bruno@clisp.org>
70554         timegm: Assume declaration if function exists.
70555         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
70556         if it exists. Don't clobber ac_cv_func_timegm.
70558 2010-04-03  Bruno Haible  <bruno@clisp.org>
70560         time_r: Fix C++ test error on mingw.
70561         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
70562         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
70563         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
70564         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
70565         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
70567 2010-04-03  Bruno Haible  <bruno@clisp.org>
70569         time_r: Minor updates.
70570         * modules/time_r (Description): Mention the provided functions.
70571         * lib/time_r.c: Don't include <string.h>.
70572         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
70573         * doc/posix-functions/localtime_r.texi: Likewise.
70575 2010-04-03  Bruno Haible  <bruno@clisp.org>
70577         time: Fix regression introduced on 2010-03-08.
70578         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
70579         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
70581 2010-04-03  Jim Meyering  <meyering@redhat.com>
70583         maint.mk: don't silently disable project-specific syntax-check rules
70584         * top/maint.mk (_prohibit_regexp): Define, to help people realize
70585         that they need to convert their project-specific syntax-check rules
70586         to use the new _sc_search_regexp.
70588 2010-04-03  Bruno Haible  <bruno@clisp.org>
70590         fchdir: Fix regression introduced on 2010-03-08.
70591         * lib/unistd.in.h (fchdir): Fix declaration.
70592         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
70593         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
70594         REPLACE_FCHDIR.
70595         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
70596         REPLACE_FCHDIR.
70598 2010-04-03  Bruno Haible  <bruno@clisp.org>
70600         getpagesize: Fix C++ test error on mingw.
70601         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
70602         system does not declare the function.
70603         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
70604         declared.
70605         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
70606         HAVE_DECL_GETPAGESIZE.
70607         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
70609 2010-04-03  Bruno Haible  <bruno@clisp.org>
70611         stdio: Make C++ tests work on mingw.
70612         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
70613         does not declare the function.
70615 2010-04-03  Bruno Haible  <bruno@clisp.org>
70617         ftello: Fix C++ test error on mingw.
70618         * lib/stdio.in.h (ftello): Use modern idiom.
70619         * lib/ftello.c (ftello): Renamed from rpl_ftello.
70620         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
70621         is missing and that it needs to be replaced.
70622         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
70623         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
70624         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
70626 2010-04-03  Bruno Haible  <bruno@clisp.org>
70628         fseeko: Fix C++ test error on mingw.
70629         * lib/stdio.in.h (fseeko): Use modern idiom.
70630         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
70631         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
70632         is missing and that it needs to be replaced.
70633         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
70634         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
70635         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
70637 2010-04-03  Bruno Haible  <bruno@clisp.org>
70639         mkstemp: Fix C++ test error on mingw.
70640         * lib/stdlib.in.h (mkstemp): Use modern idiom.
70641         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
70642         function is missing and that it needs to be replaced.
70643         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
70644         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
70646 2010-04-03  Bruno Haible  <bruno@clisp.org>
70648         stpncpy: Fix C++ test error on mingw.
70649         * lib/string.in.h (stpncpy): Use modern idiom.
70650         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
70651         function is missing and that it needs to be replaced.
70652         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70653         REPLACE_STPNCPY.
70654         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
70656 2010-04-03  Bruno Haible  <bruno@clisp.org>
70658         sys_stat: Fix C++ test error on mingw.
70659         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
70660         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
70662 2010-04-03  Bruno Haible  <bruno@clisp.org>
70664         pty: Update doc.
70665         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
70667 2010-04-03  Bruno Haible  <bruno@clisp.org>
70669         unistd: Fix C++ test error on mingw.
70670         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
70672 2010-04-03  Bruno Haible  <bruno@clisp.org>
70674         Update doc regarding mingw.
70675         * doc/glibc-functions/openpty.texi: Update regarding mingw.
70676         * doc/glibc-functions/login_tty.texi: Likewise.
70677         * doc/glibc-functions/forkpty.texi: Likewise.
70679 2010-04-03  Bruno Haible  <bruno@clisp.org>
70681         stdlib: Avoid compilation failure of c-strtold on mingw.
70682         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
70684 2010-04-03  Bruno Haible  <bruno@clisp.org>
70686         locale: Make C++ tests work on Cygwin and mingw.
70687         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
70688         cannot provide the function.
70689         Reported by Simon Josefsson.
70691 2010-04-03  Bruno Haible  <bruno@clisp.org>
70693         localename: Port to MacOS X 10.6.
70694         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
70695         memory layout of the locales in MacOS X 10.6 as well.
70696         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
70698 2010-04-02  Bruno Haible  <bruno@clisp.org>
70700         gnulib-tool: Ensure that long-running tests are executed last.
70701         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
70702         running tests after the one for the other tests.
70704 2010-04-02  Bruno Haible  <bruno@clisp.org>
70706         gnulib-tool: Ensure the tests in the main directory are executed first.
70707         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
70708         start with the current directory.
70710 2010-04-02  Bruno Haible  <bruno@clisp.org>
70712         Tests for module 'havelib', moved here from GNU gettext.
70713         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
70714         modifications.
70715         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
70716         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
70717         with modifications.
70718         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
70719         modifications.
70720         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
70721         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
70722         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
70723         with modifications.
70724         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
70725         with modifications.
70726         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
70727         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
70728         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
70729         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
70730         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
70731         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
70732         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
70733         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
70734         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
70735         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
70736         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
70737         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
70738         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
70739         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
70740         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
70741         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
70742         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
70743         with modifications.
70744         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
70745         with modifications.
70746         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
70747         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
70748         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
70749         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
70750         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
70751         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
70752         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
70753         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
70754         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
70755         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
70756         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
70757         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
70758         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
70759         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
70760         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
70761         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
70762         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
70763         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
70764         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
70765         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
70766         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
70767         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
70768         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
70769         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
70770         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
70771         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
70772         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
70773         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
70774         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
70775         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
70776         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
70777         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
70778         * tests/havelib/rpathx/rpathx.c: New file, from
70779         gettext/autoconf-lib-link.
70780         * tests/havelib/rpathx/Makefile.am: New file, from
70781         gettext/autoconf-lib-link.
70782         * tests/havelib/rpathx/configure.ac: New file, from
70783         gettext/autoconf-lib-link with modifications.
70784         * tests/havelib/rpathy/rpathy.c: New file, from
70785         gettext/autoconf-lib-link.
70786         * tests/havelib/rpathy/Makefile.am: New file, from
70787         gettext/autoconf-lib-link.
70788         * tests/havelib/rpathy/configure.ac: New file, from
70789         gettext/autoconf-lib-link with modifications.
70790         * tests/havelib/rpathz/rpathz.c: New file, from
70791         gettext/autoconf-lib-link.
70792         * tests/havelib/rpathz/Makefile.am: New file, from
70793         gettext/autoconf-lib-link.
70794         * tests/havelib/rpathz/configure.ac: New file, from
70795         gettext/autoconf-lib-link with modifications.
70796         * tests/havelib/rpathlx/usex.c: New file, from
70797         gettext/autoconf-lib-link.
70798         * tests/havelib/rpathlx/Makefile.am: New file, from
70799         gettext/autoconf-lib-link.
70800         * tests/havelib/rpathlx/configure.ac: New file, from
70801         gettext/autoconf-lib-link with modifications.
70802         * tests/havelib/rpathly/usey.c: New file, from
70803         gettext/autoconf-lib-link.
70804         * tests/havelib/rpathly/Makefile.am: New file, from
70805         gettext/autoconf-lib-link.
70806         * tests/havelib/rpathly/configure.ac: New file, from
70807         gettext/autoconf-lib-link with modifications.
70808         * tests/havelib/rpathlz/usez.c: New file, from
70809         gettext/autoconf-lib-link.
70810         * tests/havelib/rpathlz/Makefile.am: New file, from
70811         gettext/autoconf-lib-link.
70812         * tests/havelib/rpathlz/configure.ac: New file, from
70813         gettext/autoconf-lib-link with modifications.
70814         * tests/havelib/rpathlyx/usey.c: New file, from
70815         gettext/autoconf-lib-link.
70816         * tests/havelib/rpathlyx/Makefile.am: New file, from
70817         gettext/autoconf-lib-link.
70818         * tests/havelib/rpathlyx/configure.ac: New file, from
70819         gettext/autoconf-lib-link with modifications.
70820         * tests/havelib/rpathlzyx/usez.c: New file, from
70821         gettext/autoconf-lib-link.
70822         * tests/havelib/rpathlzyx/Makefile.am: New file, from
70823         gettext/autoconf-lib-link.
70824         * tests/havelib/rpathlzyx/configure.ac: New file, from
70825         gettext/autoconf-lib-link with modifications.
70826         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
70827         with modifications.
70829 2010-04-02  Bruno Haible  <bruno@clisp.org>
70831         gnulib-tool: Create distributed built sources also for the tests.
70832         * gnulib-tool (func_create_testdir): Also generate distributed built
70833         sources in the tests directory.
70835 2010-04-02  Bruno Haible  <bruno@clisp.org>
70837         gnulib-tool: Obey user's environment variables.
70838         * gnulib-tool (func_create_testdir): When creating built sources,
70839         respect the environment variables for autoconf, automake, etc. given by
70840         the user.
70842 2010-04-02  Bruno Haible  <bruno@clisp.org>
70844         gnulib-tool: Provide the value of --m4-base to modules.
70845         * gnulib-tool (func_import, func_create_testdir): Emit a definition
70846         of gl_m4_base.
70848 2010-04-02  Eric Blake  <eblake@redhat.com>
70850         maint.mk: fix some fallout
70851         * NEWS: Document the incompatible change, and its effect on cfg.mk.
70852         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
70854 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
70856         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
70857         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
70858         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
70859         (sc_cast_of_x_alloc_return_value): Likewise.
70860         (sc_cast_of_alloca_return_value): Likewise.
70861         (sc_space_tab): Likewise.
70862         (sc_prohibit_atoi_atof): Likewise.
70863         (sc_prohibit_magic_number_exit): Likewise.
70864         (sc_error_exit_success): Likewise.
70865         (sc_file_system): Likewise.
70866         (sc_prohibit_have_config_h): Likewise.
70867         (sc_require_config_h): Likewise.
70868         (sc_prohibit_HAVE_MBRTOWC): Likewise.
70869         (sc_obsolete_symbols): Likewise.
70870         (sc_changelog): Likewise.
70871         (sc_program_name): Likewise.
70872         (sc_the_the): Likewise.
70873         (sc_trailing_blank): Likewise.
70874         (sc_two_space_separator_in_usage): Likewise.
70875         (sc_useless_cpp_parens): Likewise.
70876         (sc_GPL_version): Likewise.
70877         (sc_GFDL_version): Likewise.
70878         (sc_texinfo_acronym): Likewise.
70879         (sc_prohibit_cvs_keyword): Likewise.
70880         (sc_prohibit_stat_st_blocks): Likewise.
70881         (sc_prohibit_S_IS_definition): Likewise.
70882         (sc_redundant_const): Likewise.
70883         (sc_makefile_TAB_only_indentation): Likewise.
70884         (sc_m4_quote_check): Likewise.
70885         (sc_makefile_path_separator_check): Likewise.
70886         (sc_copyright_check): Likewise.
70887         (sc_Wundef_boolean): Likewise.
70888         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
70890         maint.mk: match 0 or more whitespace-before-function-call '('
70891         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
70892         that have zero or two-and-more spaces between the function name
70893         and the open parenthesis.
70894         (sc_error_message_warn_fatal): Likewise.
70895         (sc_error_message_uppercase): Likewise.
70896         (sc_error_message_period): Likewise.
70898 2010-03-31  Eric Blake  <eblake@redhat.com>
70900         maint.mk: check for [ as well as test
70901         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
70902         Based on a libvirt report by Matthias Bolte.
70904         gnumakefile: don't squelch _version output
70905         * top/GNUmakefile (_version): Create one-shot dependency rather
70906         than using $(shell) when version must be regenerated.
70907         (_autoreconf): Run verbosely, by default.
70909         sys_time: avoid compiler warnings
70910         * lib/sys_time.in.h (includes): Ensure gcc pragma is
70911         unconditional, fixing regression from 2010-03-29.
70912         Reported by Simon Josefsson.
70914 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
70916         maint.mk: s/_header_without_use/_sc_header_without_use/
70917         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
70918         (sc_prohibit_assert_without_use): Use the new name.
70919         (sc_prohibit_close_stream_without_use): Likewise.
70920         (sc_prohibit_getopt_without_use): Likewise.
70921         (sc_prohibit_quotearg_without_use): Likewise.
70922         (sc_prohibit_quote_without_use): Likewise.
70923         (sc_prohibit_long_options_without_use): Likewise.
70924         (sc_prohibit_inttostr_without_use): Likewise.
70925         (sc_prohibit_ignore_value_without_use): Likewise.
70926         (sc_prohibit_error_without_use): Likewise.
70927         (sc_prohibit_xalloc_without_use): Likewise.
70928         (sc_prohibit_hash_without_use): Likewise.
70929         (sc_prohibit_hash_pjw_without_use): Likewise.
70930         (sc_prohibit_safe_read_without_use): Likewise.
70931         (sc_prohibit_argmatch_without_use): Likewise.
70932         (sc_prohibit_canonicalize_without_use): Likewise.
70933         (sc_prohibit_root_dev_ino_without_use): Likewise.
70934         (sc_prohibit_openat_without_use): Likewise.
70935         (sc_prohibit_c_ctype_without_use): Likewise.
70936         (sc_prohibit_signal_without_use): Likewise.
70937         (sc_prohibit_intprops_without_use): Likewise.
70939 2010-03-30  Eric Blake  <eblake@redhat.com>
70941         maint: improve module indicators
70942         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
70943         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
70944         columns, and avoid extra macro expansion.
70946         fdopendir: work around FreeBSD bug
70947         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
70948         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
70949         * modules/dirent (Makefile.am): Substitute it.
70950         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
70951         declaration.
70952         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
70953         fix.
70954         Reported by Christian Weisgerber <naddy@mips.inka.de>.
70956 2010-03-29  Bruno Haible  <bruno@clisp.org>
70958         Emit #pragma system_header after the inclusion guard, not before.
70959         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
70960         guard that spans the entire file, not before. This enables an
70961         optimization in GCC's preprocessor.
70962         * lib/ctype.in.h: Likewise.
70963         * lib/dirent.in.h: Likewise.
70964         * lib/errno.in.h: Likewise.
70965         * lib/float.in.h: Likewise.
70966         * lib/getopt.in.h: Likewise.
70967         * lib/iconv.in.h: Likewise.
70968         * lib/langinfo.in.h: Likewise.
70969         * lib/locale.in.h: Likewise.
70970         * lib/math.in.h: Likewise.
70971         * lib/netdb.in.h: Likewise.
70972         * lib/netinet_in.in.h: Likewise.
70973         * lib/pty.in.h: Likewise.
70974         * lib/sched.in.h: Likewise.
70975         * lib/se-selinux.in.h: Likewise.
70976         * lib/search.in.h: Likewise.
70977         * lib/spawn.in.h: Likewise.
70978         * lib/stdarg.in.h: Likewise.
70979         * lib/stdint.in.h: Likewise.
70980         * lib/string.in.h: Likewise.
70981         * lib/strings.in.h: Likewise.
70982         * lib/sys_file.in.h: Likewise.
70983         * lib/sys_ioctl.in.h: Likewise.
70984         * lib/sys_time.in.h: Likewise.
70985         * lib/sys_times.in.h: Likewise.
70986         * lib/sys_utsname.in.h: Likewise.
70987         * lib/sys_wait.in.h: Likewise.
70988         * lib/sysexits.in.h: Likewise.
70989         * lib/wctype.in.h: Likewise.
70991 2010-03-28  James Youngman  <jay@gnu.org>
70993         save-cwd: don't leak a file descriptor when the caller execs.
70994         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
70995         saved file descriptor.
70996         * modules/save-cwd (Depends-on): Depend on cloexec.
70998 2010-03-29  Bruno Haible  <bruno@clisp.org>
71000         Remove vestiges of fts-lgpl module.
71001         * lib/fts_.h: Assume GNULIB_FTS is 1.
71002         * lib/fts.c: Likewise.
71003         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
71005 2010-03-28  Bruno Haible  <bruno@clisp.org>
71007         Fix definition of tests witness macro.
71008         * gnulib-tool (func_import): Fix definition of witness macro.
71010 2010-03-28  Bruno Haible  <bruno@clisp.org>
71012         Fix ioctl's protoype on glibc systems.
71013         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
71014         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
71015         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
71016         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
71017         signature. If not, arrange to replace the ioctl function.
71018         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
71019         REPLACE_IOCTL.
71020         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
71021         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
71022         Reported by Ludovic Courtès <ludo@gnu.org>.
71024 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
71026         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
71027         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
71028         made it so grep -r --include=GLOB* ... did not work.
71030 2010-03-26  Jim Meyering  <meyering@redhat.com>
71031             Eric Blake  <eblake@redhat.com>
71033         maint.mk: prohibit use of test's -o and -a operators
71034         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
71036 2010-03-28  Bruno Haible  <bruno@clisp.org>
71038         Remove unused GNULIB_XYZ macro definitions.
71039         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
71040         invocation.
71042 2010-03-28  Bruno Haible  <bruno@clisp.org>
71044         Mark privileged tests modules.
71045         * modules/idpriv-drop-tests (Status): New section.
71046         * modules/idpriv-droptemp-tests (Status): New section.
71048 2010-03-28  Bruno Haible  <bruno@clisp.org>
71050         Split C++ tests into separate tests modules.
71051         * modules/dirent-c++-tests: New file, extracted from
71052         modules/dirent-tests.
71053         * modules/dirent-tests: Depend on it.
71054         * modules/fcntl-h-c++-tests: New file, extracted from
71055         modules/fcntl-h-tests.
71056         * modules/fcntl-h-tests: Depend on it.
71057         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
71058         * modules/glob-tests: Depend on it.
71059         * modules/iconv-h-c++-tests: New file, extracted from
71060         modules/iconv-h-tests.
71061         * modules/iconv-h-tests: Depend on it.
71062         * modules/langinfo-c++-tests: New file, extracted from
71063         modules/langinfo-tests.
71064         * modules/langinfo-tests: Depend on it.
71065         * modules/locale-c++-tests: New file, extracted from
71066         modules/locale-tests.
71067         * modules/locale-tests: Depend on it.
71068         * modules/math-c++-tests: New file, extracted from modules/math-tests.
71069         * modules/math-tests: Depend on it.
71070         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
71071         * modules/pty-tests: Depend on it.
71072         * modules/search-c++-tests: New file, extracted from
71073         modules/search-tests.
71074         * modules/search-tests: Depend on it.
71075         * modules/signal-c++-tests: New file, extracted from
71076         modules/signal-tests.
71077         * modules/signal-tests: Depend on it.
71078         * modules/spawn-c++-tests: New file, extracted from
71079         modules/spawn-tests.
71080         * modules/spawn-tests: Depend on it.
71081         * modules/stdio-c++-tests: New file, extracted from
71082         modules/stdio-tests.
71083         * modules/stdio-tests: Depend on it.
71084         * modules/stdlib-c++-tests: New file, extracted from
71085         modules/stdlib-tests.
71086         * modules/stdlib-tests: Depend on it.
71087         * modules/string-c++-tests: New file, extracted from
71088         modules/string-tests.
71089         * modules/string-tests: Depend on it.
71090         * modules/sys_ioctl-c++-tests: New file, extracted from
71091         modules/sys_ioctl-tests.
71092         * modules/sys_ioctl-tests: Depend on it.
71093         * modules/sys_select-c++-tests: New file, extracted from
71094         modules/sys_select-tests.
71095         * modules/sys_select-tests: Depend on it.
71096         * modules/sys_socket-c++-tests: New file, extracted from
71097         modules/sys_socket-tests.
71098         * modules/sys_socket-tests: Depend on it.
71099         * modules/sys_stat-c++-tests: New file, extracted from
71100         modules/sys_stat-tests.
71101         * modules/sys_stat-tests: Depend on it.
71102         * modules/sys_time-c++-tests: New file, extracted from
71103         modules/sys_time-tests.
71104         * modules/sys_time-tests: Depend on it.
71105         * modules/time-c++-tests: New file, extracted from modules/time-tests.
71106         * modules/time-tests: Depend on it.
71107         * modules/unistd-c++-tests: New file, extracted from
71108         modules/unistd-tests.
71109         * modules/unistd-tests: Depend on it.
71110         * modules/wchar-c++-tests: New file, extracted from
71111         modules/wchar-tests.
71112         * modules/wchar-tests: Depend on it.
71113         * modules/wctype-c++-tests: New file, extracted from
71114         modules/wctype-tests.
71115         * modules/wctype-tests: Depend on it.
71116         Reported by Simon Josefsson.
71118 2010-03-28  Bruno Haible  <bruno@clisp.org>
71120         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
71121         * gnulib-tool (func_exists_module): New function, extracted from
71122         func_verify_module.
71123         (func_verify_module): Use it.
71124         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
71125         'foo' only if 'foo' exists.
71126         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
71127         module.
71129 2010-03-28  Bruno Haible  <bruno@clisp.org>
71131         gnulib-tool: Add support for special categories of tests.
71132         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
71133         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
71134         (func_usage): Document them.
71135         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
71136         inc_unportable_tests, inc_all_tests): New variables.
71137         (func_acceptable): Consider these variables.
71138         (func_modules_transitive_closure): Make it work when the 'Status' field
71139         consists of multiple words.
71140         (func_import): Store and restore the values of inc_cxx_tests,
71141         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
71142         inc_all_tests in gnulib-comp.m4.
71143         (func_create_testdir): Set inc_all_tests to true.
71144         * doc/gnulib.texi (Extra tests modules): New section.
71145         Suggested by Jim Meyering.
71147 2010-03-28  Bruno Haible  <bruno@clisp.org>
71149         ansi-c++-opt: Allow turning off the C++ build by default.
71150         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
71151         gl_CXX_CHOICE_DEFAULT_NO is defined.
71152         Requested by Eric Blake.
71154 2010-03-28  Bruno Haible  <bruno@clisp.org>
71156         unistd: Avoid #define replacements in C++ mode.
71157         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
71158         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
71159         setsockopt, shutdown, select): In C++, attach a warning to the function
71160         if possible, rather than #defining the symbol to a dysfunctional alias.
71161         Reported by John W. Eaton <jwe@gnu.org>.
71163 2010-03-28  Bruno Haible  <bruno@clisp.org>
71165         Fix link errors on mingw.
71166         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
71167         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
71168         $(LIBSOCKET).
71169         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
71170         $(LIBSOCKET).
71172 2010-03-28  Bruno Haible  <bruno@clisp.org>
71173             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71175         lib-ignore: Determine different options for different compilers.
71176         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
71177         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
71178         Add comments.
71179         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
71180         * NEWS: Mention the change.
71182 2010-03-27  Bruno Haible  <bruno@clisp.org>
71184         Remove unused GNULIB_XYZ macro definitions.
71185         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
71186         * modules/fseek (configure.ac): Likewise.
71187         * modules/ioctl (configure.ac): Likewise.
71188         * modules/open (configure.ac): Likewise.
71189         * modules/stdlib-safer (configure.ac): Likewise.
71191 2010-03-27  Bruno Haible  <bruno@clisp.org>
71193         Add a remark about certain modules.
71194         * modules/malloc (Comment): New section.
71195         * modules/realloc (Comment): Likewise.
71196         * modules/sigpipe (Comment): Likewise.
71198 2010-03-27  Bruno Haible  <bruno@clisp.org>
71200         Resolve conflict between the two kinds of module indicators.
71201         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
71202         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
71203         * modules/canonicalize (configure.ac): Invoke
71204         gl_MODULE_INDICATOR_FOR_TESTS.
71205         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
71206         GNULIB_XYZ.
71207         * tests/test-dirent-c++.cc: Likewise.
71208         * tests/test-dirent-safer.c: Likewise.
71209         * tests/test-dup2.c: Likewise.
71210         * tests/test-fchdir.c: Likewise.
71211         * tests/test-fcntl-h-c++.cc: Likewise.
71212         * tests/test-getopt.c: Likewise.
71213         * tests/test-getopt.h: Likewise.
71214         * tests/test-langinfo-c++.cc: Likewise.
71215         * tests/test-locale-c++.cc: Likewise.
71216         * tests/test-math-c++.cc: Likewise.
71217         * tests/test-pty-c++.cc: Likewise.
71218         * tests/test-search-c++.cc: Likewise.
71219         * tests/test-signal-c++.cc: Likewise.
71220         * tests/test-spawn-c++.cc: Likewise.
71221         * tests/test-stdio-c++.cc: Likewise.
71222         * tests/test-stdlib-c++.cc: Likewise.
71223         * tests/test-string-c++.cc: Likewise.
71224         * tests/test-sys_ioctl-c++.cc: Likewise.
71225         * tests/test-sys_select-c++.cc: Likewise.
71226         * tests/test-sys_socket-c++.cc: Likewise.
71227         * tests/test-sys_stat-c++.cc: Likewise.
71228         * tests/test-sys_time-c++.cc: Likewise.
71229         * tests/test-time-c++.cc: Likewise.
71230         * tests/test-unistd-c++.cc: Likewise.
71231         * tests/test-wchar-c++.cc: Likewise.
71232         * tests/uninorm/test-u8-nfc.c: Likewise.
71233         * tests/uninorm/test-u8-nfd.c: Likewise.
71234         * tests/uninorm/test-u8-nfkc.c: Likewise.
71235         * tests/uninorm/test-u8-nfkd.c: Likewise.
71236         * tests/uninorm/test-u16-nfc.c: Likewise.
71237         * tests/uninorm/test-u16-nfd.c: Likewise.
71238         * tests/uninorm/test-u16-nfkc.c: Likewise.
71239         * tests/uninorm/test-u16-nfkd.c: Likewise.
71240         * tests/uninorm/test-u32-nfc.c: Likewise.
71241         * tests/uninorm/test-u32-nfc-big.c: Likewise.
71242         * tests/uninorm/test-u32-nfd.c: Likewise.
71243         * tests/uninorm/test-u32-nfd-big.c: Likewise.
71244         * tests/uninorm/test-u32-nfkc.c: Likewise.
71245         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
71246         * tests/uninorm/test-u32-nfkd.c: Likewise.
71247         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
71248         * tests/uninorm/test-u32-normalize-big.c: Likewise.
71250 2010-03-27  Bruno Haible  <bruno@clisp.org>
71252         Distinguish two kinds of module indicators.
71253         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
71254         gl_MODULE_INDICATOR.
71255         (gl_MODULE_INDICATOR): New macro.
71256         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
71257         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
71258         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
71259         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
71260         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
71261         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
71262         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
71263         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
71264         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
71265         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
71266         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
71267         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
71268         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
71269         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
71270         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
71271         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
71272         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
71273         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
71274         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
71275         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
71276         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
71277         * modules/cloexec (configure.ac): Likewise.
71278         * modules/getopt-gnu (configure.ac): Likewise.
71279         * modules/uninorm/u8-normalize (configure.ac): Likewise.
71280         * modules/uninorm/u16-normalize (configure.ac): Likewise.
71281         * modules/uninorm/u32-normalize (configure.ac): Likewise.
71282         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
71284 2010-03-27  Bruno Haible  <bruno@clisp.org>
71286         New module description field 'Comment'.
71287         * gnulib-tool: New option --extract-comment.
71288         (func_usage): Document it.
71289         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
71290         (func_get_comment): New function.
71291         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
71293 2010-03-27  Bruno Haible  <bruno@clisp.org>
71295         Addendum to 2010-02-07 commit.
71296         * gnulib-tool (func_usage): Document --extract-applicability option.
71298 2010-03-27  Bruno Haible  <bruno@clisp.org>
71300         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
71301         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
71302         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
71303         rather than link errors.
71305 2010-03-27  Bruno Haible  <bruno@clisp.org>
71307         Avoid side effects from tests-related modules on the compilation of lib.
71308         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
71309         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
71310         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
71311         parameter. Emit into AM_CPPFLAGS a definition of the designated C
71312         macro.
71313         (func_import): Define a witness macro. Assign it a value that depends
71314         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
71315         tests-related modules.
71316         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
71317         Reported by Jim Meyering.
71319 2010-03-27  Bruno Haible  <bruno@clisp.org>
71321         Factorize common .m4 code.
71322         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
71323         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
71324         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
71325         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
71326         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
71327         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
71328         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
71329         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
71330         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
71331         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
71332         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
71333         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
71334         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
71335         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
71336         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
71337         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
71338         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
71339         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
71340         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
71341         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
71342         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
71343         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
71344         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
71345         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
71346         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
71347         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
71348         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
71349         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
71350         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
71351         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
71352         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
71353         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
71355 2010-03-27  Bruno Haible  <bruno@clisp.org>
71357         Fix a compilation error on Cygwin with g++ >= 4.3.
71358         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
71359         if it is undefined or if we alias it to chmod.
71360         (lstat): Don't warn about the use of this function if it is undefined
71361         or if we alias it to stat.
71362         Reported by Simon Josefsson.
71364 2010-03-27  Bruno Haible  <bruno@clisp.org>
71366         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
71367         * modules/getlogin (configure.ac): Update.
71369         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
71370         * modules/getlogin_r (configure.ac): Update.
71372         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
71373         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
71374         * modules/inet_ntop (configure.ac): Update.
71376         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
71377         * modules/inet_pton (configure.ac): Update.
71379         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
71380         * modules/mbslen (configure.ac): Update.
71382         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
71383         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
71384         * modules/forkpty (configure.ac): Update.
71385         * modules/openpty (configure.ac): Update.
71387 2010-03-26  Simon Josefsson  <simon@josefsson.org>
71389         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
71390         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
71392 2010-03-25  Eric Blake  <eblake@redhat.com>
71394         maint: use pragma consistently across replacement headers
71395         * lib/ctype.in.h (system_header): Hoist for consistent placement.
71396         * lib/dirent.in.h (system_header): Likewise.
71397         * lib/errno.in.h (system_header): Likewise.
71398         * lib/float.in.h (system_header): Likewise.
71399         * lib/getopt.in.h (system_header): Likewise.
71400         * lib/iconv.in.h (system_header): Likewise.
71401         * lib/inttypes.in.h (system_header): Likewise.
71402         * lib/langinfo.in.h (system_header): Likewise.
71403         * lib/locale.in.h (system_header): Likewise.
71404         * lib/math.in.h (system_header): Likewise.
71405         * lib/netdb.in.h (system_header): Likewise.
71406         * lib/netinet_in.in.h (system_header): Likewise.
71407         * lib/pty.in.h (system_header): Likewise.
71408         * lib/sched.in.h (system_header): Likewise.
71409         * lib/se-selinux.in.h (system_header): Likewise.
71410         * lib/search.in.h (system_header): Likewise.
71411         * lib/spawn.in.h (system_header): Likewise.
71412         * lib/stdarg.in.h (system_header): Likewise.
71413         * lib/stdint.in.h (system_header): Likewise.
71414         * lib/string.in.h (system_header): Likewise.
71415         * lib/strings.in.h (system_header): Likewise.
71416         * lib/sys_file.in.h (system_header): Likewise.
71417         * lib/sys_ioctl.in.h (system_header): Likewise.
71418         * lib/sys_socket.in.h (system_header): Likewise.
71419         * lib/sys_times.in.h (system_header): Likewise.
71420         * lib/sys_utsname.in.h (system_header): Likewise.
71421         * lib/sys_wait.in.h (system_header): Likewise.
71422         * lib/sysexits.in.h (system_header): Likewise.
71423         * lib/unistd.in.h (system_header): Likewise.
71424         * lib/wctype.in.h (system_header): Likewise.
71426         arpa/inet: fix mingw compilation warning
71427         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
71428         Reported by Matthew Bolte.
71430 2010-03-25  Bruno Haible  <bruno@clisp.org>
71432         Avoid collision between gnulib wrapper and libintl wrapper.
71433         * lib/printf.c (printf): Don't define if a printf wrapper is already
71434         defined in intl/printf.c.
71435         Reported by Michel Boaventura <michel@michelboaventura.com>.
71437 2010-03-25  Bruno Haible  <bruno@clisp.org>
71439         Use ANSI C.
71440         * lib/readutmp.h (getutent): Provide ANSI C prototype.
71442 2010-03-25  Bruno Haible  <bruno@clisp.org>
71444         Minor formatting changes.
71445         * lib/acosl.c: Insert space before function argument list.
71446         * lib/argz.c: Likewise.
71447         * lib/asinl.c: Likewise.
71448         * lib/expl.c: Likewise.
71449         * lib/gen-uni-tables.c: Likewise.
71450         * lib/gettext.h: Likewise.
71451         * lib/glthread/lock.h: Likewise.
71452         * lib/tanl.c: Likewise.
71453         * lib/uniname/uniname.c: Likewise.
71454         * tests/test-idpriv-drop.c: Likewise.
71455         * tests/test-idpriv-droptemp.c: Likewise.
71456         * tests/test-lock.c: Likewise.
71457         * tests/test-tls.c: Likewise.
71458         * lib/argp-help.c: Insert space before function-like macro argument
71459         list.
71460         * lib/memcmp.c: Likewise.
71461         * tests/test-base64.c: Likewise.
71462         * lib/localename.c: Insert space before sizeof's argument list.
71463         * lib/safe-alloc.h: Likewise.
71464         * lib/file-set.h: Insert space before macro argument list.
71465         * tests/test-argp.c: Likewise.
71466         * lib/argp-namefrob.h: Insert space before function parameter list.
71467         * lib/getaddrinfo.c: Likewise.
71468         * lib/netdb.in.h: Likewise.
71469         * lib/parse-duration.h: Likewise.
71470         * lib/parse-duration.c: Likewise.
71471         * lib/poll.c: Likewise.
71472         * lib/select.c: Likewise.
71473         * lib/trim.h: Likewise.
71474         * tests/test-usleep.c: Likewise.
71475         * lib/ldexpl.c: Insert space before function parameter list and before
71476         function argument list.
71477         * lib/logl.c: Likewise.
71478         * lib/sqrtl.c: Likewise.
71479         * lib/trim.c: Likewise.
71480         * lib/cosl.c: Use GNU style indentation. Insert space before function
71481         argument list.
71482         * lib/sinl.c: Likewise.
71483         * lib/tsearch.c: Insert space after 'for'.
71484         Reported by Jim Meyering.
71486 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
71488         * maint.mk (sc_Wundef_boolean): Check for the presence of the
71489         config header before grepping, as it's not present before
71490         autoreconf/configure are run.  Reported by Simon Josefsson.
71492 2010-03-23  Bruno Haible  <bruno@clisp.org>
71494         pt_chown: Make it work with automake < 1.11.
71495         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
71496         Reported by Simon Josefsson.
71498 2010-03-23  Bruno Haible  <bruno@clisp.org>
71500         pt_chown: Don't depend on GPLed modules.
71501         * lib/pt_chown.c: Don't include idpriv.h.
71502         (main): Don't drop privileges.
71503         * modules/pt_chown (Depends-on): Remove idpriv-drop.
71504         Reported by Simon Josefsson.
71506 2010-03-24  Simon Josefsson  <simon@josefsson.org>
71508         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
71509         suggestions from karl@freefriends.org (Karl Berry).
71511 2010-03-22  Eric Blake  <eblake@redhat.com>
71513         gethostname: further tweaks
71514         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
71515         are overriding gethostname.
71516         Suggested by Bruno Haible.
71518 2010-03-21  Bruno Haible  <bruno@clisp.org>
71520         Fix comments.
71521         * lib/forkpty.c (rpl_forkpty): Fix comment.
71522         * lib/openpty.c (rpl_openpty): Likewise.
71523         Reported by Eric Blake.
71525 2010-03-22  Eric Blake  <eblake@redhat.com>
71527         gethostname: fix build on mingw
71528         * lib/unistd.in.h (includes): Work around fact that mingw
71529         <winsock2.h> re-includes <unistd.h>, by avoiding any
71530         redeclarations if we are being included by <winsock2.h>.
71531         Reported by Matthias Bolte.
71533 2010-03-21  Bruno Haible  <bruno@clisp.org>
71535         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
71536         * lib/forkpty.c (forkpty): New replacement function, from glibc with
71537         modifications.
71538         * lib/pty.in.h (forkpty): Update declaration. Add comments.
71539         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
71540         provide the replacement.
71541         * modules/forkpty (Depends-on): Add openpty, login_tty.
71542         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
71543         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
71544         * doc/glibc-functions/forkpty.texi: More supported platforms.
71545         * config/srclist.txt: Add forkpty.c (commented).
71547 2010-03-21  Bruno Haible  <bruno@clisp.org>
71549         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
71550         (Makefile.am): Verify that PTY_LIB is defined.
71552         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
71554 2010-03-21  Bruno Haible  <bruno@clisp.org>
71556         Tests for module 'login_tty'.
71557         * modules/login_tty-tests: New file.
71558         * tests/test-login_tty.c: New file.
71560         New module 'login_tty'.
71561         * lib/login_tty.c: New file.
71562         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
71563         * modules/login_tty: New file.
71564         * doc/glibc-functions/login_tty.texi: Mention the new module.
71566 2010-03-21  Bruno Haible  <bruno@clisp.org>
71568         login_tty: Documentation.
71569         * doc/glibc-functions/login_tty.texi: New file.
71570         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
71572 2010-03-21  Bruno Haible  <bruno@clisp.org>
71574         pty: Consistent macro naming.
71575         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
71576         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
71577         * modules/pty (configure.ac): Update.
71579 2010-03-21  Bruno Haible  <bruno@clisp.org>
71581         Tests for openpty: Make stricter.
71582         * tests/test-openpty.c (main): Add test of canonical processing and
71583         erase.
71584         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
71586         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
71587         * lib/openpty.c (openpty): New replacement function.
71588         * lib/pty.in.h: Include <termios.h>.
71589         (openpty): Update declaration. Add comments.
71590         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
71591         is not declared, arrange to provide the replacement. Check for _getpty
71592         and posix_openpt.
71593         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
71594         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
71595         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
71596         * modules/pty-tests (test_pty_c___LDADD): New variable.
71597         * doc/glibc-functions/openpty.texi: More supported platforms.
71599 2010-03-21  Bruno Haible  <bruno@clisp.org>
71601         setenv: Tweaks.
71602         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
71603         the test program.
71604         * doc/posix-functions/setenv.texi: Update platforms list.
71606 2010-03-21  Bruno Haible  <bruno@clisp.org>
71608         New module 'unlockpt'.
71609         * lib/unlockpt.c: New file, from glibc with modifications.
71610         * m4/unlockpt.m4: New file.
71611         * modules/unlockpt: New file.
71612         * lib/stdlib.in.h (unlockpt): New declaration.
71613         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
71614         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
71615         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
71616         HAVE_UNLOCKPT.
71617         * doc/posix-functions/unlockpt.texi: Mention the new module.
71618         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
71619         * config/srclist.txt: Add unlockpt.c (commented).
71621 2010-03-21  Jim Meyering  <meyering@redhat.com>
71623         maint.mk: prohibit inclusion of "intprops.h" without use
71624         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
71626 2010-03-21  Bruno Haible  <bruno@clisp.org>
71628         New module 'grantpt'.
71629         * lib/grantpt.c: New file, from glibc with modifications.
71630         * m4/grantpt.m4: New file.
71631         * modules/grantpt: New file.
71632         * lib/stdlib.in.h (grantpt): New declaration.
71633         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
71634         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
71635         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
71636         HAVE_GRANTPT.
71637         * doc/posix-functions/grantpt.texi: Mention the new module.
71638         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
71639         * config/srclist.txt: Add grantpt.c (commented).
71641 2010-03-21  Bruno Haible  <bruno@clisp.org>
71643         New module 'pt_chown'.
71644         * lib/pt_chown.c: New file, from glibc with modifications.
71645         * lib/pty-private.h: New file, from glibc with modifications.
71646         * modules/pt_chown: New file.
71647         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
71649 2010-03-21  Bruno Haible  <bruno@clisp.org>
71651         Tests for module 'ptsname'.
71652         * modules/ptsname-tests: New file.
71653         * tests/test-ptsname.c: New file.
71655         New module 'ptsname'.
71656         * lib/ptsname.c: New file, from glibc with modifications.
71657         * m4/ptsname.m4: New file.
71658         * modules/ptsname: New file.
71659         * lib/stdlib.in.h (ptsname): New declaration.
71660         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
71661         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
71662         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
71663         HAVE_PTSNAME.
71664         * doc/posix-functions/ptsname.texi: Mention the new module.
71665         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
71666         * config/srclist.txt: Add ptsname.c (commented).
71668 2010-03-21  Bruno Haible  <bruno@clisp.org>
71670         Tests for module 'ttyname_r'.
71671         * modules/ttyname_r-tests: New file.
71672         * tests/test-ttyname_r.c: New file.
71674         New module 'ttyname_r'.
71675         * lib/ttyname_r.c: New file.
71676         * m4/ttyname_r.m4: New file.
71677         * modules/ttyname_r: New file.
71678         * lib/unistd.in.h (ttyname_r): New declaration.
71679         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
71680         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
71681         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
71682         HAVE_TTYNAME_R.
71683         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
71684         * doc/posix-functions/ttyname_r.texi: Mention the new module.
71686 2010-03-20  Bruno Haible  <bruno@clisp.org>
71688         signal: Undefine macro definitions in C++ mode.
71689         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
71690         sigfillset): Undefine macro definitions from the system header in C++
71691         mode.
71692         Reported by John W. Eaton <jwe@gnu.org>.
71694 2010-03-20  Bruno Haible  <bruno@clisp.org>
71696         Ensure no #include statements inside extern "C" { ... }.
71697         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
71698         contain #include statements.
71699         * lib/time.in.h: Likewise.
71701 2010-03-20  Bruno Haible  <bruno@clisp.org>
71703         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
71704         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
71705         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
71706         Reported by John W. Eaton <jwe@gnu.org>.
71708 2010-03-20  Bruno Haible  <bruno@clisp.org>
71710         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
71711         Reported by Jim Meyering.
71713 2010-03-20  Bruno Haible  <bruno@clisp.org>
71715         pipe: Set errno upon failure.
71716         * lib/pipe.h: Specify that when -1 is returned, errno is set.
71717         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
71718         errno value in error message.
71720 2010-03-20  Bruno Haible  <bruno@clisp.org>
71721             Jim Meyering  <meyering@redhat.com>
71723         lchown: Avoid "unused variable" warning.
71724         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
71726 2010-03-20  Bruno Haible  <bruno@clisp.org>
71728         Work around unlink() bug on MacOS X 10.5.6.
71729         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
71730         attempting to unlink a parent directory.
71731         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
71732         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
71733         activate for the replacement function.
71734         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
71736 2010-03-20  Bruno Haible  <bruno@clisp.org>
71738         Fix link errors on Solaris 8.
71739         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
71740         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
71742 2010-03-19  Jim Meyering  <meyering@redhat.com>
71744         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
71745         The _LIBC implementation of build_range_exp correctly honors the
71746         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
71747         However, the non-_LIBC implementation would ignore that syntax-bit
71748         flag and return REG_ERANGE unconditionally.
71749         This change makes it honor that flag.
71750         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
71751         Make two pointer parameters "const".
71752         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
71753         (parse_bracket_exp): Update caller.
71755         regex.m4: correct the reversed range endpoint ([b-a]) test
71756         * m4/regex.m4: When requiring that [b-a] evoke failure,
71757         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
71758         test pass once again for x86-based systems.
71760 2010-03-19  Bruno Haible  <bruno@clisp.org>
71762         scandir: Fix link error on Solaris 8.
71763         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
71764         macros.
71766 2010-03-19  Bruno Haible  <bruno@clisp.org>
71768         getusershell: Fix documentation.
71769         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
71770         module.
71771         * doc/glibc-functions/setusershell.texi: Likewise.
71773         getusershell: Provide declaration, missing on Solaris 9.
71774         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
71775         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
71776         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
71777         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
71778         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
71779         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
71780         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
71781         HAVE_GETUSERSHELL.
71782         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
71784 2010-03-19  Bruno Haible  <bruno@clisp.org>
71786         wctype: Provide iswblank function.
71787         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
71788         exists and is fine.
71789         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
71790         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
71791         * tests/test-wctype.c (main): Re-enable the iswblank tests.
71792         * doc/posix-functions/iswblank.texi: Update.
71794 2010-03-19  Bruno Haible  <bruno@clisp.org>
71796         Tests of module 'pty' in C++ mode.
71797         * modules/pty-tests: New file.
71798         * tests/test-pty-c++.cc: New file.
71799         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
71801 2010-03-19  Eric Blake  <eblake@redhat.com>
71803         logb: fix documentation
71804         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
71805         1.5 declaration bug.
71807         forkpty, openpty: prefer glibc's const-safe prototype
71808         * lib/forkpty.c (rpl_forkpty): New file.
71809         * lib/openpty.c (rpl_openpty): Likewise.
71810         * modules/forkpty (Files): Distribute it.
71811         * modules/openpty (Files): Likewise.
71812         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
71813         check...
71814         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
71815         replacement for non-const BSD signature.
71816         * modules/pty (Makefile.am): Substitute witnesses.
71817         * lib/pty.in.h (forkpty, openpty): Declare replacements.
71818         * tests/test-forkpty.c: Update signature check.
71819         * tests/test-openpty.c: Likewise.
71820         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
71821         * doc/glibc-functions/openpty.texi (openpty): Likewise.
71823         forkpty, openpty: split functions into new modules
71824         * modules/pty (Makefile.am): Substitute new witnesses.
71825         (Libraries): Move library detection...
71826         * modules/forkpty: ...into new module.
71827         * modules/openpty: Another new module.
71828         * modules/pty-tests: Rename and split...
71829         * modules/forkpty-tests: ...to this...
71830         * modules/openpty-tests: ...and this.
71831         * tests/test-pty.c: Rename and split...
71832         * tests/test-forkpty.c: ...to this...
71833         * tests/test-openpty.c: ...and this.
71834         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
71835         (gl_PTY): Split library searching...
71836         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
71837         (gl_FORKPTY, gl_OPENPTY): New macros.
71838         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
71839         * NEWS: Mention the split.
71840         * MODULES.html.sh (Misc): Document the modules.
71841         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
71842         * doc/glibc-functions/openpty.texi (openpty): Likewise.
71844         pty: improve replacement header
71845         * lib/pty.in.h: New file.
71846         * modules/pty (Files): Ship it.
71847         (Makefile.am): Always build replacement.
71848         * m4/pty.m4: Rename...
71849         * m4/pty_h.m4: ...to this.
71850         (gl_PTY): Modernize setting of witness macros; update check of
71851         forkpty to take proper advantage of cache.
71852         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
71854         getopt: avoid compiler warning
71855         * lib/getopt.c (attribute_hidden): Remove unused macro.
71857 2010-03-18  Bruno Haible  <bruno@clisp.org>
71859         Fix link errors on Solaris 8.
71860         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
71861         * modules/search-tests (test_search_c___LDADD): Likewise.
71862         * modules/signal-tests (test_signal_c___LDADD): Likewise.
71863         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
71864         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
71865         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
71866         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
71867         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
71868         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
71870 2010-03-18  Bruno Haible  <bruno@clisp.org>
71872         Fix bug introduced on 2010-03-14.
71873         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
71874         (gl_SPAWN_H): Require it.
71875         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
71876         Reported by Simon Josefsson.
71878 2010-03-18  Bruno Haible  <bruno@clisp.org>
71880         Fix typo introduced on 2009-12-31.
71881         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
71882         posix_spawn_file_actions_adddup2.
71884 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
71885         and Eric Blake  <eblake@redhat.com>
71887         test-vc-list-files-git: make more robust
71888         * tests/test-vc-list-files-git.sh: Unset problematic environment
71889         variables.  Chain commands together.
71891 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
71893         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
71894         `AC_CHECK_DECL' invocation.
71896 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
71898         * lib/inttostr.c (inttostr): Make sure the invocation of verify
71899         appears before executable statements. Suggested by Petr Sumbera
71900         <Petr.Sumbera@Sun.COM>.
71902 2010-03-14  Bruno Haible  <bruno@clisp.org>
71904         * tests/test-flock.c (test_exclusive): Comment out a test that causes
71905         portability problems. Instead use a simpler test.
71906         (main): Check that invalid arguments are rejected only on Linux.
71908 2010-03-14  Bruno Haible  <bruno@clisp.org>
71910         Fix bug introduced on 2009-12-31.
71911         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
71912         gl_PREREQ_SYS_H_WINSOCK2 always.
71913         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
71914         SYS_SOCKET_H variable.
71915         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
71916         Update comments.
71917         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
71918         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
71919         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
71920         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
71921         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
71923 2010-03-14  Bruno Haible  <bruno@clisp.org>
71925         Fix values returned by sinl, cosl.
71926         * lib/trigl.h: Add specification comments.
71927         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
71928         that combines the values from the precomputed table with the values of
71929         the Chebyshev polynomials.
71931 2010-03-14  Bruno Haible  <bruno@clisp.org>
71933         Fix compilation error when modules 'posix_spawn[p]' are not used.
71934         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
71935         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
71937 2010-03-14  Bruno Haible  <bruno@clisp.org>
71939         Fix compilation error on mingw when module 'time_r' is not used.
71940         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
71941         is 1.
71942         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
71943         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
71944         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
71945         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
71947 2010-03-14  Bruno Haible  <bruno@clisp.org>
71949         Fix compilation error with Sun C.
71950         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
71951         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
71952         instead of GCC specific ULONG_LONG_MAX.
71953         * lib/xstrtoll.c: Likewise.
71954         * lib/xstrtoull.c: Likewise.
71956 2010-03-13  Bruno Haible  <bruno@clisp.org>
71958         Allow the user to disable C++ code and tests.
71959         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
71960         (gl_PROG_ANSI_CXX): Require it.
71962 2010-03-13  Bruno Haible  <bruno@clisp.org>
71964         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
71965         cases.
71967 2010-03-13  Bruno Haible  <bruno@clisp.org>
71969         Test that gnulib does not break the standard C++ headers.
71970         * tests/test-locale-c++2.cc: New file.
71971         * modules/locale-tests (Files): Add it.
71972         (Makefile.am): Compile it for test-locale-c++.
71973         * tests/test-math-c++2.cc: New file.
71974         * modules/math-tests (Files): Add it.
71975         (Makefile.am): Compile it for test-math-c++.
71976         * tests/test-signal-c++2.cc: New file.
71977         * modules/signal-tests (Files): Add it.
71978         (Makefile.am): Compile it for test-signal-c++.
71979         * tests/test-stdio-c++2.cc: New file.
71980         * modules/stdio-tests (Files): Add it.
71981         (Makefile.am): Compile it for test-stdio-c++.
71982         * tests/test-stdlib-c++2.cc: New file.
71983         * modules/stdlib-tests (Files): Add it.
71984         (Makefile.am): Compile it for test-stdlib-c++.
71985         * tests/test-string-c++2.cc: New file.
71986         * modules/string-tests (Files): Add it.
71987         (Makefile.am): Compile it for test-string-c++.
71988         * tests/test-time-c++2.cc: New file.
71989         * modules/time-tests (Files): Add it.
71990         (Makefile.am): Compile it for test-time-c++.
71991         Reported by John W. Eaton <jwe@gnu.org>.
71993 2010-03-13  Bruno Haible  <bruno@clisp.org>
71995         * gnulib-tool (func_usage): Clarify which options are available for
71996         --create-testdir and --create-megatestdir.
71998 2010-03-13  Bruno Haible  <bruno@clisp.org>
72000         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
72001         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
72002         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
72003         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
72004         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
72005         when appropriate.
72006         Reported by Jim Meyering.
72008 2010-03-12  Simon Josefsson  <simon@josefsson.org>
72010         * gnulib-tool (func_import): Explain origin of code.
72012 2010-03-12  Bruno Haible  <bruno@clisp.org>
72014         Fix problem with automake's definition of CXXLINK.
72015         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
72016         Reported by Simon Josefsson and Ludovic Courtès.
72018 2010-03-12  Bruno Haible  <bruno@clisp.org>
72020         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
72021         stable releases.
72023 2010-03-11  Bruno Haible  <bruno@clisp.org>
72025         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
72026         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
72027         whether the system provides one variant or multiple variants of the
72028         function.
72029         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
72030         C++ compilers.
72031         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
72032         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
72033         Reported by Jim Meyering.
72035 2010-03-09  Simon Josefsson  <simon@josefsson.org>
72037         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
72039 2010-03-08  Bruno Haible  <bruno@clisp.org>
72041         gnulib-tool: Add support for --libtool in --create-testdir.
72042         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
72043         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
72045 2010-03-08  Eric Blake  <eblake@redhat.com>
72047         gnulib-tool.texi: mention possibility of git submodule
72048         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
72049         submodules.
72050         * doc/.gitignore: Ignore another generated file.
72052 2010-03-08  Karl Berry  <karl@gnu.org>
72054         * doc/gnulib-tool.texi (VCS Issues): Mention third option
72055         of committing gnulib files while skipping others.
72057 2010-03-07  Bruno Haible  <bruno@clisp.org>
72059         Tests of module 'wctype' in C++ mode.
72060         * tests/test-wctype-c++.cc: New file.
72061         * modules/wctype-tests (Files): Add it and tests/signature.h.
72062         (Depends-on): Add ansi-c++-opt.
72063         (Makefile.am): Arrange to compile and run test-wctype-c++.
72065         Tests of module 'wchar' in C++ mode.
72066         * tests/test-wchar-c++.cc: New file.
72067         * modules/wchar-tests (Files): Add it and tests/signature.h.
72068         (Depends-on): Add ansi-c++-opt.
72069         (Makefile.am): Arrange to compile and run test-wchar-c++.
72070         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
72071         gl_MODULE_INDICATOR.
72073         Tests of module 'unistd' in C++ mode.
72074         * tests/test-unistd-c++.cc: New file.
72075         * modules/unistd-tests (Files): Add it and tests/signature.h.
72076         (Depends-on): Add ansi-c++-opt.
72077         (Makefile.am): Arrange to compile and run test-unistd-c++.
72078         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
72079         gl_MODULE_INDICATOR.
72081         Tests of module 'time' in C++ mode.
72082         * tests/test-time-c++.cc: New file.
72083         * modules/time-tests (Files): Add it and tests/signature.h.
72084         (Depends-on): Add ansi-c++-opt.
72085         (Makefile.am): Arrange to compile and run test-time-c++.
72086         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
72088         Tests of module 'sys_time' in C++ mode.
72089         * tests/test-sys_time-c++.cc: New file.
72090         * modules/sys_time-tests (Files): Add it and tests/signature.h.
72091         (Depends-on): Add ansi-c++-opt.
72092         (Makefile.am): Arrange to compile and run test-sys_time-c++.
72093         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
72094         gl_MODULE_INDICATOR.
72096         Tests of module 'sys_stat' in C++ mode.
72097         * tests/test-sys_stat-c++.cc: New file.
72098         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
72099         (Depends-on): Add ansi-c++-opt.
72100         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
72101         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
72102         gl_MODULE_INDICATOR.
72104         Tests of module 'sys_socket' in C++ mode.
72105         * tests/test-sys_socket-c++.cc: New file.
72106         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
72107         (Depends-on): Add ansi-c++-opt.
72108         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
72109         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
72110         gl_MODULE_INDICATOR.
72112         Tests of module 'sys_select' in C++ mode.
72113         * tests/test-sys_select-c++.cc: New file.
72114         * modules/sys_select-tests (Files): Add it and tests/signature.h.
72115         (Depends-on): Add ansi-c++-opt.
72116         (Makefile.am): Arrange to compile and run test-sys_select-c++.
72117         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
72118         gl_MODULE_INDICATOR.
72120         Tests of module 'sys_ioctl' in C++ mode.
72121         * tests/test-sys_ioctl-c++.cc: New file.
72122         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
72123         (Depends-on): Add ansi-c++-opt.
72124         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
72125         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
72126         gl_MODULE_INDICATOR.
72128         Tests of module 'string' in C++ mode.
72129         * tests/test-string-c++.cc: New file.
72130         * modules/string-tests (Files): Add it and tests/signature.h.
72131         (Depends-on): Add ansi-c++-opt.
72132         (Makefile.am): Arrange to compile and run test-string-c++.
72133         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
72134         gl_MODULE_INDICATOR.
72136         Tests of module 'stdlib' in C++ mode.
72137         * tests/test-stdlib-c++.cc: New file.
72138         * modules/stdlib-tests (Files): Add it and tests/signature.h.
72139         (Depends-on): Add ansi-c++-opt.
72140         (Makefile.am): Arrange to compile and run test-stdlib-c++.
72141         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
72142         gl_MODULE_INDICATOR.
72144         Tests of module 'stdio' in C++ mode.
72145         * tests/test-stdio-c++.cc: New file.
72146         * modules/stdio-tests (Files): Add it and tests/signature.h.
72147         (Depends-on): Add ansi-c++-opt.
72148         (Makefile.am): Arrange to compile and run test-stdio-c++.
72149         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
72150         gl_MODULE_INDICATOR.
72152         Tests of module 'spawn' in C++ mode.
72153         * tests/test-spawn-c++.cc: New file.
72154         * modules/spawn-tests (Files): Add it and tests/signature.h.
72155         (Depends-on): Add ansi-c++-opt.
72156         (Makefile.am): Arrange to compile and run test-spawn-c++.
72157         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
72158         gl_MODULE_INDICATOR.
72160         Tests of module 'signal' in C++ mode.
72161         * tests/test-signal-c++.cc: New file.
72162         * modules/signal-tests (Files): Add it and tests/signature.h.
72163         (Depends-on): Add ansi-c++-opt.
72164         (Makefile.am): Arrange to compile and run test-signal-c++.
72165         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
72166         gl_MODULE_INDICATOR.
72168         Tests of module 'search' in C++ mode.
72169         * tests/test-search-c++.cc: New file.
72170         * modules/search-tests (Files): Add it and tests/signature.h.
72171         (Depends-on): Add ansi-c++-opt.
72172         (Makefile.am): Arrange to compile and run test-search-c++.
72173         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
72174         gl_MODULE_INDICATOR.
72176         Tests of module 'math' in C++ mode.
72177         * tests/test-math-c++.cc: New file.
72178         * modules/math-tests (Files): Add it and tests/signature.h.
72179         (Depends-on): Add ansi-c++-opt.
72180         (Makefile.am): Arrange to compile and run test-math-c++.
72181         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
72183         Tests of module 'locale' in C++ mode.
72184         * tests/test-locale-c++.cc: New file.
72185         * modules/locale-tests (Files): Add it and tests/signature.h.
72186         (Depends-on): Add ansi-c++-opt.
72187         (Makefile.am): Arrange to compile and run test-locale-c++.
72188         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
72189         gl_MODULE_INDICATOR.
72191         Tests of module 'langinfo' in C++ mode.
72192         * tests/test-langinfo-c++.cc: New file.
72193         * modules/langinfo-tests (Files): Add it and tests/signature.h.
72194         (Depends-on): Add ansi-c++-opt.
72195         (Makefile.am): Arrange to compile and run test-langinfo-c++.
72196         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
72197         gl_MODULE_INDICATOR.
72199         Tests of module 'iconv-h' in C++ mode.
72200         * tests/test-iconv-h-c++.cc: New file.
72201         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
72202         (Depends-on): Add ansi-c++-opt.
72203         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
72205         Tests of module 'glob' in C++ mode.
72206         * tests/test-glob-c++.cc: New file.
72207         * modules/glob-tests (Files): Add it.
72208         (Depends-on): Add ansi-c++-opt.
72209         (Makefile.am): Arrange to compile and run test-glob-c++.
72211         Tests of module 'fcntl-h' in C++ mode.
72212         * tests/test-fcntl-h-c++.cc: New file.
72213         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
72214         (Depends-on): Add ansi-c++-opt.
72215         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
72216         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
72217         gl_MODULE_INDICATOR.
72219         Tests of module 'dirent' in C++ mode.
72220         * tests/test-dirent-c++.cc: New file.
72221         * modules/dirent-tests (Files): Add it and tests/signature.h.
72222         (Depends-on): Add ansi-c++-opt.
72223         (Makefile.am): Arrange to compile and run test-dirent-c++.
72224         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
72225         gl_MODULE_INDICATOR.
72227         New module 'ansi-c++-opt'.
72228         * modules/ansi-c++-opt: New file.
72229         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
72231         Document C++ namespace mode.
72232         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
72234         wctype: Avoid #define replacements in C++ mode.
72235         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
72236         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
72237         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
72238         In C++, define a namespaced alias symbol.
72239         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
72240         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
72241         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
72242         rule.
72244         wchar: Avoid #define replacements in C++ mode.
72245         * lib/wchar.in.h: Include c++defs.h.
72246         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
72247         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
72248         symbol.
72249         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
72250         * modules/wchar (Depends-on): Add c++defs.
72251         (Makefile.am): Update wchar.h rule.
72253         unistd: Avoid #define replacements in C++ mode.
72254         * lib/unistd.in.h: Include c++defs.h.
72255         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
72256         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
72257         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
72258         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
72259         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
72260         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
72261         symbol.
72262         (environ): Update.
72263         * modules/unistd (Depends-on): Add c++defs.
72264         (Makefile.am): Update unistd.h rule.
72266         time: Avoid #define replacements in C++ mode.
72267         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
72268         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
72269         define a namespaced alias symbol.
72270         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
72271         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
72272         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
72273         * modules/time (Depends-on): Add c++defs, warn-on-use.
72274         (Makefile.am): Update time.h rule.
72275         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
72276         * modules/nanosleep (configure.ac): Likewise.
72277         * modules/strptime (configure.ac): Likewise.
72278         * modules/timegm (configure.ac): Likewise.
72280         sys_time: Avoid #define replacements in C++ mode.
72281         * lib/sys_time.in.h: Include c++defs.h.
72282         (gettimeofday): In C++, define a namespaced alias symbol.
72283         * modules/sys_time (Depends-on): Add c++defs.
72284         (Makefile.am): Update sys/time.h rule.
72286         sys_stat: Avoid #define replacements in C++ mode.
72287         * lib/sys_stat.in.h: Include c++defs.h.
72288         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
72289         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
72290         namespaced alias symbol.
72291         In C++, define a namespaced alias symbol.
72292         * modules/sys_stat (Depends-on): Add c++defs.
72293         (Makefile.am): Update sys/stat.h rule.
72295         sys_socket: Avoid #define replacements in C++ mode.
72296         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
72297         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
72298         definitions also when the system has a <sys/socket.h>.
72299         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
72300         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
72301         In C++, define a namespaced alias symbol.
72302         * modules/sys_socket (Depends-on): Add c++defs.
72303         (Makefile.am): Update sys/socket.h rule.
72305         sys_select: Avoid #define replacements in C++ mode.
72306         * lib/sys_select.in.h: Include c++defs.h. Enable the function
72307         definitions also when the system has a <sys/select.h>.
72308         (select): In C++, define a namespaced alias symbol.
72309         * modules/sys_select (Depends-on): Add c++defs.
72310         (Makefile.am): Update sys/select.h rule.
72312         sys_ioctl: Avoid #define replacements in C++ mode.
72313         * lib/sys_ioctl.in.h: Include c++defs.h.
72314         (ioctl): In C++, define a namespaced alias symbol.
72315         * modules/sys_ioctl (Depends-on): Add c++defs.
72316         (Makefile.am): Update sys/ioctl.h rule.
72318         string: Avoid #define replacements in C++ mode.
72319         * lib/string.in.h: Include c++defs.h.
72320         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
72321         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
72322         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
72323         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
72324         strsignal, strverscmp): In C++, define a namespaced alias symbol.
72325         * modules/string (Depends-on): Add c++defs.
72326         (Makefile.am): Update string.h rule.
72328         stdlib: Avoid #define replacements in C++ mode.
72329         * lib/stdlib.in.h: Include c++defs.h.
72330         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
72331         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
72332         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
72333         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
72334         symbol.
72335         * modules/stdlib (Depends-on): Add c++defs.
72336         (Makefile.am): Update stdlib.h rule.
72338         stdio: Avoid #define replacements in C++ mode.
72339         * lib/stdio.in.h: Include c++defs.h.
72340         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
72341         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
72342         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
72343         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
72344         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
72345         namespaced alias symbol.
72346         * modules/stdio (Depends-on): Add c++defs.
72347         (Makefile.am): Update stdio.h rule.
72349         spawn: Avoid #define replacements in C++ mode.
72350         * lib/spawn.in.h: Include c++defs.h.
72351         (posix_spawn, posix_spawnp, posix_spawnattr_init,
72352         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
72353         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
72354         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
72355         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
72356         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
72357         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
72358         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
72359         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
72360         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
72361         In C++, define a namespaced alias symbol.
72362         * modules/spawn (Depends-on): Add c++defs.
72363         (Makefile.am): Update spawn.h rule.
72365         signal: Avoid #define replacements in C++ mode.
72366         * lib/signal.in.h: Include c++defs.h.
72367         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
72368         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
72369         namespaced alias symbol.
72370         * modules/signal (Depends-on): Add c++defs.
72371         (Makefile.am): Update signal.h rule.
72373         search: Avoid #define replacements in C++ mode.
72374         * lib/search.in.h: Include c++defs.h.
72375         (_gl_search_compar_fn, _gl_search_action_fn): New types.
72376         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
72377         symbol.
72378         * modules/search (Depends-on): Add c++defs.
72379         (Makefile.am): Update search.h rule.
72381         math: Avoid #define replacements in C++ mode.
72382         * lib/math.in.h: Include c++defs.h.
72383         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
72384         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
72385         trunc, truncl): In C++, define a namespaced alias symbol.
72386         * modules/math (Depends-on): Add c++defs.
72387         (Makefile.am): Update math.h rule.
72389         locale: Avoid #define replacements in C++ mode.
72390         * lib/locale.in.h: Include c++defs.h.
72391         (duplocale): In C++, define a namespaced alias symbol.
72392         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
72393         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
72394         * modules/locale (Depends-on): Add c++defs.
72395         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
72397         langinfo: Avoid #define replacements in C++ mode.
72398         * lib/langinfo.in.h: Include c++defs.h.
72399         (nl_langinfo): In C++, define a namespaced alias symbol.
72400         * modules/langinfo (Depends-on): Add c++defs.
72401         (Makefile.am): Update langinfo.h rule.
72403         iconv-h: Avoid #define replacements in C++ mode.
72404         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
72405         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
72406         symbol.
72407         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
72408         whenever iconv is present.
72409         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
72410         (Makefile.am): Update iconv.h rule.
72412         glob: Avoid #define replacements in C++ mode.
72413         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
72414         (_gl_glob_errfunc_fn): New type.
72415         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
72416         symbol.
72417         * modules/glob (Depends-on): Add c++defs, warn-on-use.
72418         (Makefile.am): Update glob.h rule.
72420         fcntl-h: Avoid #define replacements in C++ mode.
72421         * lib/fcntl.in.h: Include c++defs.h.
72422         (fcntl, open, openat): In C++, define a namespaced alias symbol.
72423         * modules/fcntl-h (Depends-on): Add c++defs.
72424         (Makefile.am): Update fcntl.h rule.
72426         dirent: Avoid #define replacements in C++ mode.
72427         * lib/dirent.in.h: Include c++defs.h.
72428         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
72429         namespaced alias symbol.
72430         (dirfd): Update declaration.
72431         * modules/dirent (Depends-on): Add c++defs.
72432         (Makefile.am): Update dirent.h rule.
72434         ctype: Make it usable in C++ code.
72435         * lib/ctype.in.h: Include c++defs.h.
72436         (isblank): Declare as extern "C".
72437         * modules/ctype (Depends-on): Add c++defs.
72438         (Makefile.am): Update ctype.h rule.
72440         New module 'c++defs'.
72441         * modules/c++defs: New file.
72442         * build-aux/c++defs.h: New file.
72443         Reported by John W. Eaton <jwe@gnu.org>.
72445 2010-03-07  Bruno Haible  <bruno@clisp.org>
72447         logb: Provide missing declaration for Cygwin.
72448         * lib/math.in.h (logb): New declaration.
72449         * m4/logb.m4: New file.
72450         * modules/logb (Files): Add m4/logb.m4.
72451         (Depends-on): Add math.
72452         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
72453         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
72454         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
72455         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
72456         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
72458 2010-03-07  Bruno Haible  <bruno@clisp.org>
72460         Fix test-cond link error.
72461         * tests/test-cond.c: Include <stdio.h>.
72463 2010-03-07  Bruno Haible  <bruno@clisp.org>
72465         Fix test-dirent-safer link error.
72466         * modules/dirent-safer-tests (Makefile.am): Define
72467         test_dirent_safer_LDADD.
72469 2010-03-07  Bruno Haible  <bruno@clisp.org>
72471         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
72472         among default module list.
72474 2010-03-07  Bruno Haible  <bruno@clisp.org>
72476         Fix link error on platforms with GNU libiconv.
72477         * modules/unistr/u8-strcoll-tests (Makefile): Define
72478         test_u8_strcoll_LDADD.
72479         * modules/unistr/u16-strcoll-tests (Makefile): Define
72480         test_u16_strcoll_LDADD.
72481         * modules/unistr/u32-strcoll-tests (Makefile): Define
72482         test_u32_strcoll_LDADD.
72484 2010-03-07  Bruno Haible  <bruno@clisp.org>
72486         Use POSIX declarations for socket functions.
72487         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
72488         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
72489         rpl_sendto): Change declaration to match POSIX.
72490         * lib/connect.c (rpl_connect): Likewise.
72491         * lib/accept.c (rpl_accept): Likewise.
72492         * lib/bind.c (rpl_bind): Likewise.
72493         * lib/getpeername.c (rpl_getpeername): Likewise.
72494         * lib/getsockname.c (rpl_getsockname): Likewise.
72495         * lib/recv.c (rpl_recv): Likewise.
72496         * lib/send.c (rpl_send): Likewise.
72497         * lib/recvfrom.c (rpl_recvfrom): Likewise.
72498         * lib/sendto.c (rpl_sendto): Likewise.
72500 2010-03-06  Bruno Haible  <bruno@clisp.org>
72502         Clarify access, euidaccess, faccessat.
72503         * doc/posix-functions/faccessat.texi: Mention security problem under
72504         "Other problems", not "Portability problems".
72505         * doc/posix-functions/access.texi: Likewise. Mention a related security
72506         problem.
72507         * doc/glibc-functions/euidaccess.texi: Mention security problems.
72508         * lib/euidaccess.c: Add comments about platforms.
72509         * lib/unistd.in.h (access, euidaccess): Add warnings.
72511 2010-03-07  Bruno Haible  <bruno@clisp.org>
72513         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
72514         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
72515         (POSIX_SPAWN_SETSCHEDULER): Likewise.
72516         (POSIX_SPAWN_USEVFORK): Define in a way that works when
72517         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
72518         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
72519         declare when POSIX_SPAWN_SETSCHEDULER is zero.
72520         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
72521         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
72522         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
72523         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
72524         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
72525         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
72526         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
72527         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
72528         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
72529         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
72530         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
72531         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
72532         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
72533         Likewise.
72534         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
72535         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
72536         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
72537         Likewise.
72538         * tests/test-spawn.c (main): Make it work when
72539         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
72541 2010-03-07  Bruno Haible  <bruno@clisp.org>
72543         Fix incorrect Makefile.am generation in German locale.
72544         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72545         Execute sed command with character range in C locale.
72547 2010-03-06  Bruno Haible  <bruno@clisp.org>
72549         Tests for module 'iconv-h'.
72550         * modules/iconv-h-tests: New file.
72551         * tests/test-iconv-h.c: New file.
72553         New module 'iconv-h'.
72554         * modules/iconv-h: New file.
72555         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
72556         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
72557         (configure.ac): Remove gl_ICONV_H.
72558         (Makefile.am): Remove rule for iconv.h.
72560 2010-03-06  Bruno Haible  <bruno@clisp.org>
72562         More consistent naming of *.m4 files.
72563         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
72564         * modules/wctype (Files): Update.
72566         More consistent naming of *.m4 files.
72567         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
72568         * modules/wchar (Files): Update.
72570 2010-03-06  Jim Meyering  <meyering@redhat.com>
72572         euidaccess: relax license to LGPLv2+
72573         * modules/euidaccess (License): Relax to LGPLv2+.
72575 2010-03-06  Bruno Haible  <bruno@clisp.org>
72577         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
72578         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
72579         (Makefile.am): Augment lib_SOURCES instead.
72581 2010-03-04  Jim Meyering  <meyering@redhat.com>
72583         utime: remove obsolete module
72584         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
72585         unnecessary for years, and has been marked as obsolete for 10 months.
72586         * modules/utime: Remove file.
72587         * lib/utime.c: Remove file.
72588         * m4/utime.m4: Remove file.
72589         * m4/utimes-null.m4: Remove file.
72590         * doc/posix-functions/utime.texi (utime): Remove reference to
72591         the module.  Move the sole "fixed by gnulib" item into the
72592         "problems not fixed by Gnulib" list.
72593         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
72595 2010-03-05  Simon Josefsson  <simon@josefsson.org>
72597         * modules/exit (License): Relax license to LGPLv2+.
72598         (Status): Mark as obsolete.
72599         * NEWS: Mention deprecated 'exit' module.
72600         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
72601         of now obsolete 'exit'.
72603 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72605         fts-lgpl: remove unused module
72606         * modules/fts-lgpl: Remove.
72607         * MODULES.html.sh (func_all_modules): Adjust.
72608         * check-module (find_included_lib_files): Adjust.
72609         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
72611 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
72613         copy-acl: enhance Solaris ACL error handling
72614         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
72615         * lib/set-mode-acl.c (qset_acl): Likewise.
72617 2010-03-02  Bruno Haible  <bruno@clisp.org>
72619         spawn: Don't override the system defined values on FreeBSD 8.
72620         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
72621         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
72622         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
72623         if HAVE_POSIX_SPAWN is 1.
72624         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
72626 2010-03-01  Bruno Haible  <bruno@clisp.org>
72628         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
72629         regarding Automake.
72631 2010-02-25  Bruno Haible  <bruno@clisp.org>
72633         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
72634         * gnulib-tool: Define 'echo' as a function only before the ksh alias
72635         setting, not afterwards.
72636         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
72638 2010-02-24  Eric Blake  <eblake@redhat.com>
72640         bootstrap, git-version-gen: use timestamp
72641         * build-aux/git-version-gen (scriptversion): Force UTC.
72642         * build-aux/bootstrap (scriptversion): New variable.
72644         bootstrap: allow older git
72645         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
72646         older than 1.6.4.  Requested by the libvirt project.
72648 2010-02-23  Eric Blake  <eblake@redhat.com>
72650         warn-on-use: work with old autoconf
72651         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
72652         AS_VAR semantics of autoconf 2.60.
72653         Reported by Bruno Haible.
72655         bootstrap: improve some comments
72656         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
72657         clarification comments.
72659         gettimeofday: provide correct function
72660         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
72661         when replacement is declared, otherwise provide gettimeofday.
72662         Reported by Michael Goffioul.
72664 2010-02-23  Jim Meyering  <meyering@redhat.com>
72666         lib-ignore: relax license to "unlimited", not LGPLv2+
72667         * modules/lib-ignore (License): Relax to "unlimited".
72669 2010-02-23  Jim Meyering  <meyering@redhat.com>
72671         lib-ignore: relax license to LGPLv2+
72672         * modules/lib-ignore (License): Relax to LGPLv2+.
72674 2010-02-22  Eric Blake  <eblake@redhat.com>
72676         lseek: avoid bash 3.2 broken pipe bug
72677         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
72678         warning from bash 3.2.
72679         Reported by Ben Pfaff, with analysis from Bruno Haible.
72681         bootstrap: support non-FSF copyright holder
72682         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
72683         bootstrap.conf override of COPYRIGHT_HOLDER.
72684         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
72686         bootstrap: interoperate with gettext 0.14.1
72687         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
72689         bootstrap: allow for alternate submodule location
72690         * build-aux/bootstrap (gnulib_path): New variable; use instead of
72691         hardcoding submodule location.
72692         (gnulib_mk): Allow direct use of Makefile.am.
72694         bootstrap: use GNULIB_SRCDIR to reduce disk usage
72695         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
72696         rather than reconfiguring where the submodule points.
72698         gettimeofday: restore support for platforms that lack function
72699         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
72700         replacement if function is missing.
72701         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
72702         * modules/sys_time (Makefile.am): Substitute it.
72703         * lib/sys_time.in.h (gettimeofday): Check it.
72704         Reported by Michael Goffioul.
72706 2010-02-21  Bruno Haible  <bruno@clisp.org>
72708         * lib/stdio.in.h (obstack_printf): Fix typo.
72710 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
72712         vc-list-files: use bzr ls's -R option
72713         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
72714         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
72716 2010-02-21  Jim Meyering  <meyering@redhat.com>
72718         init.sh: fix EXEEXT shims to work also for names like test-prog
72719         * tests/init.sh: Re-exec a better shell, when needed.
72720         If the current shell lacks support for posix $(...), an init.sh-using
72721         test will now try to find a shell that supports that.  If EXEEXT is
72722         nonempty, we also require support for hyphen-in-alias-name and shell
72723         substitutions like ${var#glob}.  Failure to find such a shell results
72724         in a skipped test.
72726 2010-02-21  Bruno Haible  <bruno@clisp.org>
72728         Really work around "broken pipe" error message from bash 3.2.
72729         * gnulib-tool (func_reset_sigpipe): Remove function.
72730         (echo): In bash 3.2, define to a function that uses printf.
72731         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
72733 2010-02-20  Bruno Haible  <bruno@clisp.org>
72735         Restore support for automake 1.9.6 with autoconf 2.61.
72736         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
72737         Reported by James Youngman <jay@gnu.org>.
72739 2010-02-20  Bruno Haible  <bruno@clisp.org>
72741         Improve *printf warning condition.
72742         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
72743         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
72744         and the function is overridden due to SIGPIPE emulation.
72746 2010-02-20  Bruno Haible  <bruno@clisp.org>
72748         * lib/stdio.in.h: Tweak comments.
72750 2010-02-19  Bruno Haible  <bruno@clisp.org>
72752         Make it easier to find modules. New gnulib-tool option '--find'.
72753         * gnulib-tool: New option --find.
72754         (func_usage): Document it.
72755         (func_sanitize_modulelist): New function, extracted from
72756         func_all_modules.
72757         (func_all_modules): Invoke it.
72758         * doc/gnulib-tool.texi (Which modules?): New node.
72760 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
72762         * lib/sys_select.in.h: Provide select replacement even if
72763         sys/select.h exists on a system, for Interix.
72765 2010-02-18  Jim Meyering  <meyering@redhat.com>
72767         init.sh: don't use $(...) just yet
72768         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
72769         to accommodate e.g., Solaris' /bin/sh.
72771 2010-02-17  Bruno Haible  <bruno@clisp.org>
72773         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
72774         Reported by Ludovic Courtès <ludo@gnu.org>.
72776 2010-02-16  Simon Josefsson  <simon@josefsson.org>
72778         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
72779         linking with -lintl.
72781 2010-02-17  Simon Josefsson  <simon@josefsson.org>
72783         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
72784         if not provided by the system's netdb.h.  Reported by
72785         ludo@gnu.org (Ludovic Courtès).
72787 2010-02-15  Jim Meyering  <meyering@redhat.com>
72789         init.sh: improve portability and efficiency
72790         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
72791         "dummy" in a for loop.
72792         Use '!', not '^' to select the complement of a character set used
72793         in a "case" statement.
72794         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
72795         Suggestions from Eric Blake.
72797         init.sh: automatically accommodate programs with the .exe suffix
72798         Automatically arrange for an invocation of "prog" to execute the
72799         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
72800         may use the simpler "prog", yet still work when built on a system
72801         that requires specifying the added suffix.
72802         Do this by constructing a function named "prog" that invokes
72803         "prog.exe" for each .exe file in selected directories.
72804         * tests/init.sh (find_exe_basenames_): New function.
72805         (create_exe_shim_functions_): New function.
72806         (path_prepend_): Use it.
72808         maint.mk: mark syntax-check sc_*.m rules as .PHONY
72809         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
72810         "make -t syntax-check" doesn't create a ton of sc_*.m files.
72812 2010-02-14  Jim Meyering  <meyering@redhat.com>
72814         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
72815         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
72816         (sc_prohibit_hash_pjw_without_use): New rule.
72818         maint.mk: allow the default upload destination dir to be overridden
72819         * top/maint.mk (upload_dest_dir_): Define with a default that
72820         preserves the status quo.
72821         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
72822         Reported by Peter Simons.
72824         maint.mk: prohibit inclusion of "hash.h" without_use
72825         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
72827 2010-02-10  Jim Meyering  <meyering@redhat.com>
72829         maint.mk: prohibit inclusion of "ignore-value.h" without_use
72830         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
72832 2010-02-09  Eric Blake  <ebb9@byu.net>
72833         and Bruno Haible  <bruno@clisp.org>
72835         obstack-printf-posix: ensure declaration
72836         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
72837         extracted from gl_FUNC_OBSTACK_PRINTF.
72838         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
72839         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
72840         Likewise.
72841         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
72842         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
72843         0.
72845 2010-02-08  Bruno Haible  <bruno@clisp.org>
72847         gnulib-tool: Fix typo in 2010-02-07 commit.
72848         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
72849         Reported by Eric Blake.
72851 2010-02-07  Bruno Haible  <bruno@clisp.org>
72853         gnulib-tool: Fix up caching patches.
72854         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
72855         option --no-cache. Use associative arrays when supported by the shell.
72856         (sed_comments): New variable.
72857         (modcache): Renamed from do_cache.
72858         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
72859         abbreviate unnecessarily.
72860         (have_associative): New variable.
72861         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
72862         way also for ksh and zsh.
72863         (func_init_sed_convert_to_cache_statements): New function, extracted
72864         from func_cache_lookup_module. Add support for associative arrays.
72865         Don't set the c_MODULE_cached variable here. Ignore all lines before
72866         the first field header. Remove only the final newline, not all trailing
72867         newlines. Support empty fields correctly. Limit the use of 'eval' to
72868         assignments.
72869         (func_get_description, func_get_status, func_get_notice,
72870         func_get_applicability, func_get_filelist, func_get_dependencies,
72871         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
72872         func_get_automake_snippet, func_get_include_directive,
72873         func_get_link_directive, func_get_license, func_get_maintainer):
72874         Update documentation. List the unoptimized code first. Add support for
72875         associative arrays. Limit the use of 'eval' to assignments.
72876         (func_get_applicability): Undo stylistic pessimisations.
72877         (func_get_automake_snippet, func_get_include_directive): Reduce code
72878         duplication.
72879         (func_modules_transitive_closure, func_modules_add_dummy,
72880         func_modules_notice, func_modules_to_filelist, func_add_file,
72881         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
72882         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
72883         func_create_testdir, func_create_megatestdir): Update documentation.
72885 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72887         * gnulib-tool (func_cache_lookup_module): Store the module name
72888         belonging to the cache variable; error out if two different
72889         module names map to the same cache variable name.
72891 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72893         gnulib-tool: Make caching optional.
72894         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
72895         Update matching short versions of --no-changelog.
72896         (func_usage): Update.
72897         (sed_extract_cache_prog): Renamed from ...
72898         (sed_extract_prog): ... this; revert to old extraction script.
72899         (func_get_description, func_get_status)
72900         (func_get_notice, func_get_applicability, func_get_filelist)
72901         (func_get_dependencies, func_get_autoconf_early_snippet)
72902         (func_get_autoconf_snippet, func_get_automake_snippet)
72903         (func_get_include_directive, func_get_link_directive)
72904         (func_get_license, func_get_maintainer): If $do_cache is false,
72905         use old, non-caching extraction scripts.
72906         Suggestion by Bruno Haible.
72908 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72910         gnulib-tool: cache module metainformation.
72911         * gnulib-tool (sed_extract_prog): Match newline before each
72912         header, and rewrite header to a shell variable suffix.
72913         (func_cache_var, func_cache_lookup_module): New functions,
72914         to turn a module name into a cache variable prefix, and to
72915         look up and cache module metainformation.
72916         (func_get_description, func_get_status)
72917         (func_get_notice, func_get_applicability, func_get_filelist)
72918         (func_get_dependencies, func_get_autoconf_early_snippet)
72919         (func_get_autoconf_snippet, func_get_automake_snippet)
72920         (func_get_include_directive, func_get_link_directive)
72921         (func_get_license, func_get_maintainer): Use
72922         func_cache_lookup_module.
72924 2010-02-07  Bruno Haible  <bruno@clisp.org>
72926         fnctl: Fix missing dependency.
72927         * modules/fcntl (Depends-on): Add getdtablesize.
72928         Reported by John W. Eaton <jwe@gnu.org>.
72930 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
72932         Argp: fix recognition of short alias options.
72934         * lib/argp-parse.c (convert_options): Fix improper use of
72935         `|' between character values.
72936         * tests/test-argp.c (group1_option): New alias option
72937         --read (-r).
72938         (group1_parser): Special handling for 'r'.
72939         (test15): New test case.
72940         (test_fun): Add test15.
72941         * tests/test-argp-2.sh: Update expected --help and --usage
72942         outputs.
72944 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
72946         * tests/test-argp.c: Fix indentation.
72948 2010-02-04  Eric Blake  <ebb9@byu.net>
72950         gettimeofday: expose type of second argument
72951         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
72952         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
72953         * tests/test-gettimeofday.c: Use it to silence warning.
72954         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
72955         the issue.
72957 2010-02-03  Jim Meyering  <meyering@redhat.com>
72959         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
72960         * lib/regcomp.c (TYPE_SIGNED): Define.
72961         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
72963         regcomp.c: avoid a new -Wshadow warning
72964         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
72966 2010-02-01  Jim Meyering  <meyering@redhat.com>
72968         removing useless parentheses in cpp #define directives
72969         For motivation, see commit c0221df4, "define STREQ(a,b)
72970         consistently, removing useless parentheses"
72971         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
72972         * lib/mountlist.c (MNT_IGNORE): Likewise.
72973         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
72975 2010-02-01  Eric Blake  <ebb9@byu.net>
72977         sys_time: use link-warning
72978         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
72979         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
72980         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
72981         * modules/sys_time (Depends-on): Add warn-on-use.
72982         (Makefile.am): Always build replacement.
72983         (configure.ac): Update substitutions.
72984         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
72985         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
72986         bother with SYS_TIME_H.
72987         * modules/gettimeofday (configure.ac): Declare indicator.
72988         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
72989         in use.
72991         closein-tests: silence compiler warning
72992         * tests/test-closein.c (main): Ignore fread result.
72993         * modules/closein-tests (Depends-on): Add ignore-value.
72995         tests: silence warning about system return
72996         * tests/test-areadlink-with-size.c (main): Ignore system result.
72997         * tests/test-areadlink.c (main): Likewise.
72998         * tests/test-areadlinkat-with-size.c (main): Likewise.
72999         * tests/test-areadlinkat.c (main): Likewise.
73000         * tests/test-canonicalize-lgpl.c (main): Likewise.
73001         * tests/test-canonicalize.c (main): Likewise.
73002         * tests/test-chown.c (main): Likewise.
73003         * tests/test-fchownat.c (main): Likewise.
73004         * tests/test-fdutimensat.c (main): Likewise.
73005         * tests/test-fstatat.c (main): Likewise.
73006         * tests/test-futimens.c (main): Likewise.
73007         * tests/test-lchown.c (main): Likewise.
73008         * tests/test-link.c (main): Likewise.
73009         * tests/test-linkat.c (main): Likewise.
73010         * tests/test-lstat.c (main): Likewise.
73011         * tests/test-mkdir.c (main): Likewise.
73012         * tests/test-mkdirat.c (main): Likewise.
73013         * tests/test-mkfifo.c (main): Likewise.
73014         * tests/test-mkfifoat.c (main): Likewise.
73015         * tests/test-mknod.c (main): Likewise.
73016         * tests/test-readlink.c (main): Likewise.
73017         * tests/test-remove.c (main): Likewise.
73018         * tests/test-rename.c (main): Likewise.
73019         * tests/test-renameat.c (main): Likewise.
73020         * tests/test-rmdir.c (main): Likewise.
73021         * tests/test-symlink.c (main): Likewise.
73022         * tests/test-symlinkat.c (main): Likewise.
73023         * tests/test-unlink.c (main): Likewise.
73024         * tests/test-unlinkat.c (main): Likewise.
73025         * tests/test-utimens.c (main): Likewise.
73026         * tests/test-utimensat.c (main): Likewise.
73027         * modules/areadlink-tests (Depends-on): Add ignore-value.
73028         * modules/areadlink-with-size-tests (Depends-on): Likewise.
73029         * modules/areadlinkat-tests (Depends-on): Likewise.
73030         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
73031         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
73032         * modules/canonicalize-tests (Depends-on): Likewise.
73033         * modules/chown-tests (Depends-on): Likewise.
73034         * modules/fdutimensat-tests (Depends-on): Likewise.
73035         * modules/futimens-tests (Depends-on): Likewise.
73036         * modules/lchown-tests (Depends-on): Likewise.
73037         * modules/link-tests (Depends-on): Likewise.
73038         * modules/linkat-tests (Depends-on): Likewise.
73039         * modules/lstat-tests (Depends-on): Likewise.
73040         * modules/mkdir-tests (Depends-on): Likewise.
73041         * modules/mkfifo-tests (Depends-on): Likewise.
73042         * modules/mkfifoat-tests (Depends-on): Likewise.
73043         * modules/mknod-tests (Depends-on): Likewise.
73044         * modules/openat-tests (Depends-on): Likewise.
73045         * modules/readlink-tests (Depends-on): Likewise.
73046         * modules/remove-tests (Depends-on): Likewise.
73047         * modules/rename-tests (Depends-on): Likewise.
73048         * modules/renameat-tests (Depends-on): Likewise.
73049         * modules/rmdir-tests (Depends-on): Likewise.
73050         * modules/symlink-tests (Depends-on): Likewise.
73051         * modules/symlinkat-tests (Depends-on): Likewise.
73052         * modules/unlink-tests (Depends-on): Likewise.
73053         * modules/utimens-tests (Depends-on): Likewise.
73054         * modules/utimensat-tests (Depends-on): Likewise.
73056 2010-01-31  Bruno Haible  <bruno@clisp.org>
73058         Perform the same test for many <math.h> functions.
73059         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
73060         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
73061         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
73062         of gl_MATHFUNC.
73063         * modules/acos (configure.ac): Likewise.
73064         * modules/asin (configure.ac): Likewise.
73065         * modules/atan (configure.ac): Likewise.
73066         * modules/atan2 (configure.ac): Likewise.
73067         * modules/cbrt (configure.ac): Likewise.
73068         * modules/copysign (configure.ac): Likewise.
73069         * modules/cos (configure.ac): Likewise.
73070         * modules/cosh (configure.ac): Likewise.
73071         * modules/erf (configure.ac): Likewise.
73072         * modules/erfc (configure.ac): Likewise.
73073         * modules/exp (configure.ac): Likewise.
73074         * modules/fmod (configure.ac): Likewise.
73075         * modules/hypot (configure.ac): Likewise.
73076         * modules/j0 (configure.ac): Likewise.
73077         * modules/j1 (configure.ac): Likewise.
73078         * modules/jn (configure.ac): Likewise.
73079         * modules/lgamma (configure.ac): Likewise.
73080         * modules/log (configure.ac): Likewise.
73081         * modules/log10 (configure.ac): Likewise.
73082         * modules/log1p (configure.ac): Likewise.
73083         * modules/pow (configure.ac): Likewise.
73084         * modules/remainder (configure.ac): Likewise.
73085         * modules/sin (configure.ac): Likewise.
73086         * modules/sinh (configure.ac): Likewise.
73087         * modules/tan (configure.ac): Likewise.
73088         * modules/tanh (configure.ac): Likewise.
73089         * modules/y0 (configure.ac): Likewise.
73090         * modules/y1 (configure.ac): Likewise.
73091         * modules/yn (configure.ac): Likewise.
73092         Suggested by Paolo Bonzini.
73094 2010-01-31  Bruno Haible  <bruno@clisp.org>
73096         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
73098 2010-01-31  Bruno Haible  <bruno@clisp.org>
73100         Work around getdelim() bug on FreeBSD 8.0.
73101         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
73102         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
73103         not work.
73104         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
73105         is 1.
73106         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
73107         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
73108         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
73109         a non-zero size.
73110         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
73112 2010-01-31  Bruno Haible  <bruno@clisp.org>
73114         Work around getline() bug on FreeBSD 8.0.
73115         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
73116         and a non-zero size.
73117         * tests/test-getline.c (main): Likewise.
73118         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
73119         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
73121 2010-01-28  Eric Blake  <ebb9@byu.net>
73123         regex: fix build failure
73124         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
73125         platforms.
73127 2010-01-28  Jim Meyering  <meyering@redhat.com>
73129         regex: do not ignore memory allocation failure
73130         * lib/regex_internal.c (create_cd_newstate): Detect
73131         re_node_set_init_copy failure.   Extracted from glibc commit
73132         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
73134         regex: sync more white-space changes from libc
73135         * lib/regex_internal.c: White-space only changes.
73136         * lib/regexec.c: Likewise.
73138         regex: add many uses of __attribute_warn_unused_result__
73139         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
73140         * lib/regexec.c: Likewise.
73141         Extracted from a messy glibc commit.
73143         regcomp.c: spelling and merge-artifact from glibc
73144         * lib/regcomp.c: Merge remainder of glibc's
73145         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
73147         regcomp.c: sync white-space changes from glibc
73148         * lib/regcomp.c: Merge to accommodate white space
73149         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
73151         regcomp.c: do not ignore internal return values
73152         * lib/regcomp.c: Do not ignore internal return values.
73153         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
73154         but without its white-space changes and spelling fixes.
73156         regex_internal.h: define __attribute_warn_unused_result__
73157         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
73159         maint: add a syntax-check rule to check for vulnerable Makefile.in
73160         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
73162 2010-01-27  Jim Meyering  <meyering@redhat.com>
73164         ncftpput-ftp: clean up spaces
73165         * build-aux/ncftpput-ftp: Make Copyright line consistent.
73166         Remove trailing blanks.
73168 2010-01-27  Simon Josefsson  <simon@josefsson.org>
73170         * build-aux/git-version-gen: Fix copyright statement.
73171         * build-aux/gnupload: Likewise.
73172         * tests/test-arcfour.c: Likewise.
73173         * tests/test-arctwo.c: Likewise.
73174         * tests/test-count-one-bits.c: Likewise.
73175         * tests/test-crc.c: Likewise.
73176         * tests/test-des.c: Likewise.
73177         * tests/test-gc-arcfour.c: Likewise.
73178         * tests/test-gc-arctwo.c: Likewise.
73179         * tests/test-gc-des.c: Likewise.
73180         * tests/test-gc-hmac-md5.c: Likewise.
73181         * tests/test-gc-hmac-sha1.c: Likewise.
73182         * tests/test-gc-md2.c: Likewise.
73183         * tests/test-gc-md4.c: Likewise.
73184         * tests/test-gc-md5.c: Likewise.
73185         * tests/test-gc-pbkdf2-sha1.c: Likewise.
73186         * tests/test-gc-rijndael.c: Likewise.
73187         * tests/test-gc-sha1.c: Likewise.
73188         * tests/test-gc.c: Likewise.
73189         * tests/test-gethostname.c: Likewise.
73190         * tests/test-gettimeofday.c: Likewise.
73191         * tests/test-hash.c: Likewise.
73192         * tests/test-hmac-md5.c: Likewise.
73193         * tests/test-hmac-sha1.c: Likewise.
73194         * tests/test-md2.c: Likewise.
73195         * tests/test-md4.c: Likewise.
73196         * tests/test-md5.c: Likewise.
73197         * tests/test-memchr.c: Likewise.
73198         * tests/test-memchr2.c: Likewise.
73199         * tests/test-memcmp.c: Likewise.
73200         * tests/test-memmem.c: Likewise.
73201         * tests/test-memrchr.c: Likewise.
73202         * tests/test-rawmemchr.c: Likewise.
73203         * tests/test-read-file.c: Likewise.
73204         * tests/test-rijndael.c: Likewise.
73205         * tests/test-sockets.c: Likewise.
73206         * tests/test-strchrnul.c: Likewise.
73207         * tests/test-strstr.c: Likewise.
73208         * tests/test-strtod.c: Likewise.
73209         * build-aux/ncftpput-ftp: Likewise.
73211 2010-01-26  Eric Blake  <ebb9@byu.net>
73213         ignore-value: update recommended header name
73214         * modules/ignore-value (Include): Only use <> for headers that
73215         exist in glibc.
73217 2010-01-26  Jim Meyering  <meyering@redhat.com>
73219         test-userspec.c: avoid compiler warnings
73220         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
73221         and "initialization discards qualifiers..." warnings.
73222         Put the first "uid" in its own scope, and make char* members "const".
73224 2010-01-25  Bruno Haible  <bruno@clisp.org>
73226         gnulib-tool: Make warning diagnostics consistent.
73227         * gnulib-tool (func_warning): New function.
73228         Use it everywhere where gnulib-tool produces output to stderr and it is
73229         not a fatal error.
73231 2010-01-25  Bruno Haible  <bruno@clisp.org>
73233         Fix test dependencies.
73234         * modules/xstrtol-tests (Depends-on): Add inttypes.
73235         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
73237 2010-01-25  Pádraig Brady  <P@draigBrady.com>
73239         syntax-check: detect incorrect boolean macro values in config.h
73240         * modules/maintainer-makefile (configure.ac): Parameterize the location
73241         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
73242         The logic is from Eric Blake and the location indicated by Jim Meyering.
73243         Note the more natural CONFIG_HEADER name is prohibited by automake
73244         for backwards compatibility reasons.
73245         * top/maint.mk (sc_Wundef_boolean): New rule.
73247 2010-01-25  Jim Meyering  <meyering@redhat.com>
73249         bootstrap: detect MacOS 10.6's shasum, too
73250         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
73251         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
73253 2010-01-23  Jim Meyering  <meyering@redhat.com>
73255         xstrtoll: new module
73256         * modules/xstrtoll: New file.
73257         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
73258         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
73259         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
73260         ./configure fails if you use this module and lack "long long".
73261         * modules/xstrtoll-tests: New module.
73262         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
73263         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
73264         new init.sh-based test framework.
73266 2010-01-24  Bruno Haible  <bruno@clisp.org>
73268         Tests for module 'yn'.
73269         * modules/yn-tests: New file.
73270         * tests/test-yn.c: New file.
73272         Tests for module 'y1'.
73273         * modules/y1-tests: New file.
73274         * tests/test-y1.c: New file.
73276         Tests for module 'y0'.
73277         * modules/y0-tests: New file.
73278         * tests/test-y0.c: New file.
73280         Tests for module 'tanh'.
73281         * modules/tanh-tests: New file.
73282         * tests/test-tanh.c: New file.
73284         Tests for module 'tan'.
73285         * modules/tan-tests: New file.
73286         * tests/test-tan.c: New file.
73288         Tests for module 'sqrt'.
73289         * modules/sqrt-tests: New file.
73290         * tests/test-sqrt.c: New file.
73292         Tests for module 'sinh'.
73293         * modules/sinh-tests: New file.
73294         * tests/test-sinh.c: New file.
73296         Tests for module 'sin'.
73297         * modules/sin-tests: New file.
73298         * tests/test-sin.c: New file.
73300         Tests for module 'rint'.
73301         * modules/rint-tests: New file.
73302         * tests/test-rint.c: New file.
73304         Tests for module 'remainder'.
73305         * modules/remainder-tests: New file.
73306         * tests/test-remainder.c: New file.
73308         Tests for module 'pow'.
73309         * modules/pow-tests: New file.
73310         * tests/test-pow.c: New file.
73312         Tests for module 'nextafter'.
73313         * modules/nextafter-tests: New file.
73314         * tests/test-nextafter.c: New file.
73316         Tests for module 'modf'.
73317         * modules/modf-tests: New file.
73318         * tests/test-modf.c: New file.
73320         Tests for module 'logb'.
73321         * modules/logb-tests: New file.
73322         * tests/test-logb.c: New file.
73324         Tests for module 'log1p'.
73325         * modules/log1p-tests: New file.
73326         * tests/test-log1p.c: New file.
73328         Tests for module 'log10'.
73329         * modules/log10-tests: New file.
73330         * tests/test-log10.c: New file.
73332         Tests for module 'log'.
73333         * modules/log-tests: New file.
73334         * tests/test-log.c: New file.
73336         Tests for module 'lgamma'.
73337         * modules/lgamma-tests: New file.
73338         * tests/test-lgamma.c: New file.
73340         Tests for module 'ldexp'.
73341         * modules/ldexp-tests: New file.
73342         * tests/test-ldexp.c: New file.
73344         Tests for module 'jn'.
73345         * modules/jn-tests: New file.
73346         * tests/test-jn.c: New file.
73348         Tests for module 'j1'.
73349         * modules/j1-tests: New file.
73350         * tests/test-j1.c: New file.
73352         Tests for module 'j0'.
73353         * modules/j0-tests: New file.
73354         * tests/test-j0.c: New file.
73356         Tests for module 'hypot'.
73357         * modules/hypot-tests: New file.
73358         * tests/test-hypot.c: New file.
73360         Tests for module 'fmod'.
73361         * modules/fmod-tests: New file.
73362         * tests/test-fmod.c: New file.
73364         Tests for module 'fabs'.
73365         * modules/fabs-tests: New file.
73366         * tests/test-fabs.c: New file.
73368         Tests for module 'exp'.
73369         * modules/exp-tests: New file.
73370         * tests/test-exp.c: New file.
73372         Tests for module 'erfc'.
73373         * modules/erfc-tests: New file.
73374         * tests/test-erfc.c: New file.
73376         Tests for module 'erf'.
73377         * modules/erf-tests: New file.
73378         * tests/test-erf.c: New file.
73380         Tests for module 'cosh'.
73381         * modules/cosh-tests: New file.
73382         * tests/test-cosh.c: New file.
73384         Tests for module 'cos'.
73385         * modules/cos-tests: New file.
73386         * tests/test-cos.c: New file.
73388         Tests for module 'copysign'.
73389         * modules/copysign-tests: New file.
73390         * tests/test-copysign.c: New file.
73392         Tests for module 'cbrt'.
73393         * modules/cbrt-tests: New file.
73394         * tests/test-cbrt.c: New file.
73396         Tests for module 'atan2'.
73397         * modules/atan2-tests: New file.
73398         * tests/test-atan2.c: New file.
73400         Tests for module 'atan'.
73401         * modules/atan-tests: New file.
73402         * tests/test-atan.c: New file.
73404         Tests for module 'asin'.
73405         * modules/asin-tests: New file.
73406         * tests/test-asin.c: New file.
73408         Tests for module 'acos'.
73409         * modules/acos-tests: New file.
73410         * tests/test-acos.c: New file.
73412 2010-01-24  Bruno Haible  <bruno@clisp.org>
73414         Fix tests for common <math.h> functions.
73415         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
73416         code snippet that references the function pointer, rather than merely
73417         calling the function. Substitute the FUNC_LIBM variable.
73418         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
73419         * modules/acos (configure.ac): Likewise.
73420         * modules/asin (configure.ac): Likewise.
73421         * modules/atan (configure.ac): Likewise.
73422         * modules/atan2 (configure.ac): Likewise.
73423         * modules/cbrt (configure.ac): Likewise.
73424         * modules/copysign (configure.ac): Likewise.
73425         * modules/cos (configure.ac): Likewise.
73426         * modules/cosh (configure.ac): Likewise.
73427         * modules/erf (configure.ac): Likewise.
73428         * modules/erfc (configure.ac): Likewise.
73429         * modules/exp (configure.ac): Likewise.
73430         * modules/fabs (configure.ac): Likewise.
73431         * modules/fmod (configure.ac): Likewise.
73432         * modules/hypot (configure.ac): Likewise.
73433         * modules/j0 (configure.ac): Likewise.
73434         * modules/j1 (configure.ac): Likewise.
73435         * modules/jn (configure.ac): Likewise.
73436         * modules/ldexp (configure.ac): Likewise.
73437         * modules/lgamma (configure.ac): Likewise.
73438         * modules/log (configure.ac): Likewise.
73439         * modules/log10 (configure.ac): Likewise.
73440         * modules/log1p (configure.ac): Likewise.
73441         * modules/logb (configure.ac): Likewise.
73442         * modules/modf (configure.ac): Likewise.
73443         * modules/nextafter (configure.ac): Likewise.
73444         * modules/pow (configure.ac): Likewise.
73445         * modules/remainder (configure.ac): Likewise.
73446         * modules/rint (configure.ac): Likewise.
73447         * modules/sin (configure.ac): Likewise.
73448         * modules/sinh (configure.ac): Likewise.
73449         * modules/tan (configure.ac): Likewise.
73450         * modules/tanh (configure.ac): Likewise.
73451         * modules/y0 (configure.ac): Likewise.
73452         * modules/y1 (configure.ac): Likewise.
73453         * modules/yn (configure.ac): Likewise.
73455 2010-01-24  Bruno Haible  <bruno@clisp.org>
73457         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
73458         * tests/test-acosl.c (x): New variable.
73459         (main): Store argument in x and fetch it from x.
73460         * tests/test-asinl.c (x): New variable.
73461         (main): Store argument in x and fetch it from x.
73462         * tests/test-atanl.c (x): New variable.
73463         (main): Store argument in x and fetch it from x.
73464         * tests/test-cosl.c (x): New variable.
73465         (main): Store argument in x and fetch it from x.
73466         * tests/test-expl.c (x): New variable.
73467         (main): Store argument in x and fetch it from x.
73468         * tests/test-logl.c (x): New variable.
73469         (main): Store argument in x and fetch it from x.
73470         * tests/test-sinl.c (x): New variable.
73471         (main): Store argument in x and fetch it from x.
73472         * tests/test-sqrtl.c (x): New variable.
73473         (main): Store argument in x and fetch it from x.
73474         * tests/test-tanl.c (x): New variable.
73475         (main): Store argument in x and fetch it from x.
73477 2010-01-24  Bruno Haible  <bruno@clisp.org>
73479         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
73480         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
73481         assignments to the initial TESTS_ENVIRONMENT.
73482         * doc/gnulib.texi (Unit test modules): Document it.
73483         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
73484         TESTS_ENVIRONMENT.
73485         * modules/btowc-tests (Makefile.am): Likewise.
73486         * modules/c-stack-tests (Makefile.am): Likewise.
73487         * modules/c-strcase-tests (Makefile.am): Likewise.
73488         * modules/copy-file-tests (Makefile.am): Likewise.
73489         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
73490         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
73491         * modules/mbrtowc-tests (Makefile.am): Likewise.
73492         * modules/mbscasecmp-tests (Makefile.am): Likewise.
73493         * modules/mbscasestr-tests (Makefile.am): Likewise.
73494         * modules/mbschr-tests (Makefile.am): Likewise.
73495         * modules/mbscspn-tests (Makefile.am): Likewise.
73496         * modules/mbsinit-tests (Makefile.am): Likewise.
73497         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
73498         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
73499         * modules/mbspbrk-tests (Makefile.am): Likewise.
73500         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
73501         * modules/mbsrchr-tests (Makefile.am): Likewise.
73502         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
73503         * modules/mbsspn-tests (Makefile.am): Likewise.
73504         * modules/mbsstr-tests (Makefile.am): Likewise.
73505         * modules/nl_langinfo-tests (Makefile.am): Likewise.
73506         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
73507         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
73508         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
73509         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
73510         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
73511         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
73512         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
73513         * modules/wcrtomb-tests (Makefile.am): Likewise.
73514         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
73515         * modules/wcsrtombs-tests (Makefile.am): Likewise.
73516         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
73517         assignments from TESTS_ENVIRONMENT.
73518         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
73519         augmentation.
73520         * modules/argp-version-etc-tests (Makefile.am): Likewise.
73521         * modules/atexit-tests (Makefile.am): Likewise.
73522         * modules/binary-io-tests (Makefile.am): Likewise.
73523         * modules/closein-tests (Makefile.am): Likewise.
73524         * modules/dprintf-posix-tests (Makefile.am): Likewise.
73525         * modules/exclude-tests (Makefile.am): Likewise.
73526         * modules/fflush-tests (Makefile.am): Likewise.
73527         * modules/fpending-tests (Makefile.am): Likewise.
73528         * modules/fprintf-posix-tests (Makefile.am): Likewise.
73529         * modules/freadahead-tests (Makefile.am): Likewise.
73530         * modules/freadptr-tests (Makefile.am): Likewise.
73531         * modules/freadseek-tests (Makefile.am): Likewise.
73532         * modules/fseek-tests (Makefile.am): Likewise.
73533         * modules/fseeko-tests (Makefile.am): Likewise.
73534         * modules/ftell-tests (Makefile.am): Likewise.
73535         * modules/ftello-tests (Makefile.am): Likewise.
73536         * modules/idpriv-drop-tests (Makefile.am): Likewise.
73537         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
73538         * modules/lseek-tests (Makefile.am): Likewise.
73539         * modules/parse-duration-tests (Makefile.am): Likewise.
73540         * modules/perror-tests (Makefile.am): Likewise.
73541         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
73542         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
73543         * modules/pipe-tests (Makefile.am): Likewise.
73544         * modules/pread-tests (Makefile.am): Likewise.
73545         * modules/printf-posix-tests (Makefile.am): Likewise.
73546         * modules/select-tests (Makefile.am): Likewise.
73547         * modules/sigpipe-tests (Makefile.am): Likewise.
73548         * modules/tsearch-tests (Makefile.am): Likewise.
73549         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
73550         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
73551         * modules/uniname/uniname-tests (Makefile.am): Likewise.
73552         * modules/uniwidth/width-tests (Makefile.am): Likewise.
73553         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
73554         * modules/version-etc-tests (Makefile.am): Likewise.
73555         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
73556         * modules/vprintf-posix-tests (Makefile.am): Likewise.
73557         * modules/xalloc-die-tests (Makefile.am): Likewise.
73558         * modules/xprintf-posix-tests (Makefile.am): Likewise.
73559         * modules/xstrtoimax-tests (Makefile.am): Likewise.
73560         * modules/xstrtol-tests (Makefile.am): Likewise.
73561         * modules/xstrtoumax-tests (Makefile.am): Likewise.
73562         * modules/yesno-tests (Makefile.am): Likewise.
73563         Suggested by Jim Meyering.
73565 2010-01-24  Bruno Haible  <bruno@clisp.org>
73567         More documentation.
73568         * doc/gnulib.texi (Writing modules): New chapter.
73569         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
73570         the new chapter.
73572 2010-01-24  Jim Meyering  <meyering@redhat.com>
73574         maint.mk: do not prepend "./" after filtering
73575         * top/maint.mk (_prepend_srcdir_prefix): New variable
73576         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
73577         "./" when $(srcdir) is ".".
73579         define STREQ(a,b) consistently, removing useless parentheses
73580         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
73581         since the only risk is that "a" or "b" contains an unparenthesized
73582         comma, but if either did that, STREQ would have 3 or more arguments.
73583         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
73584         * lib/fts.c (STREQ): Remove unnecessary parentheses.
73585         * lib/hash-triple.c (STREQ): Likewise.
73586         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
73587         * lib/getugroups.c (STREQ): Likewise.
73589 2010-01-23  Jim Meyering  <meyering@redhat.com>
73591         maint.mk: fix syntax-check in a non-srcdir build directory
73592         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
73593         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
73595 2010-01-22  Jim Meyering  <meyering@redhat.com>
73597         userspec: add unit tests
73598         * tests/test-userspec.c: New file.
73599         * modules/userspec-tests: Likewise.
73601 2010-01-21  Jim Meyering  <meyering@redhat.com>
73603         maint.mk: handle source file names containing "." robustly
73604         * top/maint.mk (_dot_escaped_srcdir): Define.
73605         (VC_LIST): Use it in LHS of sed substitution.
73607 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
73609         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
73610         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
73611         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
73612         from a non-srcdir build.
73614 2010-01-20  Eric Blake  <ebb9@byu.net>
73616         warn-on-use: use instead of link-warning
73617         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
73618         * modules/unistd (Depends-on, Makefile.am): Likewise.
73619         * modules/arpa_inet (Depends-on): Replace link-warning with
73620         warn-on-use.
73621         (Makefile.am): Update rules accordingly.
73622         * modules/ctype (Depends-on, Makefile.am): Likewise.
73623         * modules/dirent (Depends-on, Makefile.am): Likewise.
73624         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
73625         * modules/inttypes (Depends-on, Makefile.am): Likewise.
73626         * modules/langinfo (Depends-on, Makefile.am): Likewise.
73627         * modules/locale (Depends-on, Makefile.am): Likewise.
73628         * modules/math (Depends-on, Makefile.am): Likewise.
73629         * modules/search (Depends-on, Makefile.am): Likewise.
73630         * modules/signal (Depends-on, Makefile.am): Likewise.
73631         * modules/spawn (Depends-on, Makefile.am): Likewise.
73632         * modules/stdlib (Depends-on, Makefile.am): Likewise.
73633         * modules/string (Depends-on, Makefile.am): Likewise.
73634         * modules/strings (Depends-on, Makefile.am): Likewise.
73635         * modules/sys_file (Depends-on, Makefile.am): Likewise.
73636         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
73637         * modules/sys_select (Depends-on, Makefile.am): Likewise.
73638         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
73639         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
73640         * modules/sys_times (Depends-on, Makefile.am): Likewise.
73641         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
73642         * modules/wchar (Depends-on, Makefile.am): Likewise.
73643         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
73644         should be poisoned.
73645         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
73646         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
73647         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
73648         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
73649         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
73650         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
73651         * m4/math_h.m4 (gl_MATH_H): Likewise.
73652         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
73653         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
73654         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
73655         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
73656         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
73657         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
73658         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
73659         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
73660         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
73661         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
73662         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
73663         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
73664         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
73665         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
73666         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
73667         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
73668         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
73669         GL_LINK_WARNING.
73670         * lib/ctype.in.h: Likewise.
73671         * lib/dirent.in.h: Likewise.
73672         * lib/fcntl.in.h: Likewise.
73673         * lib/inttypes.in.h: Likewise.
73674         * lib/langinfo.in.h: Likewise.
73675         * lib/locale.in.h: Likewise.
73676         * lib/math.in.h: Likewise.
73677         * lib/search.in.h: Likewise.
73678         * lib/signal.in.h: Likewise.
73679         * lib/spawn.in.h: Likewise.
73680         * lib/stdio.in.h: Likewise.
73681         * lib/stdlib.in.h: Likewise.
73682         * lib/string.in.h: Likewise.
73683         * lib/strings.in.h: Likewise.
73684         * lib/sys_file.in.h: Likewise.
73685         * lib/sys_ioctl.in.h: Likewise.
73686         * lib/sys_select.in.h: Likewise.
73687         * lib/sys_socket.in.h: Likewise.
73688         * lib/sys_stat.in.h: Likewise.
73689         * lib/sys_times.in.h: Likewise.
73690         * lib/sys_utsname.in.h: Likewise.
73691         * lib/unistd.in.h: Likewise.
73692         * lib/wchar.in.h: Likewise.
73694 2010-01-20  Bruno Haible  <bruno@clisp.org>
73696         Avoid duplicate -lm.
73697         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
73698         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
73699         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
73700         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
73701         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
73702         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
73703         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
73704         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
73705         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
73706         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
73707         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
73708         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
73709         Reported by Paolo Bonzini.
73711 2010-01-19  Bruno Haible  <bruno@clisp.org>
73713         langinfo, nl_langinfo: Relicense under LGPLv2+.
73714         * modules/langinfo (License): Change to LGPLv2+.
73715         * modules/nl_langinfo (License): Likewise.
73716         Patch by David Lutterkort <lutter@redhat.com>.
73718 2010-01-19  Bruno Haible  <bruno@clisp.org>
73720         Avoid compilation error with cc on OSF/1 5.1.
73721         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
73722         statement, not before.
73723         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73725 2010-01-18  Bruno Haible  <bruno@clisp.org>
73727         Avoid a link error due to the __printf__ symbol.
73728         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
73729         and 2.6.x.
73730         (__format__, __printf__): Remove definitions.
73731         * lib/argp-fmtstream.h: Likewise.
73732         * lib/argp.h: Likewise.
73733         * lib/error.h: Likewise.
73734         * lib/vasnprintf.h: Likewise.
73735         * lib/xprintf.h: Likewise.
73736         * lib/xvasprintf.h: Likewise.
73737         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73739 2010-01-18  Bruno Haible  <bruno@clisp.org>
73741         Tests for module 'tanl'.
73742         * modules/tanl-tests: New file.
73743         * tests/test-tanl.c: New file.
73745         Tests for module 'sqrtl'.
73746         * modules/sqrtl-tests: New file.
73747         * tests/test-sqrtl.c: New file.
73749         Tests for module 'sinl'.
73750         * modules/sinl-tests: New file.
73751         * tests/test-sinl.c: New file.
73753         Tests for module 'logl'.
73754         * modules/logl-tests: New file.
73755         * tests/test-logl.c: New file.
73757         Tests for module 'expl'.
73758         * modules/expl-tests: New file.
73759         * tests/test-expl.c: New file.
73761         Tests for module 'cosl'.
73762         * modules/cosl-tests: New file.
73763         * tests/test-cosl.c: New file.
73765         Tests for module 'atanl'.
73766         * modules/atanl-tests: New file.
73767         * tests/test-atanl.c: New file.
73769         Tests for module 'asinl'.
73770         * modules/asinl-tests: New file.
73771         * tests/test-asinl.c: New file.
73773         Tests for module 'acosl'.
73774         * modules/acosl-tests: New file.
73775         * tests/test-acosl.c: New file.
73777         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
73778         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
73779         tanl): Use the standard gnulib idiom.
73780         * lib/cosl.c: Don't include trigl.c and sincosl.c.
73781         * lib/sinl.c: Likewise.
73782         * lib/tanl.c: Don't include trigl.c.
73783         (kernel_tanl): Make static.
73784         * lib/sincosl.c: Include trigl.h first.
73785         * lib/trigl.c: Likewise.
73786         * m4/acosl.m4: New file.
73787         * m4/asinl.m4: New file.
73788         * m4/atanl.m4: New file.
73789         * m4/cosl.m4: New file.
73790         * m4/expl.m4: New file.
73791         * m4/logl.m4: New file.
73792         * m4/sinl.m4: New file.
73793         * m4/sqrtl.m4: New file.
73794         * m4/tanl.m4: New file.
73795         * m4/mathl.m4: Remove file.
73796         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
73797         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
73798         Don't initialize GNULIB_MATHL.
73799         * modules/acosl: New file.
73800         * modules/asinl: New file.
73801         * modules/atanl: New file.
73802         * modules/cosl: New file.
73803         * modules/expl: New file.
73804         * modules/logl: New file.
73805         * modules/sinl: New file.
73806         * modules/sqrtl: New file.
73807         * modules/tanl: New file.
73808         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
73809         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
73810         substitute GNULIB_MATHL.
73811         * modules/mathl: Rewritten.
73812         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
73813         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
73814         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
73815         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
73816         * doc/posix-functions/expl.texi: Mention the 'expl' module.
73817         * doc/posix-functions/logl.texi: Mention the 'logl' module.
73818         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
73819         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
73820         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
73822 2010-01-18  Bruno Haible  <bruno@clisp.org>
73824         sqrt: Make gl_FUNC_SQRT requirable.
73825         * m4/sqrt.m4: New file.
73826         * modules/sqrt (Files): Add it.
73827         (configure.ac): Invoke gl_FUNC_SQRT.
73829 2010-01-18  Bruno Haible  <bruno@clisp.org>
73831         New modules for common <math.h> functions.
73832         * m4/mathfunc.m4: New file.
73833         * modules/acos: New file.
73834         * modules/asin: New file.
73835         * modules/atan: New file.
73836         * modules/atan2: New file.
73837         * modules/cbrt: New file.
73838         * modules/copysign: New file.
73839         * modules/cos: New file.
73840         * modules/cosh: New file.
73841         * modules/erf: New file.
73842         * modules/erfc: New file.
73843         * modules/exp: New file.
73844         * modules/fabs: New file.
73845         * modules/fmod: New file.
73846         * modules/hypot: New file.
73847         * modules/j0: New file.
73848         * modules/j1: New file.
73849         * modules/jn: New file.
73850         * modules/ldexp: New file.
73851         * modules/lgamma: New file.
73852         * modules/log: New file.
73853         * modules/log10: New file.
73854         * modules/log1p: New file.
73855         * modules/logb: New file.
73856         * modules/modf: New file.
73857         * modules/nextafter: New file.
73858         * modules/pow: New file.
73859         * modules/remainder: New file.
73860         * modules/rint: New file.
73861         * modules/sin: New file.
73862         * modules/sinh: New file.
73863         * modules/sqrt: New file.
73864         * modules/tan: New file.
73865         * modules/tanh: New file.
73866         * modules/y0: New file.
73867         * modules/y1: New file.
73868         * modules/yn: New file.
73869         * doc/posix-functions/acos.texi: Mention the 'acos' module.
73870         * doc/posix-functions/asin.texi: Mention the 'asin' module.
73871         * doc/posix-functions/atan.texi: Mention the 'atan' module.
73872         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
73873         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
73874         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
73875         * doc/posix-functions/cos.texi: Mention the 'cos' module.
73876         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
73877         * doc/posix-functions/erf.texi: Mention the 'erf' module.
73878         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
73879         * doc/posix-functions/exp.texi: Mention the 'exp' module.
73880         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
73881         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
73882         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
73883         * doc/posix-functions/j0.texi: Mention the 'j0' module.
73884         * doc/posix-functions/j1.texi: Mention the 'j1' module.
73885         * doc/posix-functions/jn.texi: Mention the 'jn' module.
73886         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
73887         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
73888         * doc/posix-functions/log.texi: Mention the 'log' module.
73889         * doc/posix-functions/log10.texi: Mention the 'log10' module.
73890         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
73891         * doc/posix-functions/logb.texi: Mention the 'logb' module.
73892         * doc/posix-functions/modf.texi: Mention the 'modf' module.
73893         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
73894         * doc/posix-functions/pow.texi: Mention the 'pow' module.
73895         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
73896         * doc/posix-functions/rint.texi: Mention the 'rint' module.
73897         * doc/posix-functions/sin.texi: Mention the 'sin' module.
73898         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
73899         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
73900         * doc/posix-functions/tan.texi: Mention the 'tan' module.
73901         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
73902         * doc/posix-functions/y0.texi: Mention the 'y0' module.
73903         * doc/posix-functions/y1.texi: Mention the 'y1' module.
73904         * doc/posix-functions/yn.texi: Mention the 'yn' module.
73906 2010-01-18  Jim Meyering  <meyering@redhat.com>
73908         ignore-value: relax license to LGPLv2+
73909         * modules/ignore-value (License): Relax to LGPLv2+.
73911         getdate: don't leak when TZ contains two or more '"'s
73912         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
73913         double quote in TZ after the first one.
73915         readtokens: do not leak internal token_lengths buffer
73916         * lib/readtokens.c (readtokens): Free the local, lengths,
73917         when the supplied "token_lengths" parameter is NULL.
73919 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73921         Fix a couple of missing LIBTHREAD link failures on AIX.
73922         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
73923         $(LIBTHREAD).
73924         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
73926         Link test-poll against INET_PTON_LIB.
73927         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
73928         for inet_pton on Solaris 10.
73930 2010-01-17  Bruno Haible  <bruno@clisp.org>
73932         unistdio/*-sprintf: Fix typo in module description.
73933         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
73934         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
73935         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
73936         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
73937         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
73938         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
73939         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
73940         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73942 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73944         gnulib-tool: fix filelist for AIX, HP-UX ksh.
73945         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
73946         variables in shell case patterns, for AIX and HP-UX ksh.
73948         Split large sed scripts, for HP-UX sed.
73949         * modules/stdio: Split sed scripts around 50 sed commands,
73950         to avoid HP-UX limit of 99 commands, in the near future.
73951         * modules/string: Likewise.
73952         * modules/unistd: Likewise.
73954         gnulib-tool: avoid writing in the current directory.
73955         * gnulib-tool (func_emit_lib_Makefile_am)
73956         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
73957         not in the current directory, so concurrent gnulib-tool
73958         instances do not interfere.
73960 2010-01-16  Jim Meyering  <meyering@redhat.com>
73962         doc: update users.txt
73963         * users.txt: Add grep.
73964         (diffutils, gzip): Update URLs.
73966 2010-01-12  Bruno Haible  <bruno@clisp.org>
73968         posix_spawn: Avoid test failure on Cygwin.
73969         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
73970         characters.
73971         Reported by Simon Josefsson.
73973 2010-01-12  Bruno Haible  <bruno@clisp.org>
73975         * tests/test-cond.c (main): When skipping the test, show the reason.
73977 2010-01-12  Simon Josefsson  <simon@josefsson.org>
73979         * lib/striconv.c (str_cd_iconv): Avoid if before free.
73981 2010-01-12  Simon Josefsson  <simon@josefsson.org>
73983         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
73984         VC_LIST_ALWAYS_EXCLUDE_REGEX.
73986 2010-01-12  Eric Blake  <ebb9@byu.net>
73988         build: guarantee AS_VAR_IF
73989         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
73990         (gl_AS_VAR_IF): Move...
73991         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
73992         Reported by Simon Josefsson.
73994 2010-01-12  Simon Josefsson  <simon@josefsson.org>
73996         * lib/stdio.in.h: Fix typo.
73998 2010-01-12  Simon Josefsson  <simon@josefsson.org>
74000         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
74001         libgpg-error.
74003 2010-01-12  Simon Josefsson  <simon@josefsson.org>
74005         * tests/test-xalloc-die.sh: Use $EXEEXT.
74007 2010-01-12  Simon Josefsson  <simon@josefsson.org>
74008             Bruno Haible  <bruno@clisp.org>
74010         getlogin, getlogin_r: Avoid test failure.
74011         * tests/test-getlogin.c: Include <stdio.h>.
74012         (main): Skip the test when the function fails because stdin is not a
74013         tty.
74014         * tests/test-getlogin_r.c: Include <stdio.h>.
74015         (main): Skip the test when the function fails because stdin is not a
74016         tty.
74018 2010-01-11  Eric Blake  <ebb9@byu.net>
74020         tests: avoid more large file warnings
74021         * tests/test-fflush.c: Avoid warning about ftell use.
74022         * tests/test-fseek.c: Avoid warning about fseek use.
74024 2010-01-10  Bruno Haible  <bruno@clisp.org>
74026         nproc: Work better on Linux when /proc and /sys are not mounted.
74027         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
74028         as lower bound when, on glibc/Linux systems,
74029         sysconf (_SC_NPROCESSORS_CONF) returns 1.
74030         Suggested by Pádraig Brady <P@draigbrady.com>.
74031         Reported by Dmitry V. Levin <ldv@altlinux.org>.
74033         nproc: Refactor.
74034         * lib/nproc.c (num_processors_via_affinity_mask): New function,
74035         extracted from num_processors.
74036         (num_processors): Call it.
74038 2010-01-11  Jim Meyering  <meyering@redhat.com>
74040         utimecmp: avoid new warning from upcoming gcc-4.5.0
74041         * lib/utimecmp.c (BILLION): Define using #define rather than an
74042         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
74044 2010-01-11  Eric Blake  <ebb9@byu.net>
74046         math: add portability warnings for classification macros
74047         * modules/math (Depends-on): Add warn-on-use.
74048         (Makefile.am): Provide new substitutions.
74049         * m4/math_h.m4 (gl_MATH_H): Require inline.
74050         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
74051         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
74052         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
74053         implement warnings.
74055         unistd: warn on use of environ without module
74056         * modules/unistd (Depends-on): Add warn-on-use.
74057         (Makefile.am): Provide new substitutions.
74058         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
74059         * lib/unistd.in.h (environ): Wrap with a warning helper function.
74061         stdio: warn on suspicious uses
74062         * modules/stdio (Depends-on): Add warn-on-use.
74063         (Makefile.am): Provide new substitutions.
74064         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
74065         fseeko.
74066         * lib/stdio.in.h (gets): Always warn on use.
74067         (fseek, ftell): Adjust when warnings are issued, and honor
74068         _GL_NO_LARGE_FILES as a way to silence the warning.
74069         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
74070         any warning about large file offsets.
74071         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
74072         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
74073         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
74074         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
74075         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
74076         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
74077         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
74078         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
74080         warn-on-use: new module
74081         * modules/warn-on-use: New file.
74082         * build-aux/warn-on-use.h: Likewise.
74083         * m4/warn-on-use.m4: Likewise.
74084         * MODULES.html.sh (Support for building): Mention it.
74086 2010-01-10  Bruno Haible  <bruno@clisp.org>
74088         Tests for module 'unistr/u32-strdup'.
74089         * modules/unistr/u32-strdup-tests: New file.
74090         * tests/unistr/test-u32-strdup.c: New file.
74092         Tests for module 'unistr/u16-strdup'.
74093         * modules/unistr/u16-strdup-tests: New file.
74094         * tests/unistr/test-u16-strdup.c: New file.
74096         Tests for module 'unistr/u8-strdup'.
74097         * modules/unistr/u8-strdup-tests: New file.
74098         * tests/unistr/test-u8-strdup.c: New file.
74099         * tests/unistr/test-strdup.h: New file.
74101         Tests for module 'unistr/u32-strncmp'.
74102         * modules/unistr/u32-strncmp-tests: New file.
74103         * tests/unistr/test-u32-strncmp.c: New file.
74105         Tests for module 'unistr/u16-strncmp'.
74106         * modules/unistr/u16-strncmp-tests: New file.
74107         * tests/unistr/test-u16-strncmp.c: New file.
74109         Tests for module 'unistr/u8-strncmp'.
74110         * modules/unistr/u8-strncmp-tests: New file.
74111         * tests/unistr/test-u8-strncmp.c: New file.
74112         * tests/unistr/test-strncmp.h: New file.
74114         Tests for module 'unistr/u32-strcoll'.
74115         * modules/unistr/u32-strcoll-tests: New file.
74116         * tests/unistr/test-u32-strcoll.c: New file.
74118         Tests for module 'unistr/u16-strcoll'.
74119         * modules/unistr/u16-strcoll-tests: New file.
74120         * tests/unistr/test-u16-strcoll.c: New file.
74122         Tests for module 'unistr/u8-strcoll'.
74123         * modules/unistr/u8-strcoll-tests: New file.
74124         * tests/unistr/test-u8-strcoll.c: New file.
74126         Tests for module 'unistr/u32-strcmp'.
74127         * modules/unistr/u32-strcmp-tests: New file.
74128         * tests/unistr/test-u32-strcmp.c: New file.
74129         * tests/unistr/test-u32-strcmp.h: New file.
74131         Tests for module 'unistr/u16-strcmp'.
74132         * modules/unistr/u16-strcmp-tests: New file.
74133         * tests/unistr/test-u16-strcmp.c: New file.
74134         * tests/unistr/test-u16-strcmp.h: New file.
74136         Tests for module 'unistr/u8-strcmp'.
74137         * modules/unistr/u8-strcmp-tests: New file.
74138         * tests/unistr/test-u8-strcmp.c: New file.
74139         * tests/unistr/test-u8-strcmp.h: New file.
74140         * tests/unistr/test-strcmp.h: New file.
74142         Tests for module 'unistr/u32-strncat'.
74143         * modules/unistr/u32-strncat-tests: New file.
74144         * tests/unistr/test-u32-strncat.c: New file.
74146         Tests for module 'unistr/u16-strncat'.
74147         * modules/unistr/u16-strncat-tests: New file.
74148         * tests/unistr/test-u16-strncat.c: New file.
74150         Tests for module 'unistr/u8-strncat'.
74151         * modules/unistr/u8-strncat-tests: New file.
74152         * tests/unistr/test-u8-strncat.c: New file.
74153         * tests/unistr/test-strncat.h: New file.
74155         Tests for module 'unistr/u32-strcat'.
74156         * modules/unistr/u32-strcat-tests: New file.
74157         * tests/unistr/test-u32-strcat.c: New file.
74159         Tests for module 'unistr/u16-strcat'.
74160         * modules/unistr/u16-strcat-tests: New file.
74161         * tests/unistr/test-u16-strcat.c: New file.
74163         Tests for module 'unistr/u8-strcat'.
74164         * modules/unistr/u8-strcat-tests: New file.
74165         * tests/unistr/test-u8-strcat.c: New file.
74166         * tests/unistr/test-strcat.h: New file.
74168         Tests for module 'unistr/u32-stpncpy'.
74169         * modules/unistr/u32-stpncpy-tests: New file.
74170         * tests/unistr/test-u32-stpncpy.c: New file.
74172         Tests for module 'unistr/u16-stpncpy'.
74173         * modules/unistr/u16-stpncpy-tests: New file.
74174         * tests/unistr/test-u16-stpncpy.c: New file.
74176         Tests for module 'unistr/u8-stpncpy'.
74177         * modules/unistr/u8-stpncpy-tests: New file.
74178         * tests/unistr/test-u8-stpncpy.c: New file.
74179         * tests/unistr/test-stpncpy.h: New file.
74181         Tests for module 'unistr/u32-strncpy'.
74182         * modules/unistr/u32-strncpy-tests: New file.
74183         * tests/unistr/test-u32-strncpy.c: New file.
74185         Tests for module 'unistr/u16-strncpy'.
74186         * modules/unistr/u16-strncpy-tests: New file.
74187         * tests/unistr/test-u16-strncpy.c: New file.
74189         Tests for module 'unistr/u8-strncpy'.
74190         * modules/unistr/u8-strncpy-tests: New file.
74191         * tests/unistr/test-u8-strncpy.c: New file.
74192         * tests/unistr/test-strncpy.h: New file.
74194         Tests for module 'unistr/u32-stpcpy'.
74195         * modules/unistr/u32-stpcpy-tests: New file.
74196         * tests/unistr/test-u32-stpcpy.c: New file.
74198         Tests for module 'unistr/u16-stpcpy'.
74199         * modules/unistr/u16-stpcpy-tests: New file.
74200         * tests/unistr/test-u16-stpcpy.c: New file.
74202         Tests for module 'unistr/u8-stpcpy'.
74203         * modules/unistr/u8-stpcpy-tests: New file.
74204         * tests/unistr/test-u8-stpcpy.c: New file.
74205         * tests/unistr/test-stpcpy.h: New file.
74207         Tests for module 'unistr/u32-strcpy'.
74208         * modules/unistr/u32-strcpy-tests: New file.
74209         * tests/unistr/test-u32-strcpy.c: New file.
74211         Tests for module 'unistr/u16-strcpy'.
74212         * modules/unistr/u16-strcpy-tests: New file.
74213         * tests/unistr/test-u16-strcpy.c: New file.
74215         Tests for module 'unistr/u8-strcpy'.
74216         * modules/unistr/u8-strcpy-tests: New file.
74217         * tests/unistr/test-u8-strcpy.c: New file.
74218         * tests/unistr/test-strcpy.h: New file.
74220         Tests for module 'unistr/u32-strnlen'.
74221         * modules/unistr/u32-strnlen-tests: New file.
74222         * tests/unistr/test-u32-strnlen.c: New file.
74224         Tests for module 'unistr/u16-strnlen'.
74225         * modules/unistr/u16-strnlen-tests: New file.
74226         * tests/unistr/test-u16-strnlen.c: New file.
74228         Tests for module 'unistr/u8-strnlen'.
74229         * modules/unistr/u8-strnlen-tests: New file.
74230         * tests/unistr/test-u8-strnlen.c: New file.
74231         * tests/unistr/test-strnlen.h: New file.
74233         Tests for module 'unistr/u32-strlen'.
74234         * modules/unistr/u32-strlen-tests: New file.
74235         * tests/unistr/test-u32-strlen.c: New file.
74237         Tests for module 'unistr/u16-strlen'.
74238         * modules/unistr/u16-strlen-tests: New file.
74239         * tests/unistr/test-u16-strlen.c: New file.
74241         Tests for module 'unistr/u8-strlen'.
74242         * modules/unistr/u8-strlen-tests: New file.
74243         * tests/unistr/test-u8-strlen.c: New file.
74245         Tests for module 'unistr/u32-prev'.
74246         * modules/unistr/u32-prev-tests: New file.
74247         * tests/unistr/test-u32-prev.c: New file.
74249         Tests for module 'unistr/u16-prev'.
74250         * modules/unistr/u16-prev-tests: New file.
74251         * tests/unistr/test-u16-prev.c: New file.
74253         Tests for module 'unistr/u8-prev'.
74254         * modules/unistr/u8-prev-tests: New file.
74255         * tests/unistr/test-u8-prev.c: New file.
74257         Tests for module 'unistr/u32-next'.
74258         * modules/unistr/u32-next-tests: New file.
74259         * tests/unistr/test-u32-next.c: New file.
74261         Tests for module 'unistr/u16-next'.
74262         * modules/unistr/u16-next-tests: New file.
74263         * tests/unistr/test-u16-next.c: New file.
74265         Tests for module 'unistr/u8-next'.
74266         * modules/unistr/u8-next-tests: New file.
74267         * tests/unistr/test-u8-next.c: New file.
74269         Tests for module 'unistr/u32-strmbtouc'.
74270         * modules/unistr/u32-strmbtouc-tests: New file.
74271         * tests/unistr/test-u32-strmbtouc.c: New file.
74273         Tests for module 'unistr/u16-strmbtouc'.
74274         * modules/unistr/u16-strmbtouc-tests: New file.
74275         * tests/unistr/test-u16-strmbtouc.c: New file.
74277         Tests for module 'unistr/u8-strmbtouc'.
74278         * modules/unistr/u8-strmbtouc-tests: New file.
74279         * tests/unistr/test-u8-strmbtouc.c: New file.
74281         Tests for module 'unistr/u32-strmblen'.
74282         * modules/unistr/u32-strmblen-tests: New file.
74283         * tests/unistr/test-u32-strmblen.c: New file.
74285         Tests for module 'unistr/u16-strmblen'.
74286         * modules/unistr/u16-strmblen-tests: New file.
74287         * tests/unistr/test-u16-strmblen.c: New file.
74289         Tests for module 'unistr/u8-strmblen'.
74290         * modules/unistr/u8-strmblen-tests: New file.
74291         * tests/unistr/test-u8-strmblen.c: New file.
74293         Tests for module 'unistr/u32-cpy-alloc'.
74294         * modules/unistr/u32-cpy-alloc-tests: New file.
74295         * tests/unistr/test-u32-cpy-alloc.c: New file.
74297         Tests for module 'unistr/u16-cpy-alloc'.
74298         * modules/unistr/u16-cpy-alloc-tests: New file.
74299         * tests/unistr/test-u16-cpy-alloc.c: New file.
74301         Tests for module 'unistr/u8-cpy-alloc'.
74302         * modules/unistr/u8-cpy-alloc-tests: New file.
74303         * tests/unistr/test-u8-cpy-alloc.c: New file.
74304         * tests/unistr/test-cpy-alloc.h: New file.
74306         Tests for module 'unistr/u32-mbsnlen'.
74307         * modules/unistr/u32-mbsnlen-tests: New file.
74308         * tests/unistr/test-u32-mbsnlen.c: New file.
74310         Tests for module 'unistr/u16-mbsnlen'.
74311         * modules/unistr/u16-mbsnlen-tests: New file.
74312         * tests/unistr/test-u16-mbsnlen.c: New file.
74314         Tests for module 'unistr/u8-mbsnlen'.
74315         * modules/unistr/u8-mbsnlen-tests: New file.
74316         * tests/unistr/test-u8-mbsnlen.c: New file.
74318         Tests for module 'unistr/u32-chr'.
74319         * modules/unistr/u32-chr-tests: New file.
74320         * tests/unistr/test-u32-chr.c: New file.
74322         Tests for module 'unistr/u16-chr'.
74323         * modules/unistr/u16-chr-tests: New file.
74324         * tests/unistr/test-u16-chr.c: New file.
74326         Tests for module 'unistr/u8-chr'.
74327         * modules/unistr/u8-chr-tests: New file.
74328         * tests/unistr/test-u8-chr.c: New file.
74329         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
74331         Tests for module 'unistr/u32-cmp2'.
74332         * modules/unistr/u32-cmp2-tests: New file.
74333         * tests/unistr/test-u32-cmp2.c: New file.
74335         Tests for module 'unistr/u16-cmp2'.
74336         * modules/unistr/u16-cmp2-tests: New file.
74337         * tests/unistr/test-u16-cmp2.c: New file.
74339         Tests for module 'unistr/u8-cmp2'.
74340         * modules/unistr/u8-cmp2-tests: New file.
74341         * tests/unistr/test-u8-cmp2.c: New file.
74342         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
74344         Tests for module 'unistr/u32-cmp'.
74345         * modules/unistr/u32-cmp-tests: New file.
74346         * tests/unistr/test-u32-cmp.c: New file.
74348         Tests for module 'unistr/u16-cmp'.
74349         * modules/unistr/u16-cmp-tests: New file.
74350         * tests/unistr/test-u16-cmp.c: New file.
74352         Tests for module 'unistr/u8-cmp'.
74353         * modules/unistr/u8-cmp-tests: New file.
74354         * tests/unistr/test-u8-cmp.c: New file.
74355         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
74357         Tests for module 'unistr/u32-set'.
74358         * modules/unistr/u32-set-tests: New file.
74359         * tests/unistr/test-u32-set.c: New file.
74361         Tests for module 'unistr/u16-set'.
74362         * modules/unistr/u16-set-tests: New file.
74363         * tests/unistr/test-u16-set.c: New file.
74365         Tests for module 'unistr/u8-set'.
74366         * modules/unistr/u8-set-tests: New file.
74367         * tests/unistr/test-u8-set.c: New file.
74368         * tests/unistr/test-set.h: New file.
74370         Tests for module 'unistr/u32-move'.
74371         * modules/unistr/u32-move-tests: New file.
74372         * tests/unistr/test-u32-move.c: New file.
74374         Tests for module 'unistr/u16-move'.
74375         * modules/unistr/u16-move-tests: New file.
74376         * tests/unistr/test-u16-move.c: New file.
74378         Tests for module 'unistr/u8-move'.
74379         * modules/unistr/u8-move-tests: New file.
74380         * tests/unistr/test-u8-move.c: New file.
74381         * tests/unistr/test-move.h: New file.
74383         Tests for module 'unistr/u32-cpy'.
74384         * modules/unistr/u32-cpy-tests: New file.
74385         * tests/unistr/test-u32-cpy.c: New file.
74387         Tests for module 'unistr/u16-cpy'.
74388         * modules/unistr/u16-cpy-tests: New file.
74389         * tests/unistr/test-u16-cpy.c: New file.
74391         Tests for module 'unistr/u8-cpy'.
74392         * modules/unistr/u8-cpy-tests: New file.
74393         * tests/unistr/test-u8-cpy.c: New file.
74394         * tests/unistr/test-cpy.h: New file.
74396 2010-01-09  Bruno Haible  <bruno@clisp.org>
74398         Tests for module 'unistr/u32-uctomb'.
74399         * modules/unistr/u32-uctomb-tests: New file.
74400         * tests/unistr/test-u32-uctomb.c: New file.
74402         Tests for module 'unistr/u16-uctomb'.
74403         * modules/unistr/u16-uctomb-tests: New file.
74404         * tests/unistr/test-u16-uctomb.c: New file.
74406         Tests for module 'unistr/u8-uctomb'.
74407         * modules/unistr/u8-uctomb-tests: New file.
74408         * tests/unistr/test-u8-uctomb.c: New file.
74410         Tests for module 'unistr/u32-mbtoucr'.
74411         * modules/unistr/u32-mbtoucr-tests: New file.
74412         * tests/unistr/test-u32-mbtoucr.c: New file.
74414         Tests for module 'unistr/u16-mbtoucr'.
74415         * modules/unistr/u16-mbtoucr-tests: New file.
74416         * tests/unistr/test-u16-mbtoucr.c: New file.
74418         Tests for module 'unistr/u8-mbtoucr'.
74419         * modules/unistr/u8-mbtoucr-tests: New file.
74420         * tests/unistr/test-u8-mbtoucr.c: New file.
74422         Tests for module 'unistr/u32-mbtouc'.
74423         * modules/unistr/u32-mbtouc-tests: New file.
74424         * tests/unistr/test-u32-mbtouc.c: New file.
74426         Tests for module 'unistr/u16-mbtouc'.
74427         * modules/unistr/u16-mbtouc-tests: New file.
74428         * tests/unistr/test-u16-mbtouc.c: New file.
74430         Tests for module 'unistr/u8-mbtouc'.
74431         * modules/unistr/u8-mbtouc-tests: New file.
74432         * tests/unistr/test-u8-mbtouc.c: New file.
74434         Tests for module 'unistr/u32-mbtouc-unsafe'.
74435         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
74436         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
74437         * tests/unistr/test-u32-mbtouc.h: New file.
74439         Tests for module 'unistr/u16-mbtouc-unsafe'.
74440         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
74441         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
74442         * tests/unistr/test-u16-mbtouc.h: New file.
74444         Tests for module 'unistr/u8-mbtouc-unsafe'.
74445         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
74446         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
74447         * tests/unistr/test-u8-mbtouc.h: New file.
74449         Tests for module 'unistr/u32-mblen'.
74450         * modules/unistr/u32-mblen-tests: New file.
74451         * tests/unistr/test-u32-mblen.c: New file.
74453         Tests for module 'unistr/u16-mblen'.
74454         * modules/unistr/u16-mblen-tests: New file.
74455         * tests/unistr/test-u16-mblen.c: New file.
74457         Tests for module 'unistr/u8-mblen'.
74458         * modules/unistr/u8-mblen-tests: New file.
74459         * tests/unistr/test-u8-mblen.c: New file.
74461         Tests for module 'unistr/u32-to-u16'.
74462         * modules/unistr/u32-to-u16-tests: New file.
74463         * tests/unistr/test-u32-to-u16.c: New file.
74465         Tests for module 'unistr/u32-to-u8'.
74466         * modules/unistr/u32-to-u8-tests: New file.
74467         * tests/unistr/test-u32-to-u8.c: New file.
74469         Tests for module 'unistr/u16-to-u32'.
74470         * modules/unistr/u16-to-u32-tests: New file.
74471         * tests/unistr/test-u16-to-u32.c: New file.
74473         Tests for module 'unistr/u16-to-u8'.
74474         * modules/unistr/u16-to-u8-tests: New file.
74475         * tests/unistr/test-u16-to-u8.c: New file.
74477         Tests for module 'unistr/u8-to-u32'.
74478         * modules/unistr/u8-to-u32-tests: New file.
74479         * tests/unistr/test-u8-to-u32.c: New file.
74481         Tests for module 'unistr/u8-to-u16'.
74482         * modules/unistr/u8-to-u16-tests: New file.
74483         * tests/unistr/test-u8-to-u16.c: New file.
74485         Tests for module 'unistr/u32-check'.
74486         * modules/unistr/u32-check-tests: New file.
74487         * tests/unistr/test-u32-check.c: New file.
74489         Tests for module 'unistr/u16-check'.
74490         * modules/unistr/u16-check-tests: New file.
74491         * tests/unistr/test-u16-check.c: New file.
74493         Tests for module 'unistr/u8-check'.
74494         * modules/unistr/u8-check-tests: New file.
74495         * tests/unistr/test-u8-check.c: New file.
74497         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
74498         (category_equals): New function.
74499         (main): Add more tests.
74500         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
74502         * tests/unictype/test-bidi_byname.c (main): Add more tests.
74504 2010-01-10  Bruno Haible  <bruno@clisp.org>
74506         unistr/u*-strcoll: Try harder to distinguish different strings.
74507         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
74508         compare s1 and s2 to see if they are different.
74510 2010-01-10  Bruno Haible  <bruno@clisp.org>
74512         unistr/u*-stpncpy: Fix the return value.
74513         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
74514         description of the return value consistent with stpncpy in glibc.
74515         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
74516         written non-NUL unit.
74518 2010-01-10  Bruno Haible  <bruno@clisp.org>
74520         unistr/u*-next: Add missing dependencies.
74521         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
74522         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
74523         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
74525 2010-01-10  Bruno Haible  <bruno@clisp.org>
74527         unistr/u8-mbsnlen: Fix return value for incomplete character.
74528         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
74529         u8_mblen.
74530         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
74531         Remove unistr/u8-mblen.
74532         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
74533         u16_mblen.
74534         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
74535         Remove unistr/u16-mblen.
74537 2010-01-10  Bruno Haible  <bruno@clisp.org>
74539         wchar: Fix compilation error when <wchar.h> is used from coreutils.
74540         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
74541         Reported by Brian Gough <bjg@gnu.org> and
74542         Chris Clayton <chris2553@googlemail.com> via
74543         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
74545 2010-01-09  Bruno Haible  <bruno@clisp.org>
74547         unistr/u16-to-u32: Reject invalid input.
74548         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
74549         u16_mbtouc.
74550         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
74551         Remove unistr/u16-mbtouc.
74553         unistr/u16-to-u8: Reject invalid input.
74554         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
74555         u16_mbtouc.
74556         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
74557         Remove unistr/u16-mbtouc.
74559         unistr/u8-to-u32: Reject invalid input.
74560         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
74561         u8_mbtouc.
74562         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
74563         Remove unistr/u8-mbtouc.
74565         unistr/u8-to-u16: Reject invalid input.
74566         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
74567         u8_mbtouc.
74568         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
74569         Remove unistr/u8-mbtouc.
74571 2010-01-09  Bruno Haible  <bruno@clisp.org>
74573         Tests for module 'getlogin'.
74574         * modules/getlogin-tests: New file.
74575         * tests/test-getlogin.c: New file.
74577         New module 'getlogin'.
74578         * lib/unistd.in.h (getlogin): New declaration.
74579         * lib/getlogin.c: New file.
74580         * m4/getlogin.m4: New file.
74581         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
74582         HAVE_GETLOGIN.
74583         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
74584         HAVE_GETLOGIN.
74585         * modules/getlogin: New file.
74586         * doc/posix-functions/getlogin.texi: Mention the new module.
74587         Reported by John W. Eaton <jwe@gnu.org>.
74589 2010-01-09  Bruno Haible  <bruno@clisp.org>
74591         getlogin_r: Support for native Windows.
74592         * lib/getlogin_r.c: Include <windows.h>
74593         (getlogin_r): Implement for native Windows.
74594         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
74595         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
74596         via John W. Eaton <jwe@gnu.org>.
74598 2010-01-09  Bruno Haible  <bruno@clisp.org>
74600         getlogin_r: Small fixes.
74601         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
74602         succeeds.
74603         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
74604         before testing whether getlogin_r is declared. No need to set
74605         HAVE_DECL_GETLOGIN_R to 1.
74606         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
74608 2010-01-09  Bruno Haible  <bruno@clisp.org>
74610         * lib/unistd.in.h (getlogin_r): Add comment.
74612 2010-01-09  Bruno Haible  <bruno@clisp.org>
74614         Tests for module 'getlogin_r'.
74615         * modules/getlogin_r-tests: New file.
74616         * tests/test-getlogin_r.c: New file.
74618 2010-01-09  Jim Meyering  <meyering@redhat.com>
74620         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
74621         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
74622         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
74624 2010-01-08  Simon Josefsson  <simon@josefsson.org>
74626         * lib/dup2.c (rpl_dup2): Improve comment.
74628 2010-01-08  Eric Blake  <ebb9@byu.net>
74630         maint.mk: allow packages to add makefile @@ exceptions
74631         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
74632         (sc_makefile_check): Rename...
74633         (sc_makefile_at_at_check): ...to this, and use hook.
74635         dup2: work around mingw bug
74636         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
74637         Reported by Simon Josefsson.
74639 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
74641         glob: Fix C++ compilation.
74642         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
74643         C++.
74645 2010-01-07  Bruno Haible  <bruno@clisp.org>
74647         Fix indentation of wctype.in.h, broken since 2007-01-06.
74648         * lib/wctype.in.h: Fix indentation of preprocessor directives.
74650 2010-01-07  Bruno Haible  <bruno@clisp.org>
74652         mbslen: Avoid collision with system function.
74653         * lib/string.in.h [MirBSD]: Include <wchar.h>.
74654         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
74655         * m4/mbslen.m4: New file.
74656         * modules/mbslen (Files): Add it.
74657         (configure.ac): Invoke gl_MBSLEN.
74658         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
74659         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
74660         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
74661         via Ian Beckwith <ianb@erislabs.net>.
74663 2010-01-07  Bruno Haible  <bruno@clisp.org>
74665         dirent: Document the last fix.
74666         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
74668 2010-01-07  Bruno Haible  <bruno@clisp.org>
74670         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
74671         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
74672         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
74673         va_list are defined.
74674         * doc/posix-headers/stdio.texi: Document the bug of missing types.
74675         Reported by Eric Blake.
74677 2010-01-07  Bruno Haible  <bruno@clisp.org>
74679         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
74680         * modules/xlist (Depends-on): Add 'list',
74681         * modules/xoset (Depends-on): Add 'oset'.
74682         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74684 2010-01-07  Bruno Haible  <bruno@clisp.org>
74686         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
74687         * doc/posix-functions/strncasecmp.texi: Likewise.
74689 2010-01-07  Bruno Haible  <bruno@clisp.org>
74691         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
74693 2010-01-07  John W. Eaton  <jwe@octave.org>
74695         wctype: allow C++ use
74696         * lib/wctype.in.h: Add extern "C" block for C++.
74698 2010-01-06  Eric Blake  <ebb9@byu.net>
74700         maint.mk: detect incorrect GFDL usage
74701         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
74703 2010-01-06  Jim Meyering  <meyering@redhat.com>
74704         and Eric Blake  <ebb9@byu.net>
74706         maint.mk: ignore multi-line copyright in NEWS
74707         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
74709 2010-01-06  Eric Blake  <ebb9@byu.net>
74711         select: add missing dependency
74712         * modules/select-tests (Depends-on): Move sockets dependency...
74713         * modules/select (Depends-on): ...here.
74714         Reported by Ian Beckwith.
74716         doc: regenerate INSTALL
74717         * doc/INSTALL: Reflect recent autoconf update.
74718         * doc/INSTALL.ISO: Likewise.
74719         * doc/INSTALL.UTF-8: Likewise.
74721         pread: fix compilation on glibc
74722         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
74723         Reported by Ralf Wildenhues.
74725         dirent: fix test failure
74726         * lib/dirent.in.h (includes): Guarantee ino_t.
74727         Reported by Ralf Wildenhues.
74729 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
74731         linkat, renameat: avoid bad free
74732         * lib/at-func2.c (at_func2): Fix typo.
74733         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
74735 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74737         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
74738         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
74739         to avoid failure of symlink test later.
74741 2010-01-06  Eric Blake  <ebb9@byu.net>
74743         stdio, unistd: guarantee ssize_t
74744         * lib/unistd.in.h (includes): Ensure that types required by POSIX
74745         2008 are exposed when needed.
74746         * lib/stdio.in.h (includes): Likewise.
74747         Reported by Ralf Wildenhues.
74749 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
74751         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
74752         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
74753         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
74755 2010-01-06  Jim Meyering  <meyering@redhat.com>
74757         readtokens: this module *does* require xalloc.h
74758         It uses only functions that were omitted by the old syntax-check rule.
74759         * lib/readtokens.c: Include "xalloc.h" once again.
74760         * modules/readtokens (Depends-on): Add xalloc.
74761         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
74763 2010-01-05  Eric Blake  <ebb9@byu.net>
74765         maint: support 'make announcement' from a VPATH build
74766         * top/maint.mk (announcement): Look for correct NEWS file.
74768 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
74770         utimens (fdutimens): ignore a negative FD, per contract
74771         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
74772         when we have a valid file descriptor.  Otherwise, using a brand
74773         new glibc (with just-patched futimens that now fails with EBADF)
74774         would cause this function to fail with ENOSYS.
74775         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
74776         See also http://bugzilla.redhat.com/552320.
74778 2010-01-05  Eric Blake  <ebb9@byu.net>
74780         strcase: document what it provides
74781         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
74782         gnulib module.
74783         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
74784         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
74786 2010-01-05  Jim Meyering  <meyering@redhat.com>
74788         maint: remove useless inclusions of "xalloc.h"
74789         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
74790         * lib/readtokens.c: Likewise.
74791         * lib/same.c: Likewise.
74792         * modules/getloadavg (Depends-on): Remove xalloc.
74793         * modules/readtokens: Likewise.
74794         * modules/same: Likewise.
74796         maint.mk: include 4 more function names in alloca.h-checking regexp
74797         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
74798         regexp.  Before, we would give a false-positive (saying alloca.h
74799         is included unnecessarily) when the only uses involved omitted symbols.
74801         xalloc.h: use consistent formatting
74802         * lib/xalloc.h: Move declarations to start in the first column.
74804 2010-01-05  Eric Blake  <ebb9@byu.net>
74806         mkdir: avoid xalloc
74807         * lib/mkdir.c (includes): Drop unused header.
74808         Reported by John W. Eaton.
74810 2010-01-04  Jim Meyering  <meyering@redhat.com>
74812         nl_langinfo: avoid configure-time syntax error
74813         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
74814         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
74815         the empty string.  Don't let that provoke a shell syntax error.
74817         regcomp, regexec, fnmatch: avoid array bounds read error
74818         * lib/regcomp.c (build_equiv_class): From glibc:
74819         Use only the low 24 bits of a findidx return value as an index
74820         into the weights array.  Patch by Ulrich Drepper:
74821         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
74822         * lib/regexec.c (check_node_accept_bytes): Likewise.
74823         * lib/fnmatch_loop.c (FCT): Likewise.
74825         regcomp: skip collseq lookup when there are no rules
74826         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
74827         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
74829         regcomp: recognize ill-formed { } expressions
74830         * lib/regcomp.c (parse_dup_op): From glibc:
74831         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
74833         regcomp: fix typo in comment
74834         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
74835         s/satisfy/satisfies/.
74837         regcomp: sync from glibc: remove dead store
74838         * lib/regcomp.c (duplicate_node_closure): Remove useless
74839         search_duplicated_node call and dead store.
74841         regcomp: sync from glibc; always use nl_langinfo
74842         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
74843         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
74844         * modules/regex (Depends-on): Add nl_langinfo.
74846 2010-01-04  Eric Blake  <ebb9@byu.net>
74848         fdopendir: fix configure test
74849         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
74851 2010-01-01  Bruno Haible  <bruno@clisp.org>
74853         wchar: Remove unused configure check.
74854         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
74856 2010-01-01  Eric Blake  <ebb9@byu.net>
74858         headers: make check of system header explicit
74859         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
74860         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
74861         ourselves.
74862         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
74863         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
74864         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
74865         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
74866         internals.
74867         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
74868         missing.
74869         Suggested by Bruno Haible.
74871 2010-01-01  Jim Meyering  <meyering@redhat.com>
74873         ChangeLog: tweak to eliminate unnecessary copyright line
74874         * ChangeLog: Remove a copyright line that was mistakenly updated
74875         by today's update-copyright run.  Reported by Eric Blake.
74877         test-update-copyright: don't let envvar setting cause test failure
74878         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
74880 2010-01-01  Bruno Haible  <bruno@clisp.org>
74882         localename: Avoid gcc warning.
74883         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
74884         function if it is not used.
74886 2010-01-01  Jim Meyering  <meyering@redhat.com>
74888         update nearly all FSF copyright year lists to include 2010
74889         Use the same procedure as for 2009, outlined in
74890         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
74892         version-etc: set COPYRIGHT_YEAR to 2010
74893         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
74895 2009-12-31  Eric Blake  <ebb9@byu.net>
74897         doc: correct availability of cygwin 1.5.x getopt
74898         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
74899         variables.
74900         * doc/posix-functions/opterr.texi (opterr): Likewise.
74901         * doc/posix-functions/optind.texi (optind): Likewise.
74902         * doc/posix-functions/optopt.texi (optopt): Likewise.
74903         * doc/posix-functions/tzname.texi (tzname): Likewise.
74905         openat: update maintainer
74906         * modules/openat (Maintainer): Add myself.
74908         utimens: avoid shadowing warning
74909         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
74910         buffers into one, to avoid shadowing, as well as avoiding a
74911         redundant stat.
74912         Reported by Jim Meyering.
74914         test-dup2: avoid compiler warning
74915         * tests/test-dup2.c (is_inheritable): Only define if used.
74917 2010-01-01  Bruno Haible  <bruno@clisp.org>
74919         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
74920         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
74921         defined, use wctomb instead of wcrtomb.
74923 2010-01-01  Bruno Haible  <bruno@clisp.org>
74925         iconv: Reject native Solaris iconv.
74926         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
74927         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
74929 2009-12-31  Bruno Haible  <bruno@clisp.org>
74931         * tests/test-signal.c (main): Remove test of 'SIG'.
74933 2009-12-31  Bruno Haible  <bruno@clisp.org>
74935         spawn: Fix incomplete fix.
74936         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
74937         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
74938         warnings for GNULIB_POSIXCHECK again.
74939         Reported by Eric Blake.
74941 2009-12-31  Bruno Haible  <bruno@clisp.org>
74943         Avoid namespace pollution on glibc systems.
74944         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
74945         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
74946         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
74947         glibc systems.
74949 2009-12-31  Bruno Haible  <bruno@clisp.org>
74951         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
74952         (gl_REPLACE_WCHAR_H): Turn into a no-op.
74953         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
74954         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
74955         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
74956         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
74957         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
74959 2009-12-31  Bruno Haible  <bruno@clisp.org>
74961         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
74962         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
74963         afterwards.
74965 2009-12-31  Bruno Haible  <bruno@clisp.org>
74967         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
74968         SYS_UTSNAME_H.
74970 2009-12-31  Bruno Haible  <bruno@clisp.org>
74972         spawn: Fix misapplied patch.
74973         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
74974         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
74975         warnings for GNULIB_POSIXCHECK.
74977 2009-12-31  Bruno Haible  <bruno@clisp.org>
74979         times: Update after sys_times changed.
74980         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
74981         * modules/times (Files): Add it.
74982         (configure.ac): Invoke gl_FUNC_TIMES.
74984 2009-12-31  Bruno Haible  <bruno@clisp.org>
74986         Use AC_C_INLINE where necessary.
74987         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
74988         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
74989         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
74990         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
74991         * m4/mbfile.m4 (gl_MBFILE): Likewise.
74992         * m4/mbiter.m4 (gl_MBITER): Likewise.
74993         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
74994         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
74995         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
74996         * modules/u64 (configure.ac): Likewise.
74998 2009-12-31  Bruno Haible  <bruno@clisp.org>
75000         Use AC_C_INLINE instead of module 'inline' where possible.
75001         * modules/inline (Description): Clarify purpose.
75002         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
75003         * modules/count-one-bits (Depends-on): Remove inline.
75004         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
75005         * modules/openat (Depends-on): Remove inline.
75006         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
75007         instead of depending on module 'inline'.
75008         * modules/filevercmp (Depends-on, configure.ac): Likewise.
75009         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
75010         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
75011         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
75012         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
75013         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
75014         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
75015         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
75016         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
75017         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
75018         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
75019         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
75020         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
75021         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
75022         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
75023         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
75024         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
75025         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
75026         Likewise.
75027         * modules/unictype/property-ascii-hex-digit (Depends-on,
75028         configure.ac): Likewise.
75029         * modules/unictype/property-bidi-arabic-digit (Depends-on,
75030         configure.ac): Likewise.
75031         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
75032         configure.ac): Likewise.
75033         * modules/unictype/property-bidi-block-separator (Depends-on,
75034         configure.ac): Likewise.
75035         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
75036         configure.ac): Likewise.
75037         * modules/unictype/property-bidi-common-separator (Depends-on,
75038         configure.ac): Likewise.
75039         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
75040         Likewise.
75041         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
75042         configure.ac): Likewise.
75043         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
75044         configure.ac): Likewise.
75045         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
75046         configure.ac): Likewise.
75047         * modules/unictype/property-bidi-european-digit (Depends-on,
75048         configure.ac): Likewise.
75049         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
75050         configure.ac): Likewise.
75051         * modules/unictype/property-bidi-left-to-right (Depends-on,
75052         configure.ac): Likewise.
75053         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
75054         configure.ac): Likewise.
75055         * modules/unictype/property-bidi-other-neutral (Depends-on,
75056         configure.ac): Likewise.
75057         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
75058         Likewise.
75059         * modules/unictype/property-bidi-segment-separator (Depends-on,
75060         configure.ac): Likewise.
75061         * modules/unictype/property-bidi-whitespace (Depends-on,
75062         configure.ac): Likewise.
75063         * modules/unictype/property-combining (Depends-on, configure.ac):
75064         Likewise.
75065         * modules/unictype/property-composite (Depends-on, configure.ac):
75066         Likewise.
75067         * modules/unictype/property-currency-symbol (Depends-on,
75068         configure.ac): Likewise.
75069         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
75070         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
75071         Likewise.
75072         * modules/unictype/property-default-ignorable-code-point (Depends-on,
75073         configure.ac): Likewise.
75074         * modules/unictype/property-deprecated (Depends-on, configure.ac):
75075         Likewise.
75076         * modules/unictype/property-diacritic (Depends-on, configure.ac):
75077         Likewise.
75078         * modules/unictype/property-extender (Depends-on, configure.ac):
75079         Likewise.
75080         * modules/unictype/property-format-control (Depends-on, configure.ac):
75081         Likewise.
75082         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
75083         Likewise.
75084         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
75085         Likewise.
75086         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
75087         Likewise.
75088         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
75089         Likewise.
75090         * modules/unictype/property-hyphen (Depends-on, configure.ac):
75091         Likewise.
75092         * modules/unictype/property-id-continue (Depends-on, configure.ac):
75093         Likewise.
75094         * modules/unictype/property-id-start (Depends-on, configure.ac):
75095         Likewise.
75096         * modules/unictype/property-ideographic (Depends-on, configure.ac):
75097         Likewise.
75098         * modules/unictype/property-ids-binary-operator (Depends-on,
75099         configure.ac): Likewise.
75100         * modules/unictype/property-ids-trinary-operator (Depends-on,
75101         configure.ac): Likewise.
75102         * modules/unictype/property-ignorable-control (Depends-on,
75103         configure.ac): Likewise.
75104         * modules/unictype/property-iso-control (Depends-on, configure.ac):
75105         Likewise.
75106         * modules/unictype/property-join-control (Depends-on, configure.ac):
75107         Likewise.
75108         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
75109         Likewise.
75110         * modules/unictype/property-line-separator (Depends-on, configure.ac):
75111         Likewise.
75112         * modules/unictype/property-logical-order-exception (Depends-on,
75113         configure.ac): Likewise.
75114         * modules/unictype/property-lowercase (Depends-on, configure.ac):
75115         Likewise.
75116         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
75117         * modules/unictype/property-non-break (Depends-on, configure.ac):
75118         Likewise.
75119         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
75120         Likewise.
75121         * modules/unictype/property-numeric (Depends-on, configure.ac):
75122         Likewise.
75123         * modules/unictype/property-other-alphabetic (Depends-on,
75124         configure.ac): Likewise.
75125         * modules/unictype/property-other-default-ignorable-code-point
75126         (Depends-on, configure.ac): Likewise.
75127         * modules/unictype/property-other-grapheme-extend (Depends-on,
75128         configure.ac): Likewise.
75129         * modules/unictype/property-other-id-continue (Depends-on,
75130         configure.ac): Likewise.
75131         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
75132         Likewise.
75133         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
75134         Likewise.
75135         * modules/unictype/property-other-math (Depends-on, configure.ac):
75136         Likewise.
75137         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
75138         Likewise.
75139         * modules/unictype/property-paired-punctuation (Depends-on,
75140         configure.ac): Likewise.
75141         * modules/unictype/property-paragraph-separator (Depends-on,
75142         configure.ac): Likewise.
75143         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
75144         Likewise.
75145         * modules/unictype/property-pattern-white-space (Depends-on,
75146         configure.ac): Likewise.
75147         * modules/unictype/property-private-use (Depends-on, configure.ac):
75148         Likewise.
75149         * modules/unictype/property-punctuation (Depends-on, configure.ac):
75150         Likewise.
75151         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
75152         Likewise.
75153         * modules/unictype/property-radical (Depends-on, configure.ac):
75154         Likewise.
75155         * modules/unictype/property-sentence-terminal (Depends-on,
75156         configure.ac): Likewise.
75157         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
75158         Likewise.
75159         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
75160         * modules/unictype/property-terminal-punctuation (Depends-on,
75161         configure.ac): Likewise.
75162         * modules/unictype/property-titlecase (Depends-on, configure.ac):
75163         Likewise.
75164         * modules/unictype/property-unassigned-code-value (Depends-on,
75165         configure.ac): Likewise.
75166         * modules/unictype/property-unified-ideograph (Depends-on,
75167         configure.ac): Likewise.
75168         * modules/unictype/property-uppercase (Depends-on, configure.ac):
75169         Likewise.
75170         * modules/unictype/property-variation-selector (Depends-on,
75171         configure.ac): Likewise.
75172         * modules/unictype/property-white-space (Depends-on, configure.ac):
75173         Likewise.
75174         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
75175         Likewise.
75176         * modules/unictype/property-xid-start (Depends-on, configure.ac):
75177         Likewise.
75178         * modules/unictype/property-zero-width (Depends-on, configure.ac):
75179         Likewise.
75180         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
75181         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
75182         Likewise.
75184 2009-12-31  Bruno Haible  <bruno@clisp.org>
75186         Remove unnecessary AC_C_INLINE invocation.
75187         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
75188         since 2009-08-21.
75190 2009-12-31  Jim Meyering  <meyering@redhat.com>
75192         maint.mk: don't require explicit gpg_key_ID in cfg.mk
75193         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
75194         With this change, we can all remove the gpg_key_ID = ... definition
75195         from our respective cfg.mk files.
75197         maint.mk: create announcement template in ~/, not in /tmp
75198         * top/maint.mk (emit_upload_commands): Adjust.
75199         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
75200         Remove temporary file, .ci-msg.
75202 2009-12-31  Eric Blake  <ebb9@byu.net>
75204         link-warning: always build headers with link warnings
75205         * modules/arpa_inet (Makefile.am): Always build replacement
75206         header.
75207         * modules/ctype (Makefile.am): Likewise.
75208         * modules/dirent (Makefile.am): Likewise.
75209         * modules/inttypes (Makefile.am): Likewise.
75210         * modules/langinfo (Makefile.am): Likewise.
75211         * modules/locale (Makefile.am): Likewise.
75212         * modules/spawn (Makefile.am): Likewise.
75213         * modules/sys_file (Makefile.am): Likewise.
75214         * modules/sys_ioctl (Makefile.am): Likewise.
75215         * modules/sys_select (Makefile.am): Likewise.
75216         * modules/sys_socket (Makefile.am): Likewise.
75217         * modules/sys_times (Makefile.am): Likewise.
75218         * modules/sys_utsname (Makefile.am): Likewise.
75219         * modules/sys_wait (Makefile.am): Likewise.
75220         * modules/wchar (Makefile.am): Likewise.
75221         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
75222         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
75223         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
75224         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
75225         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
75226         Likewise.
75227         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
75228         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
75229         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
75230         Likewise.
75231         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
75232         Likewise.
75233         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
75234         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
75235         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
75236         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
75237         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
75238         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
75239         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
75240         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
75241         (gl_WCHAR_H_DEFAULTS): Likewise.
75243 2009-12-31  Eric Blake  <ebb9@byu.net>
75245         signal, spawn: use link warnings
75246         * lib/signal.in.h (sigset_t): Make unconditional.
75247         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
75248         (sigpending, sigprocmask, sigaction): Add link warnings.
75249         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
75250         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
75251         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
75252         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
75253         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
75254         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
75255         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
75256         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
75257         (posix_spawn_file_actions_destroy)
75258         (posix_spawn_file_actions_addopen)
75259         (posix_spawn_file_actions_addclose)
75260         (posix_spawn_file_actions_adddup2): Likewise.
75261         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
75262         * tests/test-signal.c (main): Enhance test.
75264         spawn: improve wrapper support
75265         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
75266         (gl_SPAWN_H_DEFAULTS): New defaults.
75267         * modules/spawn (Makefile.am): Substitute them.
75268         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
75269         Only declare if missing or broken.
75271         sys_times, sys_utsname: use include_next
75272         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
75273         header.
75274         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
75275         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
75276         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
75277         * modules/sys_times (Depends-on): Add include_next.
75278         (Makefile.am): Substitute additional values.
75279         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
75280         * lib/sys_times.in.h (includes): Include native header, if
75281         available.
75282         * lib/sys_utsname.in.h (includes): Likewise.
75283         * tests/test-sys_times.c (main): Enhance test.
75285         fdutimensat: revert prior patch
75286         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
75287         utimens.h.
75288         Reported by Bruno Haible.
75290 2009-12-30  Eric Blake  <ebb9@byu.net>
75292         sys_wait: drop link-warning dependency
75293         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
75294         link-warning efforts.
75295         * lib/sys_wait.in.h: Likewise.
75297         fdutimensat: remove bogus dependency
75298         * modules/fdutimensat (Depends-on): Drop inline.
75300         unistd: fix typo
75301         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
75303 2009-12-30  Bruno Haible  <bruno@clisp.org>
75305         Fix compilation error with Solaris cc.
75306         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
75307         * lib/unicase/u16-is-invariant.c: Likewise.
75308         * lib/unicase/u32-is-invariant.c: Likewise.
75309         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
75311 2009-12-30  Bruno Haible  <bruno@clisp.org>
75313         Fix test crash.
75314         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
75315         locales.
75316         Reported by Simon Josefsson <simon@josefsson.org>.
75318 2009-12-30  Bruno Haible  <bruno@clisp.org>
75320         Fix compilation error on most platforms.
75321         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
75322         Reported by Simon Josefsson <simon@josefsson.org>
75323         and Nelson H. F. Beebe <beebe@math.utah.edu>.
75325 2009-12-30  Eric Blake  <ebb9@byu.net>
75327         futimens, utimensat: work around ntfs-3g bug
75328         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
75329         a ctime bug is present, and expand workaround to cover ntfs-3g.
75330         * lib/utimens.c (fdutimens, lutimens): Likewise.
75331         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
75332         (validate_timespec): Adjust return value.
75333         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
75334         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
75335         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
75337 2009-12-29  Eric Blake  <ebb9@byu.net>
75339         link-warning: make usage consistent
75340         * modules/ctype (Depends-on): Add link-warning.
75341         (Makefile.am): Update rules accordingly.
75342         * modules/langinfo (Depends-on, Makefile.am): Likewise.
75343         * modules/locale (Depends-on, Makefile.am): Likewise.
75344         * modules/sys_file (Makefile.am): Likewise.
75345         * modules/getopt-posix (Makefile.am): Delete unused link warning
75346         efforts.
75347         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
75348         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
75349         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
75350         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
75352         stdio: remove unused variables
75353         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
75354         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
75355         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
75357         tests: test more substitute headers
75358         * modules/ctype-tests: New file.
75359         * modules/dirent-tests: Likewise.
75360         * modules/spawn-tests: Likewise.
75361         * modules/sys_file-tests: Likewise.
75362         * modules/sys_ioctl-tests: Likewise.
75363         * modules/sys_wait-tests: Likewise.
75364         * tests/test-ctype.c: Likewise.
75365         * tests/test-dirent.c: Likewise.
75366         * tests/test-spawn.c: Likewise.
75367         * tests/test-sys_file.c: Likewise.
75368         * tests/test-sys_ioctl.c: Likewise.
75369         * tests/test-sys_wait.c: Likewise.
75370         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
75371         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
75372         whether or not flock is in use.
75374         tests: remove License section from module
75375         * modules/arpa_inet-tests: Remove unneeded section.
75376         * modules/byteswap-tests: Likewise.
75377         * modules/ceilf-tests: Likewise.
75378         * modules/ceill-tests: Likewise.
75379         * modules/crypto/des-tests: Likewise.
75380         * modules/crypto/gc-arcfour-tests: Likewise.
75381         * modules/crypto/gc-arctwo-tests: Likewise.
75382         * modules/crypto/gc-des-tests: Likewise.
75383         * modules/crypto/gc-hmac-md5-tests: Likewise.
75384         * modules/crypto/gc-hmac-sha1-tests: Likewise.
75385         * modules/crypto/gc-md2-tests: Likewise.
75386         * modules/crypto/gc-md4-tests: Likewise.
75387         * modules/crypto/gc-md5-tests: Likewise.
75388         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
75389         * modules/crypto/gc-rijndael-tests: Likewise.
75390         * modules/crypto/gc-sha1-tests: Likewise.
75391         * modules/crypto/gc-tests: Likewise.
75392         * modules/crypto/md2-tests: Likewise.
75393         * modules/crypto/md4-tests: Likewise.
75394         * modules/fcntl-h-tests: Likewise.
75395         * modules/floorf-tests: Likewise.
75396         * modules/floorl-tests: Likewise.
75397         * modules/frexp-nolibm-tests: Likewise.
75398         * modules/frexp-tests: Likewise.
75399         * modules/frexpl-nolibm-tests: Likewise.
75400         * modules/frexpl-tests: Likewise.
75401         * modules/getaddrinfo-tests: Likewise.
75402         * modules/inttypes-tests: Likewise.
75403         * modules/isfinite-tests: Likewise.
75404         * modules/isinf-tests: Likewise.
75405         * modules/ldexpl-tests: Likewise.
75406         * modules/locale-tests: Likewise.
75407         * modules/math-tests: Likewise.
75408         * modules/netdb-tests: Likewise.
75409         * modules/netinet_in-tests: Likewise.
75410         * modules/printf-frexp-tests: Likewise.
75411         * modules/printf-frexpl-tests: Likewise.
75412         * modules/priv-set-tests: Likewise.
75413         * modules/random_r-tests: Likewise.
75414         * modules/round-tests: Likewise.
75415         * modules/roundf-tests: Likewise.
75416         * modules/roundl-tests: Likewise.
75417         * modules/search-tests: Likewise.
75418         * modules/select-tests: Likewise.
75419         * modules/signal-tests: Likewise.
75420         * modules/stdbool-tests: Likewise.
75421         * modules/stddef-tests: Likewise.
75422         * modules/stdint-tests: Likewise.
75423         * modules/stdio-tests: Likewise.
75424         * modules/stdlib-tests: Likewise.
75425         * modules/string-tests: Likewise.
75426         * modules/strings-tests: Likewise.
75427         * modules/sys_select-tests: Likewise.
75428         * modules/sys_socket-tests: Likewise.
75429         * modules/sys_stat-tests: Likewise.
75430         * modules/sys_time-tests: Likewise.
75431         * modules/sys_utsname-tests: Likewise.
75432         * modules/sysexits-tests: Likewise.
75433         * modules/time-tests: Likewise.
75434         * modules/trunc-tests: Likewise.
75435         * modules/truncf-tests: Likewise.
75436         * modules/truncl-tests: Likewise.
75437         * modules/tsearch-tests: Likewise.
75438         * modules/unistd-tests: Likewise.
75439         * modules/wchar-tests: Likewise.
75440         * modules/wctype-tests: Likewise.
75442         tests: fix license on several tests
75443         * tests/test-des.c: Update to GPLv3+.
75444         * tests/test-flock.c: Likewise.
75445         * tests/test-fsync.c: Likewise.
75446         * tests/test-futimens.h: Likewise.
75447         * tests/test-gc-arcfour.c: Likewise.
75448         * tests/test-gc-arctwo.c: Likewise.
75449         * tests/test-gc-des.c: Likewise.
75450         * tests/test-gc-hmac-md5.c: Likewise.
75451         * tests/test-gc-hmac-sha1.c: Likewise.
75452         * tests/test-gc-md2.c: Likewise.
75453         * tests/test-gc-md4.c: Likewise.
75454         * tests/test-gc-md5.c: Likewise.
75455         * tests/test-gc-pbkdf2-sha1.c: Likewise.
75456         * tests/test-gc-rijndael.c: Likewise.
75457         * tests/test-gc-sha1.c: Likewise.
75458         * tests/test-gc.c: Likewise.
75459         * tests/test-getcwd.c: Likewise.
75460         * tests/test-link.c: Likewise.
75461         * tests/test-link.h: Likewise.
75462         * tests/test-lutimens.h: Likewise.
75463         * tests/test-md2.c: Likewise.
75464         * tests/test-md4.c: Likewise.
75465         * tests/test-mkdir.h: Likewise.
75466         * tests/test-rename.c: Likewise.
75467         * tests/test-rename.h: Likewise.
75468         * tests/test-safe-alloc.c: Likewise.
75469         * tests/test-utimens-common.h: Likewise.
75470         * tests/test-utimens.h: Likewise.
75472         maint: sync license texts
75473         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
75474         * doc/gpl-3.0.texi: Revert copyright year update.
75475         * doc/lgpl-3.0.texi: Likewise.
75477 2009-12-29  Jim Meyering  <meyering@redhat.com>
75479         update nearly all FSF copyright year lists to include 2009
75480         The files named by the following are exempted:
75481             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
75482               test -f "$dst" && { echo "$dst"; continue; }
75483               test -d "$dst" || continue
75484               echo "$dst"/$(basename "$src")
75485             done > exempt
75486             git ls-files tests/unictype >> exempt
75487         In the remaining files, convert to all-interval notation if
75488         - there is already at least one year interval like 2000-2003
75489         - the file is maintained by me
75490         - the file is in lib/uni*/, where that style already prevails
75491         Otherwise, use update-copyright's default.
75493 2009-12-29  Simon Josefsson  <simon@josefsson.org>
75494         and Eric Blake  <ebb9@byu.net>
75496         tests: don't require debug system() to pass
75497         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
75498         * tests/test-rmdir.h (test_rmdir_func): Likewise.
75499         * tests/test-unlink.h (test_unlink_func): Likewise.
75500         * tests/test-fstatat.c (main): ...into callers.
75501         * tests/test-lstat.c (main): Likewise.
75502         * tests/test-rmdir.c (main): Likewise.
75503         * tests/test-unlink.c (main): Likewise.
75504         * tests/test-unlinkat.c (main): Likewise.
75505         * tests/test-areadlink-with-size.c (main): Don't require a
75506         debug-only system call to pass, aiding cross-testing to mingw.
75507         * tests/test-areadlink.c (main): Likewise.
75508         * tests/test-areadlinkat-with-size.c (main): Likewise.
75509         * tests/test-areadlinkat.c (main): Likewise.
75510         * tests/test-canonicalize-lgpl.c (main): Likewise.
75511         * tests/test-canonicalize.c (main): Likewise.
75512         * tests/test-chown.c (main): Likewise.
75513         * tests/test-fchownat.c (main): Likewise.
75514         * tests/test-lchown.c (main): Likewise.
75515         * tests/test-fdutimensat.c (main): Likewise.
75516         * tests/test-futimens.c (main): Likewise.
75517         * tests/test-link.c (main): Likewise.
75518         * tests/test-linkat.c (main): Likewise.
75519         * tests/test-mkdir.c (main): Likewise.
75520         * tests/test-mkdirat.c (main): Likewise.
75521         * tests/test-mkfifo.c (main): Likewise.
75522         * tests/test-mkfifoat.c (main): Likewise.
75523         * tests/test-mknod.c (main): Likewise.
75524         * tests/test-readlink.c (main): Likewise.
75525         * tests/test-remove.c (main): Likewise.
75526         * tests/test-rename.c (main): Likewise.
75527         * tests/test-renameat.c (main): Likewise.
75528         * tests/test-symlink.c (main): Likewise.
75529         * tests/test-symlinkat.c (main): Likewise.
75530         * tests/test-utimens.c (main): Likewise.
75531         * tests/test-utimensat.c (main): Likewise.
75533 2009-12-29  Simon Josefsson  <simon@josefsson.org>
75535         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
75536         on $(UNUSED_PARAMETER_H) to avoid build failure.
75538 2009-12-28  Jim Meyering  <meyering@redhat.com>
75540         update-copyright: you may specify a max. line length other than 72
75541         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
75543         maint: use consistent FSF copyright line syntax
75544         * lib/posixtm.c: Add missing comma in FSF copyright line.
75545         * lib/posixtm.h: Likewise.
75546         * lib/getugroups.c: Add missing ", Inc.".
75548         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
75549         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
75550         FSF copyright line.  Remove trailing blanks.
75552 2009-12-28  Eric Blake  <ebb9@byu.net>
75554         test-dup2: reduce dependencies
75555         * modules/cloexec (Configure.ac): Set witness.
75556         * modules/dup2-tests (Depends-on): Drop cloexec.
75557         * tests/test-dup2.c (main): Skip portion of test if cloexec module
75558         not present.
75559         Suggested by Bruno Haible.
75561 2009-12-26  Bruno Haible  <bruno@clisp.org>
75563         Remove an unneeded dependency.
75564         * modules/fseterr (Depends-on): Remove dup2.
75566 2009-12-26  Eric Blake  <ebb9@byu.net>
75568         tests: use macros.h in more places
75569         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
75570         (ASSERT_STREAM): Provide default of stderr.
75571         * tests/test-dirent-safer.c: Include macros.h, using alternate
75572         stream for assertions.
75573         * tests/test-dup-safer.c: Likewise.
75574         * tests/test-freopen-safer.c: Likewise.
75575         * tests/test-getopt.c: Likewise.
75576         * tests/test-openat-safer.c: Likewise.
75577         * tests/test-pipe.c: Likewise.
75578         * tests/test-popen-safer.c: Likewise.
75579         * modules/dirent-safer-tests (Files): Include macros.h.
75580         * modules/unistd-safer-tests (Files): Likewise.
75581         * modules/freopen-safer-tests (Files): Likewise.
75582         * modules/getopt-posix-tests (Files): Likewise.
75583         * modules/openat-safer-tests (Files): Likewise.
75584         * modules/pipe-tests (Files): Likewise.
75586 2009-12-26  Bruno Haible  <bruno@clisp.org>
75588         javacomp-script: Portability fix.
75589         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
75590         that it also works on Solaris.
75592 2009-12-26  Bruno Haible  <bruno@clisp.org>
75594         localename: Fix storage allocation of gl_locale_name_thread's result.
75595         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
75596         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
75597         all platforms that have 'uselocale'.
75598         (gl_locale_name_thread_unsafe): New function, extracted from
75599         gl_locale_name_thread.
75600         (gl_locale_name_thread): Call struniq on all platforms that have
75601         'uselocale'.
75602         * tests/test-localename.c (test_locale_name_thread): Check that the
75603         resulting strings are permanently allocated.
75604         * modules/localename-tests (Depends-on): Add strdup.
75606 2009-12-26  Bruno Haible  <bruno@clisp.org>
75608         * tests/test-localename.c (categories): Fill in the strings.
75610 2009-12-26  Jim Meyering  <meyering@redhat.com>
75612         isdir: complete the removal of m4/isdir.m4
75613         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
75615         isdir: clean up, since at least grep still uses it
75616         * lib/isdir.c: Include "isdir.h".
75617         (S_ISDIR): Remove now-unneeded definition.
75618         * modules/isdir (Files): Add lib/isdir.h.
75619         * lib/isdir.h: New file, with declaration.
75620         * m4/isdir.m4: Remove file -- unneeded.
75622 2009-12-25  Bruno Haible  <bruno@clisp.org>
75624         selinux-h: Make generated .h files standalone.
75625         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
75626         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
75627         * lib/se-selinux.in.h: Likewise.
75628         * modules/selinux-h (Depends-on): Add unused-parameter.
75629         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
75630         selinux/selinux.h and selinux/context.h.
75631         Suggested by Eric Blake.
75633 2009-12-25  Bruno Haible  <bruno@clisp.org>
75635         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
75636         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
75637         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
75638         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
75639         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
75641 2009-12-24  Bruno Haible  <bruno@clisp.org>
75643         openat: Fix warning.
75644         * lib/openat-proc.c: Include <unistd.h>.
75646 2009-12-24  Bruno Haible  <bruno@clisp.org>
75648         New module 'unused-parameter'.
75649         * build-aux/unused-parameter.h: New file, extracted from earlier
75650         gnulib-common.m4.
75651         * modules/unused-parameter: New file.
75652         * lib/unistr.h: Include unused-parameter.h.
75653         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
75654         _GL_UNUSED.
75655         * modules/unistr/base (Depends-on): Add unused-parameter.
75657 2009-12-24  Bruno Haible  <bruno@clisp.org>
75659         Add missing dependencies to 'extensions' module.
75660         * m4/extensions.m4: Add comment.
75661         * modules/accept4 (Depends-on): Add extensions.
75662         * modules/dup3 (Depends-on): Likewise.
75663         * modules/fcntl (Depends-on): Likewise.
75664         * modules/futimens (Depends-on): Likewise.
75665         * modules/mknod (Depends-on): Likewise.
75666         * modules/pipe2 (Depends-on): Likewise.
75667         * modules/stat-time (Depends-on): Likewise.
75668         * modules/strcasestr-simple (Depends-on): Likewise.
75669         * modules/strsignal (Depends-on): Likewise.
75670         * modules/utimensat (Depends-on): Likewise.
75671         * modules/localcharset (Depends-on): Likewise. Needed because of
75672         gl_FCNTL_O_FLAGS.
75673         * modules/wcrtomb (Depends-on): Likewise. Needed because of
75674         AC_TYPE_MBSTATE_T.
75675         * modules/wcsnrtombs (Depends-on): Likewise.
75676         * modules/wcsrtombs (Depends-on): Likewise.
75678 2009-12-24  Bruno Haible  <bruno@clisp.org>
75680         binary-io: Avoid gcc warning due to SET_BINARY.
75681         * lib/binary-io.h (SET_BINARY): Cast the result to void.
75682         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
75684 2009-12-24  Bruno Haible  <bruno@clisp.org>
75686         Avoid future namespace pollution on glibc systems.
75687         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
75688         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
75689         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
75690         glibc systems.
75692 2009-12-24  Bruno Haible  <bruno@clisp.org>
75694         Refactor common macros used in tests.
75695         * tests/macros.h: New file.
75696         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
75697         and/or <stdlib.h>, if appropriate.
75698         (ASSERT, SIZEOF): Remove macros.
75699         * tests/test-areadlink-with-size.c: Likewise.
75700         * tests/test-areadlinkat.c: Likewise.
75701         * tests/test-areadlinkat-with-size.c: Likewise.
75702         * tests/test-argmatch.c: Likewise.
75703         * tests/test-argv-iter.c: Likewise.
75704         * tests/test-array-mergesort.c: Likewise.
75705         * tests/test-array_list.c: Likewise.
75706         * tests/test-array_oset.c: Likewise.
75707         * tests/test-avltree_list.c: Likewise.
75708         * tests/test-avltree_oset.c: Likewise.
75709         * tests/test-avltreehash_list.c: Likewise.
75710         * tests/test-base64.c: Likewise.
75711         * tests/test-binary-io.c: Likewise.
75712         * tests/test-bitrotate.c: Likewise.
75713         * tests/test-btowc.c: Likewise.
75714         * tests/test-byteswap.c: Likewise.
75715         * tests/test-c-ctype.c: Likewise.
75716         * tests/test-c-stack.c: Likewise.
75717         * tests/test-c-strcasecmp.c: Likewise.
75718         * tests/test-c-strcasestr.c: Likewise.
75719         * tests/test-c-strncasecmp.c: Likewise.
75720         * tests/test-c-strstr.c: Likewise.
75721         * tests/test-canonicalize-lgpl.c: Likewise.
75722         * tests/test-canonicalize.c: Likewise.
75723         * tests/test-carray_list.c: Likewise.
75724         * tests/test-ceilf1.c: Likewise.
75725         * tests/test-ceilf2.c: Likewise.
75726         * tests/test-ceill.c: Likewise.
75727         * tests/test-chown.c: Likewise.
75728         * tests/test-cloexec.c: Likewise.
75729         * tests/test-copy-acl.c: Likewise.
75730         * tests/test-copy-file.c: Likewise.
75731         * tests/test-count-one-bits.c: Likewise.
75732         * tests/test-dprintf-posix.c: Likewise.
75733         * tests/test-dup2.c: Likewise.
75734         * tests/test-dup3.c: Likewise.
75735         * tests/test-duplocale.c: Likewise.
75736         * tests/test-fbufmode.c: Likewise.
75737         * tests/test-fchdir.c: Likewise.
75738         * tests/test-fchownat.c: Likewise.
75739         * tests/test-fcntl-safer.c: Likewise.
75740         * tests/test-fcntl.c: Likewise.
75741         * tests/test-fdopendir.c: Likewise.
75742         * tests/test-fdutimensat.c: Likewise.
75743         * tests/test-fflush2.c: Likewise.
75744         * tests/test-file-has-acl.c: Likewise.
75745         * tests/test-filevercmp.c: Likewise.
75746         * tests/test-flock.c: Likewise.
75747         * tests/test-floorf1.c: Likewise.
75748         * tests/test-floorf2.c: Likewise.
75749         * tests/test-floorl.c: Likewise.
75750         * tests/test-fnmatch.c: Likewise.
75751         * tests/test-fopen.h: Likewise.
75752         * tests/test-fpending.c: Likewise.
75753         * tests/test-fprintf-posix.c: Likewise.
75754         * tests/test-fpurge.c: Likewise.
75755         * tests/test-freadable.c: Likewise.
75756         * tests/test-freadahead.c: Likewise.
75757         * tests/test-freading.c: Likewise.
75758         * tests/test-freadptr.c: Likewise.
75759         * tests/test-freadptr2.c: Likewise.
75760         * tests/test-freadseek.c: Likewise.
75761         * tests/test-freopen.c: Likewise.
75762         * tests/test-frexp.c: Likewise.
75763         * tests/test-frexpl.c: Likewise.
75764         * tests/test-fseek.c: Likewise.
75765         * tests/test-fseeko.c: Likewise.
75766         * tests/test-fstatat.c: Likewise.
75767         * tests/test-fstrcmp.c: Likewise.
75768         * tests/test-fsync.c: Likewise.
75769         * tests/test-ftell.c: Likewise.
75770         * tests/test-ftello.c: Likewise.
75771         * tests/test-func.c: Likewise.
75772         * tests/test-futimens.c: Likewise.
75773         * tests/test-fwritable.c: Likewise.
75774         * tests/test-fwriting.c: Likewise.
75775         * tests/test-getcwd.c: Likewise.
75776         * tests/test-getdate.c: Likewise.
75777         * tests/test-getdelim.c: Likewise.
75778         * tests/test-getdtablesize.c: Likewise.
75779         * tests/test-getgroups.c: Likewise.
75780         * tests/test-getline.c: Likewise.
75781         * tests/test-getndelim2.c: Likewise.
75782         * tests/test-glob.c: Likewise.
75783         * tests/test-hash.c: Likewise.
75784         * tests/test-i-ring.c: Likewise.
75785         * tests/test-iconv-utf.c: Likewise.
75786         * tests/test-iconv.c: Likewise.
75787         * tests/test-idpriv-drop.c: Likewise.
75788         * tests/test-idpriv-droptemp.c: Likewise.
75789         * tests/test-inet_ntop.c: Likewise.
75790         * tests/test-inet_pton.c: Likewise.
75791         * tests/test-isblank.c: Likewise.
75792         * tests/test-isfinite.c: Likewise.
75793         * tests/test-isinf.c: Likewise.
75794         * tests/test-isnan.c: Likewise.
75795         * tests/test-isnand.h: Likewise.
75796         * tests/test-isnanf.h: Likewise.
75797         * tests/test-isnanl.h: Likewise.
75798         * tests/test-lchown.c: Likewise.
75799         * tests/test-ldexpl.c: Likewise.
75800         * tests/test-link.c: Likewise.
75801         * tests/test-linkat.c: Likewise.
75802         * tests/test-linked_list.c: Likewise.
75803         * tests/test-linkedhash_list.c: Likewise.
75804         * tests/test-localename.c: Likewise.
75805         * tests/test-lseek.c: Likewise.
75806         * tests/test-lstat.c: Likewise.
75807         * tests/test-mbmemcasecmp.c: Likewise.
75808         * tests/test-mbmemcasecoll.c: Likewise.
75809         * tests/test-mbrtowc.c: Likewise.
75810         * tests/test-mbscasecmp.c: Likewise.
75811         * tests/test-mbscasestr1.c: Likewise.
75812         * tests/test-mbscasestr2.c: Likewise.
75813         * tests/test-mbscasestr3.c: Likewise.
75814         * tests/test-mbscasestr4.c: Likewise.
75815         * tests/test-mbschr.c: Likewise.
75816         * tests/test-mbscspn.c: Likewise.
75817         * tests/test-mbsinit.c: Likewise.
75818         * tests/test-mbsncasecmp.c: Likewise.
75819         * tests/test-mbsnrtowcs.c: Likewise.
75820         * tests/test-mbspbrk.c: Likewise.
75821         * tests/test-mbspcasecmp.c: Likewise.
75822         * tests/test-mbsrchr.c: Likewise.
75823         * tests/test-mbsrtowcs.c: Likewise.
75824         * tests/test-mbsspn.c: Likewise.
75825         * tests/test-mbsstr1.c: Likewise.
75826         * tests/test-mbsstr2.c: Likewise.
75827         * tests/test-mbsstr3.c: Likewise.
75828         * tests/test-memchr.c: Likewise.
75829         * tests/test-memchr2.c: Likewise.
75830         * tests/test-memcmp.c: Likewise.
75831         * tests/test-memmem.c: Likewise.
75832         * tests/test-memrchr.c: Likewise.
75833         * tests/test-mkdir.c: Likewise.
75834         * tests/test-mkdirat.c: Likewise.
75835         * tests/test-mkfifo.c: Likewise.
75836         * tests/test-mkfifoat.c: Likewise.
75837         * tests/test-mknod.c: Likewise.
75838         * tests/test-nanosleep.c: Likewise.
75839         * tests/test-nl_langinfo.c: Likewise.
75840         * tests/test-obstack-printf.c: Likewise.
75841         * tests/test-open.c: Likewise.
75842         * tests/test-openat.c: Likewise.
75843         * tests/test-pipe-filter-gi1.c: Likewise.
75844         * tests/test-pipe-filter-gi2-main.c: Likewise.
75845         * tests/test-pipe-filter-ii1.c: Likewise.
75846         * tests/test-pipe-filter-ii2-main.c: Likewise.
75847         * tests/test-pipe2.c: Likewise.
75848         * tests/test-popen.h: Likewise.
75849         * tests/test-posixtm.c: Likewise.
75850         * tests/test-pread.c: Likewise.
75851         * tests/test-printf-frexp.c: Likewise.
75852         * tests/test-printf-frexpl.c: Likewise.
75853         * tests/test-printf-posix.c: Likewise.
75854         * tests/test-priv-set.c: Likewise.
75855         * tests/test-quotearg.c: Likewise.
75856         * tests/test-random_r.c: Likewise.
75857         * tests/test-rawmemchr.c: Likewise.
75858         * tests/test-rbtree_list.c: Likewise.
75859         * tests/test-rbtree_oset.c: Likewise.
75860         * tests/test-rbtreehash_list.c: Likewise.
75861         * tests/test-readlink.c: Likewise.
75862         * tests/test-remove.c: Likewise.
75863         * tests/test-rename.c: Likewise.
75864         * tests/test-renameat.c: Likewise.
75865         * tests/test-rmdir.c: Likewise.
75866         * tests/test-round1.c: Likewise.
75867         * tests/test-roundf1.c: Likewise.
75868         * tests/test-roundl.c: Likewise.
75869         * tests/test-safe-alloc.c: Likewise.
75870         * tests/test-sameacls.c: Likewise.
75871         * tests/test-set-mode-acl.c: Likewise.
75872         * tests/test-setenv.c: Likewise.
75873         * tests/test-sigaction.c: Likewise.
75874         * tests/test-signbit.c: Likewise.
75875         * tests/test-sleep.c: Likewise.
75876         * tests/test-snprintf-posix.c: Likewise.
75877         * tests/test-snprintf.c: Likewise.
75878         * tests/test-sprintf-posix.c: Likewise.
75879         * tests/test-stat-time.c: Likewise.
75880         * tests/test-stat.c: Likewise.
75881         * tests/test-strcasestr.c: Likewise.
75882         * tests/test-strchrnul.c: Likewise.
75883         * tests/test-strerror.c: Likewise.
75884         * tests/test-striconv.c: Likewise.
75885         * tests/test-striconveh.c: Likewise.
75886         * tests/test-striconveha.c: Likewise.
75887         * tests/test-strsignal.c: Likewise.
75888         * tests/test-strstr.c: Likewise.
75889         * tests/test-strtod.c: Likewise.
75890         * tests/test-strverscmp.c: Likewise.
75891         * tests/test-symlink.c: Likewise.
75892         * tests/test-symlinkat.c: Likewise.
75893         * tests/test-trunc1.c: Likewise.
75894         * tests/test-trunc2.c: Likewise.
75895         * tests/test-truncf1.c: Likewise.
75896         * tests/test-truncf2.c: Likewise.
75897         * tests/test-truncl.c: Likewise.
75898         * tests/test-uname.c: Likewise.
75899         * tests/test-unlink.c: Likewise.
75900         * tests/test-unlinkat.c: Likewise.
75901         * tests/test-unsetenv.c: Likewise.
75902         * tests/test-usleep.c: Likewise.
75903         * tests/test-utimens.c: Likewise.
75904         * tests/test-utimensat.c: Likewise.
75905         * tests/test-vasnprintf-posix.c: Likewise.
75906         * tests/test-vasnprintf-posix2.c: Likewise.
75907         * tests/test-vasnprintf.c: Likewise.
75908         * tests/test-vasprintf-posix.c: Likewise.
75909         * tests/test-vasprintf.c: Likewise.
75910         * tests/test-vdprintf-posix.c: Likewise.
75911         * tests/test-vfprintf-posix.c: Likewise.
75912         * tests/test-vprintf-posix.c: Likewise.
75913         * tests/test-vsnprintf-posix.c: Likewise.
75914         * tests/test-vsnprintf.c: Likewise.
75915         * tests/test-vsprintf-posix.c: Likewise.
75916         * tests/test-wcrtomb.c: Likewise.
75917         * tests/test-wcsnrtombs.c: Likewise.
75918         * tests/test-wcsrtombs.c: Likewise.
75919         * tests/test-wctype.c: Likewise.
75920         * tests/test-wcwidth.c: Likewise.
75921         * tests/test-xfprintf-posix.c: Likewise.
75922         * tests/test-xmemdup0.c: Likewise.
75923         * tests/test-xprintf-posix.c: Likewise.
75924         * tests/test-xvasprintf.c: Likewise.
75925         * tests/unicase/test-locale-language.c: Likewise.
75926         * tests/unicase/test-mapping-part1.h: Likewise.
75927         * tests/unicase/test-predicate-part1.h: Likewise.
75928         * tests/unicase/test-u8-casecmp.c: Likewise.
75929         * tests/unicase/test-u8-casecoll.c: Likewise.
75930         * tests/unicase/test-u8-casefold.c: Likewise.
75931         * tests/unicase/test-u8-is-cased.c: Likewise.
75932         * tests/unicase/test-u8-is-casefolded.c: Likewise.
75933         * tests/unicase/test-u8-is-lowercase.c: Likewise.
75934         * tests/unicase/test-u8-is-titlecase.c: Likewise.
75935         * tests/unicase/test-u8-is-uppercase.c: Likewise.
75936         * tests/unicase/test-u8-tolower.c: Likewise.
75937         * tests/unicase/test-u8-totitle.c: Likewise.
75938         * tests/unicase/test-u8-toupper.c: Likewise.
75939         * tests/unicase/test-u16-casecmp.c: Likewise.
75940         * tests/unicase/test-u16-casecoll.c: Likewise.
75941         * tests/unicase/test-u16-casefold.c: Likewise.
75942         * tests/unicase/test-u16-is-cased.c: Likewise.
75943         * tests/unicase/test-u16-is-casefolded.c: Likewise.
75944         * tests/unicase/test-u16-is-lowercase.c: Likewise.
75945         * tests/unicase/test-u16-is-titlecase.c: Likewise.
75946         * tests/unicase/test-u16-is-uppercase.c: Likewise.
75947         * tests/unicase/test-u16-tolower.c: Likewise.
75948         * tests/unicase/test-u16-totitle.c: Likewise.
75949         * tests/unicase/test-u16-toupper.c: Likewise.
75950         * tests/unicase/test-u32-casecmp.c: Likewise.
75951         * tests/unicase/test-u32-casecoll.c: Likewise.
75952         * tests/unicase/test-u32-casefold.c: Likewise.
75953         * tests/unicase/test-u32-is-cased.c: Likewise.
75954         * tests/unicase/test-u32-is-casefolded.c: Likewise.
75955         * tests/unicase/test-u32-is-lowercase.c: Likewise.
75956         * tests/unicase/test-u32-is-titlecase.c: Likewise.
75957         * tests/unicase/test-u32-is-uppercase.c: Likewise.
75958         * tests/unicase/test-u32-tolower.c: Likewise.
75959         * tests/unicase/test-u32-totitle.c: Likewise.
75960         * tests/unicase/test-u32-toupper.c: Likewise.
75961         * tests/unicase/test-ulc-casecmp.c: Likewise.
75962         * tests/unicase/test-ulc-casecoll.c: Likewise.
75963         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
75964         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
75965         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
75966         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
75967         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
75968         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
75969         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
75970         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
75971         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
75972         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
75973         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
75974         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
75975         * tests/unictype/test-bidi_byname.c: Likewise.
75976         * tests/unictype/test-bidi_name.c: Likewise.
75977         * tests/unictype/test-bidi_of.c: Likewise.
75978         * tests/unictype/test-bidi_test.c: Likewise.
75979         * tests/unictype/test-block_list.c: Likewise.
75980         * tests/unictype/test-block_of.c: Likewise.
75981         * tests/unictype/test-block_test.c: Likewise.
75982         * tests/unictype/test-categ_and.c: Likewise.
75983         * tests/unictype/test-categ_and_not.c: Likewise.
75984         * tests/unictype/test-categ_byname.c: Likewise.
75985         * tests/unictype/test-categ_name.c: Likewise.
75986         * tests/unictype/test-categ_none.c: Likewise.
75987         * tests/unictype/test-categ_of.c: Likewise.
75988         * tests/unictype/test-categ_or.c: Likewise.
75989         * tests/unictype/test-categ_test_withtable.c: Likewise.
75990         * tests/unictype/test-combining.c: Likewise.
75991         * tests/unictype/test-decdigit.c: Likewise.
75992         * tests/unictype/test-digit.c: Likewise.
75993         * tests/unictype/test-mirror.c: Likewise.
75994         * tests/unictype/test-numeric.c: Likewise.
75995         * tests/unictype/test-pr_byname.c: Likewise.
75996         * tests/unictype/test-pr_test.c: Likewise.
75997         * tests/unictype/test-predicate-part1.h: Likewise.
75998         * tests/unictype/test-scripts.c: Likewise.
75999         * tests/unictype/test-sy_c_ident.c: Likewise.
76000         * tests/unictype/test-sy_java_ident.c: Likewise.
76001         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
76002         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
76003         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
76004         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
76005         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
76006         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
76007         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
76008         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
76009         * tests/uninorm/test-canonical-decomposition.c: Likewise.
76010         * tests/uninorm/test-compat-decomposition.c: Likewise.
76011         * tests/uninorm/test-composition.c: Likewise.
76012         * tests/uninorm/test-decomposing-form.c: Likewise.
76013         * tests/uninorm/test-decomposition.c: Likewise.
76014         * tests/uninorm/test-u8-nfc.c: Likewise.
76015         * tests/uninorm/test-u8-nfd.c: Likewise.
76016         * tests/uninorm/test-u8-nfkc.c: Likewise.
76017         * tests/uninorm/test-u8-nfkd.c: Likewise.
76018         * tests/uninorm/test-u8-normcmp.c: Likewise.
76019         * tests/uninorm/test-u8-normcoll.c: Likewise.
76020         * tests/uninorm/test-u16-nfc.c: Likewise.
76021         * tests/uninorm/test-u16-nfd.c: Likewise.
76022         * tests/uninorm/test-u16-nfkc.c: Likewise.
76023         * tests/uninorm/test-u16-nfkd.c: Likewise.
76024         * tests/uninorm/test-u16-normcmp.c: Likewise.
76025         * tests/uninorm/test-u16-normcoll.c: Likewise.
76026         * tests/uninorm/test-u32-nfc.c: Likewise.
76027         * tests/uninorm/test-u32-nfd.c: Likewise.
76028         * tests/uninorm/test-u32-nfkc.c: Likewise.
76029         * tests/uninorm/test-u32-nfkd.c: Likewise.
76030         * tests/uninorm/test-u32-normalize-big.c: Likewise.
76031         * tests/uninorm/test-u32-normcmp.c: Likewise.
76032         * tests/uninorm/test-u32-normcoll.c: Likewise.
76033         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
76034         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
76035         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
76036         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
76037         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
76038         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
76039         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
76040         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
76041         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
76042         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
76043         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
76044         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
76045         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
76046         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
76047         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
76048         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
76049         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
76050         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
76051         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
76052         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
76053         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
76054         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
76055         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
76056         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
76057         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
76058         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
76059         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
76060         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
76061         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
76062         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
76063         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
76064         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
76065         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
76066         * tests/uniwidth/test-u8-strwidth.c: Likewise.
76067         * tests/uniwidth/test-u8-width.c: Likewise.
76068         * tests/uniwidth/test-u16-strwidth.c: Likewise.
76069         * tests/uniwidth/test-u16-width.c: Likewise.
76070         * tests/uniwidth/test-u32-strwidth.c: Likewise.
76071         * tests/uniwidth/test-u32-width.c: Likewise.
76072         * tests/uniwidth/test-uc_width.c: Likewise.
76073         * tests/uniwidth/test-uc_width2.c: Likewise.
76074         * modules/acl-tests (Files): Add tests/macros.h.
76075         * modules/areadlink-tests (Files): Likewise.
76076         * modules/areadlink-with-size-tests (Files): Likewise.
76077         * modules/areadlinkat-tests (Files): Likewise.
76078         * modules/areadlinkat-with-size-tests (Files): Likewise.
76079         * modules/argmatch-tests (Files): Likewise.
76080         * modules/argv-iter-tests (Files): Likewise.
76081         * modules/array-list-tests (Files): Likewise.
76082         * modules/array-mergesort-tests (Files): Likewise.
76083         * modules/array-oset-tests (Files): Likewise.
76084         * modules/avltree-list-tests (Files): Likewise.
76085         * modules/avltree-oset-tests (Files): Likewise.
76086         * modules/avltreehash-list-tests (Files): Likewise.
76087         * modules/base64-tests (Files): Likewise.
76088         * modules/binary-io-tests (Files): Likewise.
76089         * modules/bitrotate-tests (Files): Likewise.
76090         * modules/btowc-tests (Files): Likewise.
76091         * modules/byteswap-tests (Files): Likewise.
76092         * modules/c-ctype-tests (Files): Likewise.
76093         * modules/c-stack-tests (Files): Likewise.
76094         * modules/c-strcase-tests (Files): Likewise.
76095         * modules/c-strcasestr-tests (Files): Likewise.
76096         * modules/c-strstr-tests (Files): Likewise.
76097         * modules/canonicalize-lgpl-tests (Files): Likewise.
76098         * modules/canonicalize-tests (Files): Likewise.
76099         * modules/carray-list-tests (Files): Likewise.
76100         * modules/ceilf-tests (Files): Likewise.
76101         * modules/ceill-tests (Files): Likewise.
76102         * modules/chown-tests (Files): Likewise.
76103         * modules/cloexec-tests (Files): Likewise.
76104         * modules/copy-file-tests (Files): Likewise.
76105         * modules/count-one-bits-tests (Files): Likewise.
76106         * modules/dprintf-posix-tests (Files): Likewise.
76107         * modules/dup2-tests (Files): Likewise.
76108         * modules/dup3-tests (Files): Likewise.
76109         * modules/duplocale-tests (Files): Likewise.
76110         * modules/fbufmode-tests (Files): Likewise.
76111         * modules/fchdir-tests (Files): Likewise.
76112         * modules/fcntl-safer-tests (Files): Likewise.
76113         * modules/fcntl-tests (Files): Likewise.
76114         * modules/fdopendir-tests (Files): Likewise.
76115         * modules/fdutimensat-tests (Files): Likewise.
76116         * modules/fflush-tests (Files): Likewise.
76117         * modules/filevercmp-tests (Files): Likewise.
76118         * modules/flock-tests (Files): Likewise.
76119         * modules/floorf-tests (Files): Likewise.
76120         * modules/floorl-tests (Files): Likewise.
76121         * modules/fnmatch-tests (Files): Likewise.
76122         * modules/fopen-safer-tests (Files): Likewise.
76123         * modules/fopen-tests (Files): Likewise.
76124         * modules/fpending-tests (Files): Likewise.
76125         * modules/fprintf-posix-tests (Files): Likewise.
76126         * modules/fpurge-tests (Files): Likewise.
76127         * modules/freadable-tests (Files): Likewise.
76128         * modules/freadahead-tests (Files): Likewise.
76129         * modules/freading-tests (Files): Likewise.
76130         * modules/freadptr-tests (Files): Likewise.
76131         * modules/freadseek-tests (Files): Likewise.
76132         * modules/freopen-tests (Files): Likewise.
76133         * modules/frexp-nolibm-tests (Files): Likewise.
76134         * modules/frexp-tests (Files): Likewise.
76135         * modules/frexpl-nolibm-tests (Files): Likewise.
76136         * modules/frexpl-tests (Files): Likewise.
76137         * modules/fseek-tests (Files): Likewise.
76138         * modules/fseeko-tests (Files): Likewise.
76139         * modules/fstrcmp-tests (Files): Likewise.
76140         * modules/fsync-tests (Files): Likewise.
76141         * modules/ftell-tests (Files): Likewise.
76142         * modules/ftello-tests (Files): Likewise.
76143         * modules/func-tests (Files): Likewise.
76144         * modules/futimens-tests (Files): Likewise.
76145         * modules/fwritable-tests (Files): Likewise.
76146         * modules/fwriting-tests (Files): Likewise.
76147         * modules/getcwd-tests (Files): Likewise.
76148         * modules/getdate-tests (Files): Likewise.
76149         * modules/getdelim-tests (Files): Likewise.
76150         * modules/getdtablesize-tests (Files): Likewise.
76151         * modules/getgroups-tests (Files): Likewise.
76152         * modules/getline-tests (Files): Likewise.
76153         * modules/getndelim2-tests (Files): Likewise.
76154         * modules/glob-tests (Files): Likewise.
76155         * modules/hash-tests (Files): Likewise.
76156         * modules/i-ring-tests (Files): Likewise.
76157         * modules/iconv-tests (Files): Likewise.
76158         * modules/iconv_open-utf-tests (Files): Likewise.
76159         * modules/idpriv-drop-tests (Files): Likewise.
76160         * modules/idpriv-droptemp-tests (Files): Likewise.
76161         * modules/inet_ntop-tests (Files): Likewise.
76162         * modules/inet_pton-tests (Files): Likewise.
76163         * modules/isblank-tests (Files): Likewise.
76164         * modules/isfinite-tests (Files): Likewise.
76165         * modules/isinf-tests (Files): Likewise.
76166         * modules/isnan-tests (Files): Likewise.
76167         * modules/isnand-nolibm-tests (Files): Likewise.
76168         * modules/isnand-tests (Files): Likewise.
76169         * modules/isnanf-nolibm-tests (Files): Likewise.
76170         * modules/isnanf-tests (Files): Likewise.
76171         * modules/isnanl-nolibm-tests (Files): Likewise.
76172         * modules/isnanl-tests (Files): Likewise.
76173         * modules/lchown-tests (Files): Likewise.
76174         * modules/ldexpl-tests (Files): Likewise.
76175         * modules/link-tests (Files): Likewise.
76176         * modules/linkat-tests (Files): Likewise.
76177         * modules/linked-list-tests (Files): Likewise.
76178         * modules/linkedhash-list-tests (Files): Likewise.
76179         * modules/localename-tests (Files): Likewise.
76180         * modules/lseek-tests (Files): Likewise.
76181         * modules/lstat-tests (Files): Likewise.
76182         * modules/mbmemcasecmp-tests (Files): Likewise.
76183         * modules/mbmemcasecoll-tests (Files): Likewise.
76184         * modules/mbrtowc-tests (Files): Likewise.
76185         * modules/mbscasecmp-tests (Files): Likewise.
76186         * modules/mbscasestr-tests (Files): Likewise.
76187         * modules/mbschr-tests (Files): Likewise.
76188         * modules/mbscspn-tests (Files): Likewise.
76189         * modules/mbsinit-tests (Files): Likewise.
76190         * modules/mbsncasecmp-tests (Files): Likewise.
76191         * modules/mbsnrtowcs-tests (Files): Likewise.
76192         * modules/mbspbrk-tests (Files): Likewise.
76193         * modules/mbspcasecmp-tests (Files): Likewise.
76194         * modules/mbsrchr-tests (Files): Likewise.
76195         * modules/mbsrtowcs-tests (Files): Likewise.
76196         * modules/mbsspn-tests (Files): Likewise.
76197         * modules/mbsstr-tests (Files): Likewise.
76198         * modules/memchr-tests (Files): Likewise.
76199         * modules/memchr2-tests (Files): Likewise.
76200         * modules/memcmp-tests (Files): Likewise.
76201         * modules/memmem-tests (Files): Likewise.
76202         * modules/memrchr-tests (Files): Likewise.
76203         * modules/mkdir-tests (Files): Likewise.
76204         * modules/mkfifo-tests (Files): Likewise.
76205         * modules/mkfifoat-tests (Files): Likewise.
76206         * modules/mknod-tests (Files): Likewise.
76207         * modules/nanosleep-tests (Files): Likewise.
76208         * modules/nl_langinfo-tests (Files): Likewise.
76209         * modules/obstack-printf-tests (Files): Likewise.
76210         * modules/open-tests (Files): Likewise.
76211         * modules/openat-tests (Files): Likewise.
76212         * modules/pipe-filter-gi-tests (Files): Likewise.
76213         * modules/pipe-filter-ii-tests (Files): Likewise.
76214         * modules/pipe2-tests (Files): Likewise.
76215         * modules/popen-safer-tests (Files): Likewise.
76216         * modules/popen-tests (Files): Likewise.
76217         * modules/posixtm-tests (Files): Likewise.
76218         * modules/pread-tests (Files): Likewise.
76219         * modules/printf-frexp-tests (Files): Likewise.
76220         * modules/printf-frexpl-tests (Files): Likewise.
76221         * modules/printf-posix-tests (Files): Likewise.
76222         * modules/priv-set-tests (Files): Likewise.
76223         * modules/quotearg-tests (Files): Likewise.
76224         * modules/random_r-tests (Files): Likewise.
76225         * modules/rawmemchr-tests (Files): Likewise.
76226         * modules/rbtree-list-tests (Files): Likewise.
76227         * modules/rbtree-oset-tests (Files): Likewise.
76228         * modules/rbtreehash-list-tests (Files): Likewise.
76229         * modules/readlink-tests (Files): Likewise.
76230         * modules/remove-tests (Files): Likewise.
76231         * modules/rename-tests (Files): Likewise.
76232         * modules/renameat-tests (Files): Likewise.
76233         * modules/rmdir-tests (Files): Likewise.
76234         * modules/round-tests (Files): Likewise.
76235         * modules/roundf-tests (Files): Likewise.
76236         * modules/roundl-tests (Files): Likewise.
76237         * modules/safe-alloc-tests (Files): Likewise.
76238         * modules/setenv-tests (Files): Likewise.
76239         * modules/sigaction-tests (Files): Likewise.
76240         * modules/signbit-tests (Files): Likewise.
76241         * modules/sleep-tests (Files): Likewise.
76242         * modules/snprintf-posix-tests (Files): Likewise.
76243         * modules/snprintf-tests (Files): Likewise.
76244         * modules/sprintf-posix-tests (Files): Likewise.
76245         * modules/stat-tests (Files): Likewise.
76246         * modules/stat-time-tests (Files): Likewise.
76247         * modules/strcasestr-tests (Files): Likewise.
76248         * modules/strchrnul-tests (Files): Likewise.
76249         * modules/strerror-tests (Files): Likewise.
76250         * modules/striconv-tests (Files): Likewise.
76251         * modules/striconveh-tests (Files): Likewise.
76252         * modules/striconveha-tests (Files): Likewise.
76253         * modules/strsignal-tests (Files): Likewise.
76254         * modules/strstr-tests (Files): Likewise.
76255         * modules/strtod-tests (Files): Likewise.
76256         * modules/strverscmp-tests (Files): Likewise.
76257         * modules/symlink-tests (Files): Likewise.
76258         * modules/symlinkat-tests (Files): Likewise.
76259         * modules/trunc-tests (Files): Likewise.
76260         * modules/truncf-tests (Files): Likewise.
76261         * modules/truncl-tests (Files): Likewise.
76262         * modules/uname-tests (Files): Likewise.
76263         * modules/unicase/cased-tests (Files): Likewise.
76264         * modules/unicase/ignorable-tests (Files): Likewise.
76265         * modules/unicase/locale-language-tests (Files): Likewise.
76266         * modules/unicase/tolower-tests (Files): Likewise.
76267         * modules/unicase/totitle-tests (Files): Likewise.
76268         * modules/unicase/toupper-tests (Files): Likewise.
76269         * modules/unicase/u8-casecmp-tests (Files): Likewise.
76270         * modules/unicase/u8-casecoll-tests (Files): Likewise.
76271         * modules/unicase/u8-casefold-tests (Files): Likewise.
76272         * modules/unicase/u8-is-cased-tests (Files): Likewise.
76273         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
76274         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
76275         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
76276         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
76277         * modules/unicase/u8-tolower-tests (Files): Likewise.
76278         * modules/unicase/u8-totitle-tests (Files): Likewise.
76279         * modules/unicase/u8-toupper-tests (Files): Likewise.
76280         * modules/unicase/u16-casecmp-tests (Files): Likewise.
76281         * modules/unicase/u16-casecoll-tests (Files): Likewise.
76282         * modules/unicase/u16-casefold-tests (Files): Likewise.
76283         * modules/unicase/u16-is-cased-tests (Files): Likewise.
76284         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
76285         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
76286         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
76287         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
76288         * modules/unicase/u16-tolower-tests (Files): Likewise.
76289         * modules/unicase/u16-totitle-tests (Files): Likewise.
76290         * modules/unicase/u16-toupper-tests (Files): Likewise.
76291         * modules/unicase/u32-casecmp-tests (Files): Likewise.
76292         * modules/unicase/u32-casecoll-tests (Files): Likewise.
76293         * modules/unicase/u32-casefold-tests (Files): Likewise.
76294         * modules/unicase/u32-is-cased-tests (Files): Likewise.
76295         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
76296         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
76297         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
76298         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
76299         * modules/unicase/u32-tolower-tests (Files): Likewise.
76300         * modules/unicase/u32-totitle-tests (Files): Likewise.
76301         * modules/unicase/u32-toupper-tests (Files): Likewise.
76302         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
76303         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
76304         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
76305         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
76306         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
76307         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
76308         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
76309         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
76310         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
76311         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
76312         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
76313         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
76314         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
76315         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
76316         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
76317         * modules/unictype/bidicategory-name-tests (Files): Likewise.
76318         * modules/unictype/bidicategory-of-tests (Files): Likewise.
76319         * modules/unictype/bidicategory-test-tests (Files): Likewise.
76320         * modules/unictype/block-list-tests (Files): Likewise.
76321         * modules/unictype/block-of-tests (Files): Likewise.
76322         * modules/unictype/block-test-tests (Files): Likewise.
76323         * modules/unictype/category-C-tests (Files): Likewise.
76324         * modules/unictype/category-Cc-tests (Files): Likewise.
76325         * modules/unictype/category-Cf-tests (Files): Likewise.
76326         * modules/unictype/category-Cn-tests (Files): Likewise.
76327         * modules/unictype/category-Co-tests (Files): Likewise.
76328         * modules/unictype/category-Cs-tests (Files): Likewise.
76329         * modules/unictype/category-L-tests (Files): Likewise.
76330         * modules/unictype/category-Ll-tests (Files): Likewise.
76331         * modules/unictype/category-Lm-tests (Files): Likewise.
76332         * modules/unictype/category-Lo-tests (Files): Likewise.
76333         * modules/unictype/category-Lt-tests (Files): Likewise.
76334         * modules/unictype/category-Lu-tests (Files): Likewise.
76335         * modules/unictype/category-M-tests (Files): Likewise.
76336         * modules/unictype/category-Mc-tests (Files): Likewise.
76337         * modules/unictype/category-Me-tests (Files): Likewise.
76338         * modules/unictype/category-Mn-tests (Files): Likewise.
76339         * modules/unictype/category-N-tests (Files): Likewise.
76340         * modules/unictype/category-Nd-tests (Files): Likewise.
76341         * modules/unictype/category-Nl-tests (Files): Likewise.
76342         * modules/unictype/category-No-tests (Files): Likewise.
76343         * modules/unictype/category-P-tests (Files): Likewise.
76344         * modules/unictype/category-Pc-tests (Files): Likewise.
76345         * modules/unictype/category-Pd-tests (Files): Likewise.
76346         * modules/unictype/category-Pe-tests (Files): Likewise.
76347         * modules/unictype/category-Pf-tests (Files): Likewise.
76348         * modules/unictype/category-Pi-tests (Files): Likewise.
76349         * modules/unictype/category-Po-tests (Files): Likewise.
76350         * modules/unictype/category-Ps-tests (Files): Likewise.
76351         * modules/unictype/category-S-tests (Files): Likewise.
76352         * modules/unictype/category-Sc-tests (Files): Likewise.
76353         * modules/unictype/category-Sk-tests (Files): Likewise.
76354         * modules/unictype/category-Sm-tests (Files): Likewise.
76355         * modules/unictype/category-So-tests (Files): Likewise.
76356         * modules/unictype/category-Z-tests (Files): Likewise.
76357         * modules/unictype/category-Zl-tests (Files): Likewise.
76358         * modules/unictype/category-Zp-tests (Files): Likewise.
76359         * modules/unictype/category-Zs-tests (Files): Likewise.
76360         * modules/unictype/category-and-not-tests (Files): Likewise.
76361         * modules/unictype/category-and-tests (Files): Likewise.
76362         * modules/unictype/category-byname-tests (Files): Likewise.
76363         * modules/unictype/category-name-tests (Files): Likewise.
76364         * modules/unictype/category-none-tests (Files): Likewise.
76365         * modules/unictype/category-of-tests (Files): Likewise.
76366         * modules/unictype/category-or-tests (Files): Likewise.
76367         * modules/unictype/category-test-withtable-tests (Files): Likewise.
76368         * modules/unictype/combining-class-tests (Files): Likewise.
76369         * modules/unictype/ctype-alnum-tests (Files): Likewise.
76370         * modules/unictype/ctype-alpha-tests (Files): Likewise.
76371         * modules/unictype/ctype-blank-tests (Files): Likewise.
76372         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
76373         * modules/unictype/ctype-digit-tests (Files): Likewise.
76374         * modules/unictype/ctype-graph-tests (Files): Likewise.
76375         * modules/unictype/ctype-lower-tests (Files): Likewise.
76376         * modules/unictype/ctype-print-tests (Files): Likewise.
76377         * modules/unictype/ctype-punct-tests (Files): Likewise.
76378         * modules/unictype/ctype-space-tests (Files): Likewise.
76379         * modules/unictype/ctype-upper-tests (Files): Likewise.
76380         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
76381         * modules/unictype/decimal-digit-tests (Files): Likewise.
76382         * modules/unictype/digit-tests (Files): Likewise.
76383         * modules/unictype/mirror-tests (Files): Likewise.
76384         * modules/unictype/numeric-tests (Files): Likewise.
76385         * modules/unictype/property-alphabetic-tests (Files): Likewise.
76386         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
76387         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
76388         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
76389         Likewise.
76390         * modules/unictype/property-bidi-block-separator-tests (Files):
76391         Likewise.
76392         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
76393         Likewise.
76394         * modules/unictype/property-bidi-common-separator-tests (Files):
76395         Likewise.
76396         * modules/unictype/property-bidi-control-tests (Files): Likewise.
76397         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
76398         Likewise.
76399         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
76400         Likewise.
76401         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
76402         Likewise.
76403         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
76404         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
76405         Likewise.
76406         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
76407         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
76408         Likewise.
76409         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
76410         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
76411         * modules/unictype/property-bidi-segment-separator-tests (Files):
76412         Likewise.
76413         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
76414         * modules/unictype/property-byname-tests (Files): Likewise.
76415         * modules/unictype/property-combining-tests (Files): Likewise.
76416         * modules/unictype/property-composite-tests (Files): Likewise.
76417         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
76418         * modules/unictype/property-dash-tests (Files): Likewise.
76419         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
76420         * modules/unictype/property-default-ignorable-code-point-tests (Files):
76421         Likewise.
76422         * modules/unictype/property-deprecated-tests (Files): Likewise.
76423         * modules/unictype/property-diacritic-tests (Files): Likewise.
76424         * modules/unictype/property-extender-tests (Files): Likewise.
76425         * modules/unictype/property-format-control-tests (Files): Likewise.
76426         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
76427         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
76428         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
76429         * modules/unictype/property-hex-digit-tests (Files): Likewise.
76430         * modules/unictype/property-hyphen-tests (Files): Likewise.
76431         * modules/unictype/property-id-continue-tests (Files): Likewise.
76432         * modules/unictype/property-id-start-tests (Files): Likewise.
76433         * modules/unictype/property-ideographic-tests (Files): Likewise.
76434         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
76435         * modules/unictype/property-ids-trinary-operator-tests (Files):
76436         Likewise.
76437         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
76438         * modules/unictype/property-iso-control-tests (Files): Likewise.
76439         * modules/unictype/property-join-control-tests (Files): Likewise.
76440         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
76441         * modules/unictype/property-line-separator-tests (Files): Likewise.
76442         * modules/unictype/property-logical-order-exception-tests (Files):
76443         Likewise.
76444         * modules/unictype/property-lowercase-tests (Files): Likewise.
76445         * modules/unictype/property-math-tests (Files): Likewise.
76446         * modules/unictype/property-non-break-tests (Files): Likewise.
76447         * modules/unictype/property-not-a-character-tests (Files): Likewise.
76448         * modules/unictype/property-numeric-tests (Files): Likewise.
76449         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
76450         * modules/unictype/property-other-default-ignorable-code-point-tests
76451         (Files): Likewise.
76452         * modules/unictype/property-other-grapheme-extend-tests (Files):
76453         Likewise.
76454         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
76455         * modules/unictype/property-other-id-start-tests (Files): Likewise.
76456         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
76457         * modules/unictype/property-other-math-tests (Files): Likewise.
76458         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
76459         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
76460         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
76461         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
76462         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
76463         * modules/unictype/property-private-use-tests (Files): Likewise.
76464         * modules/unictype/property-punctuation-tests (Files): Likewise.
76465         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
76466         * modules/unictype/property-radical-tests (Files): Likewise.
76467         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
76468         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
76469         * modules/unictype/property-space-tests (Files): Likewise.
76470         * modules/unictype/property-terminal-punctuation-tests (Files):
76471         Likewise.
76472         * modules/unictype/property-test-tests (Files): Likewise.
76473         * modules/unictype/property-titlecase-tests (Files): Likewise.
76474         * modules/unictype/property-unassigned-code-value-tests (Files):
76475         Likewise.
76476         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
76477         * modules/unictype/property-uppercase-tests (Files): Likewise.
76478         * modules/unictype/property-variation-selector-tests (Files): Likewise.
76479         * modules/unictype/property-white-space-tests (Files): Likewise.
76480         * modules/unictype/property-xid-continue-tests (Files): Likewise.
76481         * modules/unictype/property-xid-start-tests (Files): Likewise.
76482         * modules/unictype/property-zero-width-tests (Files): Likewise.
76483         * modules/unictype/scripts-tests (Files): Likewise.
76484         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
76485         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
76486         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
76487         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
76488         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
76489         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
76490         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
76491         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
76492         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
76493         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
76494         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
76495         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
76496         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
76497         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
76498         * modules/uninorm/composition-tests (Files): Likewise.
76499         * modules/uninorm/decomposing-form-tests (Files): Likewise.
76500         * modules/uninorm/decomposition-tests (Files): Likewise.
76501         * modules/uninorm/filter-tests (Files): Likewise.
76502         * modules/uninorm/nfc-tests (Files): Likewise.
76503         * modules/uninorm/nfd-tests (Files): Likewise.
76504         * modules/uninorm/nfkc-tests (Files): Likewise.
76505         * modules/uninorm/nfkd-tests (Files): Likewise.
76506         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
76507         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
76508         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
76509         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
76510         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
76511         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
76512         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
76513         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
76514         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
76515         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
76516         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
76517         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
76518         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
76519         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
76520         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
76521         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
76522         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
76523         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
76524         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
76525         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
76526         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
76527         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
76528         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
76529         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
76530         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
76531         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
76532         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
76533         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
76534         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
76535         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
76536         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
76537         * modules/uniwidth/u8-width-tests (Files): Likewise.
76538         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
76539         * modules/uniwidth/u16-width-tests (Files): Likewise.
76540         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
76541         * modules/uniwidth/u32-width-tests (Files): Likewise.
76542         * modules/uniwidth/width-tests (Files): Likewise.
76543         * modules/unlink-tests (Files): Likewise.
76544         * modules/unsetenv-tests (Files): Likewise.
76545         * modules/usleep-tests (Files): Likewise.
76546         * modules/utimens-tests (Files): Likewise.
76547         * modules/utimensat-tests (Files): Likewise.
76548         * modules/vasnprintf-posix-tests (Files): Likewise.
76549         * modules/vasnprintf-tests (Files): Likewise.
76550         * modules/vasprintf-posix-tests (Files): Likewise.
76551         * modules/vasprintf-tests (Files): Likewise.
76552         * modules/vdprintf-posix-tests (Files): Likewise.
76553         * modules/vfprintf-posix-tests (Files): Likewise.
76554         * modules/vprintf-posix-tests (Files): Likewise.
76555         * modules/vsnprintf-posix-tests (Files): Likewise.
76556         * modules/vsnprintf-tests (Files): Likewise.
76557         * modules/vsprintf-posix-tests (Files): Likewise.
76558         * modules/wcrtomb-tests (Files): Likewise.
76559         * modules/wcsnrtombs-tests (Files): Likewise.
76560         * modules/wcsrtombs-tests (Files): Likewise.
76561         * modules/wctype-tests (Files): Likewise.
76562         * modules/wcwidth-tests (Files): Likewise.
76563         * modules/xmemdup0-tests (Files): Likewise.
76564         * modules/xprintf-posix-tests (Files): Likewise.
76565         * modules/xvasprintf-tests (Files): Likewise.
76567 2009-12-24  Eric Blake  <ebb9@byu.net>
76569         test-nanosleep: fix typo
76570         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
76571         patch.
76572         Reported by Bruno Haible.
76574 2009-12-24  Bruno Haible  <bruno@clisp.org>
76576         Reduce namespace pollution on glibc systems.
76577         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
76578         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
76579         systems.
76580         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
76581         <getopt.h> on glibc systems.
76582         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
76583         systems.
76584         * lib/fcntl.c: Include <unistd.h> here instead.
76586 2009-12-24  Bruno Haible  <bruno@clisp.org>
76588         * lib/stdlib.in.h (includes): Fix typo in today's commit.
76590 2009-12-24  Eric Blake  <ebb9@byu.net>
76592         tests: add signature checks
76593         * tests/signature.h (SIGNATURE_CHECK): New file.
76594         * modules/atexit-tests (Files): Use it.
76595         * modules/btowc-tests (Files): Likewise.
76596         * modules/canonicalize-lgpl-tests (Files): Likewise.
76597         * modules/ceilf-tests (Files): Likewise.
76598         * modules/ceill-tests (Files): Likewise.
76599         * modules/chown-tests (Files): Likewise.
76600         * modules/dprintf-posix-tests (Files): Likewise.
76601         * modules/dup2-tests (Files): Likewise.
76602         * modules/dup3-tests (Files): Likewise.
76603         * modules/duplocale-tests (Files): Likewise.
76604         * modules/fchdir-tests (Files): Likewise.
76605         * modules/fcntl-tests (Files): Likewise.
76606         * modules/fdopendir-tests (Files): Likewise.
76607         * modules/fflush-tests (Files): Likewise.
76608         * modules/flock-tests (Files): Likewise.
76609         * modules/floorf-tests (Files): Likewise.
76610         * modules/floorl-tests (Files): Likewise.
76611         * modules/fnmatch-tests (Files): Likewise.
76612         * modules/fopen-tests (Files): Likewise.
76613         * modules/fprintf-posix-tests (Files): Likewise.
76614         * modules/freopen-tests (Files): Likewise.
76615         * modules/frexp-nolibm-tests (Files): Likewise.
76616         * modules/frexp-tests (Files): Likewise.
76617         * modules/frexpl-nolibm-tests (Files): Likewise.
76618         * modules/frexpl-tests (Files): Likewise.
76619         * modules/fseek-tests (Files): Likewise.
76620         * modules/fseeko-tests (Files): Likewise.
76621         * modules/fsync-tests (Files): Likewise.
76622         * modules/ftell-tests (Files): Likewise.
76623         * modules/ftello-tests (Files): Likewise.
76624         * modules/futimens-tests (Files): Likewise.
76625         * modules/getaddrinfo-tests (Files): Likewise.
76626         * modules/getcwd-tests (Files): Likewise.
76627         * modules/getdelim-tests (Files): Likewise.
76628         * modules/getdtablesize-tests (Files): Likewise.
76629         * modules/getgroups-tests (Files): Likewise.
76630         * modules/gethostname-tests (Files): Likewise.
76631         * modules/getline-tests (Files): Likewise.
76632         * modules/getopt-posix-tests (Files): Likewise.
76633         * modules/gettimeofday-tests (Files): Likewise.
76634         * modules/glob-tests (Files): Likewise.
76635         * modules/iconv-tests (Files): Likewise.
76636         * modules/inet_ntop-tests (Files): Likewise.
76637         * modules/inet_pton-tests (Files): Likewise.
76638         * modules/isblank-tests (Files): Likewise.
76639         * modules/lchown-tests (Files): Likewise.
76640         * modules/ldexpl-tests (Files): Likewise.
76641         * modules/link-tests (Files): Likewise.
76642         * modules/linkat-tests (Files): Likewise.
76643         * modules/lseek-tests (Files): Likewise.
76644         * modules/lstat-tests (Files): Likewise.
76645         * modules/mbrtowc-tests (Files): Likewise.
76646         * modules/mbsinit-tests (Files): Likewise.
76647         * modules/mbsnrtowcs-tests (Files): Likewise.
76648         * modules/mbsrtowcs-tests (Files): Likewise.
76649         * modules/memchr-tests (Files): Likewise.
76650         * modules/memcmp-tests (Files): Likewise.
76651         * modules/memmem-tests (Files): Likewise.
76652         * modules/memrchr-tests (Files): Likewise.
76653         * modules/mkdir-tests (Files): Likewise.
76654         * modules/mkfifo-tests (Files): Likewise.
76655         * modules/mkfifoat-tests (Files): Likewise.
76656         * modules/mknod-tests (Files): Likewise.
76657         * modules/nanosleep-tests (Files): Likewise.
76658         * modules/nl_langinfo-tests (Files): Likewise.
76659         * modules/obstack-printf-tests (Files): Likewise.
76660         * modules/open-tests (Files): Likewise.
76661         * modules/openat-tests (Files): Likewise.
76662         * modules/perror-tests (Files): Likewise.
76663         * modules/pipe2-tests (Files): Likewise.
76664         * modules/poll-tests (Files): Likewise.
76665         * modules/popen-tests (Files): Likewise.
76666         * modules/posix_spawn-tests (Files): Likewise.
76667         * modules/posix_spawnp-tests (Files): Likewise.
76668         * modules/pread-tests (Files): Likewise.
76669         * modules/printf-posix-tests (Files): Likewise.
76670         * modules/pty-tests (Files): Likewise.
76671         * modules/random_r-tests (Files): Likewise.
76672         * modules/rawmemchr-tests (Files): Likewise.
76673         * modules/readlink-tests (Files): Likewise.
76674         * modules/remove-tests (Files): Likewise.
76675         * modules/rename-tests (Files): Likewise.
76676         * modules/renameat-tests (Files): Likewise.
76677         * modules/rmdir-tests (Files): Likewise.
76678         * modules/round-tests (Files): Likewise.
76679         * modules/roundf-tests (Files): Likewise.
76680         * modules/roundl-tests (Files): Likewise.
76681         * modules/select-tests (Files): Likewise.
76682         * modules/setenv-tests (Files): Likewise.
76683         * modules/sigaction-tests (Files): Likewise.
76684         * modules/sleep-tests (Files): Likewise.
76685         * modules/snprintf-posix-tests (Files): Likewise.
76686         * modules/snprintf-tests (Files): Likewise.
76687         * modules/sprintf-posix-tests (Files): Likewise.
76688         * modules/stat-tests (Files): Likewise.
76689         * modules/strcasestr-tests (Files): Likewise.
76690         * modules/strchrnul-tests (Files): Likewise.
76691         * modules/strerror-tests (Files): Likewise.
76692         * modules/strsignal-tests (Files): Likewise.
76693         * modules/strstr-tests (Files): Likewise.
76694         * modules/strtod-tests (Files): Likewise.
76695         * modules/strverscmp-tests (Files): Likewise.
76696         * modules/symlink-tests (Files): Likewise.
76697         * modules/symlinkat-tests (Files): Likewise.
76698         * modules/times-tests (Files): Likewise.
76699         * modules/trunc-tests (Files): Likewise.
76700         * modules/truncf-tests (Files): Likewise.
76701         * modules/truncl-tests (Files): Likewise.
76702         * modules/tsearch-tests (Files): Likewise.
76703         * modules/uname-tests (Files): Likewise.
76704         * modules/unlink-tests (Files): Likewise.
76705         * modules/unsetenv-tests (Files): Likewise.
76706         * modules/usleep-tests (Files): Likewise.
76707         * modules/utimensat-tests (Files): Likewise.
76708         * modules/vasprintf-tests (Files): Likewise.
76709         * modules/vdprintf-posix-tests (Files): Likewise.
76710         * modules/vfprintf-posix-tests (Files): Likewise.
76711         * modules/vprintf-posix-tests (Files): Likewise.
76712         * modules/vsnprintf-posix-tests (Files): Likewise.
76713         * modules/vsnprintf-tests (Files): Likewise.
76714         * modules/vsprintf-posix-tests (Files): Likewise.
76715         * modules/wcrtomb-tests (Files): Likewise.
76716         * modules/wcsnrtombs-tests (Files): Likewise.
76717         * modules/wcsrtombs-tests (Files): Likewise.
76718         * modules/wcwidth-tests (Files): Likewise.
76719         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
76720         * tests/test-isinf.c (isinf): Likewise.
76721         * tests/test-isnan.c (isnan): Likewise.
76722         * tests/test-signbit.c (signbit): Likewise.
76723         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
76724         declaration, either as macro or with correct signature.
76725         (select): Ensure function under test is declared with correct
76726         signature in correct header.
76727         * tests/test-atexit.c (atexit): Likewise.
76728         * tests/test-btowc.c (btowc): Likewise.
76729         * tests/test-canonicalize-lgpl.c (realpath)
76730         (canonicalize_file_name): Likewise.
76731         * tests/test-ceilf1.c (ceilf): Likewise.
76732         * tests/test-ceill.c (ceill): Likewise.
76733         * tests/test-chown.c (chown): Likewise.
76734         * tests/test-dprintf-posix.c (dprintf): Likewise.
76735         * tests/test-dup2.c (dup2): Likewise.
76736         * tests/test-dup3.c (dup3): Likewise.
76737         * tests/test-duplocale.c (duplocale): Likewise.
76738         * tests/test-fchdir.c (fchdir): Likewise.
76739         * tests/test-fchownat.c (fchownat): Likewise.
76740         * tests/test-fcntl.c (fcntl): Likewise.
76741         * tests/test-fdopendir.c (fdopendir): Likewise.
76742         * tests/test-fflush.c (fflush): Likewise.
76743         * tests/test-flock.c (flock): Likewise.
76744         * tests/test-floorf1.c (floorf): Likewise.
76745         * tests/test-floorl.c (floorl): Likewise.
76746         * tests/test-fnmatch.c (fnmatch): Likewise.
76747         * tests/test-fopen.c (fopen): Likewise.
76748         * tests/test-fprintf-posix.c (fprintf): Likewise.
76749         * tests/test-freopen.c (freopen): Likewise.
76750         * tests/test-frexp.c (frexp): Likewise.
76751         * tests/test-frexpl.c (frexpl): Likewise.
76752         * tests/test-fseek.c (fseek): Likewise.
76753         * tests/test-fseeko.c (fseeko): Likewise.
76754         * tests/test-fstatat.c (fstatat): Likewise.
76755         * tests/test-fsync.c (fsync): Likewise.
76756         * tests/test-ftell.c (ftell): Likewise.
76757         * tests/test-ftello.c (ftello): Likewise.
76758         * tests/test-futimens.c (futimens): Likewise.
76759         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
76760         (gai_strerror): Likewise.
76761         * tests/test-getcwd.c (getcwd): Likewise.
76762         * tests/test-getdelim.c (getdelim): Likewise.
76763         * tests/test-getdtablesize.c (getdtablesize): Likewise.
76764         * tests/test-getgroups.c (getgroups): Likewise.
76765         * tests/test-gethostname.c (gethostname): Likewise.
76766         * tests/test-getline.c (getline): Likewise.
76767         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
76768         Likewise.
76769         * tests/test-gettimeofday.c (gettimeofday): Likewise.
76770         * tests/test-glob.c (glob, globfree): Likewise.
76771         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
76772         * tests/test-inet_ntop.c (inet_ntop): Likewise.
76773         * tests/test-inet_pton.c (inet_pton): Likewise.
76774         * tests/test-isblank.c (isblank): Likewise.
76775         * tests/test-lchown.c (lchown): Likewise.
76776         * tests/test-ldexpl.c (ldexpl): Likewise.
76777         * tests/test-link.c (link): Likewise.
76778         * tests/test-linkat.c (linkat): Likewise.
76779         * tests/test-lseek.c (lseek): Likewise.
76780         * tests/test-lstat.c (lstat): Likewise.
76781         * tests/test-mbrtowc.c (mbrtowc): Likewise.
76782         * tests/test-mbsinit.c (mbsinit): Likewise.
76783         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
76784         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
76785         * tests/test-memchr.c (memchr): Likewise.
76786         * tests/test-memcmp.c (memcmp): Likewise.
76787         * tests/test-memmem.c (memmem): Likewise.
76788         * tests/test-memrchr.c (memrchr): Likewise.
76789         * tests/test-mkdir.c (mkdir): Likewise.
76790         * tests/test-mkdirat.c (mkdirat): Likewise.
76791         * tests/test-mkfifo.c (mkfifo): Likewise.
76792         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
76793         * tests/test-mknod.c (mknod): Likewise.
76794         * tests/test-nanosleep.c (nanosleep): Likewise.
76795         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
76796         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
76797         Likewise.
76798         * tests/test-open.c (open): Likewise.
76799         * tests/test-openat.c (openat): Likewise.
76800         * tests/test-perror.c (perror): Likewise.
76801         * tests/test-pipe2.c (pipe2): Likewise.
76802         * tests/test-poll.c (poll): Likewise.
76803         * tests/test-popen.c (popen, pclose): Likewise.
76804         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
76805         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
76806         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
76807         (posix_spawn_file_actions_destroy)
76808         (posix_spawn_file_actions_addclose)
76809         (posix_spawn_file_actions_addopen)
76810         (posix_spawn_file_actions_adddup2): Likewise.
76811         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
76812         * tests/test-pread.c (pread): Likewise.
76813         * tests/test-printf-posix.c (printf): Likewise.
76814         * tests/test-pty.c (openpty, forkpty): Likewise.
76815         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
76816         (random_r): Likewise.
76817         * tests/test-rawmemchr.c (rawmemchr): Likewise.
76818         * tests/test-readlink.c (readlink): Likewise.
76819         * tests/test-remove.c (remove): Likewise.
76820         * tests/test-rename.c (rename): Likewise.
76821         * tests/test-renameat.c (renameat): Likewise.
76822         * tests/test-rmdir.c (rmdir): Likewise.
76823         * tests/test-round1.c (round): Likewise.
76824         * tests/test-roundf1.c (roundf): Likewise.
76825         * tests/test-roundl.c (roundl): Likewise.
76826         * tests/test-setenv.c (setenv): Likewise.
76827         * tests/test-sigaction.c (sigaction): Likewise.
76828         * tests/test-sleep.c (sleep): Likewise.
76829         * tests/test-snprintf.c (snprintf): Likewise.
76830         * tests/test-sprintf-posix.c (sprintf): Likewise.
76831         * tests/test-stat.c (stat): Likewise.
76832         * tests/test-stpncpy.c (stpncpy): Likewise.
76833         * tests/test-strcasestr.c (strcasestr): Likewise.
76834         * tests/test-strchrnul.c (strchrnul): Likewise.
76835         * tests/test-strerror.c (strerror): Likewise.
76836         * tests/test-strsignal.c (strsignal): Likewise.
76837         * tests/test-strstr.c (strstr): Likewise.
76838         * tests/test-strtod.c (strtod): Likewise.
76839         * tests/test-strverscmp.c (strverscmp): Likewise.
76840         * tests/test-symlink.c (symlink): Likewise.
76841         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
76842         * tests/test-times.c (times): Likewise.
76843         * tests/test-trunc1.c (trunc): Likewise.
76844         * tests/test-truncf1.c (truncf): Likewise.
76845         * tests/test-truncl.c (truncl): Likewise.
76846         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
76847         Likewise.
76848         * tests/test-uname.c (uname): Likewise.
76849         * tests/test-unlink.c (unlink): Likewise.
76850         * tests/test-unlinkat.c (unlinkat): Likewise.
76851         * tests/test-unsetenv.c (unsetenv): Likewise.
76852         * tests/test-usleep.c (usleep): Likewise.
76853         * tests/test-utimensat.c (utimensat): Likewise.
76854         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
76855         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
76856         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
76857         * tests/test-vprintf-posix.c (vprintf): Likewise.
76858         * tests/test-vsnprintf.c (vsnprintf): Likewise.
76859         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
76860         * tests/test-wcrtomb.c (wcrtomb): Likewise.
76861         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
76862         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
76863         * tests/test-wcwidth.c (wcwidth): Likewise.
76865         build: pull in conditional headers during GNULIB_POSIXCHECK
76866         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
76867         definitions from any conditionally-included headers.
76868         * lib/stdlib.in.h (includes): Likewise.
76869         * lib/unistd.in.h (includes): Likewise.
76871 2009-12-24  Bruno Haible  <bruno@clisp.org>
76873         * tests/test-argv-iter.c: Include header file being tested immediately
76874         after config.h.
76875         * tests/test-base64.c: Likewise.
76876         * tests/test-flock.c: Likewise.
76877         * tests/test-fsync.c: Likewise.
76878         * tests/test-getdate.c: Likewise.
76879         * tests/test-getndelim2.c: Likewise.
76880         * tests/test-isfinite.c: Likewise.
76881         * tests/test-isinf.c: Likewise.
76882         * tests/test-strerror.c: Likewise.
76883         * tests/test-strsignal.c: Likewise.
76885 2009-12-23  Eric Blake  <ebb9@byu.net>
76887         unistd: work around cygwin bug
76888         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
76889         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
76890         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
76892 2009-12-23  Bruno Haible  <bruno@clisp.org>
76894         localename: More tests.
76895         * tests/test-localename.c (SIZEOF): New macro.
76896         (categories): New variable.
76897         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
76898         test_locale_name_default): Add test w.r.t. thread locale.
76899         (test_locale_name_thread): New function.
76900         (main): Invoke it.
76902         localename: Make aware of thread locale.
76903         * lib/localename.h (gl_locale_name_thread): New declaration.
76904         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
76905         behaviour with respect to thread locale.
76906         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
76907         <langinfo.h>, glthread/lock.h.
76908         (SIZE_BITS): New macro.
76909         (string_hash): New function.
76910         (struct hash_node): New type.
76911         (HASH_TABLE_SIZE): New macro.
76912         (struniq_hash_table, struniq_lock): New variables.
76913         (struniq): New function.
76914         (gl_locale_name_thread): New function.
76915         (gl_locale_name): Invoke it.
76916         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
76917         * modules/localename (Depends-on): Add lock.
76918         Reported by Mike Gran <spk121@yahoo.com>.
76920 2009-12-23  Eric Blake  <ebb9@byu.net>
76922         va-args: new module
76923         * modules/va-args: New file.
76924         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
76925         * MODULES.html.sh (Core language properties): Mention it.
76927         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
76928         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
76929         named alias for __attribute__((__unused__)).
76930         * lib/chown.c: Update client.
76931         * lib/fchmodat.c: Likewise.
76932         * lib/fts.c: Likewise.
76933         * lib/getdate.y: Likewise.
76934         * lib/getgroups.c: Likewise.
76935         * lib/getopt.c: Likewise.
76936         * lib/getugroups.c: Likewise.
76937         * lib/mkdir.c: Likewise.
76938         * lib/mkfifo.c: Likewise.
76939         * lib/mkfifoat.c: Likewise.
76940         * lib/mknod.c: Likewise.
76941         * lib/mknodat.c: Likewise.
76942         * lib/readlink.c: Likewise.
76943         * lib/se-context.in.h: Likewise.
76944         * lib/se-selinux.in.h: Likewise.
76945         * lib/sockets.c: Likewise.
76946         * lib/symlink.c: Likewise.
76947         * lib/symlinkat.c: Likewise.
76948         * lib/unicodeio.c: Likewise.
76949         * lib/unistr.h: Likewise.
76950         * tests/test-areadlink.c: Likewise.
76951         * tests/test-areadlinkat.c: Likewise.
76952         * tests/test-filenamecat.c: Likewise.
76953         * tests/test-fseeko.c: Likewise.
76954         * tests/test-ftello.c: Likewise.
76955         * tests/test-getdate.c: Likewise.
76956         * tests/test-getgroups.c: Likewise.
76957         * tests/test-gethostname.c: Likewise.
76958         * tests/test-quotearg.c: Likewise.
76959         * tests/test-version-etc.c: Likewise.
76960         * tests/test-xalloc-die.c: Likewise.
76961         * tests/test-xfprintf-posix.c: Likewise.
76962         * tests/test-xprintf-posix.c: Likewise.
76963         * tests/test-xvasprintf.c: Likewise.
76965         tests: avoid compiler warnings
76966         * tests/test-fcntl.c (main): Delete unused parameters.
76967         * tests/test-freopen-safer.c (main): Likewise.
76968         * tests/test-xalloc-die.c (main): Mark unused parameters.
76969         * tests/test-fseeko.c (main): Likewise.
76970         * tests/test-ftello.c (main): Likewise.
76971         * tests/test-nanosleep.c (main): Avoid declaration warning.
76972         * tests/test-sleep.c (main): Likewise.
76973         * tests/test-unsetenv.c (main): Silence warning about string
76974         literal.
76975         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
76977 2009-12-23  Bruno Haible  <bruno@clisp.org>
76979         * tests/test-localename.c (test_locale_name): New function, extracted
76980         from main. Also test mixed situations.
76981         (test_locale_name_posix, test_locale_name_environ,
76982         test_locale_name_default): New functions.
76983         (main): Invoke them all.
76984         * modules/localename-tests (configure.ac): Test for newlocale.
76986 2009-12-23  Bruno Haible  <bruno@clisp.org>
76988         unistd: Ensure getcwd gets declared before being overridden.
76989         * lib/unistd.in.h: Conditionally include <io.h>.
76991 2009-12-22  Bruno Haible  <bruno@clisp.org>
76993         wchar: Diagnose broken combination of glibc and gcc versions and flags.
76994         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
76995         (gl_WCHAR_H): Invoke it.
76996         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
76997         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
76998         Reported by Karl Berry <karl@freefriends.org>.
77000 2009-12-22  Eric Blake  <ebb9@byu.net>
77002         math, unistd: avoid redundant includes
77003         * lib/math.in.h (isnan): No need to re-include <math.h>.
77004         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
77006         getsubopt: work around cygwin bug
77007         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
77008         avoid conflicting with system getsubopt.
77009         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
77010         bug.
77012         getopt: synchronize from glibc
77013         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
77014         parameter order.  Adjust all callers.
77015         (_getopt_internal_r, main): Adjust quoting in error messages.
77016         Drop considerations for outdated POSIX 1003.2 error message.
77017         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
77018         callers.
77019         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
77021         test-getopt: test stderr behavior
77022         * modules/getopt-posix-tests (Depends-on): Add dup2.
77023         * tests/test-getopt.c (ASSERT): Avoid stderr.
77024         (main): Move stderr to a temporary file.
77025         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
77026         Instead, add parameter to inform caller if output occurred.
77027         (test_getopt): Adjust all existing tests to expect silence, and
77028         add new tests of leading ":".
77029         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
77030         glibc shortcomings with leading "-:" or "+:" in optstring.
77031         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
77032         Likewise.
77033         * doc/posix-functions/getopt.texi (getopt): Likewise.
77035         test-getopt: enhance test
77036         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
77037         supports optind=0.
77038         * tests/test-getopt.c (OPTIND_MIN): Move...
77039         * tests/test-getopt.h (OPTIND_MIN): ...here.
77040         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
77041         Require that optind=0 works, since modern BSD supports it in
77042         addition to optreset, and since coreutils expects it.
77043         (test_getopt_long_only): New test.
77044         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
77045         glibc shortcomings with 'W;', and enforcement of optind=0.
77046         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
77047         Likewise.
77049 2009-12-21  Bruno Haible  <bruno@clisp.org>
77051         localename: Improvements for MacOS X and Cygwin.
77052         * lib/localename.h (gl_locale_name_environ): New declaration.
77053         * lib/localename.c (gl_locale_name_environ): New function, extracted from
77054         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
77055         (gl_locale_name_posix): Invoke it.
77056         (gl_locale_name_default): Add comments. Use Windows native API also on
77057         Cygwin.
77059 2009-12-21  Bruno Haible  <bruno@clisp.org>
77061         Update list of Win32 locale ids.
77062         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
77063         (LANG_SAMI): Renamed from LANG_SAAMI.
77064         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
77065         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
77066         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
77067         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
77068         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
77069         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
77070         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
77071         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
77072         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
77073         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
77074         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
77075         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
77076         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
77077         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
77078         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
77079         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
77080         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
77081         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
77082         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
77083         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
77084         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
77085         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
77086         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
77087         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
77088         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
77089         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
77090         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
77091         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
77092         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
77093         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
77094         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
77095         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
77096         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
77097         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
77098         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
77099         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
77100         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
77101         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
77102         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
77103         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
77104         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
77105         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
77106         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
77107         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
77108         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
77109         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
77110         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
77111         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
77112         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
77113         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
77114         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
77115         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
77116         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
77117         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
77118         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
77119         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
77120         Add more languages and countries for Sami, Sorbian. Add more countries
77121         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
77122         for Pashto. Change country for Syriac, Tswana.
77124 2009-12-21  Eric Blake  <ebb9@byu.net>
77126         test-utimens: avoid spurious failure
77127         * tests/test-chown.h (nap): Factor...
77128         * tests/nap.h: ...into new file.
77129         * tests/test-lchown.h (nap): Avoid duplication.
77130         * tests/test-utimens-common.h (nap): Use shared implementation,
77131         necessary on file systems with 1-second resolution.
77132         * modules/chown-tests (Files): Include new file.
77133         * modules/fdutimensat-tests (Files): Likewise.
77134         * modules/futimens-tests (Files): Likewise.
77135         * modules/lchown-tests (Files): Likewise.
77136         * modules/openat-tests (Files): Likewise.
77137         * modules/utimens-tests (Files): Likewise.
77138         * modules/utimensat-tests (Files): Likewise.
77140 2009-12-19  Eric Blake  <ebb9@byu.net>
77142         futimens, utimensat: work around Linux bug
77143         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
77144         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
77145         * lib/utimensat.c (rpl_utimensat): Work around it.
77146         * lib/futimens.c (rpl_futimens): Adjust comment.
77148         utimens: work around Linux ctime bug
77149         * lib/utimens.c (detect_ctime_bug): New helper function.
77150         (update_timespec): Differentiate between workaround needed for
77151         this bug vs. what is needed for systems that lack utimensat.
77152         (fdutimens, lutimens): Work around bug.
77154         utimens: check for ctime update
77155         * tests/test-utimens-common.h (check_ctime): Define.
77156         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
77157         * tests/test-futimens.h (test_futimens): Likewise.
77158         * tests/test-lutimens.h (test_lutimens): Likewise.
77159         * doc/posix-functions/futimens.texi (futimens): Document the bug.
77160         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
77162 2009-12-19  Bruno Haible  <bruno@clisp.org>
77164         dprintf-posix: Check against memory leak fixed on 2009-12-15.
77165         * tests/test-dprintf-posix2.sh: New file.
77166         * tests/test-dprintf-posix2.c: New file.
77167         * modules/dprintf-posix-tests (Files): Add them.
77168         (configure.ac): Check for getrlimit and setrlimit.
77169         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
77171 2009-12-19  Bruno Haible  <bruno@clisp.org>
77173         fprintf-posix: Check against memory leak fixed on 2009-12-15.
77174         * tests/test-fprintf-posix3.sh: New file.
77175         * tests/test-fprintf-posix3.c: New file.
77176         * modules/fprintf-posix-tests (Files): Add them.
77177         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
77179 2009-12-19  Eric Blake  <ebb9@byu.net>
77181         dirfd: fix prototype
77182         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
77183         * lib/dirfd.c (dirfd): Likewise.
77185         canonicalize: reduce memory usage
77186         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
77187         allocation to size.
77188         Reported by Solar Designer <solar@openwall.com>.
77190 2009-12-19  Bruno Haible  <bruno@clisp.org>
77192         New module attribute 'Applicability'.
77193         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
77194         * gnulib-tool: New option --extract-applicability.
77195         (func_usage): Document it.
77196         (sed_extract_prog): Recognize it.
77197         (func_get_applicability): New function.
77198         (func_import): Generalize handling of 'link-warning' module.
77199         * modules/link-warning (Applicability): New section.
77200         * modules/arg-nonnull (Applicability): New section.
77201         Repoted by Simon Josefsson <simon@josefsson.org>.
77203 2009-12-19  Bruno Haible  <bruno@clisp.org>
77205         fflush: tweak
77206         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
77207         * lib/fseeko.c (rpl_fseeko): Likewise.
77209 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
77211         * lib/gl_list.h: Fix typo in comment.
77213 2009-12-16  Eric Blake  <ebb9@byu.net>
77215         fcntl: use to simplify other modules
77216         * modules/cloexec (Depends-on): Add fcntl.
77217         * modules/fchdir (Depends-on): Likewise.
77218         * modules/fd-safer-flag (Depends-on): Likewise.
77219         * modules/unistd-safer (Depends-on): Likewise.
77220         * modules/dup3 (configure.ac): Set module indicator.
77221         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
77222         missing.
77223         * lib/fchdir.c (_gl_register_dup): Fix comment.
77224         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
77225         * lib/dup-safer.c (dup_safer): Likewise.
77226         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
77227         * lib/dup3.c (dup3): Likewise.
77228         * tests/test-fchdir.c (main): Enhance test.
77229         Fixes a dup_cloexec bug reported by Ondřej Vašík.
77231         fcntl: port portions of fcntl to mingw
77232         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
77233         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
77234         replacement for mingw.
77235         * modules/fcntl (Description): Update.
77236         (Depends-on): Add dup2.
77237         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
77238         * modules/fcntl-h (Makefile.am): Substitute it.
77239         * lib/fcntl.in.h (fcntl): Update declaration.
77240         (F_DUPFD, F_GETFD): New macros, when needed.
77241         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
77242         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
77243         * tests/test-fcntl.c (check_flags, main): Enhance test for items
77244         we now guarantee.
77246         fcntl: work around cygwin bug in F_DUPFD
77247         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
77248         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
77249         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
77250         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
77251         * doc/posix-functions/fcntl.texi (fcntl): Document it.
77253         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
77254         * modules/fcntl (Files): List new files.
77255         (configure.ac): Run a test.
77256         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
77257         * lib/fcntl.c (rpl_fcntl): Likewise.
77258         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
77259         (gl_FCNTL_H): Always replace fcntl.h.
77260         * modules/fcntl-h (Makefile.am): Substitute witnesses.
77261         * lib/fcntl.in.h (fcntl): Declare replacement.
77262         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
77263         needed, plus a witness.
77264         * doc/posix-functions/fcntl.texi (fcntl): Document this.
77265         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
77266         * tests/test-fcntl.c: New file.
77267         * modules/fcntl-tests: Likewise.
77269         binary-io: avoid potential compilation warning
77270         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
77271         directives.
77273         fflush: avoid compilation error on NetBSD
77274         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
77275         between off_t and fpos_t, since the latter is sometimes a struct.
77276         * lib/fseeko.c (rpl_fseeko): Likewise.
77277         Reported by Alexander Nasonov <alnsn@yandex.ru>.
77279 2009-12-15  Eric Blake  <ebb9@byu.net>
77281         fcntl-h, stdio, sys_ioctl: fix declarations
77282         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
77283         function must not take arguments.
77284         * lib/sys_ioctl.in.h (ioctl): Likewise.
77285         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
77286         (open): Add a link warning.
77288 2009-12-15  Jim Meyering  <meyering@redhat.com>
77290         areadlink, areadlink-with-size: relax license to LGPLv2+
77291         * modules/areadlink (License): Relax to LGPLv2+.
77292         * modules/areadlink-with-size (License): Likewise.
77294 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
77295             Bruno Haible  <bruno@clisp.org>
77297         *printf: Fix memory leak.
77298         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
77299         * lib/vfprintf.c (vfprintf): Likewise.
77300         * lib/dprintf.c (dprintf): Likewise.
77301         * lib/vdprintf.c (vdprintf): Likewise.
77303 2009-12-14  Eric Blake  <ebb9@byu.net>
77305         accept4: adjust module dependencies
77306         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
77308         utimens: one more try at avoiding compiler warning
77309         * lib/utimens.c (lutimens): Lower scope of result.
77311 2009-12-13  Bruno Haible  <bruno@clisp.org>
77313         Move the malloc checking from module 'list' to new module 'xlist'.
77314         * modules/xlist: New file.
77315         * lib/gl_xlist.h: New file.
77316         * lib/gl_xlist.c: New file.
77317         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
77318         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
77319         gl_list_add_last, gl_list_add_before, gl_list_add_after,
77320         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
77321         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
77322         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
77323         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
77324         gl_sortedlist_nx_add): New declarations.
77325         (struct gl_list_implementation): Rename and change methods accordingly.
77326         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
77327         (gl_list_nx_create): Renamed from gl_list_create.
77328         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
77329         (gl_list_nx_set_at): Renamed from gl_list_set_at.
77330         (gl_list_nx_add_first): Renamed from gl_list_add_first.
77331         (gl_list_nx_add_last): Renamed from gl_list_add_last.
77332         (gl_list_nx_add_before): Renamed from gl_list_add_before.
77333         (gl_list_nx_add_after): Renamed from gl_list_add_after.
77334         (gl_list_nx_add_at): Renamed from gl_list_add_at.
77335         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
77336         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
77337         gl_list_create_empty.
77338         (gl_list_nx_create): Renamed from gl_list_create.
77339         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
77340         (gl_list_nx_set_at): Renamed from gl_list_set_at.
77341         (gl_list_nx_add_first): Renamed from gl_list_add_first.
77342         (gl_list_nx_add_last): Renamed from gl_list_add_last.
77343         (gl_list_nx_add_before): Renamed from gl_list_add_before.
77344         (gl_list_nx_add_after): Renamed from gl_list_add_after.
77345         (gl_list_nx_add_at): Renamed from gl_list_add_at.
77346         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
77347         * lib/gl_array_list.c: Don't include xalloc.h.
77348         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
77349         NULL upon out-of-memory.
77350         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
77351         out-of-memory.
77352         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
77353         Change return type to 'int'.
77354         (gl_array_nx_set_at): Renamed from gl_array_set_at.
77355         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
77356         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
77357         upon out-of-memory.
77358         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
77359         upon out-of-memory.
77360         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
77361         upon out-of-memory.
77362         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
77363         upon out-of-memory.
77364         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
77365         out-of-memory.
77366         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
77367         Update.
77368         (gl_array_list_implementation): Update.
77369         * lib/gl_carray_list.c: Don't include xalloc.h.
77370         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
77371         Return NULL upon out-of-memory.
77372         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
77373         out-of-memory.
77374         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
77375         Change return type to 'int'.
77376         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
77377         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
77378         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
77379         upon out-of-memory.
77380         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
77381         upon out-of-memory.
77382         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
77383         out-of-memory.
77384         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
77385         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
77386         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
77387         Update.
77388         (gl_carray_list_implementation): Update.
77389         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
77390         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
77391         gl_linked_create_empty. Return NULL upon out-of-memory.
77392         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
77393         out-of-memory.
77394         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
77395         Change return type to 'int'. Return -1 upon out-of-memory.
77396         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
77397         out-of-memory.
77398         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
77399         upon out-of-memory.
77400         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
77401         upon out-of-memory.
77402         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
77403         NULL upon out-of-memory.
77404         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
77405         upon out-of-memory.
77406         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
77407         out-of-memory.
77408         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
77409         Update.
77410         * lib/gl_linked_list.c: Don't include xalloc.h.
77411         (gl_linked_list_implementation): Update.
77412         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
77413         (add_to_bucket): Change return type to 'int'.
77414         (gl_linkedhash_list_implementation): Update.
77415         * lib/gl_anytree_list1.h (free_subtree): New function.
77416         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
77417         gl_tree_create_empty. Return NULL upon out-of-memory.
77418         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
77419         Change return type to 'int'. Return -1 upon out-of-memory.
77420         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
77421         out-of-memory.
77422         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
77423         (gl_tree_remove_node): New function, moved here from
77424         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
77425         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
77426         Update.
77427         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
77428         malloc, not xmalloc. Return NULL upon out-of-memory.
77429         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
77430         out-of-memory.
77431         (gl_tree_remove_node_from_tree): New function, extracted from
77432         gl_tree_remove_node.
77433         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
77434         upon out-of-memory.
77435         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
77436         out-of-memory.
77437         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
77438         upon out-of-memory.
77439         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
77440         upon out-of-memory.
77441         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
77442         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
77443         not xmalloc. Return NULL upon out-of-memory.
77444         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
77445         out-of-memory.
77446         (gl_tree_remove_node_from_tree): New function, extracted from
77447         gl_tree_remove_node.
77448         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
77449         upon out-of-memory.
77450         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
77451         out-of-memory.
77452         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
77453         upon out-of-memory.
77454         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
77455         upon out-of-memory.
77456         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
77457         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
77458         gl_anytree_list1.h before gl_anyavltree_list2.h.
77459         (gl_avltree_list_implementation): Update.
77460         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
77461         gl_anytree_list1.h before gl_anyavltree_list2.h.
77462         (gl_rbtree_list_implementation): Update.
77463         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
77464         Change return type to 'int'. Return -1 upon out-of-memory. Use
77465         __builtin_expect.
77466         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
77467         (gl_avltreehash_list_implementation): Update.
77468         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
77469         (gl_rbtreehash_list_implementation): Update.
77470         * modules/array-list (Depends-on): Remove xalloc.
77471         * modules/carray-list (Depends-on): Likewise.
77472         * modules/linked-list (Depends-on): Likewise.
77473         * modules/linkedhash-list (Depends-on): Likewise.
77474         * modules/avltree-list (Depends-on): Likewise.
77475         * modules/rbtree-list (Depends-on): Likewise.
77476         * modules/avltreehash-list (Depends-on): Likewise.
77477         * modules/rbtreehash-list (Depends-on): Likewise.
77479         * modules/xsublist: New file.
77480         * lib/gl_xsublist.h: New file.
77481         * lib/gl_xsublist.c: New file.
77482         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
77483         (gl_sublist_nx_create): New declaration.
77484         * lib/gl_sublist.c: Don't include xalloc.h.
77485         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
77486         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
77487         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
77488         Change return type to 'int'. Return -1 upon out-of-memory.
77489         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
77490         upon out-of-memory.
77491         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
77492         NULL upon out-of-memory.
77493         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
77494         upon out-of-memory.
77495         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
77496         NULL upon out-of-memory.
77497         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
77498         NULL upon out-of-memory.
77499         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
77500         upon out-of-memory.
77501         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
77502         (gl_sublist_list_implementation): Update.
77503         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
77504         upon out-of-memory.
77505         * modules/sublist (Depends-on): Remove xalloc.
77507         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
77508         * tests/test-carray_list.c: Likewise.
77509         * tests/test-linked_list.c: Likewise.
77510         * tests/test-linkedhash_list.c: Likewise.
77511         * tests/test-avltree_list.c: Likewise.
77512         * tests/test-rbtree_list.c: Likewise.
77513         * tests/test-avltreehash_list.c: Likewise.
77514         * tests/test-rbtreehash_list.c: Likewise.
77515         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
77516         * modules/carray-list-tests (Makefile.am): Likewise.
77517         * modules/linked-list-tests (Makefile.am): Likewise.
77518         * modules/linkedhash-list-tests (Makefile.am): Likewise.
77519         * modules/avltree-list-tests (Makefile.am): Likewise.
77520         * modules/rbtree-list-tests (Makefile.am): Likewise.
77521         * modules/avltreehash-list-tests (Makefile.am): Likewise.
77522         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
77524         * NEWS: Mention the changes.
77526         * lib/clean-temp.c: Include gl_xlist.h.
77527         * modules/clean-temp (Depends-on): Add xlist.
77529         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
77530         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
77532         * tests/test-array_oset.c: Include gl_xlist.h.
77533         * modules/array-oset-tests (Depends-on): Add xlist.
77535         Reported by José E. Marchesi <jemarch@gnu.org>.
77537 2009-12-13  Bruno Haible  <bruno@clisp.org>
77539         Move the malloc checking from module 'oset' to new module 'xoset'.
77540         * modules/xoset: New file.
77541         * lib/gl_xoset.h: New file.
77542         * lib/gl_xoset.c: New file.
77543         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
77544         declarations.
77545         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
77546         (struct gl_oset_implementation): Rename and change methods accordingly.
77547         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
77548         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
77549         'int'. Mark as __warn_unused_result__.
77550         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
77551         gl_oset_create_empty.
77552         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
77553         'int'.
77554         * lib/gl_array_oset.c: Don't include xalloc.h.
77555         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
77556         malloc, not xmalloc.
77557         (grow): Change return type to 'int'. Don't call xalloc_die.
77558         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
77559         to 'int'.
77560         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
77561         'int'.
77562         (gl_array_oset_implementation): Update.
77563         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
77564         gl_tree_create_empty.
77565         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
77566         'int'.
77567         * lib/gl_avltree_oset.c: Don't include xalloc.h.
77568         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
77569         xmalloc.
77570         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
77571         not xmalloc.
77572         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
77573         xmalloc.
77574         (gl_avltree_oset_implementation): Update.
77575         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
77576         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
77577         xmalloc.
77578         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
77579         not xmalloc.
77580         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
77581         xmalloc.
77582         (gl_rbtree_oset_implementation): Update.
77583         * modules/array-oset (Depends-on): Remove xalloc.
77584         * modules/avltree-oset (Depends-on): Likewise.
77585         * modules/rbtree-oset (Depends-on): Likewise.
77586         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
77587         * tests/test-avltree_oset.c: Likewise.
77588         * tests/test-rbtree_oset.c: Likewise.
77589         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
77590         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
77591         * modules/rbtree-oset-tests (Makefile.am): Likewise.
77592         * NEWS: Mention the change.
77594 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
77596         maint.mk: allow a project to override release-prep commands
77597         * top/maint.mk (alpha, beta, stable): Move release-preparatory
77598         commands into a new rule.
77599         (release-prep): New rule.
77600         (release-prep-hook): New overridable variable.
77602 2009-12-13  Bruno Haible  <bruno@clisp.org>
77604         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
77606 2009-12-13  Jim Meyering  <meyering@redhat.com>
77608         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
77609         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
77611 2009-12-12  Bruno Haible  <bruno@clisp.org>
77613         duplocale: Tweak.
77614         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
77616 2009-12-12  Karl Berry  <karl@gnu.org>
77618         * config/srclist.txt (strtoll.c): tab changes, no more sync.
77620 2009-12-12  Bruno Haible  <bruno@clisp.org>
77622         * m4/po.m4: Undo incorrect untabification.
77624 2009-12-12  Bruno Haible  <bruno@clisp.org>
77626         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
77627         * modules/c-strtod (Depends-on): Add locale.
77628         * modules/c-strtold (Depends-on): Likewise.
77630 2009-12-12  Bruno Haible  <bruno@clisp.org>
77632         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
77634 2009-12-11  Eric Blake  <ebb9@byu.net>
77636         setenv: relax requirement in light of POSIX ruling
77637         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
77638         not NULL.
77639         * tests/test-setenv.c (main): Relax test.
77640         * tests/test-unsetenv.c (main): Likewise.
77641         * doc/posix-functions/setenv.texi (setenv): Document this.
77642         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
77644 2009-12-11  Bruno Haible  <bruno@clisp.org>
77646         New module 'fd-safer-flag'.
77647         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
77648         * lib/dup-safer.c (dup_safer_flag): Remove function.
77649         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
77650         * lib/fd-safer.c (fd_safer_flag): Remove function.
77651         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
77652         * modules/cloexec (configure.ac): Drop indicator macro.
77653         * modules/fd-safer-flag: New file.
77654         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
77655         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
77656         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
77658 2009-12-11  Bruno Haible  <bruno@clisp.org>
77660         Tests for module 'nl_langinfo'.
77661         * modules/nl_langinfo-tests: New file.
77662         * tests/test-nl_langinfo.sh: New file.
77663         * tests/test-nl_langinfo.c: New file.
77665         New module 'nl_langinfo'.
77666         * lib/nl_langinfo.c: New file.
77667         * m4/nl_langinfo.m4: New file.
77668         * modules/nl_langinfo: New file.
77669         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
77671 2009-12-11  Bruno Haible  <bruno@clisp.org>
77673         Tests for module 'langinfo'.
77674         * modules/langinfo-tests: New file.
77675         * tests/test-langinfo.c: New file.
77677         New module 'langinfo'.
77678         * lib/langinfo.in.h: New file.
77679         * m4/langinfo_h.m4: New file.
77680         * modules/langinfo: New file.
77681         * doc/posix-headers/langinfo.texi: Mention the new module.
77683 2009-12-11  Bruno Haible  <bruno@clisp.org>
77685         * lib/config.charset: Untabify.
77687 2009-12-11  Bruno Haible  <bruno@clisp.org>
77689         * modules/unistd-safer (configure.ac): Drop indicator macro.
77691 2009-12-11  Bruno Haible  <bruno@clisp.org>
77693         Move pipe2-safer code to its own file.
77694         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
77695         * lib/pipe-safer.c (pipe2_safer): Remove function.
77696         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
77697         (Makefile.am): Add it to lib_SOURCES.
77699 2009-12-10  Bruno Haible  <bruno@clisp.org>
77701         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
77703 2009-12-10  Bruno Haible  <bruno@clisp.org>
77705         Declare which arguments expect non-NULL values, for GCC and clang.
77706         * build-aux/arg-nonnull.h: New file.
77707         * modules/arg-nonnull: New file.
77708         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
77709         (inet_ntop, inet_pton): Use it.
77710         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
77711         (closedir, dirfd, opendir, scandir, alphasort): Use it.
77712         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
77713         (open, openat): Use it.
77714         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
77715         (fnmatch): Use it.
77716         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
77717         (getopt, getopt_long, getopt_long_only): Use it.
77718         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
77719         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
77720         Use it.
77721         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
77722         (iconv_open): Use it.
77723         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
77724         (strtoimax, strtoumax): Use it.
77725         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
77726         (duplocale): Use it.
77727         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
77728         (frexp, frexpl): Use it.
77729         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
77730         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
77731         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
77732         (tsearch, tfind, tdelete, twalk): Use it.
77733         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
77734         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
77735         sigpending): Use it.
77736         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
77737         (posix_spawn, posix_spawnp, posix_spawnattr_init,
77738         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
77739         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
77740         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
77741         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
77742         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
77743         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
77744         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
77745         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
77746         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
77747         Use it.
77748         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
77749         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
77750         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
77751         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
77752         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
77753         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
77754         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
77755         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
77756         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
77757         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
77758         strtoull, unsetenv): Use it.
77759         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
77760         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
77761         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
77762         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
77763         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
77764         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
77765         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
77766         (strcasecmp, strncasecmp): Use it.
77767         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
77768         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
77769         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
77770         rpl_setsockopt): Use it.
77771         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
77772         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
77773         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
77774         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
77775         (gettimeofday): Use it.
77776         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
77777         (times): Use it.
77778         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
77779         (uname): Use it.
77780         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
77781         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
77782         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
77783         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
77784         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
77785         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
77786         unlinkat, write): Use it.
77787         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
77788         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
77789         * lib/argv-iter.h: Include arg-nonnull.h.
77790         (_ATTRIBUTE_NONNULL_): Remove macro.
77791         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
77792         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
77793         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
77794         optimization.
77795         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
77796         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
77797         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
77798         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
77799         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
77800         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
77801         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
77802         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
77803         * modules/arpa_inet (Depends-on): Add arg-nonnull.
77804         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
77805         * modules/dirent (Depends-on): Add arg-nonnull.
77806         (Makefile.am): Insert arg-nonnull.h into dirent.h.
77807         * modules/fcntl-h (Depends-on): Add arg-nonnull.
77808         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
77809         * modules/fnmatch (Depends-on): Add arg-nonnull.
77810         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
77811         * modules/getopt-posix (Depends-on): Add arg-nonnull.
77812         (Makefile.am): Insert arg-nonnull.h into getopt.h.
77813         * modules/glob (Depends-on): Add arg-nonnull.
77814         (Makefile.am): Insert arg-nonnull.h into glob.h.
77815         * modules/iconv_open (Depends-on): Add arg-nonnull.
77816         (Makefile.am): Insert arg-nonnull.h into iconv.h.
77817         * modules/inttypes (Depends-on): Add arg-nonnull.
77818         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
77819         * modules/locale (Depends-on): Add arg-nonnull.
77820         (Makefile.am): Insert arg-nonnull.h into locale.h.
77821         * modules/math (Depends-on): Add arg-nonnull.
77822         (Makefile.am): Insert arg-nonnull.h into math.h.
77823         * modules/netdb (Depends-on): Add arg-nonnull.
77824         (Makefile.am): Insert arg-nonnull.h into netdb.h.
77825         * modules/search (Depends-on): Add arg-nonnull.
77826         (Makefile.am): Insert arg-nonnull.h into search.h.
77827         * modules/signal (Depends-on): Add arg-nonnull.
77828         (Makefile.am): Insert arg-nonnull.h into signal.h.
77829         * modules/spawn (Depends-on): Add arg-nonnull.
77830         (Makefile.am): Insert arg-nonnull.h into spawn.h.
77831         * modules/stdio (Depends-on): Add arg-nonnull.
77832         (Makefile.am): Insert arg-nonnull.h into stdio.h.
77833         * modules/stdlib (Depends-on): Add arg-nonnull.
77834         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
77835         * modules/string (Depends-on): Add arg-nonnull.
77836         (Makefile.am): Insert arg-nonnull.h into string.h.
77837         * modules/strings (Depends-on): Add arg-nonnull.
77838         (Makefile.am): Insert arg-nonnull.h into strings.h.
77839         * modules/sys_socket (Depends-on): Add arg-nonnull.
77840         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
77841         * modules/sys_stat (Depends-on): Add arg-nonnull.
77842         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
77843         * modules/sys_time (Depends-on): Add arg-nonnull.
77844         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
77845         * modules/sys_times (Depends-on): Add arg-nonnull.
77846         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
77847         * modules/sys_utsname (Depends-on): Add arg-nonnull.
77848         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
77849         * modules/time (Depends-on): Add arg-nonnull.
77850         (Makefile.am): Insert arg-nonnull.h into time.h.
77851         * modules/unistd (Depends-on): Add arg-nonnull.
77852         (Makefile.am): Insert arg-nonnull.h into unistd.h.
77853         * modules/wchar (Depends-on): Add arg-nonnull.
77854         (Makefile.am): Insert arg-nonnull.h into wchar.h.
77855         * modules/argv-iter (Depends-on): Add arg-nonnull.
77856         * tests/test-canonicalize.c (null_ptr): New function.
77857         (main): Use it.
77858         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
77859         (main): Use it.
77860         * tests/test-memmem.c (null_ptr): New function.
77861         (main): Use it.
77862         Reported by Jim Meyering.
77864 2009-12-10  Bruno Haible  <bruno@clisp.org>
77866         Use spaces for indentation, not tabs.
77867         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
77868         * m4/*.m4: Untabify.
77869         * build-aux/*.h: Untabify.
77870         * tests/**/*.[hc]: Untabify.
77871         * README: New section "Indent with spaces, not TABs", based on
77872         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
77873         * NEWS: Mention the change.
77875 2009-12-10  Bruno Haible  <bruno@clisp.org>
77877         pty test: Fix link error.
77878         * modules/pty-tests (Makefile.am): Add the default LDADD value to
77879         test_pty_LDADD.
77881 2009-12-07  Simon Josefsson  <simon@josefsson.org>
77883         * modules/pty: New file.
77884         * modules/pty-tests: New file.
77885         * m4/pty.m4: New file.
77886         * tests/test-pty.c: New file.
77887         * doc/glibc-headers/pty.texi: Modified.
77888         * doc/glibc-functions/forkpty.texi: Modified.
77889         * doc/glibc-functions/openpty.texi: Modified.
77891 2009-12-10  Bruno Haible  <bruno@clisp.org>
77893         Avoid syntax error in C++ mode.
77894         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
77896 2009-12-10  Bruno Haible  <bruno@clisp.org>
77898         Use sed with option -e.
77899         * gnulib-tool (func_version, func_emit_copyright_notice,
77900         func_emit_initmacro_end, func_import, func_create_testdir): Pass
77901         option -e to sed.
77902         * modules/link-warning (Makefile.am): Likewise.
77904 2009-12-10  Jim Meyering  <meyering@redhat.com>
77906         mgetgroups: do not write bytes beyond end of malloc'd buffer
77907         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
77908         username, we call getgroups with a one-element-shorter buffer,
77909         but still told it the length was original, max_n_groups.
77911 2009-12-09  Eric Blake  <ebb9@byu.net>
77913         cloexec: relax license
77914         * modules/cloexec (Maintainer): Add myself.
77915         (License): Use LGPL, not GPL.
77917         link-warning: optimize generation
77918         * modules/link-warning (Makefile.am): Reduce process usage.
77920 2009-12-09  Bruno Haible  <bruno@clisp.org>
77922         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
77923         workaround was added on 2009-11-17.
77925 2009-12-09  Jim Meyering  <meyering@redhat.com>
77926             Bruno Haible  <bruno@clisp.org>
77928         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
77929         * modules/link-warning (Makefile.am): Make the comment-removing sed
77930         command more robust in the face of bootstrap-prepended comment lines.
77932 2009-12-09  Bruno Haible  <bruno@clisp.org>
77934         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
77935         most one group.
77937 2009-12-09  Simon Josefsson  <simon@josefsson.org>
77938             Bruno Haible  <bruno@clisp.org>
77940         * build-aux/link-warning.h: Add copyright notice.
77941         * modules/link-warning (Makefile.am): Generate link-warning.h from
77942         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
77943         * NEWS: Mention change in link-warning module.
77944         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
77945         * modules/dirent (Makefile.am): Add dependency to dirent.h.
77946         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
77947         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
77948         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
77949         * modules/math (Makefile.am): Add dependency to math.h.
77950         * modules/search (Makefile.am): Add dependency to search.h.
77951         * modules/signal (Makefile.am): Add dependency to signal.h.
77952         * modules/spawn (Makefile.am): Add dependency to spawn.h.
77953         * modules/stdio (Makefile.am): Add dependency to stdio.h.
77954         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
77955         * modules/string (Makefile.am): Add dependency to string.h.
77956         * modules/strings (Makefile.am): Add dependency to strings.h.
77957         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
77958         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
77959         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
77960         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
77961         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
77962         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
77963         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
77964         * modules/unistd (Makefile.am): Add dependency to unistd.h.
77965         * modules/wchar (Makefile.am): Add dependency to wchar.h.
77967 2009-12-09  Bruno Haible  <bruno@clisp.org>
77969         fchdir: Optimize away rpl_fstat when possible.
77970         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
77971         REPLACE_OPEN_DIRECTORY.
77972         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
77974 2009-12-09  Bruno Haible  <bruno@clisp.org>
77976         * lib/fchdir.c: Update comment.
77978 2009-12-09  Bruno Haible  <bruno@clisp.org>
77980         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
77982 2009-12-08  Eric Blake  <ebb9@byu.net>
77984         fchdir: avoid memory leak on re-registration.
77985         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
77987 2009-12-08  Jim Meyering  <meyering@redhat.com>
77989         init.sh: avoid Solaris 10 /bin/sh portability problem
77990         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
77991         sourced script:
77992           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
77993           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
77994           bar
77995         tests/init.sh relied on that, accepting a --set-path=DIR argument,
77996         and two tests used that idiom.
77997         * tests/init.sh: Update suggested usage comments.
77998         (path_prepend_): New function, to be used in place
77999         of the --src-path=DIR option.
78000         (setup_): Move PATH-prepending code into path_prepend_.
78001         * tests/test-pread.sh: Adapt to new usage.
78002         * tests/test-xalloc-die.sh: Likewise.
78004 2009-12-08  Simon Josefsson  <simon@josefsson.org>
78006         * doc/gnulib.texi (Glibc pty.h): Add.
78007         * doc/glibc-functions/forkpty.texi: Add.
78008         * doc/glibc-functions/openpty.texi: Add.
78009         Suggested by Bruno Haible.
78011 2009-12-08  Eric Blake  <ebb9@byu.net>
78013         fchdir: fix logic bugs
78014         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
78015         * tests/test-fchdir.c (main): Enhance test.
78016         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
78017         is in use.
78019         dup2: fix logic bugs
78020         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
78021         REPLACE_DUP2 to decide when rpl_dup2 is needed.
78022         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
78023         exists.
78024         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
78026 2009-12-07  Eric Blake  <ebb9@byu.net>
78028         unlink: fix m4 detection
78029         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
78031         unistd-safer: add unit test
78032         * modules/unistd-safer-tests: New file.
78033         * tests/test-dup-safer.c: Likewise.
78034         * tests/test-cloexec.c (setmode): Avoid compiler warning.
78035         * tests/test-dup2.c (setmode): Likewise.
78036         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
78038         cloexec: preserve text vs. binary across dup_cloexec
78039         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
78040         mode.
78041         * modules/dup2-tests (Depends-on): Add binary-io.
78042         * modules/cloexec-tests (Depends-on): Likewise.
78043         * tests/test-dup2.c (setmode, is_mode): New helpers.
78044         (main): Add tests that translation mode is preserved.
78045         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
78046         Reported by Bruno Haible.
78048         mgetgroups: reduce duplicate listings
78049         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
78050         resulting array.
78051         * tests/test-chown.h (test_chown): Simplify client.
78052         * tests/test-lchown.h (test_lchown): Likewise.
78054 2009-12-06  Bruno Haible  <bruno@clisp.org>
78056         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
78057         value.
78059 2009-12-06  Bruno Haible  <bruno@clisp.org>
78061         * lib/progname.c: Include stdio.h, stdlib.h.
78062         (set_program_name): Reject a NULL argument.
78064 2009-12-05  Eric Blake  <ebb9@byu.net>
78066         pipe2-safer: new module
78067         * modules/pipe2-safer: New file.
78068         * lib/unistd-safer.h (pipe2_safer): New prototype.
78069         * lib/unistd--.h (pipe2): New wrapper.
78070         * lib/pipe-safer.c (pipe2_safer): New function.
78071         * modules/pipe (Depends-on): Add pipe2-safer.
78072         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
78074         stdlib-safer: preserve cloexec flag for mkostemp[s]
78075         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
78076         fd_safer_flag.
78078         unistd-safer: allow preservation of cloexec status via flag
78079         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
78080         prototypes.
78081         * lib/dup-safer.c (dup_safer_flag): New function.
78082         * lib/fd-safer.c (fd_safer_flag): Likewise.
78083         * modules/cloexec (configure.ac): Set witness.
78085         test-dup2: enhance test
78086         * modules/dup2-tests (Depends-on): Add cloexec.
78087         * tests/test-dup2.c (main): Enhance test.
78089         cloexec: add dup_cloexec
78090         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
78091         header and comments.
78092         * lib/cloexec.c (set_cloexec_flag): Add comments.
78093         (dup_cloexec): New function, with mingw implementation borrowed
78094         from...
78095         * lib/w32spawn.h (dup_noinherit): ...here.
78096         * modules/execute (Depends-on): Add cloexec.
78097         * modules/pipe (Depends-on): Likewise.
78098         * modules/cloexec (Depends-on): Add dup2.
78099         * modules/cloexec-tests (Files): New file.
78100         * tests/test-cloexec.c: Likewise.
78102         test-xalloc-die: fix test for mingw
78103         * modules/xalloc-die-tests (Files): Add tests/init.sh.
78104         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
78105         directory and .exe suffix off argv[0] output.
78107         test-fseeko: fix test for mingw
78108         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
78109         than undefining fseek, so test will pass on mingw.
78111 2009-12-05  Bruno Haible  <bruno@clisp.org>
78113         * lib/progname.h (set_program_name): Clarify specification.
78114         * lib/progname.c (set_program_name): Likewise.
78115         Reported by Jim Meyering.
78117 2009-12-05  Jim Meyering  <meyering@redhat.com>
78119         maint.mk: backslash-escape parens in default regexp
78120         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
78121         backslash-escape the literal parentheses.
78123         maint.mk: news-date-check: use grep -E
78124         * top/maint.mk (today): Define a Make variable, not a...
78125         (news-date-check): ...shell variable.
78126         (news-date-regexp): Use the Make variable.
78127         Use grep's -E option.  Change the failing diagnostic to mention
78128         the variable, $(news-date-regexp).
78130 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
78132         maintainer-makefile: allow customization of NEWS entry format
78133         * top/maint.mk (news-date-regexp): New overridable variable.
78134         (news-date-check): Use it.
78136 2009-12-04  Eric Blake  <ebb9@byu.net>
78138         mgetgroups: add xgetgroups, and avoid ENOSYS failures
78139         * lib/mgetgroups.h (xgetgroups): New prototype.
78140         * lib/mgetgroups.c (xgetgroups): New wrapper.
78141         (mgetgroups): Handle ENOSYS.
78142         * modules/mgetgroups (Depends-on): Add realloc.
78143         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
78145         mgetgroups: avoid argument promotion issues with -1
78146         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
78147         for invalid gid_t.
78148         * tests/test-chown.h (getegid, test_chown): Likewise.
78149         * tests/test-lchown.h (getegid, test_lchown): Likewise.
78151 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
78153         exclude: Fix header file problems.
78154         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
78156 2009-12-01  Jim Meyering  <meyering@redhat.com>
78158         fts: fts_open: do not let an empty string cause immediate failure
78159         This is required in support of GNU rm, for which the command
78160         "rm A '' B" must process and remove both A and B, in spite of
78161         the empty string argument.
78162         * lib/fts.c (fts_open): Do not let the presence of an empty string
78163         cause fts_open to fail immediately.  Most fts-using tools must be
78164         able to process all arguments, in order, and can be expected to
78165         diagnose such arguments themselves.
78167 2009-11-30  Eric Blake  <ebb9@byu.net>
78169         utimens: fix compilation error
78170         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
78171         Declare variable at right scope.
78173 2009-11-29  Jim Meyering  <meyering@redhat.com>
78175         bootstrap: handle perl-5.11's changed --version output
78176         * build-aux/bootstrap (get_version): Handle perl separately,
78177         since perl-5.11's --version output is different.
78179 2009-11-28  Jim Meyering  <meyering@redhat.com>
78181         userspec: depend on the inttostr module, too
78182         * modules/userspec (Depends-on): Add inttostr.
78184         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
78185         * lib/userspec.c (parse_with_separator): Do not accept a user ID
78186         number of MAXUID when it evaluates to (uid_t) -1.
78187         Likewise for group ID.  Reported by Matt McCutchen in
78188         <http://savannah.gnu.org/bugs/?28113>
78190         userspec: reformat to use spaces, not TABs
78191         * lib/userspec.c: Expand TABs to spaces.
78192         Add Emacs' "indent-tabs-mode: nil" hint.
78194 2009-11-27  Eric Blake  <ebb9@byu.net>
78196         getopt-gnu: flush out another BSD bug
78197         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
78198         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
78199         flush out BSD bug.
78200         * tests/test-getopt.h (test_getopt): End lists with NULL.
78201         * tests/test-getopt_long.h (test_getopt_long): Likewise.
78202         (test_getopt_long_posix): Enhance test.
78203         * modules/getopt-posix-tests (Depends-on): Add stdbool.
78204         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
78205         getopt-gnu.
78206         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
78207         Likewise.
78209 2009-11-27  Simon Josefsson  <simon@josefsson.org>
78211         * modules/idpriv-droptemp-tests (Notice): Fix text.
78213 2009-11-27  Jim Meyering  <meyering@redhat.com>
78215         test-xalloc-die: avoid spurious failure due to libtool argv difference
78216         In a libtool-enabled project, this test would fail due to a difference
78217         in the emitted program name, e.g.,
78218         -test-xalloc-die: memory exhausted
78219         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
78220         Use program to avoid that.
78221         * modules/xalloc-die-tests (Depends-on): Add progname.
78222         * tests/test-xalloc-die.c: Include progname.h".
78223         (program_name): Remove decl.
78224         (main): Call set_program_name.
78225         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
78227 2009-11-26  Richard Jones  <rjones@redhat.com>
78229         w32sock: leave win32 error in place.
78230         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
78232 2009-11-26  Eric Blake  <ebb9@byu.net>
78234         init.sh: suggest to use skip_ and fail_ functions in comments
78235         * tests/init.sh: Add a sentence.
78237 2009-11-25  Bruno Haible  <bruno@clisp.org>
78239         init.sh: add documentation in comments
78240         * tests/init.sh: Add some developer and user documentation.
78242 2009-11-26  Jim Meyering  <meyering@redhat.com>
78244         init.sh: accommodate even those who specify bogus srcdir manually
78245         * tests/init.sh: Normally, srcdir is guaranteed by automake and
78246         configure-time tests to be sanitized, so that there is no need to
78247         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
78248         (with no double quotes) suffices.  However, since tests may be
78249         invoked manually, and since you may explicitly set srcdir to the
78250         name of a directory containing spaces, do quote its uses here.
78251         * tests/test-pread.sh: Likewise.
78252         Suggested by Bruno Haible.
78254         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
78255         * tests/test-pread.sh: Write no data into the pipe, because
78256         test-pread actually reads none.  This avoids a diagnostic,
78257         "bash: echo: write error: Broken pipe", that arises in the unusual
78258         event something is ignoring SIGPIPE, and might be interpreted
78259         as some sort of failure.  Reported by Bruno Haible.
78261 2009-11-25  Jim Meyering  <meyering@redhat.com>
78263         test-pread: cover failure with ESPIPE and EINVAL
78264         * tests/test-pread.c (main): Test for failure, too.
78265         * tests/test-pread.sh: Invoke with stdin on a pipe.
78266         Suggested by Eric Blake.
78268         pread: improvement and fix
78269         * modules/pread (Depends-on): Depend on lseek, for portability to
78270         e.g., mingw.  Suggested by Eric Blake.
78271         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
78273         unistd.in.h: correct declaration of pread
78274         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
78275         Reported by Richard W.M. Jones.
78277         test-pread.sh: distribute the test script
78278         * modules/pread-tests (Files): Include test-pread.sh.
78280         test-pread.sh: clean up
78281         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
78282         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
78283         That is unnecessary, since it's always ".".
78284         Suggestion from Eric Blake.
78286         test-pread.sh: make executable
78287         * tests/test-pread.sh: Set executable bit.
78288         Reported by Eric Blake.
78290         correct typo in test-pread.sh
78291         * tests/test-pread.sh: Add #! line.
78293         test pread
78294         * tests/test-pread.c: New file.
78295         * tests/test-pread.sh: Likewise.
78296         * modules/pread-tests: Likewise.
78298         pread: new module
78299         * modules/pread: New file.
78300         * lib/unistd.in.h (pread): Define/declare.
78301         * lib/pread.c (pread): New file.
78302         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
78303         * modules/unistd (Makefile.am): Substitute witnesses.
78304         * doc/posix-functions/pread.texi (pread): Update.
78305         * MODULES.html.sh: Add pread.
78307 2009-11-25  Jim Meyering  <meyering@redhat.com>
78309         tests/init.sh: new file to be used via most *.sh tests
78310         * tests/init.sh: New file.
78312 2009-11-25  Eric Blake  <ebb9@byu.net>
78314         utimens: work around older Linux failure with symlinks
78315         * lib/utimens.c (lutimensat_works_really): New variable.
78316         (fdutimens, lutimens): Use it to manage kernels that support
78317         nanosecond times on files, but not on symlinks.
78318         Reported by Ondřej Vašík.
78320         utimes: fix configure grammar
78321         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
78323 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
78325         regex: Fix fastmap for multibyte character ranges.
78326         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
78327         characters when a multibyte character range is included.
78329 2009-11-22  Andy Wingo  <wingo@pobox.com>
78331         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
78332         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
78334 2009-11-24  Bruno Haible  <bruno@clisp.org>
78336         doc: Most *_l functions exist in MacOS X 10.5.
78337         * doc/posix-functions/duplocale.texi: Update platforms list.
78338         * doc/posix-functions/freelocale.texi: Likewise.
78339         * doc/posix-functions/newlocale.texi: Likewise.
78340         * doc/posix-functions/uselocale.texi: Likewise.
78341         * doc/posix-functions/isalnum_l.texi: Likewise.
78342         * doc/posix-functions/isalpha_l.texi: Likewise.
78343         * doc/posix-functions/isblank_l.texi: Likewise.
78344         * doc/posix-functions/iscntrl_l.texi: Likewise.
78345         * doc/posix-functions/isdigit_l.texi: Likewise.
78346         * doc/posix-functions/isgraph_l.texi: Likewise.
78347         * doc/posix-functions/islower_l.texi: Likewise.
78348         * doc/posix-functions/isprint_l.texi: Likewise.
78349         * doc/posix-functions/ispunct_l.texi: Likewise.
78350         * doc/posix-functions/isspace_l.texi: Likewise.
78351         * doc/posix-functions/isupper_l.texi: Likewise.
78352         * doc/posix-functions/iswalnum_l.texi: Likewise.
78353         * doc/posix-functions/iswalpha_l.texi: Likewise.
78354         * doc/posix-functions/iswblank_l.texi: Likewise.
78355         * doc/posix-functions/iswcntrl_l.texi: Likewise.
78356         * doc/posix-functions/iswctype_l.texi: Likewise.
78357         * doc/posix-functions/iswdigit_l.texi: Likewise.
78358         * doc/posix-functions/iswgraph_l.texi: Likewise.
78359         * doc/posix-functions/iswlower_l.texi: Likewise.
78360         * doc/posix-functions/iswprint_l.texi: Likewise.
78361         * doc/posix-functions/iswpunct_l.texi: Likewise.
78362         * doc/posix-functions/iswspace_l.texi: Likewise.
78363         * doc/posix-functions/iswupper_l.texi: Likewise.
78364         * doc/posix-functions/iswxdigit_l.texi: Likewise.
78365         * doc/posix-functions/isxdigit_l.texi: Likewise.
78366         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
78367         * doc/posix-functions/strcasecmp_l.texi: Likewise.
78368         * doc/posix-functions/strcoll_l.texi: Likewise.
78369         * doc/posix-functions/strfmon_l.texi: Likewise.
78370         * doc/posix-functions/strftime_l.texi: Likewise.
78371         * doc/posix-functions/strncasecmp_l.texi: Likewise.
78372         * doc/posix-functions/strxfrm_l.texi: Likewise.
78373         * doc/posix-functions/tolower_l.texi: Likewise.
78374         * doc/posix-functions/toupper_l.texi: Likewise.
78375         * doc/posix-functions/towctrans_l.texi: Likewise.
78376         * doc/posix-functions/towlower_l.texi: Likewise.
78377         * doc/posix-functions/towupper_l.texi: Likewise.
78378         * doc/posix-functions/wcscoll_l.texi: Likewise.
78379         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
78380         * doc/posix-functions/wctrans_l.texi: Likewise.
78381         * doc/posix-functions/wctype_l.texi: Likewise.
78382         * doc/glibc-functions/strptime_l.texi: Likewise.
78383         * doc/glibc-functions/strtod_l.texi: Likewise.
78384         * doc/glibc-functions/strtof_l.texi: Likewise.
78385         * doc/glibc-functions/strtol_l.texi: Likewise.
78386         * doc/glibc-functions/strtold_l.texi: Likewise.
78387         * doc/glibc-functions/strtoll_l.texi: Likewise.
78388         * doc/glibc-functions/strtoul_l.texi: Likewise.
78389         * doc/glibc-functions/strtoull_l.texi: Likewise.
78390         * doc/glibc-functions/wcsftime_l.texi: Likewise.
78391         * doc/glibc-functions/wcstod_l.texi: Likewise.
78392         * doc/glibc-functions/wcstof_l.texi: Likewise.
78393         * doc/glibc-functions/wcstol_l.texi: Likewise.
78394         * doc/glibc-functions/wcstold_l.texi: Likewise.
78395         * doc/glibc-functions/wcstoll_l.texi: Likewise.
78396         * doc/glibc-functions/wcstoul_l.texi: Likewise.
78397         * doc/glibc-functions/wcstoull_l.texi: Likewise.
78399 2009-11-24  Bruno Haible  <bruno@clisp.org>
78401         duplocale: Fix logic bug.
78402         * lib/duplocale.c: Don't include <langinfo.h>.
78403         (_NL_LOCALE_NAME): Remove macro.
78404         (rpl_duplocale): Use setlocale instead of nl_langinfo.
78405         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
78407 2009-11-23  Jim Meyering  <meyering@redhat.com>
78409         test-update-copyright: don't hard-code /usr/bin/perl
78410         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
78411         perl to print the current year.  Gilles Espinasse reported that
78412         the replaced use of perl was hard-coded as /usr/bin/perl.
78414 2009-11-23  Bruno Haible  <bruno@clisp.org>
78416         duplocale: Add support for glibc 2.3.x.
78417         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
78419 2009-11-22  Bruno Haible  <bruno@clisp.org>
78421         vasnprintf: Tiny optimization.
78422         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
78423         MacOS X.
78425 2009-11-22  Bruno Haible  <bruno@clisp.org>
78427         Tests for module 'duplocale'.
78428         * modules/duplocale-tests: New file.
78429         * tests/test-duplocale.c: New file.
78431         New module 'duplocale'.
78432         * m4/duplocale.m4: New file.
78433         * lib/locale.in.h (duplocale): New declaration.
78434         * lib/duplocale.c: New file.
78435         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
78436         gl_LOCALE_H_DEFAULTS): New macros.
78437         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
78438         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
78439         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
78440         REPLACE_DUPLOCALE.
78441         * modules/duplocale: New file.
78442         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
78444 2009-11-22  Bruno Haible  <bruno@clisp.org>
78446         * modules/locale-tests (configure.ac): Test for newlocale function.
78447         * tests/test-locale.c: When the system has extended locale functions,
78448         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
78450         locale: Make locale_t available when possible.
78451         * lib/locale.in.h: Include <xlocale.h> when it exists.
78452         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
78453         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
78454         * modules/locale (Depends-on): Add extensions.
78455         (Makefile.am): Also substitute HAVE_XLOCALE_H.
78456         * doc/posix-headers/locale.texi: Document the problem with locale_t.
78458 2009-11-22  Bruno Haible  <bruno@clisp.org>
78460         Add comments.
78461         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
78462         invocation.
78463         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
78464         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
78465         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
78467 2009-11-22  Bruno Haible  <bruno@clisp.org>
78469         error: account for the possibility of freopen (stdout).
78470         * lib/error.c: Include <unistd.h>.
78471         (flush_stdout): New function, extracted from error and error_at_line.
78472         Determine stdout's fd dynamically.
78473         (error, error_at_line): Invoke flush_stdout.
78474         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
78475         * modules/error (Depends-on): Add unistd.
78477 2009-11-22  Bruno Haible  <bruno@clisp.org>
78479         diffseq: Add comment.
78480         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
78482 2009-11-22  Jim Meyering  <meyering@redhat.com>
78484         c-stack: avoid defining an unused static function
78485         * lib/c-stack.c (find_stack_direction): Do not define this function
78486         when it will not be used.
78488         diffseq: avoid spurious gcc warnings
78489         * lib/diffseq.h (IF_LINT2): Define.
78490         (compareseq): Use it to initialize two members of "part".
78491         This avoids two used-uninitialized warnings.
78493 2009-11-21  Jim Meyering  <meyering@redhat.com>
78495         c-stack: avoid "ignoring return value of `write'" warning
78496         * lib/c-stack.c: Include "ignore-value.h".
78497         (die): Explicitly ignore each write return value.
78498         * modules/c-stack (Depends-on): Add ignore-value.
78500 2009-11-21  Bruno Haible  <bruno@clisp.org>
78502         diffseq: reduce scope of variable 'best'.
78503         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
78504         variable, earlier used for two different purposes.
78506 2009-11-21  Jim Meyering  <meyering@redhat.com>
78508         diffseq: remove useless assignment to "best"
78509         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
78510         assignment.  At that point "best" is already guaranteed to be zero.
78512 2009-11-20  Eric Blake  <ebb9@byu.net>
78514         build: mention ftp redirector in release announcements
78515         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
78516         values that used to come from cfg.mk; mention FTP redirect URL.
78517         * build-aux/announce-gen: Mention the mirror list.
78518         Suggested by Karl Berry.
78520         nanosleep: improve port to mingw
78521         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
78522         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
78523         LIB_NANOSLEEP, but only when needed.
78524         * modules/select (Link): Document LIBSOCKET.
78525         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
78526         enough.
78528         nanosleep: work around cygwin bug
78529         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
78530         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
78531         bug.
78532         (getnow): Delete, not needed.
78533         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
78534         LIB_CLOCK_GETTIME.
78535         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
78536         clock-time, gettime.
78537         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
78538         bug.
78539         * modules/nanosleep-tests: New test.
78540         * tests/test-nanosleep.c: New file.
78542         sleep: work around cygwin bug
78543         * lib/sleep.c (rpl_sleep): Work around the bug.
78544         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
78545         (gl_PREREQ_SLEEP): Delete unused macro.
78546         * modules/sleep (Depends-on): Add verify.
78547         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
78548         * modules/unistd (Makefile.am): Substitute witness.
78549         * lib/unistd.in.h (sleep): Update prototype.
78550         * doc/posix-functions/sleep.texi (sleep): Document the bug.
78551         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
78552         * modules/sleep-tests (Depends-on): Check for alarm.
78554 2009-11-20  Jim Meyering  <meyering@redhat.com>
78556         maint.mk: improve sc_prohibit_magic_number_exit
78557         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
78558         so it does not match uses like System.exit(1).
78559         Add comments showing how to correct all offenders.
78561 2009-11-19  Eric Blake  <ebb9@byu.net>
78563         xalloc-die-tests: add missing library
78564         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
78566         test-xvasprintf: silence compiler warnings
78567         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
78568         empty string from gcc.
78570 2009-11-19  Jim Meyering  <meyering@redhat.com>
78572         xfreopen: new module, from coreutils
78573         * modules/xfreopen: New module.
78574         * lib/xfreopen.c: New file.
78575         * lib/xfreopen.h: New file.
78576         * MODULES.html.sh (File stream based Input/Output"): Add it.
78578 2009-11-19  Eric Blake  <ebb9@byu.net>
78580         manywarnings: depend on warnings
78581         * modules/manywarnings (Depends-on): Add warnings.
78583         build: avoid compiler warnings
78584         * lib/select.c (rpl_select): Delete unused variable.
78585         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
78587 2009-11-18  Eric Blake  <ebb9@byu.net>
78589         tests: avoid false negative with --with-packager
78590         * tests/test-version-etc.sh: Discard packager information.
78591         * tests/test-argp-version-etc-1.sh: Likewise.
78592         Reported by Mike Frysinger.
78594         utimens: fix regression on Solaris
78595         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
78596         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
78597         can only change fd timestamps via futimesat.  Instead, use an
78598         additional witness macro to avoid BSD bug.
78599         Reported by Jim Meyering.
78601 2009-11-17  Eric Blake  <ebb9@byu.net>
78603         usleep: use it to simplify tests
78604         * modules/stat-time-tests (Depends-on): Add usleep.
78605         (configure.ac): Drop usleep check.
78606         * modules/chown-tests (Depends-on, configure.ac): Likewise.
78607         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
78608         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
78609         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
78610         * modules/openat-tests (Depends-on, configure.ac): Likewise.
78611         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
78612         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
78613         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
78614         Likewise.
78615         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
78616         * tests/test-lchown.h (nap): Likewise.
78617         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
78618         * tests/test-stat-time.c (nap): Likewise.
78619         * tests/test-utimens-common.h (nap): Update comments.
78621         usleep: new module
78622         * modules/usleep: New file.
78623         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
78624         * lib/usleep.c (usleep): Likewise.
78625         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
78626         * modules/unistd (Makefile.am): Substitute witnesses.
78627         * lib/unistd.in.h (usleep): Add declaration.
78628         * doc/pastposix-functions/usleep.texi (usleep): Document this.
78629         * MODULES.html.sh (Date and time): Likewise.
78630         * modules/usleep-tests (Depends-on): New test.
78631         * tests/test-usleep.c: New file.
78633         chown: work around OpenBSD bug
78634         * lib/chown.c (rpl_chown): Work around the bug.
78635         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
78636         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
78637         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
78638         * modules/chown (Depends-on): Add stdbool.
78639         * modules/lchown (Depends-on): Likewise.
78640         * doc/posix-functions/chown.texi (chown): Document the bug.
78641         * doc/posix-functions/lchown.texi (lchown): Likewise.
78642         * tests/test-lchown.h (test_chown): Relax test.
78644         mkstemp: avoid conflict with C++ keyword template
78645         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
78646         * lib/mkostemp.c (mkostemp): Likewise.
78647         * lib/mkostemps.c (mkostemps): Likewise.
78648         * lib/mkstemp.c (mkstemp): Likewise.
78649         * lib/mkstemps.c (mkstemps): Likewise.
78651         xalloc-die-tests: optimize
78652         * tests/test-xalloc-die.sh: Reduce number of processes.
78654 2009-11-17  Simon Josefsson  <simon@josefsson.org>
78656         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
78657         patch from ludo@gnu.org (Ludovic Courtès).
78659 2009-11-17  Jim Meyering  <meyering@redhat.com>
78661         version-etc: use proper license string
78662         * modules/version-etc (License): Use LGPL, not LGPLv3+.
78663         * modules/version-etc-fsf: Likewise.
78665 2009-11-17  Simon Josefsson  <simon@josefsson.org>
78667         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
78668         printed to stdout.  Deal with EOL differences.
78670 2009-11-17  Eric Blake  <ebb9@byu.net>
78672         unsetenv: work around Solaris bug
78673         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
78674         * lib/unsetenv.c (rpl_unsetenv): Work around it.
78675         Reported by Jim Meyering.
78677         vasnprintf: avoid compiler warnings
78678         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
78679         variables.
78680         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
78682 2009-11-17  Simon Josefsson  <simon@josefsson.org>
78684         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
78685         settings since xalloc-die is no longer the self test,
78686         xalloc-die.sh is.
78688 2009-11-17  Jim Meyering  <meyering@redhat.com>
78690         test-xalloc-die.sh: make the code agree with the commit log
78691         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
78692         at the end, just in case you happen to have a test-xalloc-die
78693         program in some other PATH directory.
78695         test-xalloc-die.sh: fix a portability bug
78696         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
78697         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
78698         Otherwise, argv[0] (as often seen in diagnostics) would be too
78699         system-dependent, sometimes with, and sometimes without the leading "./".
78701         version-etc-fsf: relax license to LGPLv3+
78702         * modules/version-etc-fsf (License): Relax license.
78704 2009-11-16  Eric Blake  <ebb9@byu.net>
78706         xalloc-die-tests: avoid printing null pointer
78707         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
78708         shell script.
78709         * tests/test-xalloc-die.c (program_name): Declare.
78710         * tests/test-xalloc-die.sh (tmpfiles): New file.
78712         setenv, unsetenv: work around various bugs
78713         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
78714         (setenv) [HAVE_SETENV]: Work around bugs.
78715         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
78716         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
78717         for bugs.
78718         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
78719         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
78720         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
78721         * modules/stdlib (Makefile.am): Update substitutions.
78722         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
78723         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
78724         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
78725         * modules/setenv-tests: New test.
78726         * modules/unsetenv-tests: Likewise.
78727         * tests/test-setenv.c: New file.
78728         * tests/test-unsetenv.c: Likewise.
78730 2009-11-16  Jim Meyering  <meyering@redhat.com>
78732         version-etc: relax license to LGPLv3+
78733         * modules/version-etc (License): Relax license.
78735         better AC_REQUIRE expanded-before-required-warning avoidance
78736         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
78737         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
78738         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
78739         which is no longer needed.
78741 2009-11-16  Eric Blake  <ebb9@byu.net>
78743         test-freading: clean up temporary file
78744         * tests/test-freading.c (main): Remove file on success, and use
78745         ASSERT more liberally.
78746         Reported by Jim Meyering.
78748 2009-11-16  Jim Meyering  <meyering@redhat.com>
78750         avoid new AC_REQUIRE expanded-before-required warnings
78751         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
78752         merely using it.
78753         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
78754         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
78756 2009-11-15  Simon Josefsson  <simon@josefsson.org>
78758         * tests/test-xalloc-die.c: New file.
78759         * modules/xalloc-die-tests: New file.
78760         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
78761         XFAIL_TESTS so it can be appended by modules.
78763 2009-11-15  Simon Josefsson  <simon@josefsson.org>
78765         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
78766         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
78768 2009-11-14  Eric Blake  <ebb9@byu.net>
78770         fnmatch: avoid compiler warning
78771         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
78772         to silence compiler warning about mismatch signedness in ?:.
78773         Reported by Robert Millan.
78775         intprops: add double-inclusion guard
78776         * lib/intprops.h: Allow idempotent includes.
78777         Suggested by Bruce Korb.
78779         openat: detect Solaris fchownat bug
78780         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
78781         penalizing glibc chownat when only lchownat is broken.
78782         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
78783         trailing slash bugs.
78784         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
78785         * modules/openat-tests (Files): Include more files.
78786         (Depends-on): Add mgetgroups, sleep, stat-time.
78787         (configure.ac): Add additional checks.
78788         (Makefile.am): Build new test.
78789         * tests/test-fchownat.c: New file.
78791         lchown: detect Solaris and FreeBSD bug
78792         * lib/lchown.c (rpl_lchown): Work around bug.
78793         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
78794         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
78795         * modules/unistd (Makefile.am): Populate it.
78796         * lib/unistd.in.h (lchown): Update declaration.
78797         * doc/posix-functions/lchown.texi (lchown): Document the bug.
78798         * modules/lchown-tests: New file.
78799         * tests/test-lchown.h (test_lchown): Likewise.
78800         * tests/test-lchown.c (main): Likewise.
78802         chown: detect Solaris and FreeBSD bug
78803         * lib/chown.c (rpl_chown): Work around bug.
78804         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
78805         (gl_PREREQ_CHOWN): Delete.
78806         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
78807         * modules/unistd (Makefile.am): Populate it.
78808         * lib/unistd.in.h (chown): Update declaration.
78809         * lib/lchown.c (chown): Update client.
78810         * modules/lchown (Depends-on): Add lstat.
78811         * doc/posix-functions/chown.texi (chown): Document the bug.
78812         * doc/posix-functions/getgroups.texi (getgroups): Document
78813         getgroups pitfall.
78814         * modules/chown-tests: New file.
78815         * tests/test-chown.h (test_chown): Likewise.
78816         * tests/test-chown.c (main): Likewise.
78818 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
78820         gnulib-tool: correctly detect absence of m4 directories
78821         * gnulib-tool: Avoid extra newline on data passed to wc -l.
78823 2009-11-14  Jim Meyering  <meyering@redhat.com>
78825         maint.mk: Prohibit inclusion of "xalloc.h" without use.
78826         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
78828 2009-11-14  John W. Eaton  <jwe@gnu.org>
78830         strftime.h: wrap function declaration in extern "C" block
78831         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
78833 2009-11-13  Eric Blake  <ebb9@byu.net>
78835         getgroups: avoid compiler warning
78836         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
78838         getgroups: work around FreeBSD bug
78839         * lib/getgroups.c (rpl_getgroups): Work around the bug.
78840         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
78841         * doc/posix-functions/getgroups.texi (getgroups): Document it.
78842         * tests/test-getgroups.c (main): Fix buffer overrun.
78844         getgroups: avoid compilation failure
78845         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
78846         * modules/getgroups (Depends-on): Add stdint.
78848 2009-11-13  Jim Meyering  <meyering@redhat.com>
78850         test-getgroups: avoid compilation failure
78851         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
78853 2009-11-13  Eric Blake  <ebb9@byu.net>
78855         mgetgroups: new module, taken from coreutils
78856         * modules/mgetgroups: New file.
78857         * lib/mgetgroups.h: Likewise.
78858         * lib/mgetgroups.c (mgetgroups): Likewise.
78859         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
78860         * MODULES.html.sh (Users and groups): Mention it.
78862         getgroups: don't expose GETGROUPS_T to user
78863         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
78864         an element at a time if GETGROUPS_T is wrong size.
78865         * lib/getugroups.h (getugroups): Change signature.
78866         * lib/unistd.in.h (getgroups): Likewise.
78867         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
78868         signature needs fixing.
78869         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
78870         AC_TYPE_GETGROUPS.
78871         * modules/group-member (Depends-on): Add getgroups.
78872         * lib/group-member.c (group_info, get_group_info): Use gid_t.
78873         (group_member): Rely on getgroups replacement.
78874         * lib/getugroups.c (getugroups): Use gid_t.
78875         * tests/test-getgroups.c (main): Likewise.
78876         * NEWS: Mention the signature change.
78877         * doc/posix-functions/getgroups.texi (getgroups): Mention the
78878         problem with signature.
78879         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
78880         GETGROUPS_T is still useful for setgroups.
78882         getgroups, getugroups: provide stubs for mingw
78883         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
78884         * lib/getugroups.c (getugroups): Likewise.
78885         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
78886         function.  Modernize replacement scheme.
78887         (gl_PREREQ_GETGROUPS): Delete.
78888         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
78889         * modules/getgroups (configure.ac): Declare witness.
78890         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
78891         * modules/unistd (Depends-on): Substitute witness.
78892         * lib/unistd.in.h (getgroups): Declare replacement.
78894         getgroups: avoid calling exit
78895         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
78896         drop xalloc.
78897         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
78898         dependencies.
78899         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
78900         exiting, in the rare case of malloc failure.
78902         getgroups: fix logic error
78903         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
78904         has more than 20 groups.
78905         * modules/getgroups-tests: New test.
78906         * tests/test-getgroups.c: New file.
78908 2009-11-13  Simon Josefsson  <simon@josefsson.org>
78910         * tests/test-base64.c: Improve.
78912 2009-11-13  Simon Josefsson  <simon@josefsson.org>
78914         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
78915         Blake <ebb9@byu.net>.
78917 2009-11-13  Simon Josefsson  <simon@josefsson.org>
78919         * tests/test-xvasprintf.c: Add %s%s related checks.
78921 2009-11-12  Eric Blake  <ebb9@byu.net>
78923         version-etc: match standards.texi style
78924         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
78925         and use <> only for URLs.
78927 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
78929         fts: do not fail on a submount during traversal
78930         * lib/fts.c (fts_build): Read the stat info again after opening
78931         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
78932         Original report at http://bugzilla.redhat.com/501848.
78934 2009-11-12  Jim Meyering  <meyering@redhat.com>
78936         bootstrap: sync from coreutils
78937         * build-aux/bootstrap (bootstrap_epilogue): New function.
78938         Use git_modules_config in one more place.  This make bootstrap's
78939         --gnulib-srcdir option more useful for testing.
78941         bootstrap: generalize autoheader check
78942         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
78943         AC_CONFIG_HEADERS.
78945 2009-11-11  Eric Blake  <ebb9@byu.net>
78947         mkfifoat: use new modules for Solaris and BSD bugs
78948         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
78949         * lib/mkfifoat.c (mknodat): Split...
78950         * lib/mknodat.c (mknodat): ...into new file.
78951         * modules/mkfifoat (Files): Ship new file.
78952         (Depends-on): Add mkfifo, mknod.
78953         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
78954         (Depends-on): Add symlink.
78955         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
78956         redundant with test_mkfifo.h.
78957         (do_mkfifoat, do_mknodat): New helpers.
78959         mknod: new module
78960         * modules/mknod: New file.
78961         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
78962         * lib/mknod.c (mknod): Likewise.
78963         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
78964         defaults.
78965         * modules/sys_stat (Makefile.am): Substitute them.
78966         * lib/sys_stat.in.h (mknod): Declare replacement.
78967         * MODULES.html.sh (Support for systems lacking POSIX:2008):
78968         Document it.
78969         * doc/posix-functions/mknod.texi (mknod): Likewise.
78970         * modules/mknod-tests: New test.
78971         * tests/test-mknod.c: Likewise.
78973         mkfifo: new module
78974         * modules/mkfifo: New file.
78975         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
78976         * lib/mkfifo.c (mkfifo): Likewise.
78977         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
78978         defaults.
78979         * modules/sys_stat (Makefile.am): Substitute them.
78980         * lib/sys_stat.in.h (mkfifo): Declare replacement.
78981         * MODULES.html.sh (Support for systems lacking POSIX:2008):
78982         Document it.
78983         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
78984         * modules/mkfifo-tests: New test.
78985         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
78986         from test-mkfifoat.c.
78987         * tests/test-mkfifo.c: New file.
78989         readlink: detect FreeBSD bug
78990         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
78991         slash on symlink.
78992         * doc/posix-functions/readlink.texi (readlink): Document the bug.
78993         * tests/test-readlink.h (test_readlink): Enhance test.
78995         symlink: detect FreeBSD bug
78996         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
78997         slash on symlink.
78998         * doc/posix-functions/symlink.texi (symlink): Document the bug.
78999         * tests/test-symlink.h (test_symlink): Enhance test.
79001 2009-11-10  Eric Blake  <ebb9@byu.net>
79003         link: detect FreeBSD bug
79004         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
79005         symlink.
79006         * doc/posix-functions/link.texi (link): Document the bug.
79007         * tests/test-link.h (test_link): Enhance test.
79008         * tests/test-linkat.c (main): Update caller.
79010         unlink, remove: detect FreeBSD bug
79011         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
79012         slash on symlink.
79013         * doc/posix-functions/unlink.texi (unlink): Document the bug.
79014         * doc/posix-functions/remove.texi (remove): Likewise.
79015         * tests/test-unlink.h (test_unlink): Enhance test.
79016         * tests/test-remove.c (main): Likewise.
79018 2009-11-09  Eric Blake  <ebb9@byu.net>
79020         rename: detect FreeBSD bug
79021         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
79022         slash on symlink.
79023         * modules/renameat-tests (Depends-on): Add filenamecat.
79024         * tests/test-rename.h (test_rename): Allow one more errno.
79025         * tests/test-renameat.c (main): Likewise.
79026         * doc/posix-functions/rename.texi (rename): Document the bug.
79028         open: detect FreeBSD bug
79029         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
79030         symlink.
79031         * doc/posix-functions/open.texi (open): Document the bug.
79032         * doc/posix-functions/utimes.texi (utimes): Likewise.
79033         * tests/test-open.h (test_open): Add parameters, and test symlink
79034         handling.
79035         * tests/test-open.c (main): Adjust caller.
79036         * tests/test-fcntl-safer.c (main): Likewise.
79037         * modules/open-tests (Depends-on): Add stdbool, symlink.
79038         * modules/fcntl-safer-tests (Depends-on): Likewise.
79039         * tests/test-openat.c (main): Add test-open tests.
79041         stat: detect FreeBSD bug
79042         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
79043         symlink.
79044         * doc/posix-functions/stat.texi (stat): Document the bug.
79045         * tests/test-stat.h (test_stat_func): Add argument.
79046         * tests/test-stat.c (main): Adjust caller.
79047         * tests/test-fstatat.c (main): Likewise.
79048         * modules/stat-tests (Depends-on): Add stdbool, symlink.
79049         Reported by Jim Meyering.
79051 2009-11-09  James Youngman  <jay@gnu.org>
79053         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
79054         * lib/strftime.c: Correct placement of #include "ignore-value.h".
79056 2009-11-08  Jim Meyering  <meyering@redhat.com>
79058         utimens: remove invalid futimesat call
79059         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
79060         It used the file descriptor of the target file as the DIR_FD
79061         parameter and NULL as the file name.  That caused failure with
79062         errno == EFAULT on FreeBSD-8.0-rc2
79064 2009-11-07  Eric Blake  <ebb9@byu.net>
79066         fflush, freadseek: use fseeko, not fseek
79067         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
79068         (clear_ungetc_buffer): Avoid potential problems on large files.
79069         * lib/freadseek.c (freadseek): Likewise.
79070         * modules/freadseek (Depends-on): Add fseeko.
79071         * modules/fseek (configure.ac): Set a witness.
79072         * tests/test-fflush.c (main): Use fseeko.
79073         * tests/test-fpurge.c (fseek): Disable link warning.
79074         * tests/test-freadable.c (fseek): Likewise.
79075         * tests/test-freading.c (fseek): Likewise.
79076         * tests/test-fseeko.c (fseek): Likewise.
79077         * tests/test-ftell.c (fseek): Likewise.
79078         * tests/test-ftello.c (fseek): Likewise.
79079         * tests/test-fwritable.c (fseek): Likewise.
79080         * tests/test-fwriting.c (fseek): Likewise.
79082 2009-11-06  Simon Josefsson  <simon@josefsson.org>
79084         * modules/memchr (Depends-on): Drop getpagesize dependency.
79086 2009-11-06  Simon Josefsson  <simon@josefsson.org>
79088         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
79089         Reported by Ludovic Courtès.
79090         * build-aux/pmccabe2html: Improve example usage.
79091         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
79093 2009-11-06  Jim Meyering  <meyering@redhat.com>
79095         do-release-commit-and-tag: New module.
79096         Automate the release-commit and tag process.
79097         * build-aux/do-release-commit-and-tag: New script, from coreutils.
79098         * modules/do-release-commit-and-tag: New file.
79099         * MODULES.html.sh (Support for maintaining and releasing): Add it.
79101 2009-11-06  Simon Josefsson  <simon@josefsson.org>
79103         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
79104         because test-select.c uses inet_pton.
79106 2009-11-06  Simon Josefsson  <simon@josefsson.org>
79108         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
79109         GETADDRINFO_LIB.  Bump serial number.
79110         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
79111         Suggested by Eric Blake <ebb9@byu.net>.
79113 2009-11-05  Eric Blake  <ebb9@byu.net>
79115         strtod: detect darwin bug
79116         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
79117         Reported by Leo Davis.
79119         freopen-safer: new module
79120         * modules/freopen-safer: New module.
79121         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
79122         * lib/freopen-safer.c (freopen_safer): New file.
79123         * lib/stdio-safer.h (freopen_safer): New declaration.
79124         * lib/stdio--.h (freopen): New override.
79125         * MODULES.html.sh (File stream based Input/Output): Mention it.
79126         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
79127         freopen-safer module.
79128         * doc/posix-functions/stderr.texi (stderr): Likewise.
79129         * doc/posix-functions/stdin.texi (stdin): Likewise.
79130         * doc/posix-functions/stdout.texi (stdout): Likewise.
79131         * modules/freopen-safer-tests: New test.
79132         * tests/test-reopen-safer.c: New file.
79134 2009-11-05  Jim Meyering  <meyering@redhat.com>
79136         maint.mk: Prohibit inclusion of "close-stream.h" without use.
79137         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
79139 2009-11-05  Simon Josefsson  <simon@josefsson.org>
79141         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
79143 2009-11-05  Simon Josefsson  <simon@josefsson.org>
79145         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
79147 2009-11-05  Simon Josefsson  <simon@josefsson.org>
79149         Fix link error.
79150         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
79151         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
79153 2009-11-05  Simon Josefsson  <simon@josefsson.org>
79155         * tests/test-func.c: Also test value of __func__.
79157 2009-11-05  Simon Josefsson  <simon@josefsson.org>
79159         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
79160         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
79162 2009-11-05  Bruno Haible  <bruno@clisp.org>
79164         Fix link error.
79165         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
79166         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
79167         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
79169 2009-11-05  Bruno Haible  <bruno@clisp.org>
79171         Tests for module 'inet_pton'.
79172         * modules/inet_pton-tests: New file.
79173         * tests/test-inet_pton.c: New file.
79175 2009-11-05  Bruno Haible  <bruno@clisp.org>
79177         Tests for module 'inet_ntop'.
79178         * modules/inet_ntop-tests: New file.
79179         * tests/test-inet_ntop.c: New file.
79181 2009-11-04  Eric Blake  <ebb9@byu.net>
79183         stdlib-safer: wrap all mkstemp variants
79184         * modules/mkostemp (configure.ac): Set witness.
79185         * modules/mkostemps (configure.ac): Likewise.
79186         * modules/mkstemps (configure.ac): Likewise.
79187         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
79188         (mkstemps_safer): Wrap more functions.
79189         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
79190         wrapping.
79191         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
79192         (mkstemps_safer): Implement the wrappers.
79194         mkstemps, mkostemps: new modules
79195         * modules/mkostemps: New module.
79196         * modules/mkstemps: Likewise.
79197         * lib/mkostemps.c (mkostemps): New file.
79198         * lib/mkstemps.c (mkstemps): Likewise.
79199         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
79200         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
79201         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
79202         * modules/stdlib (Makefile.am): Substitute them.
79203         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
79204         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
79205         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
79206         * doc/gnulib.texi (Glibc stdlib.h): Include them.
79207         * MODULES.html.sh (File system functions): Mention them.
79209         tempname: resync from glibc
79210         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
79211         same values for __GT_FILE as glibc.  Abort even when assertions
79212         are disabled.
79213         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
79214         match its value otherwise.  Allow idempotent inclusion.
79215         * lib/mkdtemp.c (mkdtemp): Adjust caller.
79216         * lib/mkostemp.c (mkostemp): Likewise.
79217         * lib/mkstemp.c (mkstemp): Likewise.
79218         * lib/tmpfile.c (tmpfile): Likewise.
79219         * NEWS: Document this.
79221         utimens: fix use of futimens on older Linux
79222         * lib/utimens.c (fdutimens): Use updated, rather than original,
79223         timespec to avoid bug in older Linux kernel.
79224         Reported by Simon Josefsson.
79226 2009-11-04  Bruno Haible  <bruno@clisp.org>
79228         Make num_processors more flexible and consistent.
79229         * lib/nproc.h (enum nproc_query): New type.
79230         (num_processors): Add a 'query' argument.
79231         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
79232         (num_processors): Add a 'query' argument. Test the value of the
79233         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
79234         mingw, count the number of CPUs available for the current process.
79235         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
79236         Check for sched_getaffinity and sched_getaffinity_np.
79237         * modules/nproc (Depends-on): Add c-ctype, extensions.
79238         * NEWS: Mention the change.
79240 2009-11-03  Bruno Haible  <bruno@clisp.org>
79242         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
79244 2009-11-03  Jim Meyering  <meyering@redhat.com>
79246         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
79247         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
79248         if it is defined.
79250 2009-11-02  Eric Blake  <ebb9@byu.net>
79252         mktime, timegm: share common declaration
79253         * lib/mktime-internal.h: New file.
79254         * lib/mktime.c: Use it rather than open-coding a declaration.
79255         * lib/timegm.c: Likewise.
79256         * modules/mktime (Files): Ship it.
79257         * modules/timegm (Files): Likewise.
79258         Suggested by Bruno Haible.
79260         test-update-copyright: update test to match script changes
79261         * tests/test-update-copyright.sh: Avoid hard-coding perl
79262         location.  Don't update *.bak created by earlier runs.
79264 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
79265             Simon Josefsson  <simon@josefsson.org>
79266             Bruno Haible  <bruno@clisp.org>
79268         Fix link error on Solaris 8.
79269         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
79270         also in libnsl. Define also INET_PTON_LIB.
79271         * modules/inet_pton (Link): New section.
79273 2009-11-02  Simon Josefsson  <simon@josefsson.org>
79274             Bruno Haible  <bruno@clisp.org>
79276         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
79277         * modules/inet_ntop (Link): New section.
79278         Reported by Boyan Kasarov <bkasarov@gmail.com>.
79280 2009-11-02  Eric Blake  <ebb9@byu.net>
79282         maint: avoid compiler warnings in m4 macros
79283         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
79284         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
79286 2009-11-02  Simon Josefsson  <simon@josefsson.org>
79288         * m4/pmccabe2html.m4: Remove file.
79289         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
79290         function.  Change maintainer.
79291         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
79292         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
79293         Courtès).
79295 2009-10-31  Eric Blake  <ebb9@byu.net>
79297         fseeko: fix m4 regression
79298         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
79299         regression from 2009-10-27.
79300         Reported by Ralf Wildenhues.
79302 2009-10-31  Jim Meyering  <meyering@redhat.com>
79304         inttostr: aesthetics and improved (compile-time) safety
79305         Define inttype_is_signed rather than inttype_is_unsigned,
79306         since the sole use is via "#if inttype_is_signed".
79307         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
79308         inttype_is_unsigned.
79309         * lib/offtostr.c (inttype_is_signed): Likewise.
79310         * lib/uinttostr.c (inttype_is_signed): Likewise.
79311         * lib/umaxtostr.c (inttype_is_signed): Likewise.
79312         * lib/inttostr.c (inttostr): Use verify to cross-check the
79313         inttype_is_signed value and the signedness of the actual type.
79314         * modules/inttostr (Depends-on): Add verify.
79316 2009-10-30  Eric Blake  <ebb9@byu.net>
79318         build: avoid compiler warnings
79319         * lib/fchmodat.c (lchmod): Mark unused variables.
79320         * lib/getopt.c (_getopt_initialize): Likewise.
79321         * lib/mktime.c (__mktime_internal): Provide prototype.
79322         * lib/inttostr.c (inttostr): Avoid compiler warning even with
79323         older gcc that do not understand #pragma GCC diagnostic.
79324         * lib/uinttostr.c (inttype_is_unsigned): Define.
79325         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
79327 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
79329         stat: fix compilation on AIX
79330         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
79331         only see struct stat64.
79333 2009-10-30  Eric Blake  <ebb9@byu.net>
79335         exclude: make more robust
79336         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
79337         rather than masking a coding bug.
79338         Suggested by Bruno Haible.
79340 2009-10-30  Jim Meyering  <meyering@redhat.com>
79342         perl scripts: remove #!/usr/bin/perl in favor of more portable...
79343         Rather than putting #!/usr/bin/perl on the first line,
79344         start with a variant of what's recommended by "man perlrun" that
79345         invokes the first "perl" program from your shell's search path.
79346         * build-aux/gitlog-to-changelog: Replace #!... as above.
79347         Add a "Local Variables" perl mode setting.
79348         Prompted by a patch from Ludovic Courtès.
79349         Improved by Eric Blake.
79350         * build-aux/useless-if-before-free: Likewise.
79351         * build-aux/announce-gen: Likewise.
79352         * build-aux/update-copyright: Likewise.
79354 2009-10-29  Eric Blake  <ebb9@byu.net>
79356         filenamecat-lgpl: adjust clients
79357         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
79358         filenamecat.
79359         * modules/renameat (Depends-on): Likewise.
79361         filenamecat: split into filenamecat-lgpl
79362         * modules/filenamecat-lgpl: New module.
79363         * modules/filenamecat (Files): Move library-safe files into
79364         filenamecat-lgpl.
79365         (Depends-on): Add filenamecat-lgpl.
79366         (configure.ac): Declare witness.
79367         * lib/filenamecat.h (file_name_concat): Only declare when using
79368         GPL module.
79369         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
79370         Move...
79371         * lib/filenamecat-lgpl.c: ...into new file.
79372         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
79373         (gl_FILE_NAME_CONCAT): Use it.
79374         * MODULES.html.sh (File system functions): Mention new module.
79376         argp: avoid memory leak
79377         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
79378         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
79379         base_name, since the latter malloc()s and can call exit().
79380         Leak introduced 2006-07-03.
79382         dirname-lgpl: adjust clients that don't need full dirname
79383         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
79384         * modules/filenamecat (Depends-on): Likewise.
79385         * modules/linkat (Depends-on): Likewise.
79386         * modules/mkancesdirs (Depends-on): Likewise.
79387         * modules/mkdir (Depends-on): Likewise.
79388         * modules/openat (Depends-on): Likewise.
79389         * modules/savewd (Depends-on): Likewise.
79390         * modules/rename (Depends-on): Likewise.
79391         (License): Relax license.
79392         * modules/mkdir-tests (Depends-on): Drop progname.
79393         (Makefile.am): Delete unneeded LDADD.
79394         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
79396         dirname: split into dirname-lgpl
79397         * modules/dirname-lgpl: New module.
79398         * modules/dirname (Files): Move library-safe files into
79399         dirname-lgpl.
79400         (Depends-on): Add dirname-lgpl.
79401         (configure.ac): Declare witness.
79402         * modules/double-slash-root (License): Relax license.
79403         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
79404         module.
79405         * lib/dirname.c (dir_len, mdir_name): Move...
79406         * lib/dirname-lgpl.c: ...into new file.
79407         * lib/basename.c (last_component, base_len): Move...
79408         * lib/basename-lgpl.c: ...into new file.
79409         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
79410         (gl_DIRNAME): Use it.
79411         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
79412         Mention new module.
79413         * modules/dirname-tests (Depends-on): Add progname.
79414         * tests/test-dirname.c (program_name): Delete.
79416         mkdir: make safe for libraries
79417         * modules/mkdir (Depends-on): Drop xalloc.
79418         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
79419         exit.
79421         tests: avoid some compiler warnings
79422         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
79423         literals.
79424         * tests/test-memchr.c (main): Avoid type mismatch.
79425         * tests/test-arpa_inet.c (main): Avoid unused parameters.
79426         * tests/test-base64.c (main): Likewise.
79427         * tests/test-getdelim.c (main): Likewise.
79428         * tests/test-gethostname.c (main): Likewise.
79429         * tests/test-getline.c (main): Likewise.
79430         * tests/test-netinet_in.c (main): Likewise.
79431         * tests/test-select.c (open_server_socket, main): Likewise.
79432         * tests/test-select-stdin.c (main): Likewise.
79433         * tests/test-sockets.c (main): Likewise.
79434         * tests/test-strsignal.c (main): Likewise.
79435         * tests/test-sys_select.c (main): Likewise.
79436         * tests/test-sys_socket.c (main): Likewise.
79437         * tests/test-u64.c (main): Likewise.
79438         * tests/test-xfprintf-posix.c (main): Likewise.
79439         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
79441         sockets: avoid compiler warning
79442         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
79444         maint: detect usage(1) and other suspicious exits
79445         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
79447 2009-10-29  Jim Meyering  <meyering@redhat.com>
79449         timespec: long-to-int truncation could make timespec_cmp malfunction
79450         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
79451         a multiple of 2^32 nanoseconds as no difference.
79453 2009-10-28  Jim Meyering  <meyering@redhat.com>
79455         fprintftime: wrap macro code argument in "do {...} while(0)"
79456         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
79457         cpy macro must be a statement that can be followed by a semicolon.
79458         Now that the else clause contains a comment and is hence longer
79459         than one line, I require curly braces.  That in turn requires
79460         that we wrap this code block in the standard do...while(0).
79462         fprintftime: remove stray semicolon from previous change
79463         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
79465         fprintftime: avoid a warning about ignored fwrite return value
79466         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
79467         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
79468         that is unsafe.
79469         * modules/fprintftime (Depends-on): Add ignore-value.
79471         exclude: avoid an unwarranted warning
79472         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
79474 2009-10-27  Eric Blake  <ebb9@byu.net>
79476         fseek: avoid compilation failure when fflush is replaced
79477         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
79478         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
79479         module is in use.
79480         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
79481         module is not in use; since REPLACE_FSEEK worked otherwise.
79482         (GNULIB_FTELLO): Likewise for ftell.
79483         Reported by Ian Beckwith and others.
79485 2009-10-27  Bruno Haible  <bruno@clisp.org>
79487         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
79488         Reported by Jim Meyering.
79490 2009-10-27  Jim Meyering  <jim@meyering.net>
79491             Bruno Haible  <bruno@clisp.org>
79493         Avoid warning despite dropping the return value of fwrite.
79494         * lib/unicodeio.c: Include ignore-value.h.
79495         (fwrite_success_callback): Explicitly ignore fwrite's return value.
79496         * modules/unicodeio (Depends-on): Add ignore-value.
79498 2009-10-26  Eric Blake  <ebb9@byu.net>
79500         areadlinkat: fix fallback path
79501         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
79502         pointer and zero.
79504 2009-10-22  Pádraig Brady  <P@draigBrady.com>
79506         Use a better IO block size for modern systems
79507         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
79508         * lib/md2.c: Likewise.
79509         * lib/md4.c: Likewise.
79510         * lib/md5.c: Likewise.
79511         * lib/sha1.c: Likewise.
79512         * lib/sha256.c: Likewise.
79513         * lib/sha512.c: Likewise.
79515 2009-10-22  Eric Blake  <ebb9@byu.net>
79517         tests: avoid several compiler warnings
79518         * tests/test-getcwd.c (main): Avoid buffer underflow.
79519         * tests/test-getdate.c (main): String literals are not safe with
79520         putenv, so use setenv.  Declare unused argument.
79521         * modules/getdate-tests (Depends-on): Add setenv.
79522         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
79523         problems with string literals in char *.
79524         * tests/test-hash.c (main): Avoid shadowing declaration.
79525         (insert_new): Treat string literals as char const *.
79526         * tests/test-getopt.h (test_getopt): Likewise.
79527         (getopt_loop): Alter types to minimize casting elsewhere.
79528         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
79529         (test_getopt_long_posix): Likewise.
79530         (do_getopt_long): Add wrapper to minimize casting.
79531         * tests/test-atexit.c (clear_temp_file): Use void.
79532         * tests/test-areadlink-with-size.c (main): Declare unused
79533         arguments.
79534         * tests/test-areadlink.c (main): Likewise.
79535         * tests/test-areadlinkat-with-size.c (main): Likewise.
79536         * tests/test-areadlinkat.c (main): Likewise.
79537         * tests/test-canonicalize-lgpl.c (main): Likewise.
79538         * tests/test-canonicalize.c (main): Likewise.
79539         * tests/test-dirent-safer.c (main): Likewise.
79540         * tests/test-dirname.c (main): Likewise.
79541         * tests/test-dup2.c (main): Likewise.
79542         * tests/test-fchdir.c (main): Likewise.
79543         * tests/test-fcntl-h.c (main): Likewise.
79544         * tests/test-fcntl-safer.c (main): Likewise.
79545         * tests/test-fdopendir.c (main): Likewise.
79546         * tests/test-fdutimensat.c (main): Likewise.
79547         * tests/test-fflush.c (main): Likewise.
79548         * tests/test-filenamecat.c (main): Likewise.
79549         * tests/test-filevercmp.c (main): Likewise.
79550         * tests/test-fopen-safer.c (main): Likewise.
79551         * tests/test-fopen.c (main): Likewise.
79552         * tests/test-fpending.c (main): Likewise.
79553         * tests/test-fpurge.c (main): Likewise.
79554         * tests/test-freading.c (main): Likewise.
79555         * tests/test-fstatat.c (main): Likewise.
79556         * tests/test-fsync.c (main): Likewise.
79557         * tests/test-futimens.c (main): Likewise.
79558         * tests/test-getndelim2.c (main): Likewise.
79559         * tests/test-gettimeofday.c (main): Likewise.
79560         * tests/test-getopt.c (main): Likewise.
79561         * tests/test-i-ring.c (main): Likewise.
79562         * tests/test-inttypes.c (main): Likewise.
79563         * tests/test-link.c (main): Likewise.
79564         * tests/test-lstat.c (main): Likewise.
79565         * tests/test-math.c (main): Likewise.
79566         * tests/test-md5.c (main): Likewise.
79567         * tests/test-memchr2.c (main): Likewise.
79568         * tests/test-memrchr.c (main): Likewise.
79569         * tests/test-mkdir.c (main): Likewise.
79570         * tests/test-mkdirat.c (main): Likewise.
79571         * tests/test-mkfifoat.c (main): Likewise.
79572         * tests/test-open.c (main): Likewise.
79573         * tests/test-openat-safer.c (main): Likewise.
79574         * tests/test-openat.c (main): Likewise.
79575         * tests/test-quotearg.c (main): Likewise.
79576         * tests/test-rawmemchr.c (main): Likewise.
79577         * tests/test-readlink.c (main): Likewise.
79578         * tests/test-remove.c (main): Likewise.
79579         * tests/test-rename.c (main): Likewise.
79580         * tests/test-renameat.c (main): Likewise.
79581         * tests/test-rmdir.c (main): Likewise.
79582         * tests/test-sha1.c (main): Likewise.
79583         * tests/test-signal.c (main): Likewise.
79584         * tests/test-sigaction.c (main): Likewise.
79585         * tests/test-stat.c (main): Likewise.
79586         * tests/test-stat-time.c (main): Likewise.
79587         * tests/test-stddef.c (main): Likewise.
79588         * tests/test-stdint.c (main): Likewise.
79589         * tests/test-stdio.c (main): Likewise.
79590         * tests/test-stdlib.c (main): Likewise.
79591         * tests/test-strchrnul.c (main): Likewise.
79592         * tests/test-strerror.c (main): Likewise.
79593         * tests/test-string.c (main): Likewise.
79594         * tests/test-strtod.c (main): Likewise.
79595         * tests/test-strverscmp.c (main): Likewise.
79596         * tests/test-symlink.c (main): Likewise.
79597         * tests/test-symlinkat.c (main): Likewise.
79598         * tests/test-sys_stat.c (main): Likewise.
79599         * tests/test-sys_time.c (main): Likewise.
79600         * tests/test-time.c (main): Likewise.
79601         * tests/test-unistd.c (main): Likewise.
79602         * tests/test-unlink.c (main): Likewise.
79603         * tests/test-unlinkat.c (main): Likewise.
79604         * tests/test-utimens.c (main): Likewise.
79605         * tests/test-utimensat.c (main): Likewise.
79606         * tests/test-version-etc.c (main): Likewise.
79607         * tests/test-wchar.c (main): Likewise.
79608         * tests/test-wctype.c (main): Likewise.
79609         * tests/test-xprintf-posix.c (main): Likewise.
79610         * tests/test-posixtm.c (main): Likewise.
79611         (STREQ): Delete unused macro.
79612         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
79613         shadowed variables.
79614         * tests/test-memchr.c (main): Likewise.
79616 2009-10-21  Eric Blake  <ebb9@byu.net>
79618         areadlinkat: avoid failure on older glibc
79619         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
79620         rather than mis-comparing 0 against FUNC_RESULT of char*.
79622 2009-10-21  Bruno Haible  <bruno@clisp.org>
79624         * modules/stpncpy (License): Relicense under LGPLv2+.
79625         Reported by David Lutterkort <lutter@redhat.com>.
79627 2009-10-20  Eric Blake  <ebb9@byu.net>
79629         utimensat: work around Solaris 9 bug
79630         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
79631         has trailing slash bugs.
79632         * tests/test-lutimens.h (test_lutimens): Enhance test.
79633         * tests/test-utimens.h (test_utimens): Likewise.
79634         * doc/posix-functions/utime.texi (utime): Enhance documentation.
79635         * doc/posix-functions/utimes.texi (utimes): Likewise.
79636         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
79637         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
79638         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
79639         * doc/posix-functions/futimens.texi (futimens): Likewise.
79641         fdutimensat: new module
79642         * modules/fdutimensat: New file.
79643         * lib/fdutimensat.c (fdutimensat): Likewise.
79644         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
79645         * MODULES.html.sh (File system functions): Mention module.
79646         * modules/fdutimensat-tests: New test.
79647         * tests/test-fdutimensat.c: Likewise.
79649         doc: regenerate INSTALL
79650         * doc/INSTALL: Reflect recent autoconf update.
79651         * doc/INSTALL.ISO: Likewise.
79652         * doc/INSTALL.UTF-8: Likewise.
79654 2009-10-20  Pádraig Brady  <P@draigBrady.com>
79656         acl: warn if ACL support is not detected
79657         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
79659 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
79661         * lib/nproc.h: Add extern "C" block for C++.
79663 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
79664             Bruno Haible  <bruno@clisp.org>
79666         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
79667         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
79668         * doc/posix-functions/isalpha.texi: Likewise.
79669         * doc/posix-functions/isblank.texi: Likewise.
79670         * doc/posix-functions/iscntrl.texi: Likewise.
79671         * doc/posix-functions/isdigit.texi: Likewise.
79672         * doc/posix-functions/isgraph.texi: Likewise.
79673         * doc/posix-functions/islower.texi: Likewise.
79674         * doc/posix-functions/isprint.texi: Likewise.
79675         * doc/posix-functions/ispunct.texi: Likewise.
79676         * doc/posix-functions/isspace.texi: Likewise.
79677         * doc/posix-functions/isupper.texi: Likewise.
79678         * doc/posix-functions/isxdigit.texi: Likewise.
79680 2009-10-18  Bruno Haible  <bruno@clisp.org>
79682         Tests for module 'isblank'.
79683         * modules/isblank-tests: New file.
79684         * tests/test-isblank.c: New file.
79686         New module 'isblank'.
79687         * lib/isblank.c: New file.
79688         * m4/isblank.m4: New file.
79689         * modules/isblank: New file.
79690         * doc/posix-functions/isblank.texi: Mention the new module.
79692 2009-10-18  Bruno Haible  <bruno@clisp.org>
79694         New module 'ctype'.
79695         * lib/ctype.in.h: New file.
79696         * m4/ctype.m4: New file.
79697         * modules/ctype: New file.
79698         * doc/posix-headers/ctype.texi: Mention the new module.
79700 2009-10-18  Jim Meyering  <meyering@redhat.com>
79702         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
79703         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
79704         right after its initialization, rather than farther down.
79705         Keeping these in close proximity makes it easier to ensure
79706         that each such variable is initialized.  E.g.,
79708             LIB_CLOCK_GETTIME=
79709             AC_SUBST([LIB_CLOCK_GETTIME])
79711         This change also increments these serial numbers.
79712         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
79713         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
79714         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79716 2009-10-18  Bruno Haible  <bruno@clisp.org>
79718         Don't let environment variables perturb build.
79719         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
79720         (gl_PREREQ_GETHRXTIME): ... not here.
79722 2009-10-18  Bruno Haible  <bruno@clisp.org>
79724         Avoid symlink attack in localcharset module.
79725         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
79726         (O_NOFOLLOW): Define fallback.
79727         (get_charset_aliases): Don't open the file if it is a symbolic link.
79728         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
79729         gl_FCNTL_H.
79730         (gl_FCNTL_H): Require it.
79731         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
79732         * modules/localcharset (Files): Add m4/fcntl_h.m4.
79733         Reported by Fergal Glynn <fglynn@veracode.com>.
79735 2009-10-18  Bruno Haible  <bruno@clisp.org>
79737         Implement nproc for mingw.
79738         * lib/nproc.c: Include <windows.h>
79739         (num_processors): On native Windows platforms, try GetSystemInfo.
79741 2009-10-18  Bruno Haible  <bruno@clisp.org>
79743         Implement nproc for IRIX.
79744         * lib/nproc.c: Include <sys/sysmp.h>.
79745         (num_processors): On IRIX systems, try sysmp.
79746         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
79748 2009-10-18  Bruno Haible  <bruno@clisp.org>
79750         Implement nproc for HP-UX.
79751         * lib/nproc.c: Include <sys/pstat.h>
79752         (num_processors): On HP-UX systems, try pstat_getdynamic.
79753         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
79754         pstat_getdynamic.
79756 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
79757             Bruno Haible  <bruno@clisp.org>
79759         Implement nproc for NetBSD, OpenBSD.
79760         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
79761         (ARRAY_SIZE): New macro.
79762         (num_processors): On BSD systems, try sysctl of HW_NCPU.
79763         * m4/nproc.m4: New file.
79764         * modules/nproc (Files): Add m4/nproc.m4.
79765         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
79766         (Makefile.am): Instead, augment lib_SOURCES.
79768 2009-10-18  Bruno Haible  <bruno@clisp.org>
79770         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
79771         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
79772         sys/param.h.
79774 2009-10-16  Eric Blake  <ebb9@byu.net>
79776         utimensat: new module
79777         * modules/utimensat: New file.
79778         * lib/utimensat.c (utimensat): Likewise.
79779         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
79780         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
79781         so we can work around Linux bugs.
79782         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
79783         * modules/sys_stat (Makefile.am): Substitute them.
79784         * lib/sys_stat.in.h (utimensat): Declare it.
79785         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79786         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
79787         * modules/utimensat-tests: New test.
79788         * tests/test-utimensat.c: Likewise.
79790         utimens: let lutimens work on non-symlinks
79791         * lib/utimens.c (lutimens): Fall back to utimens rather than
79792         failing with ENOSYS, when file is not a symlink.
79793         (utimens): Reduce redirection.
79794         * tests/test-lutimens.h (test_lutimens): Update test to cover
79795         non-symlinks.
79796         * tests/test-utimens.h (test_utimens): Update test to cover
79797         symlinks.
79798         * tests/test-utimens.c (main): Update caller.
79800         utimens: cache whether utimensat syscall works
79801         * lib/utimens.c (utimensat_works_really): New cache variable.
79802         (fdutimens, lutimens): Use it to avoid failing syscall.
79804         test-stat-time, test-utimens: improve portability
79805         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
79806         ext4 on alpha, and for cygwin.
79807         * tests/test-utimens-common.h: New file.
79808         (nap): Factor delays into single function.
79809         * tests/test-lutimens.h (test_lutimens): Use new header.
79810         * tests/test-futimens.h (test_futimens): Likewise.
79811         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
79812         timestamps to occur from same machine, as was done previously for
79813         test_utimens.
79814         * modules/utimens-tests (Files): Ship new file.
79815         * modules/futimens-tests (Files): Likewise.
79816         Reported in part by Jim Meyering.
79818         sys_stat: sort replacement declarations
79819         * lib/sys_stat.in.h: Sort declarations.
79820         * lib/futimens.c (futimens): Fix typo.
79822 2009-10-15  Jim Meyering  <meyering@redhat.com>
79824         don't let environment settings perturb build
79825         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
79826         could cause a configure-time and/or build-time malfunction.
79827         Typically, a configure-time function-in-library test is performed
79828         via code like this:
79830           LIB_VAR=
79831           AC_SUBST([LIB_VAR])
79832           prefix_saved_LIBS=$LIBS
79833             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
79834                        [test "$ac_cv_search_FUNC" = "none required" ||
79835                         LIB_VAR=$ac_cv_search_FUNC])
79836           LIBS=$prefix_saved_LIBS
79838         However, in each of the files affected by this change, the LIB_VAR=
79839         initialization was omitted.  Thus, when set in the environment, its
79840         value would propagate into generated Makefiles when FUNC is not found
79841         in LIB_NAME.
79842         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
79843         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
79844         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79846 2009-10-14  Eric Blake  <ebb9@byu.net>
79848         fchdir: avoid infinite recursion in mingw
79849         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
79850         recursing.
79852         test-stat-time: port to mingw
79853         * tests/test-stat-time.c (force_unlink): Return a value.
79854         (test_ctime) [W32]: Fix compilation error.
79855         (nap): Don't call usleep with too large an argument.  Use
79856         force_unlink.
79857         * doc/pastposix-functions/usleep.texi (usleep): Document the
79858         portability issue.
79860 2009-10-13  Jim Meyering  <meyering@redhat.com>
79862         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
79863         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
79864         * modules/pipe-filter-ii: Likewise.
79865         * modules/sys_socket-tests: Likewise.
79866         * modules/tsearch-tests: Likewise.
79867         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
79868         (check): Depend on it.
79870 2009-10-12  Eric Blake  <ebb9@byu.net>
79872         utimens-tests: port to NFS file systems
79873         * tests/test-utimens.h (test_utimens): Refactor utimecmp
79874         comparisons to avoid spurious failures from timestamp drift
79875         between NFS machines.
79877 2009-10-12  Eric Blake  <ebb9@byu.net>
79879         stat-time-tests: minor cleanups
79880         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
79881         * tests/test-stat-time.c (nap): Separate assignment from call.
79882         Suggested by Paolo Bonzini and Bruno Haible.
79884         sys_stat: guarantee struct timespec
79885         * lib/sys_stat.in.h (includes): Always include <time.h>
79886         * modules/sys_stat (Depends-on): Add time.
79887         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
79888         mode_t permission values.
79889         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
79890         get at subsecond timestamps.
79892 2009-10-10  Eric Blake  <ebb9@byu.net>
79894         futimens: new module
79895         * modules/futimens: New file.
79896         * lib/futimens.c (futimens): Likewise.
79897         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
79898         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
79899         we can work around Linux bugs.
79900         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
79901         * modules/sys_stat (Makefile.am): Substitute them.
79902         * lib/sys_stat.in.h (futimens): Declare it.
79903         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79904         * doc/posix-functions/futimens.texi (futimens): Likewise.
79905         * modules/futimens-tests: New test.
79906         * tests/test-futimens.c: Likewise.
79908         utimens: introduce fdutimens
79909         * lib/utimens.h (fdutimens): New prototype.
79910         * lib/utimens.c (gl_futimens): Move guts...
79911         (fdutimens): ...to new interface.
79912         * tests/test-utimens.c (do_fdutimens): Use it.
79914         utimens: add UTIME_NOW and UTIME_OMIT support
79915         * lib/utimens.c (validate_timespec, update_timespec): New helper
79916         functions.
79917         (gl_futimens, lutimens): Use them.
79918         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
79919         stdbool, sys_stat.
79920         (Link): Mention resulting library dependency.
79921         * modules/utimecmp (Link): Likewise.
79922         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
79923         (Makefile.am): Pick up library dependency.
79924         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
79925         definition.
79926         * tests/test-sys_stat.c: Test the definitions.
79927         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
79928         * NEWS: Document library dependency.
79930         utimecmp: support symlink timestamps
79931         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
79932         hashing when possible.  Use pathconf when available.
79933         (SYSCALL_RESOLUTION): Recognize tighter resolution.
79934         * modules/utimecmp (Depends-on): Add lstat.
79936         utimens: add lutimens interface
79937         * lib/utimens.c (lutimens): New function.
79938         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
79939         * lib/utimens.h (lutimens): Declare new interface.
79940         * tests/test-utimens.c (main): Enhance test.
79941         * tests/test-lutimens.h (test_lutimens): New file.
79942         * modules/utimens-tests (Files): Distribute it.
79943         (Depends-on): Add symlink.
79944         (configure.ac): Check for usleep.
79946         utimens: validate futimens usage
79947         * lib/utimens.c (gl_futimens): Require valid fd up front, using
79948         fewer syscalls on failure later on.  Avoid compiler warning on
79949         mingw.
79950         * modules/utimens (Depends-on): Add dup2.
79952         utimens: add test
79953         * modules/utimens-tests: New test.
79954         * tests/test-utimens.h: New file.
79955         * tests/test-futimens.h: Likewise.
79956         * tests/test-utimens.c: Likewise.
79958         doc: mention timestamp portability issues
79959         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
79960         instead.
79961         * doc/posix-functions/utime.texi (utime): Likewise.
79962         * doc/posix-functions/utimes.texi (utimes): Likewise.
79963         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
79964         instead.
79965         * doc/posix-functions/futimens.texi (futimens): Mention utimens
79966         module.
79967         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
79968         Mention weakness with symlink timestamps.
79969         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
79970         to utimensat/futimens instead.
79971         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
79973         test-dup2: enhance test
79974         * tests/test-dup2.c (main): Also check AT_FDCWD.
79976         test-stat-time: avoid more spurious failures
79977         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
79978         xfs; and avoid race if the two timestamps cross quantization edge.
79980         relocatable: prefer 'file system' over 'filesystem'
79981         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
79982         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
79983         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
79984         * doc/relocatable.texi (Enabling Relocatability): Likewise.
79985         * lib/relocatable.c (compute_curr_prefix): Likewise.
79987 2009-10-10  Jim Meyering  <meyering@redhat.com>
79989         stat-time-tests: check for the usleep function
79990         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
79992 2009-10-10  Bruno Haible  <bruno@clisp.org>
79994         * modules/xnanosleep: Put the Link section after the Include section.
79996 2009-10-09  Eric Blake  <ebb9@byu.net>
79998         dup2: work around FreeBSD 6.1 bug
79999         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
80000         * doc/posix-functions/dup2.texi (dup2): Document it.
80001         Reported by Nelson H. F. Beebe and Jim Meyering.
80003         test-stat-time: port to buggy NFS clients
80004         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
80005         (test_ctime): Also skip test if mtime and ctime are skewed.
80007         maint: prefer 'file system' over 'filesystem'
80008         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
80009         * doc/posix-functions/lstat.texi (lstat): Likewise.
80010         * lib/file-has-acl.c (file_has_acl): Likewise.
80011         * lib/fwriteerror.c [TEST]: Likewise.
80012         * tests/test-areadlink.h (test_areadlink): Likewise.
80013         * tests/test-areadlinkat-with-size.c (main): Likewise.
80014         * tests/test-areadlinkat.c (main): Likewise.
80015         * tests/test-canonicalize-lgpl.c (main): Likewise.
80016         * tests/test-canonicalize.c (main): Likewise.
80017         * tests/test-fstatat.c (main): Likewise.
80018         * tests/test-linkat.c (main): Likewise.
80019         * tests/test-lstat.h (test_lstat_func): Likewise.
80020         * tests/test-mkdir.h (test_mkdir): Likewise.
80021         * tests/test-readlink.h (test_readlink): Likewise.
80022         * tests/test-remove.c (main): Likewise.
80023         * tests/test-rename.h (test_rename): Likewise.
80024         * tests/test-renameat.c (main): Likewise.
80025         * tests/test-rmdir.h (test_rmdir_func): Likewise.
80026         * tests/test-symlink.h (test_symlink): Likewise.
80027         * tests/test-symlinkat.c (main): Likewise.
80028         * tests/test-unlink.h (test_unlink_func): Likewise.
80029         * tests/test-unlinkat.c (main): Likewise.
80031         maint: make realtime library usage explicit
80032         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
80033         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
80034         * modules/settime (Link): Likewise.
80035         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
80037         test-stat-time: speed up execution
80038         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
80039         warning on mingw.
80040         (nap): New helper function.
80041         (prepare_test): Use it to reduce sleep time.
80042         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
80043         execution.
80044         * modules/stat-time-tests (configure.ac): Check for usleep.
80046 2009-10-09  Jim Meyering  <meyering@redhat.com>
80048         selinux-h: always use getfilecon wrappers
80049         * lib/getfilecon.c: New file.
80050         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
80051         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
80052         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
80053         (fgetfilecon): Provide a stub.
80054         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
80055         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
80056         file unconditionally.
80057         When <selinux/selinux.h> is found, arrange to use wrappers.
80058         * modules/selinux-h (Files): Add getfilecon.c.
80059         (Makefile.am): Substitute include-next-related bits
80060         into the now-always-generated selinux/selinux.h file.
80061         * doc/glibc-functions/lgetfilecon.texi: New file.
80062         * doc/glibc-functions/fgetfilecon.texi: New file.
80063         * doc/glibc-functions/getfilecon.texi: New file.
80064         * doc/glibc-functions/getfilecon-desc.texi: New file.
80065         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
80066         which to pull in the new files.
80067         * MODULES.html.sh (Misc): Add selinux-h.
80069 2009-10-08  Jim Meyering  <meyering@redhat.com>
80071         unistd: fix comment typo
80072         * lib/unistd.in.h (euidaccess): Fix a comment typo.
80074 2009-10-08  Eric Blake  <ebb9@byu.net>
80076         areadlink: use SIZE_MAX consistently
80077         * modules/areadlink (Depends-on): Add stdint.
80078         * modules/areadlink-with-size (Depends-on): Likewise.
80079         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
80080         gives NULL; drop sys/types, since unistd gives size_t; and add
80081         stdint for SIZE_MAX.
80082         (SIZE_MAX): Rely on headers.
80083         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
80084         and add stdint.
80085         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
80086         (SIZE_MAX): Likewise.
80087         (INITIAL_BUF_SIZE): Turn into enum.
80088         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
80090 2009-10-08  Jim Meyering  <meyering@redhat.com>
80092         areadlinkat: avoid compilation failure
80093         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
80094         Fix typo in comment.
80096 2009-10-07  Eric Blake  <ebb9@byu.net>
80098         areadlinkat-with-size: new module
80099         * modules/areadlinkat-with-size: New module.
80100         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
80101         * lib/areadlink.h (areadlinkat): Declare it.
80102         * MODULES.html.sh (File system functions): Mention it.
80103         * modules/areadlinkat-with-size-tests: New test.
80104         * tests/test-areadlinkat-with-size.c: New file.
80106         xreadlinkat: new module
80107         * modules/xreadlinkat: New module.
80108         * lib/xreadlinkat.c (xreadlinkat): New file.
80109         * lib/xreadlink.h (xreadlinkat): Declare it.
80110         * MODULES.html.sh (File system functions): Mention it.
80112         areadlinkat: new module
80113         * lib/at-func.c (FUNC_FAIL): New define.
80114         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
80115         * modules/areadlinkat: New module.
80116         * lib/linkat.c (areadlinkat): Move...
80117         * lib/areadlinkat.c (areadlinkat): ...to new file.
80118         * lib/areadlink.h (areadlinkat): Declare it.
80119         * modules/linkat (Depends-on): Add areadlinkat.
80120         * MODULES.html.sh (File system functions): Mention it.
80121         * modules/areadlinkat-tests: New test.
80122         * tests/test-areadlinkat.c: New file.
80124         areadlink, areadlink-with-size: add tests
80125         * modules/areadlink-tests: New test.
80126         * modules/areadlink-with-size-tests: Likewise.
80127         * tests/test-areadlink.h: New file.
80128         * tests/test-areadlink.c: Likewise.
80129         * tests/test-areadlink-with-size.c: Likewise.
80131         maint: minor cleanups
80132         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
80133         _UNUSED_PARAMETER_ instead.
80134         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
80135         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
80136         * modules/linkat-tests (Files): Distribute test-link.h.
80138         openat, utimens: whitespace cleanup
80139         * lib/openat.c: Prefer space throughout, rather than mix of 8
80140         spaces vs. tabs.
80141         * lib/at-func.c: Likewise.
80142         * lib/utimens.c: Likewise.
80144         openat: avoid using wrong fd
80145         * lib/openat.c (openat_permissive): Reject user's fd if saving the
80146         working directory chooses same fd.
80147         * lib/at-func.c (AT_FUNC_NAME): Likewise.
80149         mkdir, mkdirat: fix cygwin 1.5.x bug
80150         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
80151         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
80152         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
80153         bug.
80154         (gl_PREREQ_MKDIR): Delete unused macro.
80155         * modules/mkdir (Files): Track file rename.
80156         (configure.ac): Update macro name.
80157         * modules/openat (Depends-on): Add mkdir.
80158         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
80160         mkdir, mkdirat: add tests
80161         * modules/mkdir-tests: New test.
80162         * tests/test-mkdir.h: New file.
80163         * tests/test-mkdir.c: Likewise.
80164         * tests/test-mkdirat.c: Likewise.
80165         * modules/openat-tests (Files): Add new files.
80166         (Makefile.am): Run new test.
80168 2009-10-06  Eric Blake  <ebb9@byu.net>
80170         doc: tweak *at function documentation
80171         * doc/posix-functions/faccessat.texi (faccessat): Mention
80172         known issue with replacement.
80173         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
80174         * doc/posix-functions/linkat.texi (linkat): Likewise.
80175         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
80176         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
80177         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
80178         * doc/posix-functions/renameat.texi (renameat): Likewise.
80179         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
80181         openat: fix GNU/Hurd bug in unlinkat
80182         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
80183         broken.
80184         * doc/posix-functions/unlink.texi (unlink): Document this.
80185         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
80187         fdopendir: fix GNU/Hurd bug
80188         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
80189         allowing non-directory fds.
80190         * lib/fdopendir.c (rpl_fdopendir): Work around it.
80191         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
80192         * modules/dirent (Makefile.am): Substitute it.
80193         * lib/dirent.in.h (fdopendir): Declare replacement.
80194         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
80195         * tests/test-fdopendir.c (main): Test something other than
80196         /dev/null, since on Hurd that behaves like a directory.
80198         test-symlink: port to GNU/Hurd
80199         * tests/test-symlink.h (test_symlink): Relax expected errno.
80201         doc: tweak more cygwin information
80202         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
80203         now compatible with glibc.
80204         * doc/posix-functions/getopt.texi (getopt): Likewise.
80206         getopt-gnu: add another test
80207         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
80208         guarantee behavior relied on by m4.
80209         * tests/test-getopt.c (main): Use it.
80210         * modules/getopt-posix-tests (Depends-on): Add setenv.
80211         See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.
80213         getopt: fix compilation on darwin
80214         * lib/getopt.in.h (includes): Leave breadcrumbs during system
80215         include.
80216         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
80217         Reported by Ludovic Courtès.
80219 2009-10-06  Bruno Haible  <bruno@clisp.org>
80221         * modules/size_max (Description): Discourage its use.
80222         Reported by Simon Josefsson.
80224 2009-10-06  Jim Meyering  <meyering@redhat.com>
80226         linkat: avoid compilation failure
80227         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
80229 2009-10-05  Eric Blake  <ebb9@byu.net>
80231         linkat: support Linux 2.6.17
80232         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
80233         linkat on Linux, but allow cache variable override.
80234         * lib/linkat.c (rpl_linkat): Define override.
80235         * modules/linkat (Depends-on): Add symlinkat.
80236         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
80237         * modules/unistd (Makefile.am): Substitute it.
80238         * lib/unistd.in.h (linkat): Declare replacement.
80239         Reported by Pádraig Brady.
80241         quotearg: port test to systems with C.UTF-8 locale
80242         * tests/test-quotearg.c (struct result_strings): Add another
80243         member, differentiating between C.ASCII and C.UTF-8 handling.
80244         (compare_strings): Add parameter.
80245         (main): Adjust all callers.
80247         getopt: avoid clash with FreeBSD _getopt_internal
80248         * lib/getopt.in.h (_getopt_internal): Override the name.
80249         * lib/getopt_int.h (includes): Pick up any overrides.
80250         Reported by Reuben Thomas.
80252         hash: allow C89 compilation
80253         * lib/hash.c (check_tuning): Move declaration before statement.
80254         Reported by Reuben Thomas.
80256 2009-10-05  Karl Berry  <karl@gnu.org>
80258         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
80260 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
80261             Bruno Haible  <bruno@clisp.org>
80263         * lib/uname.c (uname): Use a table-driven algorithm to compute
80264         Windows NT versions.
80266 2009-10-04  Bruno Haible  <bruno@clisp.org>
80268         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
80269         program_invocation_short_name.
80270         * modules/progname (configure.ac): Test for presence of
80271         program_invocation_short_name.
80272         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
80274 2009-10-04  Bruno Haible  <bruno@clisp.org>
80276         * lib/progname.c (set_program_name): Fix comment.
80277         Reported by Jim Meyering.
80279 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
80280             Bruno Haible  <bruno@clisp.org>
80282         * lib/uname.c: Include <string.h>.
80283         (uname): Do only one call to GetVersionEx in the common case.
80285 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
80286             Bruno Haible  <bruno@clisp.org>
80288         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
80289         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
80290         (uname): Add support for Windows CE and various non-x86 CPU types.
80292 2009-10-03  Bruno Haible  <bruno@clisp.org>
80294         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
80295         invocation to tests/configure.ac.
80296         Reported by Ian Beckwith <ianb@erislabs.net>.
80298 2009-10-02  Eric Blake  <ebb9@byu.net>
80300         fchdir: avoid compiler warning
80301         * lib/fchdir.c (canonicalize_file_name)
80302         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
80304         test-open: support mingw errno values
80305         * tests/test-open.h (test_open): Relax test.
80306         * tests/test-fopen.h (test_fopen): Likewise.
80307         * tests/test-openat-safer.c (main): Likewise.
80309         open: fix opening directory on mingw
80310         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
80312         test-open: on GNU/Hurd, /dev/null is a directory
80313         * tests/test-fopen.h (main): Rename...
80314         (test_fopen): ...to this.  Use a guaranteed non-directory when
80315         confirming open behavior on trailing slash.
80316         * tests/test-openat-safer.c (main): Likewise.
80317         * tests/test-open.h (main): Likewise....
80318         (test_open): ...to this.
80319         * tests/test-fopen.c (main): Adjust caller.
80320         * tests/test-fopen-safer.c (main): Likewise.
80321         * tests/test-open.c (main): Likewise.
80322         * tests/test-fcntl-safer.c (main): Likewise.
80323         Reported by Samuel Thibault.
80325         rename, fchdir: don't ignore chdir failure
80326         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
80327         * lib/rename.c (rpl_rename) [W32]: Likewise.
80328         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
80329         an empty destination directory if source cannot be renamed,
80330         although there is still possibility for failure.
80331         * doc/posix-functions/rename.texi (rename): Document the race.
80332         Reported by Jim Meyering.
80334         maint: cleanup whitespace in recent commits
80335         * lib/rename.c (rpl_rename): Remove tabs.
80336         * tests/test-link.h (test_link): Likewise.
80337         * lib/fchdir.c (get_name): Likewise.
80338         Reported by Jim Meyering.
80340 2009-10-02  Ben Pfaff  <blp@gnu.org>
80342         relocatable-prog-wrapper: Add missing dependency on
80343         double-slash-root.
80344         * modules/relocatable-prog-wrapper: Add dependency.
80345         Reported by Ian Beckwith <ianb@erislabs.net>.
80347 2009-10-02  Eric Blake  <ebb9@byu.net>
80349         renameat: fix Solaris bugs
80350         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
80351         needed fixing.
80352         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
80353         * modules/stdio (Makefile.am): Substitute it.
80354         * lib/stdio.in.h (renameat): Declare replacement.
80355         * lib/renameat.c (rpl_renameat): Implement fix.
80357         renameat: new module
80358         * modules/renameat: New file.
80359         * lib/renameat.c (renameat): Likewise.
80360         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
80361         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
80362         * modules/stdio (Makefile.am): Substitute them.
80363         * lib/stdio.in.h (renameat): Declare it.
80364         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80365         * doc/posix-functions/renameat.texi (renameat): Likewise.
80366         * modules/renameat-tests: New test.
80367         * tests/test-renameat.c: Likewise.
80369         rename: fix mingw bugs
80370         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
80371         directory overwrite bugs.
80373         rename: fix another cygwin 1.5 bug
80374         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
80375         checks.
80376         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
80377         unnecessary cygwin workarounds.  Also work around bug with moving
80378         full directory onto an empty one.
80379         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
80381         rename-dest-slash: merge into rename module
80382         * modules/rename-dest-slash (Status): Mark obsolete.
80383         (Depends-on): Add rename.
80384         (Files): Let rename do it all.
80385         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
80386         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
80387         * m4/rename-dest-slash.m4: ...so this file can be deleted.
80388         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
80389         * lib/rename.c (rpl_rename): Update comments.
80391         rename: fix cygwin 1.5.x bugs
80392         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
80393         * lib/rename.c (rpl_rename): Work around them.
80394         * modules/rename (Depends-on): Add same-inode.
80396         rename: fix Solaris 10 bug
80397         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
80398         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
80399         was the only bug.
80401         rename: fix Solaris 9 bug
80402         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
80403         on non-directory.  Avoid calling exit.
80404         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
80405         strdup.
80406         * modules/rename-tests (Depends-on): Drop lstat.
80407         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
80408         (gl_PREREQ_RENAME): Delete unused macro.
80410         rename-dest-slash: fix NetBSD bug
80411         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
80412         links.
80413         * modules/rename-dest-slash (Depends-on): Add same-inode.
80415         rename-tests: new test, exposes several platform bugs
80416         * modules/rename-tests: New file.
80417         * tests/test-rename.h: Likewise.
80418         * tests/test-rename.c: Likewise.
80419         * doc/posix-functions/rename.texi (rename): Improve documentation,
80420         including bugs that will eventually be fixed in gnulib.
80422 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
80424         * lib/uname.c: Include <stdlib.h>
80425         (uname): Assume version info is available.
80427 2009-10-02  Jim Meyering  <meyering@redhat.com>
80429         gnu-web-doc-update: correct --help output
80430         * build-aux/gnu-web-doc-update: Make --help output relevant.
80432         gnu-web-doc-update: add standard options
80433         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
80435         gnu-web-doc-update: New module.
80436         Use this script to automatically update the on-line web documentation
80437         for your GNU project at http://www.gnu.org/software/$pkg/manual/
80438         * modules/gnu-web-doc-update: New file, from coreutils.
80439         * build-aux/gnu-web-doc-update: New script.
80441 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
80443         link: LoadLibrary is not needed.
80444         * lib/link.c: Use GetModuleHandle.
80446 2009-10-01  Eric Blake  <ebb9@byu.net>
80448         getopt: bump serial number
80449         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
80450         change.
80452         tests: tighten link, rmdir, and remove tests
80453         * tests/test-link.h (includes): No need to use <config.h> here.
80454         Clean up if directory hard link was created, otherwise test for
80455         trailing '.'.
80456         * tests/test-linkat.c (main): Simplify.
80457         * tests/test-remove.c (main): Enhance test for trailing '.'.
80458         * tests/test-rmdir.h (test_rmdir_func): Likewise.
80460 2009-10-01  Jim Meyering  <meyering@redhat.com>
80462         maint.mk: requiring "make major" was annoying, for a "minor" release.
80463         What is intended is "stable", to contrast with alpha and beta,
80464         so require "make stable", not "make major".
80465         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
80466         (get_tool_versions): Likewise.
80467         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
80469 2009-09-30  Ben Pfaff  <blp@gnu.org>
80471         Fix broken build of replacement for Windows tmpfile().
80472         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
80473         flags argument added along with the 'mkostemp' module.
80475 2009-09-28  Bruno Haible  <bruno@clisp.org>
80477         Avoid identifier clash with POSIX function 'remove' defined as a macro.
80478         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
80479         to 'remove_elt'.
80480         (gl_list_remove): Update.
80481         * lib/gl_list.c (gl_list_remove): Update.
80482         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
80483         to 'remove_elt'.
80484         (gl_oset_remove): Update.
80485         * lib/gl_list.c (gl_oset_remove): Update.
80486         Reported by Eric Blake.
80488 2009-09-28  Eric Blake  <ebb9@byu.net>
80490         doc: mention yet more cygwin 1.7 status
80491         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
80492         cygwin.
80493         * doc/glibc-functions/execvpe.texi (execvpe): New file.
80494         * doc/gnulib.texi (Glibc unistd.h): Mention it.
80496         argp: fix test failure
80497         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
80498         that are not upper-case.  Pass correct range to tolower.
80500 2009-09-27  Jim Meyering  <meyering@redhat.com>
80502         test-yesno: work around sparc-dash here-document infelicity
80503         Without this change, the literal \177 byte in a here document
80504         would make dash 0.5.5.1-3 access uninitialized memory.
80505         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
80506         Instead, use a marker, "@", and filter through tr to create the desired
80507         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
80509 2009-09-27  Bruno Haible  <bruno@clisp.org>
80511         Disable untested support for new flavours of ACLs on AIX.
80512         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
80513         progress.
80514         * lib/set-mode-acl.c (qset_acl): Likewise.
80516 2008-12-07  Bruno Haible  <bruno@clisp.org>
80518         Add support for new flavours of ACLs on AIX. (Untested.)
80519         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
80520         (file_has_acl): Add support for newer AIX.
80521         * lib/set-mode-acl.c (qset_acl): Likewise.
80522         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
80523         Rainer Tammer <tammer@tammer.net>.
80525 2009-09-26  Eric Blake  <ebb9@byu.net>
80527         argp: fix compilation of getopt
80528         * lib/getopt.in.h (includes): Use different guard than glibc.
80529         Reported by Sergey Poznyakoff.
80531         doc: mention more cygwin 1.7 status
80532         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
80533         bug.
80534         * doc/posix-functions/execl.texi (execl): Likewise.
80535         * doc/posix-functions/execle.texi (execle): Likewise.
80536         * doc/posix-functions/execlp.texi (execlp): Likewise.
80537         * doc/posix-functions/execv.texi (execv): Likewise.
80538         * doc/posix-functions/execve.texi (execve): Likewise.
80539         * doc/posix-functions/execvp.texi (execvp): Likewise.
80540         * doc/glibc-functions/canonicalize_file_name.texi
80541         (canonicalize_file_name): Cygwin 1.7 now provides this.
80542         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
80543         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
80544         on AT_SYMLINK_NOFOLLOW.
80546 2009-09-24  Eric Blake  <ebb9@byu.net>
80548         test-linkat: make test more robust
80549         * tests/test-linkat.c (main): Avoid collision with EEXIST.
80551         getopt: fix inclusion guards for cygwin
80552         * modules/getopt-posix (Depends-on): Add include-next.
80553         (Makefile.am): Substitute more items in replacement header.
80554         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
80555         <getopt.h>.
80556         * lib/getopt.in.h (includes): Use split inclusion guard, and
80557         prefer <getopt.h> over include <unistd.h> when one is present.
80558         (option): Also override name of 'struct option'.
80560         same-inode: revert prior change; it is not yet ready
80561         * NEWS: Undo mention of this change.
80562         * lib/same-inode.h (same-inode.h): Undo tri-state change.
80563         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
80564         * lib/cycle-check.c (cycle_check): Likewise.
80565         * lib/same.c (same_name): Likewise.
80566         * lib/at-func2.c (at_func2): Likewise.
80568 2009-09-23  Eric Blake  <ebb9@byu.net>
80570         linkat: new module
80571         * modules/linkat: New file.
80572         * lib/at-func2.c (at_func2): Likewise.
80573         * lib/linkat.c (linkat): Likewise.
80574         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
80575         * lib/openat-priv.h (at_func2): Add declaration.
80576         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
80577         * modules/unistd (Makefile.am): Substitute them.
80578         * lib/unistd.in.h (linkat): Declare it.
80579         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80580         * doc/posix-functions/linkat.texi (linkat): Likewise.
80581         * doc/posix-functions/link.texi (link): Tweak wording.
80582         * tests/test-link.c (main): Move guts...
80583         * tests/test-link.h (test_link): ...into new file.
80584         * modules/linkat-tests: New test.
80585         * tests/test-linkat.c: Likewise.
80586         * modules/link-tests (Files): Ship new file.
80587         (Depends-on): Add stdbool.
80589         dirname: add library-safe mdir_name
80590         * lib/dirname.h (mdir_name): New prototype.
80591         * lib/dirname.c (dir_name): Move guts...
80592         (mdir_name): ...to new function that avoids xalloc_die.
80594         fchdir: another mingw fix
80595         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
80596         * lib/fchdir.c (get_name): New helper method; skips canonicalize
80597         on mingw (where it has not yet been ported), and make it optional
80598         elsewhere.
80599         (_gl_register_fd): Use it.
80601         same-inode: make SAME_INODE tri-state, to port to mingw
80602         * NEWS: Mention this change.
80603         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
80604         st_ino always being 0.
80605         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
80606         * lib/cycle-check.c (cycle_check): Likewise.
80607         * lib/same.c (same_name): Likewise.
80609         lstat: avoid mingw compilation error
80610         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
80611         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
80612         lstat ourselves.
80613         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
80614         was adequate.
80615         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
80616         the checks for lstat.
80617         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
80619         link: fix test failure on Solaris 9
80620         * lib/link.c (rpl_link): Don't assume link will catch bogus
80621         trailing slash on source.
80623         test-symlinkat: enhance test
80624         * tests/test-readlink.c (main): Move guts...
80625         * tests/test-readlink.h (test_readlink): ...into new file.
80626         * tests/test-symlink.c (main): Move guts...
80627         * tests/test-symlink.h (test_symlink): ...into new file.
80628         * tests/test-symlinkat.c (main): Use new files for further
80629         coverage.
80630         (do_symlink, do_readlink): New helper functions.
80631         * modules/symlink-tests (Files): Ship new file.
80632         (Depends-on): Add stdbool.
80633         * modules/readlink-tests (Files): Ship new file.
80634         (Depends-on): Add stdbool.
80635         * modules/symlinkat-tests (Files): Use new files.
80637 2009-09-23  Eric Blake  <ebb9@byu.net>
80639         readlink: document portability issue with symlink length
80640         * doc/posix-functions/lstat.texi (lstat): Mention that some file
80641         systems have bogus st_size on symlinks, and mention the
80642         areadlink-with-size module.
80643         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
80644         * doc/posix-functions/readlink.texi (readlink): Mention the
80645         areadlink module, and ERANGE failure.
80646         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
80647         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
80649         readlink: fix Solaris 9 bug with trailing slash
80650         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
80651         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
80652         * doc/posix-functions/readlink.texi (readlink): Document this.
80653         * modules/readlink-tests: New test.
80654         * tests/test-readlink.c: Likewise.
80656         readlink: fix cygwin 1.5.x bug with return type
80657         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
80658         * lib/unistd.in.h (readlink): Use ssize_t.
80659         * lib/readlink.c (readlink): Likewise.
80660         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
80661         * modules/unistd (Makefile.am): Substitute it.
80662         * lib/unistd.in.h (readlink): Declare replacement.
80663         * doc/posix-functions/readlink.texi (readlink): Document this.
80665         symlink: use throughout gnulib
80666         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
80667         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
80668         symlink is not used.
80669         * modules/symlinkat (Depends-on): Add symlink.
80670         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
80671         * modules/canonicalize-tests (Depends-on): Likewise.
80672         * modules/lstat-tests (Depends-on): Likewise.
80673         * modules/openat-tests (Depends-on): Likewise.
80674         * modules/remove-tests (Depends-on): Likewise.
80675         * modules/rmdir-tests (Depends-on): Likewise.
80676         * modules/unlink-tests (Depends-on): Likewise.
80677         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
80678         * tests/test-canonicalize.c (symlink): Likewise.
80679         * tests/test-fstatat.c (symlink): Likewise.
80680         * tests/test-lstat.c (symlink): Likewise.
80681         * tests/test-remove.c (symlink): Likewise.
80682         * tests/test-rmdir.c (symlink): Likewise.
80683         * tests/test-unlink.c (symlink): Likewise.
80684         * tests/test-unlinkat.c (symlink): Likewise.
80686         symlink: new module, for Solaris 9 bug
80687         * modules/symlink: New file.
80688         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
80689         * lib/symlink.c: Likewise.
80690         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
80691         * modules/unistd (Makefile.am): Substitute them.
80692         * lib/unistd.in.h (symlink): Declare replacement.
80693         * MODULES.html.sh (File system functions): Mention it.
80694         * doc/posix-functions/symlink.texi (symlink): Likewise.
80695         * modules/symlink-tests: New test.
80696         * tests/test-symlink.c: Likewise.
80698 2009-09-23  Bruno Haible  <bruno@clisp.org>
80700         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
80701         when needed.
80702         Test case: gnulib-tool --import --with-tests atexit inttypes.
80703         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
80705 2009-09-23  Bruno Haible  <bruno@clisp.org>
80707         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
80708         subcommand, not in a subshell.
80710 2009-09-22  Eric Blake  <ebb9@byu.net>
80712         unistd: sort replacement declarations
80713         * lib/unistd.in.h: Sort declarations.
80715         open, openat: minor optimization
80716         * lib/open.c (open): If open succeeded, len is non-zero.
80717         * lib/openat.c (rpl_openat): Likewise.
80719         link-follow: ensure correct result
80720         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
80721         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
80722         distinguish between possible failures.
80724 2009-09-21  Eric Blake  <ebb9@byu.net>
80726         fts: avoid compiler warning
80727         * lib/fts.c (dirent_inode_sort_may_be_useful)
80728         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
80730 2009-09-19  Bruno Haible  <bruno@clisp.org>
80732         * lib/progreloc.c (canonicalize_file_name): New declaration.
80734 2009-09-19  Eric Blake  <ebb9@byu.net>
80736         link: fix quoting
80737         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
80739         openat: fix openat bugs on Solaris 9
80740         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
80741         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
80742         * modules/openat (Depends-on): Add open.
80743         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
80744         * modules/fcntl-h (Makefile.am): Substitute it.
80745         * lib/fcntl.in.h (openat): Declare replacement.
80746         * doc/posix-functions/openat.texi (openat): Document this.
80748         openat: move fstatat and unlinkat into correct files
80749         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
80750         compiled.
80751         * lib/openat.c (fstatat, unlinkat): Move...
80752         * lib/fstatat.c (fstatat): ...into correct files.
80753         * lib/unlinkat.c (unlinkat): Likewise.
80755         openat: fix unlinkat bugs on Solaris 9
80756         * lib/unlinkat.c (unlinkat): New file.
80757         * modules/openat (Depends-on): Add unlink.
80758         (Files): Distribute it.
80759         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
80760         trailing slash behavior is broken.
80761         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
80762         * modules/unistd (Makefile.am): Substitute it.
80763         * lib/unistd.in.h (unlinkat): Declare replacement.
80764         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
80766         openat: fix fstatat bugs on Solaris 9
80767         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
80768         stat.
80769         * doc/posix-functions/fstatat.texi (fstatat): Document this.
80771         test-unlinkat: enhance test, to expose Solaris 9 bug
80772         * tests/test-unlink.c (main): Factor guts...
80773         * tests/test-unlink.h (test_rmdir_func): ...into new file.
80774         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
80775         * tests/test-rmdir.c (main): Adjust caller.
80776         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
80777         (unlinker): New helper function.
80778         (rmdirat): Enhance check.
80779         * modules/rmdir-tests (Depends-on): Add stdbool.
80780         * modules/unlink-tests (Depends-on): Likewise.
80781         (Files): Add test-unlink.h.
80782         * modules/openat-tests (Files): Likewise.
80783         (Depends-on): Add unlinkdir.
80785         test-fstatat: new test, to expose Solaris 9 bugs
80786         * tests/test-stat.c (main): Factor guts...
80787         * tests/test-stat.h (test_stat_func): ...into new file.
80788         * tests/test-lstat.c (main): Factor guts...
80789         * tests/test-lstat.h (test_lstat_func): ...into new file.
80790         * tests/test-fstatat.c: New file.
80791         * modules/stat-tests (Files): Add test-stat.h.
80792         * modules/lstat-tests (Files): Add test-lstat.h.
80793         (Depends-on): Add stdbool.
80794         * modules/openat-tests (Depends-on): Add pathmax.
80795         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
80796         (Makefile.am): Run new test.
80798         remove: new module, for mingw and Solaris 9 bugs
80799         * modules/remove: New file.
80800         * lib/remove.c: Likewise.
80801         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
80802         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
80803         * modules/stdio (Makefile.am): Use them.
80804         * lib/stdio.in.h (remove): Declare replacement.
80805         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80806         * doc/posix-functions/remove.texi (remove): Likewise.
80807         * modules/remove-tests: New test.
80808         * tests/test-remove.c: Likewise.
80810         unlink: new module, for Solaris 9 bug
80811         * modules/unlink: New file.
80812         * lib/unlink.c: Likewise.
80813         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
80814         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
80815         * modules/unistd (Makefile.am): Use them.
80816         * lib/unistd.in.h (stat): Declare replacement.
80817         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80818         * doc/posix-functions/unlink.texi (unlink): Likewise.
80819         * modules/unlink-tests: New test.
80820         * tests/test-unlink.c: Likewise.
80822         lstat: fix Solaris 9 bug
80823         * lib/lstat.c (lstat): Also check for trailing slash on
80824         non-symlink, non-directories.  Use stat module to simplify logic.
80825         * doc/posix-functions/lstat.texi (lstat): Document it.
80826         * modules/lstat-tests (Depends-on): Add errno, same-inode.
80827         (configure.ac): Check for symlink.
80828         * tests/test-lstat.c (main): Add more tests.
80830         stat: add as dependency to other modules
80831         * modules/chown (Depends-on): Add stat.
80832         * modules/euidaccess (Depends-on): Likewise.
80833         * modules/fchdir (Depends-on): Likewise.
80834         * modules/isdir (Depends-on): Likewise.
80835         * modules/link (Depends-on): Likewise.
80836         * modules/lstat (Depends-on): Likewise.
80837         * modules/mkdir-p (Depends-on): Likewise.
80838         * modules/modechange (Depends-on): Likewise.
80839         * modules/open (Depends-on): Likewise.
80840         * modules/readlink (Depends-on): Likewise.
80841         * modules/same (Depends-on): Likewise.
80843         stat: fix Solaris 9 bug
80844         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
80845         slash.
80846         * lib/stat.c (rpl_stat): Work around it.
80847         * doc/posix-functions/stat.texi (stat): Update documentation.
80849         stat: new module, for mingw bug
80850         * modules/stat: New file.
80851         * lib/stat.c: Likewise.
80852         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
80853         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
80854         * modules/sys_stat (Makefile.am): Use them.
80855         * lib/sys_stat.in.h (stat): Declare replacement.
80856         * lib/openat.c (fstatat): Deal with lstat and stat being function
80857         macros.
80858         * modules/openat (Depends-on): Add inline.
80859         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80860         * doc/posix-functions/stat.texi (stat): Likewise.
80861         * modules/stat-tests: New test.
80862         * tests/test-stat.c: Likewise.
80864 2009-09-19  Jim Meyering  <meyering@redhat.com>
80866         syntax-check: detect unnecessary inclusion of canonicalize.h
80867         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
80869 2009-09-19  Eric Blake  <ebb9@byu.net>
80871         canonicalize-lgpl: adjust clients to use correct header
80872         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
80873         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
80874         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
80875         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
80876         * lib/progreloc.c (includes): Likewise.
80878 2009-09-19  Jim Meyering  <meyering@redhat.com>
80880         test-posixtm.c: correct a comment
80881         * tests/test-posixtm.c: Correct first-line comment.
80882         Spotted by Eric Blake.
80884 2009-09-16  Jim Meyering  <meyering@redhat.com>
80886         posixtm-tests: make T const-correct; add a test case
80887         * tests/test-posixtm.c (T): Declare const.
80888         Add a test for -(2^31+1).
80889         Remove useless can-succeed-only-in-2002 test.
80891         posixtm-tests: adjust the sole failing test
80892         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
80893         expected output matches what mktime now produces.  Cross-checked via
80894         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
80896         posixtm: move #ifdef'd tests into a new module
80897         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
80898         * tests/test-posixtm.c: ... this new file.
80899         * modules/posixtm-tests: New module.
80901 2009-09-19  Eric Blake  <ebb9@byu.net>
80903         openat: simplify use of at-func.c
80904         * lib/at-func.c (includes): Include prerequisites here, to
80905         simplify requirements on client files.
80906         * lib/openat-priv.h: Add double-inclusion guard.
80907         * lib/faccessat.c (includes): Simplify.
80908         * lib/fchmodat.c (includes): Likewise.
80909         * lib/fchownat.c (includes): Likewise.
80910         * lib/mkdirat.c (includes): Likewise.
80911         * lib/mkfifoat.c (includes): Likewise.
80912         * lib/symlinkat.c (includes): Likewise.
80914         openat: allow return of fd 0
80915         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
80916         * modules/save-cwd (Depends-on): Replace fcntl-safer with
80917         unistd-safer.
80918         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
80919         <fcntl.h>; this module does not leak fds.
80920         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
80921         must be allowed to return 0, leaving openat_safer to add the
80922         safety.
80923         (openat_permissive): Avoid writing to just-opened fd 2 if
80924         restoring the current directory fails.
80925         * lib/openat-die.c (openat_restore_fail): Add comment.
80926         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
80927         (save_cwd): Guarantee safe fd, but without use of open_safer.
80928         * tests/test-openat.c: New test.
80929         * modules/openat-tests (Files, Makefile.am): Distribute and build
80930         new file.
80932         relocatable-prog-wrapper: fix build
80933         * modules/relocatable-prog-wrapper (Files): Update name of
80934         canonicalize m4 file, broken on 2009-09-17.
80935         Reported by emad hajjar <aleppos@hotmail.com>.
80937 2009-09-19  Bruno Haible  <bruno@clisp.org>
80939         * lib/safe-alloc.h: Use the standard header with GPL copyright.
80940         * lib/safe-alloc.c: Likewise.
80941         Reported by Ian Beckwith <ianb@erislabs.net>.
80943 2009-09-18  Bruno Haible  <bruno@clisp.org>
80945         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
80946         Reported by <erobles@sensacd.com.mx>.
80948 2009-09-17  Eric Blake  <ebb9@byu.net>
80950         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
80951         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
80952         slashes when checking if last component is missing.
80953         * tests/test-canonicalize.c (main): Test this.
80955         canonicalize, canonicalize-lgpl: honor // if distinct from /
80956         * modules/canonicalize (Files): Add double-slash-root.m4.
80957         * modules/canonicalize-lgpl (Files): Likewise.
80958         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
80959         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
80960         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
80961         fallback definition.
80962         (canonicalize_filename_mode): Use it to protect //.
80963         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
80964         (__realpath): Likewise.
80965         * tests/test-canonicalize.c (main): Test this.
80966         * tests/test-canonicalize-lgpl.c (main): Likewise.
80967         * modules/canonicalize-tests (Depends-on): Add same-inode.
80968         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
80970         canonicalize-lgpl: fix glibc bug with trailing slash
80971         * m4/canonicalize-lgpl.m4: Move contents...
80972         * m4/canonicalize.m4: ...here.
80973         (gl_CANONICALIZE_LGPL): Factor realpath check...
80974         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
80975         glibc 2.3.5 bug, fixed 2005-04-27.
80976         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
80977         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
80978         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
80979         * modules/canonicalize-lgpl (Files): Manage file rename.
80980         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
80981         * modules/stdlib (Makefile.am): Substitute witness.
80982         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
80983         is needed.
80984         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
80985         replacement is required.
80986         * lib/canonicalize.c (canonicalize_file_name): Likewise.
80987         * doc/glibc-functions/canonicalize_file_name.texi
80988         (canonicalize_file_name): Document this.
80989         * doc/posix-functions/realpath.texi (realpath): Likewise.
80991         canonicalize-lgpl: reject non-directory with trailing slash
80992         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
80993         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
80994         catches failures in glibc 2.3.5.
80995         * tests/test-canonicalize.c (main): Likewise.
80997         canonicalize-lgpl: use native realpath if it works
80998         * lib/canonicalize-lgpl.c (realpath): Guard with
80999         FUNC_REALPATH_WORKS.
81000         * lib/stdlib.in.h (realpath): Make declaration optional based on
81001         HAVE_REALPATH.
81002         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
81003         native realpath works.
81004         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
81005         * modules/stdlib (Makefile.am): Substitute witness.
81007         canonicalize, canonicalize-lgpl: use <stdlib.h>
81008         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
81009         (Include): Mention <stdlib.h>.
81010         (configure.ac): Mention functions we provide.
81011         * modules/canonicalize (configure.ac): Likewise.
81012         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
81013         realpath if canonicalize_file_name is missing.
81014         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
81015         * modules/stdlib (Makefile.am): Substitute witnesses.
81016         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
81017         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
81018         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
81019         * NEWS: Document this.
81020         * doc/glibc-functions/canonicalize_file_name.texi
81021         (canonicalize_file_name): Likewise.
81022         * doc/posix-functions/realpath.texi (realpath): Likewise.
81023         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
81025         test-canonicalize: consolidate into single C program
81026         * tests/test-canonicalize.sh: Delete; move setup into...
81027         * tests/test-canonicalize.c (main): ...the program, making it
81028         easier to run in debugger.  Add some tests.
81029         * modules/canonicalize-tests (Files): Remove unused file.
81030         (Depends-on): Add progname.
81031         (configure.ac, Makefile.am): Simplify.
81033         test-canonicalize-lgpl: consolidate into single C program
81034         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
81035         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
81036         easier to run in debugger.  Add some tests.
81037         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
81038         (configure.ac, Makefile.am): Simplify.
81040         canonicalize: avoid resolvepath
81041         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
81042         unnecessary checks.
81043         * lib/canonicalize.c (includes): Simplify.
81044         (canonicalize_file_name): Drop resolvepath implementation.
81045         * modules/canonicalize (Depends-on): Drop filenamecat.
81047         canonicalize: don't lose errno
81048         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
81049         over calls to free.
81051         canonicalize: simplify errno handling
81052         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
81053         assignment.
81055         canonicalize, canonicalize-lgpl: update module dependencies
81056         * modules/canonicalize (Depends-on): Add extensions, lstat,
81057         pathmax, stdlib.
81058         (Files): Drop pathmax.h.
81059         (configure.ac): Adjust macro name.
81060         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
81061         lstat, stdlib, sys_stat.
81062         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
81063         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
81064         extensions.
81065         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
81066         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
81067         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
81068         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
81069         declaration, if available.
81070         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
81071         we can rely on the readlink module.
81072         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
81073         (includes): Use <unistd.h> unconditionally.
81075 2009-09-17  Eric Blake  <ebb9@byu.net>
81077         maint: make Include sections of modules consistent
81078         * modules/alloca: Use only header name; no need to list #include.
81079         * modules/alloca-opt: Likewise.
81080         * modules/arpa_inet: Likewise.
81081         * modules/canon-host: Likewise.
81082         * modules/configmake: Likewise.
81083         * modules/dirent: Likewise.
81084         * modules/eealloc: Likewise.
81085         * modules/environ: Likewise.
81086         * modules/fchdir: Likewise.
81087         * modules/fcntl: Likewise.
81088         * modules/fcntl-h: Likewise.
81089         * modules/gethrxtime: Likewise.
81090         * modules/gettime: Likewise.
81091         * modules/ignore-value: Likewise.
81092         * modules/inet_ntop: Likewise.
81093         * modules/inet_pton: Likewise.
81094         * modules/inttypes: Likewise.
81095         * modules/isnand-nolibm: Likewise.
81096         * modules/isnanf-nolibm: Likewise.
81097         * modules/mbchar: Likewise.
81098         * modules/mbfile: Likewise.
81099         * modules/mbiter: Likewise.
81100         * modules/mbuiter: Likewise.
81101         * modules/netdb: Likewise.
81102         * modules/netinet_in: Likewise.
81103         * modules/nproc: Likewise.
81104         * modules/pagealign_alloc: Likewise.
81105         * modules/poll: Likewise.
81106         * modules/printf-frexp: Likewise.
81107         * modules/pthread: Likewise.
81108         * modules/putenv: Likewise.
81109         * modules/random_r: Likewise.
81110         * modules/relocatable-prog: Likewise.
81111         * modules/search: Likewise.
81112         * modules/select: Likewise.
81113         * modules/selinux-h: Likewise.
81114         * modules/settime: Likewise.
81115         * modules/signal: Likewise.
81116         * modules/size_max: Likewise.
81117         * modules/socklen: Likewise.
81118         * modules/ssize_t: Likewise.
81119         * modules/stdarg: Likewise.
81120         * modules/stdbool: Likewise.
81121         * modules/stddef: Likewise.
81122         * modules/stdint: Likewise.
81123         * modules/stdio: Likewise.
81124         * modules/stdlib: Likewise.
81125         * modules/string: Likewise.
81126         * modules/strings: Likewise.
81127         * modules/sys_file: Likewise.
81128         * modules/sys_ioctl: Likewise.
81129         * modules/sys_select: Likewise.
81130         * modules/sys_socket: Likewise.
81131         * modules/sys_stat: Likewise.
81132         * modules/sys_time: Likewise.
81133         * modules/sys_times: Likewise.
81134         * modules/sys_utsname: Likewise.
81135         * modules/sys_wait: Likewise.
81136         * modules/sysexits: Likewise.
81137         * modules/time: Likewise.
81138         * modules/times: Likewise.
81139         * modules/tmpfile: Likewise.
81140         * modules/trim: Likewise.
81141         * modules/unistd: Likewise.
81142         * modules/wchar: Likewise.
81143         * modules/wctype: Likewise.
81145 2009-09-17  Bruno Haible  <bruno@clisp.org>
81147         Make getdate.y compile on QNX and NetBSD 5 / i386.
81148         * m4/getdate.m4 (gl_GETDATE): Conditionally define
81149         TIME_T_FITS_IN_LONG_INT.
81150         * lib/getdate.y (long_time_t): New type.
81151         (relative_time): Change type of 'seconds' field to long_time_t.
81152         (get_date): Update types of local variables. Check against overflow
81153         during conversion from long_time_t to time_t.
81154         Reported by Matt Kraai <kraai@ftbfs.org>
81155         and Hasso Tepper <hasso@netbsd.org>.
81157 2009-09-17  Bruno Haible  <bruno@clisp.org>
81159         * modules/COPYING: Update copyright years.
81160         * modules/README: Likeiwse.
81161         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
81162         Reported by Ian Beckwith <ianb@erislabs.net>.
81164 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
81166         * users.txt: Update references for gnuit package.
81168 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
81170         * m4/getdelim.m4: Fix typo in copyright line.
81172 2009-09-17  Bruno Haible  <bruno@clisp.org>
81174         * lib/atoll.c: Use the standard header with GPL copyright.
81175         * lib/argz.in.h: Likewise.
81176         * lib/glob.c: Likewise.
81177         * lib/glob-libc.h: Likewise.
81178         * lib/random_r.c: Likewise.
81179         * lib/siglist.h: Likewise.
81180         * lib/strsignal.c: Likewise.
81181         Reported by Ian Beckwith <ianb@erislabs.net>.
81183 2009-09-17  Eric Blake  <ebb9@byu.net>
81185         rmdir: ensure correct dependency order
81186         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
81188 2009-09-17  Bruno Haible  <bruno@clisp.org>
81190         Disable assertion that fails on NetBSD 5 / i386.
81191         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
81192         Reported by Sam Steingold <sds@gnu.org>
81193         and Hasso Tepper <hasso@netbsd.org>.
81195 2009-09-16  Eric Blake  <ebb9@byu.net>
81197         unlinkdir: port to mingw
81198         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
81199         on which no one can unlink a directory.
81201         stdlib: sort witness names
81202         * modules/stdlib (Makefile.am): Sort replacements.
81203         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
81204         * lib/stdlib.in.h: Likewise.
81206         parse-duration-tests: avoid link failure
81207         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
81208         LIBINTL.
81209         Reported by Tom G. Christensen.
81211         openat-tests: ensure unlinkat behaves like rmdir
81212         * tests/test-rmdir.c (main): Factor guts...
81213         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
81214         * modules/rmdir-tests (Files): Ship new file.
81215         * modules/openat-tests: New test.
81216         * tests/test-unlinkat.c: Likewise.
81218         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
81219         * modules/rmdir-errno (Status, Notice): Now obsolete.
81221         rmdir: work around cygwin 1.5.x and mingw bugs
81222         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
81223         * lib/rmdir.c (rmdir): Work around it.
81224         * modules/rmdir (Status, Notice): No longer obsolete.
81225         (Files): Add dos.m4.
81226         (Depends-on): Add unistd.
81227         (configure.ac): Set witnesses.
81228         (License): Relax to LGPLv2+.
81229         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
81230         * modules/unistd (Makefile.am): Substitute witnesses.
81231         * lib/unistd.in.h (rmdir): Declare replacement.
81232         * doc/posix-functions/rmdir.texi (rmdir): Document this.
81233         * modules/rmdir-tests: New tests.
81234         * tests/test-rmdir.c: Likewise.
81236 2009-09-15  Eric Blake  <ebb9@byu.net>
81238         fchdir: improve use of replacement functions
81239         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
81240         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
81241         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
81242         REPLACE_CLOSEDIR.
81243         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
81244         * modules/sys_stat (Makefile.am): Substitute correct witness.
81245         * modules/dirent (Makefile.am): Likewise.
81246         * modules/unistd (Makefile.am): Likewise.
81247         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
81248         * lib/unistd.in.h (dup): Likewise.
81249         * lib/sys_stat.in.h (fstat): Likewise.
81251         maint: ignore gnulib-tool temp files
81252         * .gitignore: Ignore files created during gnulib-tool --test.
81254 2009-09-13  Jim Meyering  <meyering@redhat.com>
81256         posixtm: don't reject a time that specify "60" as the number of seconds
81257         * lib/posixtm.c (posixtime): The code to reject invalid dates
81258         would also reject a time specified with the .60 suffix.
81259         But POSIX allows that, in order to accommodate leap seconds.
81260         So don't reject it.
81261         (main): Adjust tests accordingly.
81262         * modules/posixtm (Depends-on): Add stpcpy.
81264 2009-09-11  Jim Meyering  <meyering@redhat.com>
81266         announce-gen: include [$release_type] in emitted Subject:
81267         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
81268         e.g., [stable] in the emitted Subject: line.
81270 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81272         Remove obsolete macros from several modules.
81273         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
81274         obsolete Autoconf macros with their modern counterparts.
81275         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
81276         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
81277         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
81278         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
81279         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
81280         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
81281         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
81282         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
81283         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
81284         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
81285         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
81286         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
81287         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
81288         * m4/sockets.m4 (gl_SOCKETS): Likewise.
81289         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
81290         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
81291         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
81292         * m4/time_r.m4 (gl_TIME_R): Likewise.
81293         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
81294         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
81295         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
81297         Fix copyright header in build-aux scripts.
81298         * build-aux/git-version-gen: Fix copyright header to match GPLv3
81299         recommendation.
81300         * build-aux/ncftpput-ftp: Likewise.
81301         * build-aux/update-copyright: Likewise.
81303 2009-09-09  Eric Blake  <ebb9@byu.net>
81305         test-link: allow Linux choice of errno
81306         * tests/test-link.c (main): Relax test for alternate error.
81308         strndup: fix improper m4 caching
81309         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
81310         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
81311         (gl_PREREQ_STRNDUP): Delete.
81312         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
81313         * modules/string (Makefile.am): Substitute it.
81314         * lib/string.in.h (strndup): Modernize prototype.
81316         getcwd: port to mingw
81317         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
81318         different from the POSIX assumptions made throughout the getcwd
81319         module; fortunately, the mingw getcwd does not need replacement.
81320         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
81321         * modules/getcwd-tests: New test.
81322         * tests/test-getcwd.c: Likewise.
81324         link: fix platform bugs
81325         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
81326         * lib/link.c (link): Work around them.  Fix related mingw bug.
81327         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
81328         * modules/unistd (Makefile.am): Substitute it.
81329         * lib/unistd.in.h (link): Declare replacement.
81330         * doc/posix-functions/link.texi (link): Document this.
81331         * modules/link (Depends-on): Add strdup-posix, sys_stat.
81333         test-link: consolidate into single C program, test more cases
81334         * tests/test-link.sh: Delete.
81335         * tests/test-link.c: Test more error conditions.  Exposes bugs on
81336         at least Cygwin and Solaris.
81337         * modules/link-tests (Files): Remove unused file.
81338         (Depends-on): Add errno, sys_stat.
81339         (Makefile.am): Simplify.
81341 2009-09-08  Bruno Haible  <bruno@clisp.org>
81343         Work around towlower, towupper bug on mingw.
81344         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
81345         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
81346         * doc/posix-functions/towlower.texi: Mention the mingw bug.
81347         * doc/posix-functions/towupper.texi: Likewise.
81348         Reported by Eric Blake.
81350 2009-09-08  Jim Meyering  <meyering@redhat.com>
81352         build: don't try to run autoheader if we don't use it
81353         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
81354         is not used in configure.ac.
81356 2009-09-08  Eric Blake  <ebb9@byu.net>
81358         euidaccess: fix compilation error
81359         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
81361         rawmemchr: relax license
81362         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
81363         okay.
81364         Reported by Jim Meyering.
81366         mkfifoat: new module
81367         * modules/mkfifoat: New file.
81368         * lib/mkfifoat.c: Likewise.
81369         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
81370         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
81371         * modules/sys_stat (Makefile.am): Use them.
81372         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
81373         * MODULES.html.sh (File system functions): Mention module.
81374         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
81375         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
81376         * modules/mkfifoat-tests: New test.
81377         * tests/test-mkfifoat.c: Likewise.
81379         strchrnul: relax license
81380         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
81381         okay.
81382         Reported by Jim Meyering.
81384 2009-09-08  Eric Blake  <ebb9@byu.net>
81386         fstatat: fix compilation on Solaris
81387         * lib/fstatat.c (includes): Add fcntl.h.
81388         Reported by Pádraig Brady.
81390 2009-09-07  Eric Blake  <ebb9@byu.net>
81392         rename: modernize replacement
81393         * modules/rename (Depends-on): Add stdio.
81394         (configure.ac): Declare witness.
81395         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
81396         stdio take care of replacement.
81397         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
81398         * modules/stdio (Makefile.am): Substitute them.
81399         * lib/stdio.in.h (rename): Declare replacement.
81400         * lib/rename.c (includes): Allow cross-compilation to non-windows
81401         machines.
81402         * doc/posix-functions/rename.texi (rename): Improve
81403         documentation.
81405         stdio: sort witness names
81406         * modules/stdio (Makefile.am): Sort replacements.
81407         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
81408         * lib/stdio.in.h: Likewise.
81410         getcwd: minor cleanups
81411         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
81412         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
81414         openat: provide more convenience names
81415         * modules/faccessat (configure.ac): Add C witness.
81416         * lib/unistd.in.h (readlinkat): Fix typo.
81417         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
81418         convenience wrappers.
81419         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
81420         wrappers in syntax checks.
81422 2009-09-06  Eric Blake  <ebb9@byu.net>
81424         doc: fix comments in recent patches
81425         * lib/faccessat.c: Mention correct function.
81426         * lib/fchmodat.c: Likewise.
81427         * lib/fchownat.c: Likewise.
81428         * lib/symlinkat.c: Likewise.
81429         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
81430         constants.
81432         faccessat, symlinkat: continue cleanup of previous patch
81433         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
81434         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
81435         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
81436         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
81437         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
81438         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
81439         set.
81441 2009-09-06  Bruno Haible  <bruno@clisp.org>
81443         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
81444         (fstatat): Declare if GNULIB_FSTATAT is set.
81445         (mkdirat): Declare if GNULIB_MKDIRAT is set.
81446         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
81447         (unlinkat): Declare if GNULIB_UNLINKAT is set.
81448         * modules/fcntl-h (Files): Remove m4/openat.m4.
81449         * modules/sys_stat (Files): Remove m4/openat.m4.
81450         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
81451         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
81452         * modules/unistd (Files): Remove m4/openat.m4.
81453         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
81454         GNULIB_OPENAT.
81455         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
81456         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
81457         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
81458         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
81459         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
81460         gl_OPENAT_DEFAULTS.
81461         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
81462         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
81463         Don't require gl_OPENAT_DEFAULTS.
81464         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
81465         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
81466         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
81467         (gl_OPENAT_DEFAULTS): Remove macro.
81469 2009-09-06  Bruno Haible  <bruno@clisp.org>
81471         * modules/openat (configure.ac): Remove unneeded witness.
81473 2009-09-06  Bruno Haible  <bruno@clisp.org>
81475         Set errno to ENOSYS when a function is entirely unsupported.
81476         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
81477         EOPNOTSUPP.
81478         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
81479         * modules/chown (Depends-on): Remove errno.
81481 2009-09-06  Bruno Haible  <bruno@clisp.org>
81483         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
81485 2009-09-06  Bruno Haible  <bruno@clisp.org>
81487         * lib/sys_stat.in.h: Fix preprocessor command indentation.
81489 2009-09-06  Ben Pfaff  <blp@gnu.org>
81490             Bruno Haible  <bruno@clisp.org>
81492         Work around a glibc bug in strtok_r.
81493         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
81494         Undefine if UNDEFINE_STRTOK_R is set.
81495         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
81496         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
81497         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
81498         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
81499         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
81500         UNDEFINE_STRTOK_R.
81501         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
81503 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
81505         exclude: minor fix
81506         * lib/exclude.c: Include wctype.h
81508 2009-09-06  Akim Demaille  <demaille@gostai.com>
81510         bootstrap: improve error message
81511         * build-aux/bootstrap (find_tool): Upon failure, report the list
81512         of candidates.
81513         Honor the initial value of the envvar.
81515 2009-09-05  Eric Blake  <ebb9@byu.net>
81517         symlinkat: new module
81518         * modules/symlinkat: New file.
81519         * lib/symlinkat.c: Likewise.
81520         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
81521         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
81522         * modules/unistd (Makefile.am): Use them.
81523         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
81524         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
81525         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
81526         * MODULES.html.sh (File system functions): Mention module.
81527         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
81528         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
81529         * modules/symlinkat-tests: New test.
81530         * tests/test-symlinkat.c: Likewise.
81532         test-openat-safer: add more checks
81533         * tests/test-openat-safer.c (main): Check more code paths.
81535 2009-09-05  Jim Meyering  <meyering@redhat.com>
81537         syntax-check: detect unnecessary inclusion of openat.h
81538         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
81540 2009-09-05  Bruno Haible  <bruno@clisp.org>
81542         Support towlower, towupper.
81543         * doc/posix-functions/towlower.texi: Mention module wctype.
81544         * doc/posix-functions/towupper.texi: Likewise.
81545         * lib/wctype.in.h (towlower, towupper): New functions.
81546         * tests/test-wctype.c: Include stdio.h, stdlib.h.
81547         (ASSERT): New macro.
81548         (e): New variable.
81549         (main): Test also towlower, towupper. Test WEOF argument.
81550         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
81552 2009-09-05  Bruno Haible  <bruno@clisp.org>
81554         Fix conversion behaviour when the input is invalid.
81555         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
81556         mark occurring in first pass of indirect conversion.
81557         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
81558         input.
81559         Found by clang's static analyzer.
81561 2009-09-05  Bruno Haible  <bruno@clisp.org>
81563         * tests/test-striconveh.c (main): Test indirect conversion on platforms
81564         where direct conversion is possible.
81566 2009-09-04  Eric Blake  <ebb9@byu.net>
81568         openat: fail with ENOENT on empty name
81569         * lib/openat-proc.c (openat_proc_name): Special-case the empty
81570         buffer.
81572         link-follow: fix logic bug in prior patch
81573         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
81574         reversed sense of yes and no in prior patch.  Avoid confusing
81575         compilation failure with desired semantics.
81577         link-follow: accommodate mingw and cross-compilation
81578         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
81579         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
81580         cross-compilation results to -1, to make linkat easier to
81581         implement when cross-compiling.  Trivially support mingw.
81582         * modules/link-follow (configure.ac): Call new name.
81583         * NEWS: Mention this.
81585 2009-09-03  Eric Blake  <ebb9@byu.net>
81587         faccessat: compile replacement
81588         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
81589         needed.
81591         fts: fix compilation error
81592         * lib/fts.c (includes): Re-add "openat.h", for
81593         openat_needs_fchdir.
81595         faccessat: new module
81596         * modules/faccessat: New file.
81597         * lib/faccessat.c: Likewise.
81598         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
81599         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
81600         * modules/unistd (Makefile.am): Use it.
81601         * lib/unistd.in.h (faccessat): Declare it.
81602         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
81603         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
81604         * MODULES.html.sh (File system functions): Mention it.
81605         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
81606         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
81608         euidaccess: prefer POSIX over non-standard implementation
81609         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
81610         * lib/euidaccess.c (euidaccess): Use it if available.
81612         openat: make template easier to use
81613         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
81614         AT_FUNC_F2 to be undefined.
81615         (VALIDATE_FLAG): New macro; use it to reject bad flags.
81616         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
81617         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
81618         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
81619         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
81620         Likewise.
81621         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
81622         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
81623         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
81624         Likewise.
81626         openat: declare in POSIX headers
81627         * NEWS: Mention this.
81628         * modules/openat (configure.ac): Declare witnesses.
81629         (Depends-on): Add fcntl-h, sys_stat, unistd.
81630         (Include): Mention correct headers.
81631         * modules/fcntl-h (Depends-on): Add link-warning.
81632         (Files): Add openat.m4.
81633         (Makefile.am): Substitute witnesses.
81634         * modules/sys_stat (Files, Makefile.am): Likewise.
81635         * modules/unistd (Files, Makefile.am): Likewise.
81636         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
81637         (gl_OPENAT_DEFAULTS): New macro.
81638         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
81639         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
81640         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
81641         (SYS_STAT_H): Remove unused variable.
81642         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
81643         * lib/fcntl--.h (includes): Remove unneeded header.
81644         * lib/openat-safer.c (includes): Likewise.
81645         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
81646         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
81647         appropriate headers.
81648         (__OPENAT_PREFIX): Delete.
81649         * lib/fcntl.in.h (openat): Provide declaration.
81650         (AT_FDCWD): Fix Solaris bug.
81651         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
81652         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
81653         * lib/fchmodat.c (includes):  Adjust to find declaration.
81654         * lib/fchownat.c (includes): Likewise.
81655         * lib/mkdirat.c (includes): Likewise.
81656         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
81657         still visible.
81659 2009-09-02  Eric Blake  <ebb9@byu.net>
81661         errno: use consistently
81662         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
81663         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
81664         * lib/canonicalize.c (ELOOP): Likewise.
81665         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
81666         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
81667         * lib/lchown.c (EOPNOTSUPP): Likewise.
81668         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
81669         * lib/savewd.c (ESTALE): Likewise.
81670         * lib/settime.c (ENOSYS): Likewise.
81671         * lib/utimens.c (ENOSYS): Likewise.
81672         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
81673         * lib/chdir-safer.c (ELOOP): Likewise.
81674         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
81675         * modules/c-stack (Depends-on): Add errno.
81676         * modules/canonicalize (Depends-on): Likewise.
81677         * modules/chdir-safer (Depends-on): Likewise.
81678         * modules/fdopendir (Depends-on): Likewise.
81679         * modules/inet_ntop (Depends-on): Likewise.
81680         * modules/inet_pton (Depends-on): Likewise.
81681         * modules/lchown (Depends-on): Likewise.
81682         * modules/openat (Depends-on): Likewise.
81683         * modules/savewd (Depends-on): Likewise.
81684         * modules/settime (Depends-on): Likewise.
81685         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
81687         fts: avoid leaking fds
81688         * modules/fts (Depends-on): Add cloexec.
81689         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
81690         flag.
81692         fts: make directory fds more robust
81693         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
81694         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
81696         backupfile, chdir-long, fts, savedir: make safer
81697         * lib/backupfile.c (includes): Use "dirent--.h", since
81698         numbered_backup can write to stderr during readdir.
81699         * lib/savedir.c (includes): Likewise.
81700         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
81701         emulation can write to stderr on failure.
81702         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
81703         * lib/getcwd.c: Document why opendir_safer is unused.
81704         * lib/glob.c: Likewise.
81705         * lib/scandir.c: Likewise.
81706         * lib/openat-proc.c: Likewise, for open_safer.
81707         * modules/backupfile (Depends-on): Add dirent-safer.
81708         * modules/savedir (Depends-on): Likewise.
81709         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
81710         * modules/chdir-long (Depends-on): Add openat-safer.
81712         openat-safer: new module
81713         * modules/openat-safer: New file.
81714         * lib/openat-safer.c: Likewise.
81715         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
81716         * lib/fcntl-safer.h (openat_safer): Declare.
81717         * lib/fcntl--.h (openat): Override.
81718         * MODULES.html.sh (File descriptor based I/O): Mention it.
81719         * lib/openat.h: Add double-inclusion guards.
81720         * lib/openat.c (includes): Only include "fcntl-safer.h", not
81721         "fcntl--.h", so we can implement openat.
81722         * modules/openat-safer-tests: New test.
81723         * tests/test-openat-safer.c: New file.
81725         dirent-safer: new module
81726         * modules/dirent-safer: New file.
81727         * lib/dirent--.h: Likewise.
81728         * lib/dirent-safer.h: Likewise.
81729         * lib/opendir-safer.c: Likewise.
81730         * m4/dirent-safer.m4: Likewise.
81731         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
81732         * modules/dirent-safer-tests: New test.
81733         * tests/test-dirent-safer.c: New file.
81734         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
81736         fdopendir: optimize on mingw
81737         * lib/unistd.in.h (_gl_directory_name): New prototype.
81738         * lib/fchdir.c (_gl_directory_name): Implement it.
81739         (fchdir): Use it to simplify implementation.
81740         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
81741         fchdir, when available, to avoid calling [f]chdir().
81743         fdopendir: split into its own module
81744         * lib/openat.c (fdopendir): Move...
81745         * lib/fdopendir.c: ...into new file.
81746         * modules/fdopendir: New module.
81747         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
81748         * modules/openat (Depends-on): Add fdopendir.
81749         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
81750         fdopendir here.
81751         * modules/savedir (Depends-on): Only need fdopendir, not full
81752         openat.
81753         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
81754         * lib/openat.h (fdopendir): Drop prototype.
81755         * lib/dirent.in.h (fdopendir): Provide prototype.
81756         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
81757         * modules/dirent (Makefile.am): Substitute them.
81758         * MODULES.html.sh (File system functions): Mention it.
81759         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
81760         * modules/fdopendir-tests: New file.
81761         * tests/test-fdopendir.c: Likewise.
81763         fchdir: use more consistent macro convention
81764         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
81765         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
81766         REPLACE_FCHDIR, rather than relying on config.h macros.
81767         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
81768         inside a single make-time REPLACE_FCHDIR block, rather than using
81769         the config.h FCHDIR_REPLACEMENT.
81770         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
81771         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
81772         Manage fstat replacement.
81773         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
81774         REPLACE_FCHDIR.
81775         * modules/sys_stat (Files): Add m4/unistd_h.m4.
81776         (Makefile.am): Substitute REPLACE_FCHDIR.
81777         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
81778         FCHDIR_REPLACEMENT.
81779         * lib/dup-safer.c (dup_safer): Likewise.
81780         * lib/dup2.c (rpl_dup2): Likewise.
81781         * lib/dup3.c (rpl_dup3): Likewise.
81782         * lib/open.c (rpl_open): Likewise.
81784         fchdir: simplify error handling, and support dup3
81785         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
81786         stdbool, malloc-posix, realloc-posix.
81787         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
81788         (ensure_dirs_slot): Return false on allocation failure.
81789         (rpl_dup2): Delete.
81790         (_gl_register_dup): New function.
81791         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
81792         (_gl_register_fd): Close fd on allocation failure.
81793         * lib/fcntl.in.h (_gl_register_fd): Update signature.
81794         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
81795         prototype.
81796         (rpl_dup2_fchdir): Delete prototype.
81797         * lib/open.c (open): Update caller.
81798         * lib/dup2.c (dup2): Track fchdir metadata.
81799         * lib/dup3.c (dup3): Likewise.
81800         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
81801         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
81803 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81805         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
81806         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
81807         don't pass arguments to AC_OUTPUT.
81809 2009-09-02  Bruno Haible  <bruno@clisp.org>
81811         * modules/mkdtemp (License): Relicense under LGPLv2+.
81812         Reported by Paolo Bonzini.
81814 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81816         Replace uses of obsolete autoconf macros in Jim's modules.
81817         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
81818         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
81819         can evoke a warning from autoconf when run with -Wobsolete
81820         enabled.  They were declared obsolete for good reasons (see
81821         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
81822         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
81823         should not continue using the deprecated macros.
81824         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
81825         obsolete Autoconf macros with modern counterparts.
81826         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
81827         * m4/dos.m4 (gl_AC_DOS): Likewise.
81828         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
81829         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
81830         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
81831         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
81832         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
81833         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
81834         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
81835         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
81836         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
81837         Likewise.
81838         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
81839         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
81840         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
81841         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
81842         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
81843         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
81845 2009-09-01  Eric Blake  <ebb9@byu.net>
81847         fchdir: fix off-by-one bug in previous patch
81848         * lib/fchdir.c (rpl_fstat): Use correct bounds.
81849         (_gl_unregister_fd): Delete useless if.
81851 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
81853         maint.mk: sort the list of syntax-check rules
81854         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
81855         easier to get a sense of progress when the rules are run sequentially
81856         and take a long time.
81858 2009-09-01  Simon Josefsson  <simon@josefsson.org>
81860         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
81861         * modules/netinet_in: Likewise.
81862         * modules/sys_file: Likewise.
81863         * modules/sys_ioctl: Likewise.
81864         * modules/sys_select: Likewise.
81865         * modules/sys_socket: Likewise.
81866         * modules/sys_stat: Likewise.
81867         * modules/sys_time: Likewise.
81868         * modules/sys_times: Likewise.
81869         * modules/sys_utsname: Likewise.
81870         * modules/sys_wait: Likewise.
81872 2009-09-01  Jim Meyering  <meyering@redhat.com>
81874         fts: help ensure that return values are not ignored
81875         * lib/fts_.h (__GNUC_PREREQ): Define.
81876         (__attribute_warn_unused_result__): Define.
81877         (fts_children, fts_close, fts_open, fts_read): Declare with
81878         __attribute_warn_unused_result__.
81880         fts: fts_close now fails also when closing a dir file descriptor fails
81881         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
81882         and propagate to caller, along with errno.
81884         announce-gen: correct formatting in --help output
81885         * build-aux/announce-gen (usage): Move the one-line description in
81886         --help output "up", to where it belongs, just after Usage:.
81888 2009-08-31  Eric Blake  <ebb9@byu.net>
81890         fchdir: port to mingw
81891         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
81892         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
81893         opened, then use a substitute.
81894         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
81895         replacement.
81896         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
81897         (_gl_register_fd): No need to check stat if open already filters
81898         all directories.
81899         (fchdir): Fix error condition to match POSIX.
81900         * modules/fchdir (Depends-on): Add sys_stat.
81901         * doc/posix-functions/open.texi (open): Document the limitation.
81902         * modules/fchdir-tests: New file.
81903         * tests/test-fchdir.c: Likewise.
81905         canonicalize: allow cross-testing from cygwin to mingw
81906         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
81907         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
81908         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
81909         Likewise.
81910         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
81911         target does not support symlinks.
81912         * tests/test-canonicalize-lgpl.sh: Likewise.
81914         chown: avoid compilation warning on mingw
81915         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
81916         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
81917         mingw.
81918         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
81919         * modules/chown (Depends-on): Add errno.
81921 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
81923         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
81924         command.
81926 2009-08-31  Jim Meyering  <meyering@redhat.com>
81928         canonicalize: remove useless initialization
81929         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
81930         initialization of local, "end".
81932 2009-08-30  Bruno Haible  <bruno@clisp.org>
81934         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
81935         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
81936         ENOSYS.
81938 2009-08-30  Bruno Haible  <bruno@clisp.org>
81940         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
81941         /usr/xpg4/bin/tr when it exists.
81942         * tests/test-pipe-filter-gi1.sh: Likewise.
81944 2009-08-30  Bruno Haible  <bruno@clisp.org>
81946         Work around deficient /usr/bin/id program on Solaris.
81947         * tests/test-file-has-acl.sh (ID): New variable.
81948         * tests/test-set-mode-acl.sh (ID): Likewise.
81949         * tests/test-copy-acl.sh (ID): Likewise.
81950         * tests/test-copy-file.sh (ID): Likewise.
81952 2009-08-30  Bruno Haible  <bruno@clisp.org>
81954         New module 'xstriconveh'.
81955         * lib/xstriconveh.h: New file.
81956         * lib/xstriconveh.c: New file.
81957         * modules/xstriconveh: New file.
81959 2009-08-30  Bruno Haible  <bruno@clisp.org>
81961         Make it easier to use mem_cd_iconveh.
81962         * lib/striconveh.h (iconveh_t): New type.
81963         (iconveh_open, iconveh_close): New declarations.
81964         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
81965         with a single 'const iconveh_t *' argument.
81966         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
81967         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
81968         with a single 'const iconveh_t *' argument.
81969         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
81970         * tests/test-striconveh.c (main): Update.
81971         * NEWS: Mention the change.
81973 2009-08-30  Bruno Haible  <bruno@clisp.org>
81975         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
81976         problem.
81978 2009-08-30  Bruno Haible  <bruno@clisp.org>
81980         Work around iconv_open problem on Solaris.
81981         * lib/iconv_open-solaris.gperf: New file.
81982         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
81983         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
81984         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
81985         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
81986         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
81987         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
81989 2009-08-29  Jim Meyering  <meyering@redhat.com>
81991         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
81992         * top/maint.mk (cvs-check): Remove target; it was just an alias
81993         to the better-named vc-diff-check.
81994         (maintainer-distcheck): Remove rule.  It was used only from
81995         the (alpha/beta/major) target, and all of its commands but one
81996         were coreutils-specific.
81997         (vc-dist): Remove rule.
81998         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
81999         Run vc-diff-check, not vc-dist.
82000         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
82002 2009-08-27  Bruno Haible  <bruno@clisp.org>
82004         * tests/test-bitrotate.c (main): Remove test that uses a shift count
82005         of 0.
82007 2009-08-27  Bruno Haible  <bruno@clisp.org>
82009         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
82010         compilers.
82011         * doc/func.texi: Document the SunPRO C bug.
82013 2009-08-27  Bruno Haible  <bruno@clisp.org>
82015         Fix link error on Solaris.
82016         * tests/test-parse-duration.c (xstrdup): Remove function.
82018 2009-08-26  Pádraig Brady  <P@draigbrady.com>
82020         ignore-value: handle pointer types, too
82021         * lib/ignore-value.h (__attribute__): Remove definition.
82022         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
82023         of a more concise and more-often effective "(void) i" statement.
82024         (ignore_ptr): New function to suppress warnings from functions that
82025         return pointers, and to make it explicit that one function doesn't
82026         handle all cases.
82028 2009-08-25  Bruno Haible  <bruno@clisp.org>
82030         dup2: work around a Linux bug.
82031         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
82032         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
82033         * doc/posix-functions/dup2.texi: Mention the Linux bug.
82034         Reported by Simon Josefsson.
82036 2009-08-25  Jim Meyering  <meyering@redhat.com>
82038         libguestfs uses gnulib
82039         * users.txt: Add libguestfs.
82041 2009-08-24  Eric Blake  <ebb9@byu.net>
82043         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
82044         * lib/pipe2.c (includes): Add binary-io.h.
82045         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
82047 2009-08-24  Bruno Haible  <bruno@clisp.org>
82049         Tolerate declared but missing accept4 syscall.
82050         * lib/accept4.c (accept4): Invoke original accept4 function first, if
82051         available.
82052         * lib/sys_socket.in.h (accept4): If the function is already present,
82053         override it.
82054         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
82055         * modules/accept4 (Makefile.am): Compile accept4.c always.
82056         Reported by Paolo Bonzini and Eric Blake.
82058 2009-08-23  Bruno Haible  <bruno@clisp.org>
82060         New module 'accept4'.
82061         * lib/sys_socket.in.h (accept4): New declaration.
82062         * lib/accept4.c: New file.
82063         * m4/accept4.m4: New file.
82064         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
82065         GNULIB_ACCEPT4, HAVE_ACCEPT4.
82066         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
82067         HAVE_ACCEPT4.
82068         * modules/accept4: New file.
82069         * doc/glibc-functions/accept4.texi: Mention the new module.
82071 2009-08-24  Jim Meyering  <meyering@redhat.com>
82073         progname: also set global program_invocation_name, when possible
82074         Before this change, a libtool-enabled program that calls glibc's
82075         error function would report the program name as
82076         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
82077         * modules/progname (configure.ac): Check for a declaration of
82078         program_invocation_name.
82079         * lib/progname.c:  Include <errno.h>.
82080         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
82081         Set program_invocation_name.
82083 2009-08-23  Bruno Haible  <bruno@clisp.org>
82085         * lib/dup3.c: Include <string.h>.
82087 2009-08-23  Bruno Haible  <bruno@clisp.org>
82089         * lib/dup3.c (dup3): Test only once whether the system actually exists.
82090         * lib/pipe2.c (pipe2): Likewise.
82091         Suggested by Eric Blake.
82093 2009-08-23  Bruno Haible  <bruno@clisp.org>
82095         Tolerate declared but missing dup3 syscall.
82096         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
82097         * lib/unistd.in.h (dup3): If the function is already present,
82098         override it.
82099         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
82100         * modules/dup3 (Makefile.am): Compile dup3.c always.
82101         Reported by Paolo Bonzini.
82103 2009-08-23  Bruno Haible  <bruno@clisp.org>
82105         Tolerate declared but missing pipe2 syscall.
82106         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
82107         available.
82108         * lib/unistd.in.h (pipe2): If the function is already present,
82109         override it.
82110         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
82111         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
82112         Reported by Paolo Bonzini.
82114 2009-08-23  Bruno Haible  <bruno@clisp.org>
82116         * lib/pipe2.c (pipe2): Move #ifs inside function.
82118 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
82120         quotearg: document limitations of quote_these_too
82121         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
82122         those limitations are created.
82123         * lib/quotearg.h (set_char_quoting): Document that digits and
82124         letters that are special after backslash are not permitted.
82125         (quotearg_char): Cross-reference set_char_quoting documentation.
82127 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
82129         quotearg: implement custom_quoting_style
82130         * lib/quotearg.c: (struct quoting_options): Add left_quote and
82131         right_quote fields.
82132         (set_custom_quoting): New public function.
82133         (quotearg_buffer_restyled): Add left_quote and right_quote
82134         arguments, handle them very much like locale quoting, and update
82135         all uses.
82136         (quotearg_n_custom): New public function.
82137         (quotearg_n_custom_mem): New public function.
82138         (quotearg_custom): New public function.
82139         (quotearg_custom_mem): New public function.
82140         * lib/quotearg.h: Prototype and document new public functions.
82141         (enum quoting_style): For escape_quoting_style and
82142         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
82143         ignored even though they're otherwise like c_quoting_style.
82144         Add custom_quoting_style member and document with comparison to
82145         clocale_quoting_style.
82146         * tests/test-quotearg.c (custom_quotes): New array.
82147         (custom_results): New array.
82148         (main): Extend to test custom quoting.
82150 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
82152         quotearg: fix right quote escaping when it's in quote_these_too
82153         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
82154         quote, be sure to prepend only one backslash.
82155         * tests/test-quotearg.c (use_quote_double_quotes): New function.
82156         (main): Test it.
82158 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
82160         quotearg-tests: test escaping of embedded locale quotes
82161         * tests/test-quotearg.c (struct result_strings): Add member for
82162         new input.
82163         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
82164         (inputs): Add new input.
82165         (results_g): Add expected results.
82166         (flag_results): Likewise.
82167         (locale_results): Likewise.
82168         (compare_strings): Check those.
82170 2009-08-23  Bruno Haible  <bruno@clisp.org>
82172         Tests for module 'dup3'.
82173         * modules/dup3-tests: New file.
82174         * tests/test-dup3.c: New file.
82176         New module 'dup3'.
82177         * lib/unistd.in.h (dup3): New declaration.
82178         * lib/dup3.c: New file.
82179         * m4/dup3.m4: New file.
82180         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
82181         HAVE_DUP3.
82182         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
82183         * modules/dup3: New file.
82184         * doc/glibc-functions/dup3.texi: Mention the new module.
82186 2009-08-23  Bruno Haible  <bruno@clisp.org>
82188         Tweak the dup2 test.
82189         * tests/test-dup2.c (main): Create the test file empty. Verify that an
82190         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
82191         the test file is still empty. Fix argument order of lseek.
82193 2009-08-23  Bruno Haible  <bruno@clisp.org>
82195         Avoid test link errors when the modules getopt-gnu, gettext are used.
82196         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
82197         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
82199 2009-08-23  Bruno Haible  <bruno@clisp.org>
82201         Fix getdtablesize() on mingw.
82202         * lib/getdtablesize.c (getdtablesize): Implement differently.
82203         * lib/unistd.in.h (getdtablesize): Improve comment.
82205 2009-08-23  Bruno Haible  <bruno@clisp.org>
82207         New module 'mkostemp'.
82208         Based on Ulrich Drepper's 2007-08-10 change in glibc.
82209         * lib/stdlib.in.h (mksotemp): New declaration.
82210         * lib/mkostemp.c: New file, from glibc with modifications.
82211         * lib/tempname.h (GT_FILE): Remove outdated comment.
82212         (gen_tempname): Add flags argument.
82213         * lib/tempname.c (__GT_BIGFILE): Remove macro.
82214         (__GT_FILE): Map to 1.
82215         (small_open, large_open): Remove macros.
82216         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
82217         * lib/mkstemp.c (mkstemp): Update.
82218         * lib/mkdtemp.c (mkdtemp): Likewise.
82219         * m4/mkostemp.m4: New file.
82220         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
82221         HAVE_MKOSTEMP.
82222         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
82223         HAVE_MKOSTEMP.
82224         * modules/mkostemp: New file, based on modules/mkstemp.
82225         * doc/glibc-functions/mkostemp.texi: Mention the new module.
82226         * NEWS: Mention the change.
82228 2009-08-23  Bruno Haible  <bruno@clisp.org>
82230         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
82231         Reported by Eric Blake.
82233 2009-08-23  Bruno Haible  <bruno@clisp.org>
82235         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
82236         Reported by Eric Blake.
82238 2009-08-23  Bruno Haible  <bruno@clisp.org>
82240         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
82241         * modules/pipe2 (Depends-on): Likewise.
82243 2009-08-23  Eric Blake  <ebb9@byu.net>
82245         fcntl-h: add O_TTY_INIT support
82246         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
82247         * tests/test-fcntl-h.c (o): Test it.
82248         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
82250         fcntl-h: rename from fcntl, in preparation for fcntl(2)
82251         * modules/fcntl: Move <fcntl.h> header replacement...
82252         * modules/fcntl-h: ...to new name, so as not to collide with
82253         like-named function.
82254         * tests/test-fcntl.c: Rename...
82255         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
82256         * modules/fcntl-tests: Rename...
82257         * modules/fcntl-h-tests: ...to this.  Update test file name.
82258         * modules/chdir-long (Depends-on): Update clients.
82259         * modules/chdir-safer (Depends-on): Likewise.
82260         * modules/fcntl-safer (Depends-on): Likewise.
82261         * modules/fts (Depends-on): Likewise.
82262         * modules/mkancesdirs (Depends-on): Likewise.
82263         * modules/mkdir-p (Depends-on): Likewise.
82264         * modules/open (Depends-on): Likewise.
82265         * modules/savewd (Depends-on): Likewise.
82266         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
82267         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
82269 2009-08-22  Bruno Haible  <bruno@clisp.org>
82271         * modules/binary-io (License): Relicense under LGPL.
82272         * modules/pipe2 (License): Likewise.
82274 2009-08-22  Bruno Haible  <bruno@clisp.org>
82276         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
82277         return value.
82278         * lib/pipe-filter-gi.c (filter_init): Likewise.
82279         Reported by Eric Blake.
82281 2009-08-22  Bruno Haible  <bruno@clisp.org>
82283         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
82284         * modules/pipe (Depends-on): Add pipe2.
82286 2009-08-22  Bruno Haible  <bruno@clisp.org>
82288         Tests for module 'pipe2'.
82289         * modules/pipe2-tests: New file.
82290         * tests/test-pipe2.c: New file.
82292         New module 'pipe2'.
82293         * lib/unistd.in.h (pipe2): New declaration.
82294         * lib/pipe2.c: New file.
82295         * m4/pipe2.m4: New file.
82296         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
82297         HAVE_PIPE2.
82298         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
82299         * modules/pipe2: New file.
82300         * doc/glibc-functions/pipe2.texi: Mention the new module.
82302 2009-08-22  Bruno Haible  <bruno@clisp.org>
82304         Reference some new glibc functions.
82305         * doc/glibc-functions/accept4.texi: New file.
82306         * doc/glibc-functions/dup3.texi: New file.
82307         * doc/glibc-functions/mkostemp.texi: New file.
82308         * doc/glibc-functions/pipe2.texi: New file.
82309         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
82310         (Glibc sys/socket.h): Refer to accept4.
82311         (Glibc unistd.h): Refer to dup3, pipe2.
82312         Reported by Eric Blake.
82314 2009-08-22  Jim Meyering  <meyering@redhat.com>
82315             Bruno Haible  <bruno@clisp.org>
82317         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
82318         This makes it so packages using automake-1.11's silent-rules option
82319         can print e.g., a single "GEN    configmake.h" line, rather than
82320         the 30+ statements that perform the job.  If you want to see the
82321         actual commands, you can still run "make V=1".
82322         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
82323         so that make output is abbreviated when those variables are defined
82324         appropriately.
82325         * modules/argz: Likewise.
82326         * modules/arpa_inet: Likewise.
82327         * modules/byteswap: Likewise.
82328         * modules/configmake: Likewise.
82329         * modules/dirent: Likewise.
82330         * modules/errno: Likewise.
82331         * modules/fcntl: Likewise.
82332         * modules/float: Likewise.
82333         * modules/fnmatch: Likewise.
82334         * modules/getopt-posix: Likewise.
82335         * modules/glob: Likewise.
82336         * modules/iconv_open: Likewise.
82337         * modules/inttypes: Likewise.
82338         * modules/localcharset: Likewise.
82339         * modules/locale: Likewise.
82340         * modules/math: Likewise.
82341         * modules/netdb: Likewise.
82342         * modules/netinet_in: Likewise.
82343         * modules/poll: Likewise.
82344         * modules/posix_spawnp-tests: Likewise.
82345         * modules/sched: Likewise.
82346         * modules/search: Likewise.
82347         * modules/selinux-h: Likewise.
82348         * modules/signal: Likewise.
82349         * modules/spawn: Likewise.
82350         * modules/stdarg: Likewise.
82351         * modules/stdbool: Likewise.
82352         * modules/stddef: Likewise.
82353         * modules/stdint: Likewise.
82354         * modules/stdio: Likewise.
82355         * modules/stdlib: Likewise.
82356         * modules/string: Likewise.
82357         * modules/strings: Likewise.
82358         * modules/sys_file: Likewise.
82359         * modules/sys_ioctl: Likewise.
82360         * modules/sys_select: Likewise.
82361         * modules/sys_socket: Likewise.
82362         * modules/sys_stat: Likewise.
82363         * modules/sys_time: Likewise.
82364         * modules/sys_times: Likewise.
82365         * modules/sys_utsname: Likewise.
82366         * modules/sys_wait: Likewise.
82367         * modules/sysexits: Likewise.
82368         * modules/time: Likewise.
82369         * modules/unistd: Likewise.
82370         * modules/wchar: Likewise.
82371         * modules/wctype: Likewise.
82373 2009-08-22  Jim Meyering  <meyering@redhat.com>
82375         announce-gen: detect write failure
82376         * build-aux/announce-gen: Add Coda at end.
82377         Remove equivalent-but-more-verbose block at top.
82379 2009-08-19  Akim Demaille  <demaille@gostai.com>
82381         bootstrap: --help to stdout.
82382         * bootstrap (usage): Don't send --help to stderr.
82383         Use a here doc instead of a long string.
82385 2009-08-21  Eric Blake  <ebb9@byu.net>
82387         test-popen-safer: split from test-popen
82388         * tests/test-popen.c (main): Move...
82389         * tests/test-popen.h: ...into new file.
82390         * tests/test-popen-safer2.c: New file.
82391         * modules/popen-tests (Files): Add test-popen.h.
82392         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
82393         Suggested by Bruno Haible.
82395         test-fcntl-safer: split from test-open
82396         * tests/test-open.c (main): Move...
82397         * tests/test-open.h: ...into new file.
82398         * tests/test-fcntl-safer.c: New file.
82399         * modules/open-tests (Files): Add test-open.h.
82400         * modules/fcntl-safer-tests: New file.
82401         Suggested by Bruno Haible.
82403         test-fopen-safer: split from test-fopen
82404         * tests/test-fopen.c (main): Move...
82405         * tests/test-fopen.h: ...into new file.
82406         * tests/test-fopen-safer.c: New file.
82407         * modules/fopen-tests (Files): Add test-fopen.h.
82408         * modules/fopen-safer-tests: New file.
82409         Suggested by Bruno Haible.
82411 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
82413         popen-safer: test O_CLOEXEC at run-time.
82414         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
82416 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
82418         fcntl: move more flags to the header
82419         * lib/cloexec.c: Do not define FD_CLOEXEC here.
82420         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
82421         * lib/fcntl.in.h: Do both things here.
82423 2009-08-21  Jim Meyering  <meyering@redhat.com>
82425         consistently remove $@-t before redirecting to it
82426         * modules/argz: Remove $@-t and $@ before redirecting to the former.
82427         * modules/alloca-opt: Likewise.
82428         * modules/byteswap: Likewise.
82429         * modules/fnmatch: Likewise.
82430         * modules/getopt-posix: Likewise.
82431         * modules/glob: Likewise.
82432         * modules/poll: Likewise.
82433         * modules/posix_spawnp-tests: Likewise.
82434         * modules/sys_socket: Likewise.
82435         * modules/sysexits: Likewise.
82437 2009-08-21  Eric Blake  <ebb9@byu.net>
82439         popen: simplify access to original popen
82440         * lib/popen.c (rpl_popen): No need to worry about popen being a
82441         macro.
82442         Reported by Bruno Haible.
82444 2009-08-20  Eric Blake  <ebb9@byu.net>
82446         build: avoid some compiler warnings
82447         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
82448         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
82449         type.
82450         (new_exclude_segment, excluded_file_pattern_p)
82451         (excluded_file_name_p): Reduce scope.
82452         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
82453         old-style declaration.
82455 2009-08-20  Simon Josefsson  <simon@josefsson.org>
82457         * tests/test-exclude1.sh: Handle Windows EOL.
82458         * tests/test-exclude2.sh: Likewise.
82459         * tests/test-exclude3.sh: Likewise.
82460         * tests/test-exclude4.sh: Likewise.
82461         * tests/test-exclude5.sh: Likewise.
82462         * tests/test-exclude6.sh: Likewise.
82463         * tests/test-exclude7.sh: Likewise.
82465 2009-08-19  Akim Demaille  <demaille@gostai.com>
82467         bootstrap: find sha1sum when named gsha1sum.
82468         * bootstrap (find_tool): New.
82469         ($SHA1SUM): New.
82470         Use it.
82472 2009-08-20  Jim Meyering  <meyering@redhat.com>
82474         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
82475         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
82476         expression that converts "." in a file name to "\." in the resulting
82477         regexp.  Start with a dummy statement, so that prior shell variable
82478         definitions are expanded portably.  Reported by Simon Josefsson.
82480 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
82482         Fix polling for writeability of a screen buffer.
82483         * lib/poll.c: Distinguish input and screen buffers for the
82484         Win32 implementation.
82485         * lib/select.c: Likewise.
82487 2009-08-19  Eric Blake  <ebb9@byu.net>
82489         popen-safer: prevent popen from clobbering std descriptors
82490         * modules/popen-safer: New file.
82491         * lib/popen-safer.c: Likewise.
82492         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
82493         * lib/stdio--.h (popen): Provide override.
82494         * lib/stdio-safer.h (popen_safer): Provide declaration.
82495         * tests/test-popen.c (includes): Partially test this.
82496         * modules/popen-safer-tests: New file, for more tests.
82497         * tests/test-popen-safer.c: Likewise.
82498         * MODULES.html.sh (file stream based Input/Output): Mention it.
82500         tests: test some of the *-safer modules
82501         * modules/fopen-safer (Depends-on): Add fopen.
82502         * modules/fcntl-safer (Depends-on): Add fcntl.
82503         * modules/stdlib-safer (Depends-on): Add stdlib.
82504         (configure.ac): Set indicator.
82505         * modules/unistd-safer (configure.ac): Likewise.
82506         * modules/tmpfile-safer (configure.ac): Likewise.
82507         (Depends-on): Add tmpfile.
82508         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
82509         active.
82510         * tests/test-fopen.c (includes): Test safer versions when they are
82511         in use.
82512         * tests/test-open.c (includes): Likewise.
82514         popen: fix cygwin 1.5 bug when stdin closed
82515         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
82516         * modules/popen: New file.
82517         * modules/popen-tests: Likewise.
82518         * tests/test-popen.c: Likewise.
82519         * m4/popen.m4: Likewise.
82520         * lib/popen.c: Likewise.
82521         * lib/stdio.in.h (popen): New declaration.
82522         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
82523         * modules/stdio (Makefile.am): Likewise.
82524         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
82526 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
82528         maint.mk: give full control over update-copyright exclusions
82529         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
82530         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
82531         (update-copyright): Don't force inclusion of top-level
82532         ChangeLog.  Don't force exclusion of all COPYING files, but make
82533         them the default exclusion instead.
82535 2009-08-16  Bruno Haible  <bruno@clisp.org>
82537         Fix test failures on Solaris 10.
82538         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
82539         tests when Solaris iconv() is used.
82540         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
82541         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
82542         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
82543         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
82544         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
82546 2009-08-16  Bruno Haible  <bruno@clisp.org>
82548         Fix test failures on Solaris 10.
82549         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
82550         'tr' program and pass it as first argument.
82551         * tests/test-pipe-filter-gi1.sh: Likewise.
82552         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
82553         program as first argument.
82554         * tests/test-pipe-filter-gi1.c (main): Likewise.
82556 2009-08-16  Eric Blake  <ebb9@byu.net>
82558         fpurge: fix previous commits
82559         * modules/fpurge (Makefile.am): Make replacement conditional,
82560         partially reverting 2007-04-29 change; missed in previous
82561         attempt.
82562         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
82563         is missing.
82565 2009-08-16  Bruno Haible  <bruno@clisp.org>
82567         Clarify fpurge's effect on the file position.
82568         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
82569         * tests/test-fpurge.c (main): Make a second pass for checking the file
82570         position.
82572 2009-08-16  Bruno Haible  <bruno@clisp.org>
82574         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
82575         declaration of fpurge is missing.
82576         * tests/test-fpurge.c (main): Check that the file has not more contents
82577         than expected. Close the file before removing it.
82579 2009-08-15  Eric Blake  <ebb9@byu.net>
82581         fpurge: don't wrap working cygwin implementation
82582         * lib/fpurge.c (fpurge): Fix comment typo.
82583         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
82584         1.7 to avoid replacement.
82585         * tests/test-fpurge.c (main): Enhance test.
82587 2009-08-15  Eric Blake  <ebb9@byu.net>
82588         and Jim Meyering  <meyering@redhat.com>
82590         test-update-copyright: skip if perl is insufficient
82591         * tests/test-update-copyright.sh: Failure to run maintainer tool
82592         should not cause testsuite failure on cygwin 1.5.
82594 2009-08-14  Eric Blake  <ebb9@byu.net>
82596         doc: mention more functions added in cygwin 1.7.0
82597         * doc/posix-headers/limits.texi (limits.h): Update for recent
82598         cygwin additions.
82599         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
82600         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
82601         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
82602         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
82603         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
82605 2009-08-14  Eric Blake  <ebb9@byu.net>
82607         maint.mk: simplify update-copyright rule
82608         * top/maint.mk (update-copyright-local): Delete, and document how
82609         to do it in cfg.mk instead.
82610         (update-copyright-exclude-regexp): Delete, and document how to do
82611         it in .x-update-copyright instead.
82612         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
82613         exclude ChangeLog.
82615 2009-08-14  Bruno Haible  <bruno@clisp.org>
82617         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
82619 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
82621         maint.mk: support update-copyright-env
82622         * top/maint.mk (update-copyright-env): Define place-holder.
82623         (update-copyright): Expand $(update-copyright-env) before
82624         invoking update-copyright.
82626 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
82628         update-copyright: implement forced reformatting
82629         * build-aux/update-copyright: Implement and document
82630         UPDATE_COPYRIGHT_FORCE.
82631         * tests/test-update-copyright.sh: Test it.
82633 2009-08-14  Eric Blake  <ebb9@byu.net>
82634         and Bruno Haible  <bruno@clisp.org>
82636         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
82637         * tests/test-locale.c: Revert previous patch related to NULL.
82638         * tests/test-stdio.c: Likewise.
82639         * tests/test-stdlib.c: Likewise.
82640         * tests/test-string.c: Likewise.
82641         * tests/test-unistd.c: Likewise.
82642         * modules/time-tests (Depends-on): Add verify.
82643         * modules/wchar-tests (Depends-on): Likewise.
82644         * tests/test-time.c: Test for NULL compliance.
82645         * tests/test-wchar.c: Likewise.
82646         * modules/locale (Depends-on): Add stddef.
82647         * modules/stdio (Depends-on): Likewise.
82648         * modules/stdlib (Depends-on): Likewise.
82649         * modules/string (Depends-on): Likewise.
82650         * modules/time (Depends-on): Likewise.
82651         * modules/unistd (Depends-on): Likewise.
82652         * modules/wchar (Depends-on): Likewise.
82653         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
82654         * lib/stdlib.in.h (includes): Likewise.
82655         * lib/string.in.h (includes): Likewise.
82656         * lib/time.in.h (includes): Likewise.
82657         * lib/unistd.in.h (includes): Likewise.
82658         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
82659         replaced.
82660         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
82661         * m4/stddef_h.m4: New file.
82662         * modules/stddef: Likewise.
82663         * lib/stddef.in.h: Likewise.
82664         * modules/stddef-tests: Likewise.
82665         * tests/test-stddef.c: Likewise.
82666         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
82667         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
82668         * doc/posix-headers/locale.texi (locale.h): Likewise.
82669         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
82670         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
82671         * doc/posix-headers/string.texi (string.h): Likewise.
82672         * doc/posix-headers/time.texi (time.h): Likewise.
82673         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
82674         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
82676 2009-08-14  Eric Blake  <ebb9@byu.net>
82678         doc: improve git diff of texinfo files
82679         * .gitattributes: Add rule for *.texi files, with hint on how to
82680         use it.
82681         Copied from m4, and based on a report by Bruno Haible.
82683 2009-08-14  Bruno Haible  <bruno@clisp.org>
82685         Disable multithread support by default on Cygwin 1.5.x for real.
82686         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
82688 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
82690         update-copyright: much ado about intervals
82691         * build-aux/update-copyright: Implement and document
82692         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
82693         of copyright year intervals.
82694         Also, document UPDATE_COPYRIGHT_YEAR.
82695         * tests/test-update-copyright.sh: Test it.
82697         update-copyright: convert 2-digit to 4-digit years
82698         * build-aux/update-copyright: Implement and document.
82699         * tests/test-update-copyright.sh: Update.
82701 2009-08-14  Jim Meyering  <meyering@redhat.com>
82703         test-exclude: avoid coreutils "make check" failure
82704         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
82705         just as in test-argmatch.c.
82707 2009-08-13  Eric Blake  <ebb9@byu.net>
82709         test-dup2: fix bad assumption
82710         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
82711         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
82713         test-version-etc: fix CRLF portability issue
82714         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
82715         recognize \r.
82716         * tests/test-argp-version-etc-1.sh: Likewise.
82718         getopt: update client modules
82719         * modules/argp (Depends-on): Use getopt-gnu.
82720         * modules/git-merge-changelog (Depends-on): Likewise.
82721         * modules/long-options (Depends-on): Likewise.
82722         * modules/xstrtol (Depends-on): Likewise.
82724 2009-08-13  Simon Josefsson  <simon@josefsson.org>
82726         * tests/test-version-etc.sh: Don't fail on different
82727         project/version.  Don't fail on CRLF differences.  Rewrite to use
82728         multiple -e instead of multiple sed forks, suggested by Eric Blake
82729         <ebb9@byu.net>.
82730         * tests/test-argp-version-etc-1.sh: Likewise.
82732 2009-08-13  Simon Josefsson  <simon@josefsson.org>
82734         * tests/test-version-etc.sh: Don't fail on different
82735         project/version.
82737 2009-08-12  Bruno Haible  <bruno@clisp.org>
82739         Tests for modules 'getopt-posix', 'getopt-gnu'.
82740         * modules/getopt-posix-tests: New file.
82741         * tests/test-getopt.c: New file.
82742         * tests/test-getopt.h: New file.
82743         * tests/test-getopt_long.h: New file.
82745         New modules 'getopt-posix', 'getopt-gnu'.
82746         * modules/getopt-gnu: New file, renamed from modules/getopt.
82747         * modules/getopt-posix: New file.
82748         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
82749         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
82750         (gl_GETOPT): Remove macro.
82751         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
82752         Disable the test against BSD systems that declare optreset. Test
82753         against mingw bug. Test against lack of support of optional arguments
82754         on many platforms.
82755         * doc/glibc-headers/getopt.texi: Update module name and list of
82756         relevant platforms.
82757         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
82758         'getopt-gnu' and more portability problems.
82759         * NEWS: Mention the changes.
82761 2009-08-12  Bruno Haible  <bruno@clisp.org>
82763         Ensure that optarg etc. get declared by <unistd.h>.
82764         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
82765         AC_USE_SYSTEM_EXTENSIONS.
82766         * modules/getopt (Depends-on): Add 'extensions'.
82768 2009-08-12  Bruno Haible  <bruno@clisp.org>
82770         Avoid test link errors.
82771         * modules/pipe-filter-ii-tests (Makefile.am): Define
82772         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
82773         * modules/pipe-filter-gi-tests (Makefile.am): Define
82774         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
82775         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
82777 2009-08-12  Bruno Haible  <bruno@clisp.org>
82779         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
82780         gl_GETOPT_SUBSTITUTE before.
82781         (gl_GETOPT): Use it.
82782         * m4/argp.m4 (gl_ARGP): Update.
82783         Reported by Sergey Poznyakoff.
82785         * m4/getopt.m4: Reorder macros.
82786         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
82787         (gl_GETOPT_SUBSTITUTE): Remove macro.
82789 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
82791         Minor improvement in gitlog-to-changelog
82793         * build-aux/gitlog-to-changelog: New option `--format' makes
82794         output format string configurable.
82796 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
82798         Optimize exclude: use hash tables for non-wildcard patterns.
82800         * lib/exclude.c: Include hash.h and mbuiter.h
82801         (struct exclude_pattern, exclude_segment): New data types.
82802         (struct exclude): Rewrite.
82803         (fnmatch_pattern_has_wildcards): New function.
82804         (new_exclude_segment, free_exclude_segment): New functions.
82805         (excluded_file_pattern_p, excluded_file_name_p): New functions.
82806         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
82807         * lib/exclude.h (is_fnmatch_pattern): New prototype.
82808         * modules/exclude: Depend on hash and mbuiter.
82810         * modules/exclude-tests: New file.
82811         * tests/test-exclude.c: New file.
82812         * tests/test-exclude1.sh: New file.
82813         * tests/test-exclude2.sh: New file.
82814         * tests/test-exclude3.sh: New file.
82815         * tests/test-exclude4.sh: New file.
82816         * tests/test-exclude5.sh: New file.
82817         * tests/test-exclude6.sh: New file.
82818         * tests/test-exclude7.sh: New file.
82820 2009-08-12  Bruno Haible  <bruno@clisp.org>
82822         Ensure that getopt() gets declared by <unistd.h>.
82823         * lib/unistd.in.h: Conditionally include getopt.h.
82824         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
82825         Set GNULIB_UNISTD_H_GETOPT.
82826         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
82827         GNULIB_UNISTD_H_GETOPT.
82828         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
82830 2009-08-12  Bruno Haible  <bruno@clisp.org>
82832         Clarify logic.
82833         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
82834         gl_replace_getopt instead of GETOPT_H.
82836 2009-08-12  Bruno Haible  <bruno@clisp.org>
82838         * m4/getopt.m4: Add comments.
82840 2009-08-12  Bruno Haible  <bruno@clisp.org>
82842         Disable multithread support by default on Cygwin 1.5.x.
82843         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
82844         set gl_use_threads=no if not specified otherwise.
82846 2009-08-11  Bruno Haible  <bruno@clisp.org>
82848         Avoid compilation error on NetBSD 5.0.
82849         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
82850         * tests/test-stdio.c: Likewise.
82851         * tests/test-stdlib.c: Likewise.
82852         * tests/test-string.c: Likewise.
82853         * tests/test-unistd.c: Likewise.
82854         Reported by Greg Troxel <gdt@ir.bbn.com>
82855         at <https://savannah.gnu.org/support/?106973>.
82857 2009-08-11  Bruno Haible  <bruno@clisp.org>
82859         * modules/dup2-tests (Depends-on): Remove close.
82861         Undo 2009-07-19 commit.
82862         * modules/acl-tests (Depends-on): Remove close.
82863         * modules/binary-io-tests (Depends-on): Likewise.
82864         * modules/closein-tests (Depends-on): Likewise.
82865         * modules/flock-tests (Depends-on): Likewise.
82866         * modules/fsync-tests (Depends-on): Likewise.
82867         * modules/lseek-tests (Depends-on): Likewise.
82868         * modules/pipe-tests (Depends-on): Likewise.
82869         * modules/posix_spawn-tests (Depends-on): Likewise.
82870         * modules/posix_spawnp-tests (Depends-on): Likewise.
82871         * modules/stat-time-tests (Depends-on): Likewise.
82872         * modules/yesno-tests (Depends-on): Likewise.
82874 2009-08-10  Bruno Haible  <bruno@clisp.org>
82876         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
82878 2009-08-10  Bruno Haible  <bruno@clisp.org>
82880         Fix a gcc warning.
82881         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
82883 2009-08-10  Bruno Haible  <bruno@clisp.org>
82885         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
82886         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
82887         not only the first time.
82888         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
82889         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
82890         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
82891         is 1, not only the first time.
82893 2009-08-10  Bruno Haible  <bruno@clisp.org>
82895         Make it possible to use module 'gethostname' without module 'close'.
82896         * lib/unistd.in.h (close): Evoke a link error only if
82897         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
82898         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
82899         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82900         * modules/unistd (Makefile.am): Substitute
82901         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82902         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
82903         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
82904         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
82905         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82906         * modules/sys_ioctl (Makefile.am): Substitute
82907         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82908         * modules/socket (configure.ac): On native Windows, set
82909         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
82910         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82911         Reported by Sam Steingold <sds@gnu.org>.
82913 2009-08-10  Bruno Haible  <bruno@clisp.org>
82915         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
82916         * modules/ioctl (configure.ac): Likewise.
82918 2009-08-10  Bruno Haible  <bruno@clisp.org>
82920         Avoid collision between gnulib wrapper and libintl wrapper.
82921         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
82922         already defined in intl/printf.c.
82923         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
82924         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
82926 2009-08-09  Bruno Haible  <bruno@clisp.org>
82928         Make <sys/select.h> really self-contained, also on Solaris 10.
82929         * lib/sys_select.in.h: Include <string.h>.
82930         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
82931         Solaris 10 problem.
82932         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
82933         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
82934         Reported by Jim Meyering.
82936 2009-08-09  Bruno Haible  <bruno@clisp.org>
82938         Avoid warnings from 'aclocal' that are due to a use of macro name
82939         AM_XGETTEXT_OPTION that is not defined in automake.
82940         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
82941         automake.
82942         * modules/error (configure.ac): Likewise.
82943         * modules/propername (configure.ac): Likewise.
82944         * modules/vasprintf (configure.ac): Likewise.
82945         * modules/verror (configure.ac): Likewise.
82946         * modules/xprintf (configure.ac): Likewise.
82947         * modules/xvasprintf (configure.ac): Likewise.
82949 2009-08-08  Bruno Haible  <bruno@clisp.org>
82951         Avoid compilation error in C++ mode.
82952         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
82953         Reported by Sam Steingold <sds@gnu.org>.
82955 2009-08-08  Bruno Haible  <bruno@clisp.org>
82957         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
82958         for the various Unix platforms.
82959         * doc/posix-headers/limits.texi: Update platforms list regarding
82960         HOST_NAME_MAX.
82961         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
82963 2009-08-07  Jim Meyering  <meyering@redhat.com>
82965         selinux-at: fix typo in a comment
82966         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
82967         Spotted by Paolo Bonzini.
82969         selinux-at: remove redundant m4 code, add documentation
82970         * modules/selinux-at (configure.ac): Remove redundant code.
82971         LIB_SELINUX is already set via the dependent module, selinux-h.
82972         (Include): Add quotes around selinux-at.h.
82973         * lib/selinux-at.h: Add documentation.
82974         Reported by Bruno Haible in
82975         http://marc.info/?l=gnulib-bug&m=124958988300749
82977 2009-08-07  Bruno Haible  <bruno@clisp.org>
82979         Avoid link error on MacOS X 10.3 and 10.4.
82980         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
82981         on non-ELF systems.
82982         * lib/argp-pv.c (argp_program_version): Likewise.
82983         Reported by Simon Josefsson.
82985 2009-08-07  Simon Josefsson  <simon@josefsson.org>
82987         * tests/test-version-etc.sh: Use $EXEEXT.
82989 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
82991         update-copyright: update documentation to point to maint.mk
82992         * build-aux/update-copyright: Here.
82994 2009-08-06  Jim Meyering  <meyering@redhat.com>
82996         maint.mk: support update-copyright-local
82997         * top/maint.mk (update-copyright-local): Define place-holder.
82998         (update-copyright): Depend on $(update-copyright-local).
83000 2009-08-06  Jim Meyering  <meyering@redhat.com>
83002         selinux-at: new module
83003         Initially written for coreutils, this module will soon be
83004         used by findutils, too.
83005         * MODULES.html.sh [Misc]: Add selinux-at.
83006         * lib/selinux-at.h: New file, from coreutils.
83007         * lib/selinux-at.c: Likewise.
83008         * modules/selinux-at: Likewise.
83009         (License): Change from LGPL to GPL, since it depends
83010         on the GPL'd openat module.
83012         doc: update README
83013         * README: Remove references to cogito.
83014         Remove cvs-repo-updating instructions from 2007.
83015         Don't imply that CVS is better if you have limited disk space.
83017 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
83019         update-copyright: support C-style comments
83020         * build-aux/update-copyright: Implement and document.
83021         * tests/test-update-copyright.sh: Test.
83023 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
83025         update-copyright: support omitted "(C)"
83026         * build-aux/update-copyright: Implement and document.  Also,
83027         allow variable whitespace before "(C)".
83028         * tests/test-update-copyright.sh: Test.
83030 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
83032         update-copyright: don't trip on non-FSF copyright statements
83033         * build-aux/update-copyright: Fix so that the first correctly
83034         formatted FSF copyright statement is recognized no matter what
83035         appears before it.  Update documentation.
83036         * tests/test-update-copyright.sh: Test that.
83038 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
83040         update-copyright: clean up code a little
83041         * build-aux/update-copyright: Append "_re" to the name of any
83042         variable holding a regular expression.
83043         Replace "old" and "new" with "stmt" in variable names.
83044         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
83045         handled correctly.
83046         Format code more consistently.
83048 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
83050         update-copyright-tests: improve portability
83051         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
83052         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
83054 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
83056         update-copyright: support @copyright{} and &copy;
83057         * build-aux/update-copyright: Implement and document.
83058         * tests/test-update-copyright.sh: Test.
83060 2009-08-04  Jim Meyering  <meyering@redhat.com>
83062         update-copyright-tests: correctly test EOL=\r\n handling
83063         * tests/test-update-copyright.sh: Put \r at the end of some lines
83064         for the dos-eol tests.  Based on a patch by Joel E. Denny.
83066         maint.mk: make update-copyright exclusion list more configurable
83067         * top/maint.mk (update-copyright): Default to excluding COPYING,
83068         but allow an override, in case someone does want to update that file.
83070         maint.mk: don't update copyright date in COPYING
83071         * top/maint.mk (update-copyright): Exclude COPYING.
83073         maint.mk: add a copyright-updating rule
83074         * top/maint.mk (update-copyright): New rule.
83075         Derived from coreutils/Makefile.am.
83077         update-copyright: rename some variables
83078         * build-aux/update-copyright: Rename a few variables for clarity.
83079         Tweak syntax.  List Joel E. Denny as coauthor.
83081 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
83083         update-copyright: fix bug for 2-digit last year and add tests
83084         * build-aux/update-copyright: Fix bug.
83085         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
83086         specified.
83087         * modules/update-copyright-tests: New
83088         * tests/test-update-copyright.sh: New.
83090 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
83092         update-copyright: handle leading tabs in line prefix
83093         * build-aux/update-copyright: Count leading tabs as 8 spaces
83094         when computing margin.  This helps with the formatting of
83095         ChangeLogs, for example.
83096         Fix documentation a little.
83098 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
83100         update-copyright: support EOL=\r\n
83101         * build-aux/update-copyright: Implement that.
83103 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
83105         update-copyright: automatically format copyright statements
83106         * build-aux/update-copyright: Implement that.
83107         Also, be a little more predictable and safer by always failing
83108         when the full copyright format is not perfectly recognized as an
83109         unbroken whole.  Discussed at
83110         <http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
83111         Rewrite documentation.
83113 2009-08-03  Bruno Haible  <bruno@clisp.org>
83115         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
83117 2009-08-02  Bruno Haible  <bruno@clisp.org>
83119         Tests for module 'uname'.
83120         * modules/uname-tests: New file.
83121         * tests/test-uname.c: New file.
83123         New module 'uname'.
83124         * lib/uname.c: New file.
83125         * m4/uname.m4: New file.
83126         * modules/uname: New file.
83127         * doc/posix-functions/uname.texi: Mention the new module.
83129 2009-08-02  Bruno Haible  <bruno@clisp.org>
83131         Tests for module 'sys_utsname'.
83132         * modules/sys_utsname-tests: New file.
83133         * tests/test-sys_utsname.c: New file.
83135         New module 'sys_utsname'.
83136         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
83137         * m4/sys_utsname_h.m4: New file.
83138         * modules/sys_utsname: New file.
83139         * doc/posix-headers/sys_utsname.texi: Mention the new module.
83141 2009-08-02  Bruno Haible  <bruno@clisp.org>
83143         Implicitly initialize the sockets library.
83144         * lib/gethostname.c: Include sockets.h.
83145         (rpl_gethostname): Invoke gl_sockets_startup.
83146         * lib/socket.c: Include sockets.h.
83147         (rpl_socket): Invoke gl_sockets_startup.
83148         * modules/gethostname (Depends-on): Add sockets.
83149         * modules/socket (Depends-on): Likewise.
83150         * tests/test-poll.c: Don't include sockets.h.
83151         (main): Don't invoke gl_sockets_startup.
83152         * tests/test-select.c: Don't include sockets.h.
83153         (main): Don't invoke gl_sockets_startup.
83155 2009-08-02  Bruno Haible  <bruno@clisp.org>
83157         Allow multiple calls to gl_sockets_startup.
83158         * lib/sockets.c (initialized_sockets_version): New variable.
83159         (gl_sockets_startup): Do nothing if already called for this or a higher
83160         version.
83161         (gl_sockets_cleanup): Reset initialized_sockets_version.
83163 2009-08-03  Simon Josefsson  <simon@josefsson.org>
83165         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
83166         different project/version.
83168 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
83169             Bruno Haible  <bruno@clisp.org>
83171         Tests for module 'pipe-filter-gi'.
83172         * modules/pipe-filter-gi-tests: New file.
83173         * tests/test-pipe-filter-gi1.sh: New file.
83174         * tests/test-pipe-filter-gi1.c: New file.
83175         * tests/test-pipe-filter-gi2.sh: New file.
83176         * tests/test-pipe-filter-gi2-main.c: New file.
83177         * tests/test-pipe-filter-gi2-child.c: New file.
83179         New module 'pipe-filter-gi'.
83180         * lib/pipe-filter-gi.c: New file.
83181         * modules/pipe-filter-gi: New file.
83183 2009-08-02  Bruno Haible  <bruno@clisp.org>
83184             Paolo Bonzini  <bonzini@gnu.org>
83186         Tests for module 'pipe-filter-ii'.
83187         * modules/pipe-filter-ii-tests: New file.
83188         * tests/test-pipe-filter-ii1.sh: New file.
83189         * tests/test-pipe-filter-ii1.c: New file.
83190         * tests/test-pipe-filter-ii2.sh: New file.
83191         * tests/test-pipe-filter-ii2-main.c: New file.
83192         * tests/test-pipe-filter-ii2-child.c: New file.
83194         New module 'pipe-filter-ii'.
83195         * lib/pipe-filter.h: New file.
83196         * lib/pipe-filter-ii.c: New file.
83197         * lib/pipe-filter-aux.h: New file.
83198         * modules/pipe-filter-ii: New file.
83200 2009-08-02  Simon Josefsson  <simon@josefsson.org>
83202         * lib/gc-libgcrypt.c: Change copyright to FSF.
83203         * lib/gc-gnulib.c: Likewise.
83205 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
83207         * lib/gethostname.c: Include limits.h.
83209 2009-08-02  Simon Josefsson  <simon@josefsson.org>
83210             Bruno Haible  <bruno@clisp.org>
83212         Ensure HOST_NAME_MAX as part of the gethostname module.
83213         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
83214         define also HOST_NAME_MAX.
83215         * tests/test-gethostname.c: Include <limits.h>.
83216         (main): Check also HOST_NAME_MAX.
83217         * doc/posix-headers/limits.texi: Document the mingw problem.
83219 2009-08-02  Bruno Haible  <bruno@clisp.org>
83221         * lib/gethostname.c (gethostname): Fix handling of large len argument.
83222         Add comments.
83224 2009-03-31  Simon Josefsson  <simon@josefsson.org>
83226         * lib/gethostname.c: Add Windows wrapper.
83227         * m4/gethostname.m4: Look for gethostname in -lws2_32.
83228         * modules/gethostname: Depend on sys_socket & errno, for also
83229         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
83230         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
83232 2009-07-31  Jim Meyering  <meyering@redhat.com>
83234         getloadavg: fix symbol name in comment
83235         * lib/getloadavg.c: Correct a typo I introduced when adding
83236         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
83237         Matt Kraai spotted the problem.
83239 2009-07-29  Matt Kraai  <mkraai@beckman.com>
83241         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
83242         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
83243         code also if ! defined N_NAME_POINTER.
83244         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
83245         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
83246         but the n_name member is a 12-byte array.
83248 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
83250         update-copyright: generalize comment handling
83251         * build-aux/update-copyright: Handle copyright statements
83252         within more comment styles.
83253         Document usage.
83254         Report any file with an external copyright holder or parse failure.
83256 2009-07-29  Jim Meyering  <meyering@redhat.com>
83258         mktime: correct setting of REPLACE_MKTIME
83259         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
83261         update-copyright: new module
83262         * modules/update-copyright: New file.
83263         * build-aux/update-copyright: New file.
83264         * MODULES.html.sh (maint+release support): Add update-copyright.
83266 2009-07-27  Bruno Haible  <bruno@clisp.org>
83268         Fix compilation error when <ctime> is used and mktime is replaced.
83269         * lib/time.in.h (mktime): New declaration.
83270         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
83271         REPLACE_MKTIME instead of defining mktime in config.h.
83272         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
83273         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
83274         Reported by Ross McFarland <rwmcfa1@neces.com>.
83276 2009-07-27  Bruno Haible  <bruno@clisp.org>
83278         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
83279         Reported by Matt Kraai <mkraai@beckman.com>.
83281 2009-07-25  Jim Meyering  <meyering@redhat.com>
83283         maint.mk: avoid warnings about missing files
83284         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
83285         diagnostic when .prev-version does not exist.
83286         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
83287         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
83288         nonexistent cfg.mk.
83289         Suggestions from Simon Josefsson.
83291 2009-07-25  Bruno Haible  <bruno@clisp.org>
83293         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
83294         defined as macros. Needed on QNX 6.4.1.
83295         Reported by Matt Kraai <mkraai@beckman.com>.
83297 2009-07-23  Jim Meyering  <meyering@redhat.com>
83299         maint.mk: invoke "make dist" with a working value of XZ_OPT
83300         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
83302 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
83304         Make fseeko.c compile on QNX.
83305         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
83307 2009-07-22  Peter Simons  <simons@cryp.to>
83309         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
83310         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
83311         * lib/md4.h: Likewise.
83312         * lib/md5.h: Likewise.
83313         * lib/sha1.h: Likewise.
83314         * lib/sha256.h: Likewise.
83315         * lib/sha512.h: Likewise.
83317         tests-sha1: don't assign literal string to 'char *' variable
83318         * tests/test-sha1.c (main): Declare locals with "const" to match
83319         attributes of the right hand side.
83321 2009-07-21  Eric Blake  <ebb9@byu.net>
83323         dup2: fix more mingw problems
83324         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
83325         fd to itself.
83326         * doc/posix-functions/dup2.texi (dup2): Document the bug.
83327         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
83328         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
83329         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
83330         care of mingw bugs.
83332 2009-07-21  Jim Meyering  <meyering@redhat.com>
83334         vc-list-files: avoid failure when /bin/sh is dash
83335         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
83336         On some Debian based systems, /bin/sh is a symlink to dash, and running
83337         this command would omit the "/" following each 'tests' prefix:
83338           dash -x build-aux/vc-list-files -C . tests
83339         That is because bash and dash work differently:
83340           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
83341           bash ok
83342           dash odd
83344 2009-07-21  Eric Blake  <ebb9@byu.net>
83346         dup2-tests: test previous patch
83347         * modules/dup2-tests: New file.
83348         * tests/test-dup2.c: Likewise.
83349         * tests/test-open.c (main): Avoid unspecified behavior.
83350         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
83351         test.
83353         dup2: work around mingw and cygwin 1.5 bug
83354         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
83355         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
83356         * modules/unistd (Makefile.am): Substitute it.
83357         * lib/unistd.in.h (dup2): Declare the replacement.
83358         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
83359         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
83360         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
83361         * modules/execute (Depends-on): Add dup2.
83362         * modules/fseterr (Depends-on): Likewise.
83363         * modules/pipe (Depends-on): Likewise.
83364         * modules/posix_spawn-internal (Depends-on): Likewise.
83366 2009-07-21  Bruno Haible  <bruno@clisp.org>
83368         * modules/.gitattributes: New file.
83370 2009-07-20  Bruno Haible  <bruno@clisp.org>
83372         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
83373         (main): Use it.
83375 2009-07-20  Eric Blake  <ebb9@byu.net>
83377         test-pipe: make a bit more robust.
83378         * tests/test-pipe.c (myerr): Allow error messages regardless of
83379         what we do to stderr.
83380         (test_pipe): Rearrange to avoid deadlock.
83381         (child_main): Try a larger read, to ensure we avoided deadlock.
83382         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
83383         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
83384         if misused.
83386 2009-07-19  Jim Meyering  <meyering@redhat.com>
83388         fts: avoid false-positive cycle-detection
83389         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
83390         for each new command line argument.
83392 2009-07-19  Bruno Haible  <bruno@clisp.org>
83394         Fix build error on mingw with the modules sys_select and unistd.
83395         * modules/acl-tests (Depends-on): Add close.
83396         * modules/binary-io-tests (Depends-on): Likewise.
83397         * modules/closein-tests (Depends-on): Likewise.
83398         * modules/flock-tests (Depends-on): Likewise.
83399         * modules/fsync-tests (Depends-on): Likewise.
83400         * modules/lseek-tests (Depends-on): Likewise.
83401         * modules/pipe-tests (Depends-on): Likewise.
83402         * modules/posix_spawn-tests (Depends-on): Likewise.
83403         * modules/posix_spawnp-tests (Depends-on): Likewise.
83404         * modules/stat-time-tests (Depends-on): Likewise.
83405         * modules/yesno-tests (Depends-on): Likewise.
83407 2009-07-19  Bruno Haible  <bruno@clisp.org>
83409         Unify conditionals.
83410         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
83411         macros, not at the compiler macros.
83412         * lib/pipe.c: Likewise.
83413         * lib/execute.c: Likewise.
83414         * lib/spawni.c: Likewise.
83416 2009-07-19  Bruno Haible  <bruno@clisp.org>
83418         Fix handling of closed stdin/stdout/stderr on mingw.
83419         * lib/w32spawn.h: Include unistd.h.
83420         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
83421         file descriptor with O_NOINHERIT flag.
83422         (fd_safer_noinherit): New function, based on fd-safer.c.
83423         (dup_safer_noinherit): New function, based on dup-safer.c.
83424         (undup_safer_noinherit): New function.
83425         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
83426         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
83427         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
83428         instead of fd_safer.
83429         * tests/test-pipe.c: Include <windows.h>.
83430         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
83431         result.
83433         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
83434         from main.
83435         (test_pipe): Pass an extra argument for disambiguation.
83436         (main): Invoke parent_main or child_main.
83438         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
83439         consistently.
83441 2009-07-18  Eric Blake  <ebb9@byu.net>
83443         test-pipe: fix mingw build
83444         * tests/test-pipe.c (main): Avoid fcntl on mingw.
83446 2009-07-18  Bruno Haible  <bruno@clisp.org>
83448         * modules/pipe-tests (Makefile.am): Fix typo.
83450 2009-07-18  Eric Blake  <ebb9@byu.net>
83452         error: fix mingw build
83453         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
83454         Reported by Bruno Haible.
83456         error: avoid undefined use of stdout
83457         * lib/error.c (error, error_at_line): Check that fd 1 is open
83458         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
83459         is handling faults and the close_stdout module wants to report the
83460         detection of closed stdout as an error.
83462 2009-07-17  Eric Blake  <ebb9@byu.net>
83464         pipe: be robust in face of closed fds
83465         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
83466         should cause child to misbehave.
83467         * modules/pipe-tests: New module.
83468         * tests/test-pipe.c: New file.
83469         * tests/test-pipe.sh: New file.
83470         Reported by Akim Demaille.
83472 2009-07-14  Bruno Haible  <bruno@clisp.org>
83474         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
83475         Reported by anonymous kc.
83477 2009-07-07  Jim Meyering  <meyering@redhat.com>
83479         maint.mk: don't look for translatable strings in *.m4 or *.mk
83480         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
83481         when searching for translatable strings.
83483 2009-07-05  Jim Meyering  <meyering@redhat.com>
83485         remove superfluous parentheses in STREQ definition
83486         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
83487         * lib/getugroups.c (STREQ): Likewise.
83488         * lib/fnmatch.c (STREQ): Likewise.
83489         Spotted by Bruno Haible.
83491 2009-07-04  Jim Meyering  <meyering@redhat.com>
83493         argv-iter: new module
83494         * MODULES.html.sh: Add argv-iter.
83495         * lib/argv-iter.c, lib/argv-iter.h: New files.
83496         * modules/argv-iter: New file.
83497         * modules/argv-iter-tests: New file.
83498         * tests/test-argv-iter.c: Test it.
83500 2009-07-04  Bruno Haible  <bruno@clisp.org>
83502         Fix assertion.
83503         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
83504         contains more exact copies of a given entry than file2, leave the extra
83505         copies unpaired rather than aborting.
83506         Reported by Eric Blake.
83508 2009-07-02  Bruno Haible  <bruno@clisp.org>
83510         Speedup git-merge-changelog for git cherry-pick.
83511         * lib/git-merge-changelog.c (struct entries_mapping): New type.
83512         (entries_mapping_get): New function, extracted from compute_mapping.
83513         (entries_mapping_reverse_get): New function.
83514         (compute_mapping): Add a 'full' argument. Return the result in a
83515         'struct entries_mapping'.
83516         (main): Update. Access the mappings through entries_mapping_get.
83517         Reported by Eric Blake.
83519 2009-07-02  Bruno Haible  <bruno@clisp.org>
83521         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
83522         best_i.
83524 2009-07-02  Bruno Haible  <bruno@clisp.org>
83526         Speed up approximate search for matching ChangeLog entries.
83527         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
83528         argument. Call fstrcmp_bounded instead of fstrcmp.
83529         (compute_mapping, try_split_merged_entry, main): Update callers.
83531 2009-07-02  Bruno Haible  <bruno@clisp.org>
83533         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
83535 2009-06-30  Bruno Haible  <bruno@clisp.org>
83537         Reduce the number of uc_is_cased calls.
83538         * lib/unicase.h (casing_suffix_context_t): Add
83539         'first_char_except_ignorable' field.
83540         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
83541         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
83542         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
83543         Update initializer.
83544         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
83545         case-ignorable characters.
83546         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
83547         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
83548         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
83549         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
83550         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
83552 2009-06-30  Bruno Haible  <bruno@clisp.org>
83554         Tests for module 'unicase/ignorable'.
83555         * modules/unicase/ignorable-tests: New file.
83556         * tests/unicase/test-ignorable.c: New file, generated by
83557         gen-uni-tables.
83559         Tests for module 'unicase/cased'.
83560         * modules/unicase/cased-tests: New file.
83561         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
83562         * tests/unicase/test-predicate-part1.h: New file, derived from
83563         tests/unictype/test-predicate-part1.h.
83564         * tests/unicase/test-predicate-part2.h: New file, same as
83565         tests/unictype/test-predicate-part2.h.
83567         Fix evaluation of "Before C" condition of FINAL_SIGMA.
83568         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
83569         (output_casing_properties): New function.
83570         (main): Call it.
83571         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
83572         * lib/unicase/cased.c: Include unictype/bitmap.h.
83573         (uc_is_cased): Define through a bitmap lookup.
83574         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
83575         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
83576         (uc_is_case_ignorable): Define through a bitmap lookup.
83577         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
83578         lib/unictype/bitmap.h.
83579         (Depends-on): Add inline. Clean up.
83580         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
83581         lib/unictype/bitmap.h.
83582         (Depends-on): Add inline. Clean up.
83583         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
83584         recognition.
83585         * tests/unicase/test-u16-tolower.c (main): Likewise.
83586         * tests/unicase/test-u32-tolower.c (main): Likewise.
83588 2009-06-30  Bruno Haible  <bruno@clisp.org>
83590         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
83591         * lib/unicase/u16-casemap.c: Likewise.
83592         * lib/unicase/u32-casemap.c: Likewise.
83594 2009-06-29  Bruno Haible  <bruno@clisp.org>
83596         Define u32_casefold as a wrapper around u32_ct_casefold.
83597         * lib/unicase/u32-casefold.c: Update.
83598         * modules/unicase/u32-casefold (Depends-on): Add
83599         unicase/u32-ct-casefold, unicase/empty-prefix-context,
83600         unicase/empty-suffix-context. Clean up.
83602         Define u16_casefold as a wrapper around u16_ct_casefold.
83603         * lib/unicase/u16-casefold.c: Update.
83604         * modules/unicase/u16-casefold (Depends-on): Add
83605         unicase/u16-ct-casefold, unicase/empty-prefix-context,
83606         unicase/empty-suffix-context. Clean up.
83608         Define u8_casefold as a wrapper around u8_ct_casefold.
83609         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
83610         * lib/unicase/u8-casefold.c: Update.
83611         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
83612         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83614         Define u32_totitle as a wrapper around u32_ct_totitle.
83615         * lib/unicase/u32-totitle.c: Update.
83616         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
83617         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83619         Define u16_totitle as a wrapper around u16_ct_totitle.
83620         * lib/unicase/u16-totitle.c: Update.
83621         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
83622         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83624         Define u8_totitle as a wrapper around u8_ct_totitle.
83625         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
83626         functions.
83627         (FUNC): Delegate to U_CT_TOTITLE.
83628         * lib/unicase/u8-totitle.c: Update.
83629         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
83630         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83632         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
83633         invocation.
83634         * modules/unicase/u32-tolower (Depends-on): Add
83635         unicase/empty-prefix-context, unicase/empty-suffix-context.
83637         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
83638         invocation.
83639         * modules/unicase/u16-tolower (Depends-on): Add
83640         unicase/empty-prefix-context, unicase/empty-suffix-context.
83642         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
83643         * modules/unicase/u8-tolower (Depends-on): Add
83644         unicase/empty-prefix-context, unicase/empty-suffix-context.
83646         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
83647         invocation.
83648         * modules/unicase/u32-toupper (Depends-on): Add
83649         unicase/empty-prefix-context, unicase/empty-suffix-context.
83651         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
83652         invocation.
83653         * modules/unicase/u16-toupper (Depends-on): Add
83654         unicase/empty-prefix-context, unicase/empty-suffix-context.
83656         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
83657         * modules/unicase/u8-toupper (Depends-on): Add
83658         unicase/empty-prefix-context, unicase/empty-suffix-context.
83660         New module 'unicase/u32-ct-casefold'.
83661         * lib/unicase/u32-ct-casefold.c: New file.
83662         * modules/unicase/u32-ct-casefold: New file.
83664         New module 'unicase/u16-ct-casefold'.
83665         * lib/unicase/u16-ct-casefold.c: New file.
83666         * modules/unicase/u16-ct-casefold: New file.
83668         New module 'unicase/u8-ct-casefold'.
83669         * lib/unicase/u8-ct-casefold.c: New file.
83670         * lib/unicase/u-ct-casefold.h: New file, derived from
83671         lib/unicase/u-casefold.h.
83672         * modules/unicase/u8-ct-casefold: New file.
83674         New module 'unicase/u32-ct-totitle'.
83675         * lib/unicase/u32-ct-totitle.c: New file.
83676         * modules/unicase/u32-ct-totitle: New file.
83678         New module 'unicase/u16-ct-totitle'.
83679         * lib/unicase/u16-ct-totitle.c: New file.
83680         * modules/unicase/u16-ct-totitle: New file.
83682         New module 'unicase/u8-ct-totitle'.
83683         * lib/unicase/u8-ct-totitle.c: New file.
83684         * lib/unicase/u-ct-totitle.h: New file, derived from
83685         lib/unicase/u-totitle.h.
83686         * modules/unicase/u8-ct-totitle: New file.
83688         New module 'unicase/u32-ct-tolower'.
83689         * lib/unicase/u32-ct-tolower.c: New file.
83690         * modules/unicase/u32-ct-tolower: New file.
83692         New module 'unicase/u16-ct-tolower'.
83693         * lib/unicase/u16-ct-tolower.c: New file.
83694         * modules/unicase/u16-ct-tolower: New file.
83696         New module 'unicase/u8-ct-tolower'.
83697         * lib/unicase/u8-ct-tolower.c: New file.
83698         * modules/unicase/u8-ct-tolower: New file.
83700         New module 'unicase/u32-ct-toupper'.
83701         * lib/unicase/u32-ct-toupper.c: New file.
83702         * modules/unicase/u32-ct-toupper: New file.
83704         New module 'unicase/u16-ct-toupper'.
83705         * lib/unicase/u16-ct-toupper.c: New file.
83706         * modules/unicase/u16-ct-toupper: New file.
83708         New module 'unicase/u8-ct-toupper'.
83709         * lib/unicase/u8-ct-toupper.c: New file.
83710         * modules/unicase/u8-ct-toupper: New file.
83712         Add context arguments to u*_casemap functions.
83713         * lib/unicase/unicasemap.h: Include unicase.h.
83714         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
83715         suffix_context arguments.
83716         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
83717         functions.
83718         (FUNC): Add prefix_context and suffix_context arguments. Use
83719         uc_is_cased and uc_is_case_ignorable.
83720         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
83721         * lib/unicase/u16-casemap.c: Likewise.
83722         * lib/unicase/u32-casemap.c: Likewise.
83723         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
83724         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
83725         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
83726         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
83727         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
83728         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
83730         New module 'unicase/u32-suffix-context'.
83731         * lib/unicase/u32-suffix-context.c: New file.
83732         * modules/unicase/u32-suffix-context: New file.
83734         New module 'unicase/u16-suffix-context'.
83735         * lib/unicase/u16-suffix-context.c: New file.
83736         * modules/unicase/u16-suffix-context: New file.
83738         New module 'unicase/u8-suffix-context'.
83739         * lib/unicase/u8-suffix-context.c: New file.
83740         * lib/unicase/u-suffix-context.h: New file.
83741         * modules/unicase/u8-suffix-context: New file.
83743         New module 'unicase/empty-suffix-context'.
83744         * lib/unicase/empty-suffix-context.c: New file.
83745         * modules/unicase/empty-suffix-context: New file.
83747         New module 'unicase/u32-prefix-context'.
83748         * lib/unicase/u32-prefix-context.c: New file.
83749         * modules/unicase/u32-prefix-context: New file.
83751         New module 'unicase/u16-prefix-context'.
83752         * lib/unicase/u16-prefix-context.c: New file.
83753         * modules/unicase/u16-prefix-context: New file.
83755         New module 'unicase/u8-prefix-context'.
83756         * lib/unicase/u8-prefix-context.c: New file.
83757         * lib/unicase/u-prefix-context.h: New file.
83758         * lib/unicase/context.h: New file.
83759         * modules/unicase/u8-prefix-context: New file.
83761         New module 'unicase/empty-prefix-context'.
83762         * lib/unicase/empty-prefix-context.c: New file.
83763         * modules/unicase/empty-prefix-context: New file.
83765         New module 'unicase/ignorable'.
83766         * lib/unicase/ignorable.c: New file.
83767         * modules/unicase/ignorable: New file.
83769         New module 'unicase/cased'.
83770         * lib/unicase/caseprop.h: New file.
83771         * lib/unicase/cased.c: New file.
83772         * modules/unicase/cased: New file.
83774         New functions for case mapping of substrings.
83775         * lib/unicase.h (casing_prefix_context_t): New type.
83776         (unicase_empty_prefix_context): New variable.
83777         (u8_casing_prefix_context, u16_casing_prefix_context,
83778         u32_casing_prefix_context, u8_casing_prefixes_context,
83779         u16_casing_prefixes_context, u32_casing_prefixes_context): New
83780         declarations.
83781         (casing_suffix_context_t): New type.
83782         (unicase_empty_suffix_context): New variable.
83783         (u8_casing_suffix_context, u16_casing_suffix_context,
83784         u32_casing_suffix_context, u8_casing_suffixes_context,
83785         u16_casing_suffixes_context, u32_casing_suffixes_context,
83786         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
83787         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
83788         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
83789         declarations.
83791 2009-06-28  Jim Meyering  <meyering@redhat.com>
83793         boostrap: indent only with spaces
83794         * build-aux/bootstrap: Indent only with spaces, never TABs.
83796         bootstrap: split long lines
83797         * build-aux/bootstrap: Keep line length < 80.
83799         bootstrap: sync from coreutils
83800         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
83801         just as autoreconf does.  Verify a list of prerequisite
83802         package-name,version-number pairs if defined in bootstrap.conf.
83803         Refer to README-prereq, if prerequisites are not satisfied.
83805 2009-06-27  Eric Blake  <ebb9@byu.net>
83807         tests: add test for bogus NULL definition
83808         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
83809         * tests/test-stdlib.c: Likewise.
83810         * tests/test-string.c: Likewise.
83811         * tests/test-locale.c: Likewise.
83812         * tests/test-unistd.c: Likewise.
83813         * modules/stdio-tests (Depends-on): Add verify.
83814         * modules/stdlib-tests (Depends-on): Likewise.
83815         * modules/string-tests (Depends-on): Likewise.
83816         * modules/locale-tests (Depends-on): Likewise.
83817         * modules/unistd-tests (Depends-on): Likewise.
83819 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
83821         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
83822         self-explaining comment.
83823         * m4/selinux-selinux-h: Update serial.
83824         (gl_LIBSELINUX): New macro, adding a warning for missing development
83825         packages to code extracted from...
83826         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
83827         Add warning for missing development packages here, too.
83829 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
83831         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
83833 2009-06-25  Eric Blake  <ebb9@byu.net>
83835         version-etc: fix regression
83836         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
83837         gcc.
83838         (version_etc): Use it, to catch bugs with trailing NULL.
83839         * lib/version-etc.c (version_etc_arn): Delete unused argument.
83840         (version_etc_va): Fix logic bug.
83841         * modules/version-etc-tests: Add test.
83842         * tests/test-version-etc.c: New file.
83843         * tests/test-version-etc.sh: Likewise.
83845 2009-06-25  Sam Steingold  <sds@gnu.org>
83847         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
83848         mbtowc declaration.
83850 2009-06-25  Eric Blake  <ebb9@byu.net>
83852         fpurge: migrate into <stdio.h>
83853         * lib/fpurge.h: Delete...
83854         * lib/stdio.in.h (fpurge): ...and declare here, instead.
83855         * lib/fpurge.c (fpurge): Change declaring header.
83856         * modules/fpurge (Files): Drop deleted file.
83857         (Depends-on): Add stdio.
83858         (configure.ac): Set witness.
83859         * modules/stdio (Makefile.am): Support fpurge macros.
83860         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
83861         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
83862         * lib/fflush.c: Update client.
83863         * tests/test-fpurge.c: Likewise.
83864         * NEWS: Mention the change.
83866 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
83868         * lib/argp-version-etc.c (program_authors): Add const
83869         qualifier.
83870         * lib/version-etc.c: Fix typos in the comments.
83871         * modules/argp-version-etc: Depends on version-etc.
83873 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
83875         argp-version-etc: new module.
83877         * lib/argp-version-etc.c: New file.
83878         * lib/argp-version-etc.h: New file.
83879         * modules/argp-version-etc: New file.
83880         * modules/argp-version-etc-tests: New file.
83881         * tests/test-argp-version-etc.c: New test.
83882         * tests/test-argp-version-etc-1.sh: New test.
83884 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
83886         Provide additional interfaces and documentation for version-etc
83887         module.
83889         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
83890         interfaces.
83891         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
83892         prototypes.
83894 2009-06-24  Bruno Haible  <bruno@clisp.org>
83896         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
83897         HAVE_LIB${NAME} macro.
83898         Reported by Sam Steingold <sds@gnu.org>.
83900 2009-06-23  Simon Josefsson  <simon@josefsson.org>
83902         * modules/hash-tests (test_hash_LDADD): Link to libintl when
83903         needed.
83905 2009-06-21  Bruno Haible  <bruno@clisp.org>
83907         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
83908         work.
83909         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
83910         together with LIB${NAME}, LTLIB${NAME}.
83911         Reported by Sam Steingold <sds@gnu.org>.
83913 2009-06-20  Jim Meyering  <meyering@redhat.com>
83915         tests: make sc_require_test_exit_idiom more generic
83916         * top/maint.mk (Exit_witness_file): New overridable variable.
83917         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
83918         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
83920 2009-06-19  Jim Meyering  <meyering@redhat.com>
83922         hash: reverse order of src/dst parameters in an internal interface
83923         * lib/hash.c (transfer_entries): Reverse order of parameters to
83924         put DST before SRC.  Adjust callers.
83926         tests: test-hash: avoid wholesale duplication
83927         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
83928         Instead, use a loop and add a single conditional.
83930         tests: test-hash: allow seed selection via a command line argument
83931         * tests/test-hash.c (get_seed): New function.
83932         (main): Use it.
83934 2009-06-19  Eric Blake  <ebb9@byu.net>
83936         hash: avoid memory leak on allocation failure
83937         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
83938         failure.  Factor repeated algorithm...
83939         (transfer_entries): ...into new helper routine.
83940         (hash_delete): React to hash_rehash return value.
83942         hash: reduce memory pressure in hash_rehash no-op case
83943         * lib/hash.c (next_prime): Avoid overflow.
83944         (hash_initialize): Factor bucket size computation...
83945         (compute_bucket_size): ...into new helper function.
83946         (hash_rehash): Use new function and open coding to reduce memory
83947         pressure, and avoid a memory leak in USE_OBSTACK code.
83948         Reported by Jim Meyering.
83950 2009-06-18  Eric Blake  <ebb9@byu.net>
83952         hash: make rotation more obvious
83953         * modules/hash (Depends-on): Add bitrotate and stdint.
83954         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
83955         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
83956         (SIZE_MAX): Rely on headers for definition.
83957         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
83958         (raw_hasher): Use rotr_sz.
83959         Suggested by Jim Meyering.
83961         hash: fix memory leak in last patch
83962         * lib/hash.c (hash_rehash): Avoid memory leak.
83964         hash: avoid no-op rehashing
83965         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
83967         hash: provide default callback functions
83968         * lib/hash.c (raw_hasher, raw_comparator): New functions.
83969         (hash_initialize): Use them as defaults.
83970         * tests/test-hash.c (main): Test this.
83972         hash: minor optimization
83973         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
83974         when possible.
83975         (hash_initialize): Document this promise.
83976         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
83977         * tests/test-hash.c (hash_compare_strings): Test this.
83979 2009-06-18  Bruno Haible  <bruno@clisp.org>
83981         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
83982         going to be replaced anyway.
83984 2009-06-18  Bruno Haible  <bruno@clisp.org>
83986         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
83987         in one place.
83988         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
83989         be replaced anyway.
83991 2009-06-18  Eric Blake  <ebb9@byu.net>
83993         hash: check for resize before insertion
83994         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
83995         threshold before insertion, so that a pathological hash_rehash
83996         that fills every bucket can still trigger another rehash.
83998 2009-06-18  Jim Meyering  <meyering@redhat.com>
84000         hash-tests: add a loop around the small tests
84001         * tests/test-hash.c (main): Repeat small tests with selected
84002         small initial table sizes.
84004 2009-06-17  Eric Blake  <ebb9@byu.net>
84006         hash: minor cleanups
84007         * lib/hash.h (hash_entry): Make opaque, by moving...
84008         * lib/hash.c (hash_entry): ...here.
84009         (hash_insert): Clarify restrictions on what can be inserted.
84010         (hash_get_next): Clarify when it is safe to remove an element
84011         during traversal.
84012         (check_tuning): Skip verification when tuning is known safe.
84013         (hash_initialize): Clarify restrictions on tuning.
84015 2009-06-17  Jim Meyering  <jim@meyering.net>
84016         and Eric Blake  <ebb9@byu.net>
84018         hash-tests: new module
84019         * modules/hash-tests: New file.
84020         * tests/test-hash.c: New file.
84022 2009-06-17  Eric Blake  <ebb9@byu.net>
84024         strstr-simple: document new module
84025         * MODULES.html.sh: Document new module.
84027         strstr, strcasestr: replace on platforms with broken memchr
84028         * modules/strstr: Split into...
84029         * modules/strstr-simple: ...new module that does not care about
84030         performance, but does care about glibc bug.
84031         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
84032         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
84033         if platform memchr is broken, per Debian bug 521737.
84034         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
84035         memchr.
84036         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
84037         * doc/posix-functions/strstr.texi (strstr): Document the fix.
84038         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
84039         * modules/mountlist (Depends-on): Add strstr-simple.
84040         * modules/gen-uni-tables (Depends-on): Likewise.
84041         * modules/argz (Depends-on): Add strstr.
84043 2009-06-17  Bruno Haible  <bruno@clisp.org>
84045         * modules/posix_spawn-internal (Depends-on): Add errno.
84047 2009-06-17  Bruno Haible  <bruno@clisp.org>
84049         Define missing ESTALE on Interix 3.5.
84050         * lib/errno.in.h (ESTALE): Assign a value if missing.
84051         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
84052         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
84053         missing.
84054         * doc/posix-headers/errno.texi: Mention the Interix bug.
84055         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
84057 2009-06-15  Eric Blake  <ebb9@byu.net>
84059         memchr, memchr2: add valgrind exception
84060         * lib/memchr.valgrind: New file.
84061         * lib/memchr2.valgrind: New file.
84062         * modules/memchr (Files): Distribute valgrind file.
84063         * modules/memchr2 (Files): Likewise.
84065         docs: memchr is no longer obsolete
84066         * MODULES.html.sh: Move memchr from obsolete to string.h section.
84067         * lib/string.in.h (memchr): Simplify logic.
84069 2009-06-14  Jim Meyering  <meyering@redhat.com>
84071         link-follow: fix the "checking..." message to not mention trailing slash
84072         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
84073         never considered trailing slashes.
84075 2009-06-14  Bruno Haible  <bruno@clisp.org>
84077         * m4/memchr.m4: Mention also the bug on IA-64.
84078         * doc/posix-functions/memchr.texi: Likewise.
84080 2009-06-12  Eric Blake  <ebb9@byu.net>
84082         memchr: detect broken x86_64 and alpha implementations
84083         * modules/memchr-tests (Depends-on): Move mmap detection...
84084         * modules/memchr (Depends-on): ...here.
84085         (configure.ac): Set indicator.
84086         * lib/string.in.h (memchr): Declare replacement.
84087         * modules/string (Makefile.am): Trigger replacement.
84088         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
84089         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
84090         bugs.
84091         * doc/posix-functions/memchr.texi (memchr): Document the bug.
84092         * modules/getpagesize (License): Relax license.
84094 2009-06-11  Bruno Haible  <bruno@clisp.org>
84096         * lib/idpriv.h: Add more references.
84098 2009-06-08  Bruno Haible  <bruno@clisp.org>
84100         Tests for module 'idpriv-droptemp'.
84101         * modules/idpriv-droptemp-tests: New file.
84102         * tests/test-idpriv-droptemp.sh: New file.
84103         * tests/test-idpriv-droptemp.su.sh: New file.
84104         * tests/test-idpriv-droptemp.c: New file.
84106         New module 'idpriv-droptemp'.
84107         * lib/idpriv-droptemp.c: New file.
84108         * modules/idpriv-droptemp: New file.
84110 2009-06-08  Bruno Haible  <bruno@clisp.org>
84112         Tests for module 'idpriv-drop'.
84113         * modules/idpriv-drop-tests: New file.
84114         * tests/test-idpriv-drop.sh: New file.
84115         * tests/test-idpriv-drop.su.sh: New file.
84116         * tests/test-idpriv-drop.c: New file.
84118         New module 'idpriv-drop'.
84119         * lib/idpriv.h: New file.
84120         * lib-idpriv-drop.c: New file.
84121         * m4/idpriv.m4: New file.
84122         * modules/idpriv-drop: New file.
84124 2009-06-08  Bruno Haible  <bruno@clisp.org>
84126         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
84127         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
84128         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
84129         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
84130         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
84131         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
84132         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
84134 2009-06-08  Eric Blake  <ebb9@byu.net>
84136         test-strstr: use memory fence, when possible
84137         * tests/test-strstr.c (main): Use memory fence, in order to be
84138         more likely to trigger Debian bug 521737.
84139         * modules/strstr-tests (Files): Pull in additional files.
84141         memchr: no longer obsolete, for wider field testing
84142         * modules/memchr (Status, Notice): Delete, this module is no
84143         longer obsolete.
84144         * modules/vasnprintf (Depends-on): Add memchr.
84146 2009-06-07  Jim Meyering  <meyering@redhat.com>
84148         hash: declare some functions with the warn_unused_result attribute
84149         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
84151 2009-06-07  Bruno Haible  <bruno@clisp.org>
84153         * tests/test-alignof.c: Don't test int64_t if it does not exist.
84154         Reported by Eric Blake.
84156 2009-06-06  Eric Blake  <ebb9@byu.net>
84158         test-alignof: fix typo with long double
84159         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
84160         compiler error.
84162 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
84164         Escape non-texinfo { and }s.
84165         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
84166         markup error.
84168 2009-06-04  Jim Meyering  <meyering@redhat.com>
84170         gitlog-to-changelog: don't infloop on an empty commit log
84171         * build-aux/gitlog-to-changelog: Warn about an empty log message.
84172         Reported by Boris Petersen <transacid@centerim.org>.
84174 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
84176         version-etc: extend for packagers
84177         Add three new configure options, intended for packagers:
84178           --with-packager="packager name"
84179           --with-packager-version="packager-specific version"
84180           --with-packager-bug-reports="packager bug reporting"
84181         An example with coreutils:
84182           $ ./configure \
84183             --with-packager=Gentoo \
84184             --with-packager-bug-report=http://bugs.gentoo.org/ \
84185             --with-packager-version="patchset 1.6"
84186           $ ./src/ls --version | head -n2
84187           ls (GNU coreutils) 7.1-dirty
84188           Packaged by Gentoo (patchset 1.6)
84189         Note that the bug reporting info via --help doesn't show up because
84190         coreutils uses its own custom emit_bug_reporting_address() implementation
84191         in src/system.h.  If it didn't, it'd look like:
84192           $ ./src/ls --help | tail -n4
84193           Report bugs to <bug-coreutils@gnu.org>.
84194           Report Gentoo bugs to <http://bugs.gentoo.org/>.
84195           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
84196           General help using GNU software: <http://www.gnu.org/gethelp/>.
84197         * lib/version-etc.c: Print new information, if provided.
84198         * m4/version-etc.m4: New file.
84199         * modules/version-etc (Files): Add m4/version-etc.m4.
84200         (configure.ac): Add gl_VERSION_ETC.
84202 2009-05-31  Bruno Haible  <bruno@clisp.org>
84204         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
84205         and 'int64_t'.
84206         * modules/alignof-tests (Dependencies): Add stdint.
84207         Reported by Eric Blake.
84209 2009-05-31  Bruno Haible  <bruno@clisp.org>
84211         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
84212         restriction due to compiler bugs.
84213         Reported by Eric Blake.
84215 2009-05-31  Simon Josefsson  <simon@josefsson.org>
84216             Bruno Haible  <bruno@clisp.org>
84218         Fix test-alignof failure.
84219         * lib/alignof.h (alignof_slot): New macro.
84220         (alignof_type): New macro, with the same semantics as the previous
84221         'alignof'.
84222         (alignof): Alias to alignof_slot.
84223         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
84224         check that the results are usable as constant expressions.
84226 2009-05-31  Bruno Haible  <bruno@clisp.org>
84228         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
84229         * tests/test-memchr.c (main): Check that memchr does not read past the
84230         first occurrence of the byte.
84231         * tests/test-strstr.c (main): Update comment.
84232         Suggested by Eric Blake.
84234 2009-05-30  Bruno Haible  <bruno@clisp.org>
84236         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
84237         detail how to use dumpbin.
84238         Reported by David Byron <dbyron@dbyron.com>.
84240 2009-06-02  Simon Josefsson  <simon@josefsson.org>
84242         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
84244 2009-06-02  Simon Josefsson  <simon@josefsson.org>
84246         * m4/manywarnings.m4: Add GCC 4.4 warnings.
84248 2009-05-28  Bruno Haible  <bruno@clisp.org>
84250         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
84251         build-aux/ files.
84253 2009-05-28  Simon Josefsson  <simon@josefsson.org>
84255         * gnulib-tool (func_import): Transform license on build-aux/ files too.
84257 2009-05-27  Simon Josefsson  <simon@josefsson.org>
84259         * gnulib-tool (sed_transform_main_lib_file)
84260         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
84261         regexps.
84263 2009-05-26  Simon Josefsson  <simon@josefsson.org>
84265         * tests/test-strstr.c: Add another self-test.
84266         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
84267         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
84269 2009-05-23  Bruno Haible  <bruno@clisp.org>
84271         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
84272         change.
84274 2009-05-21  Bruno Haible  <bruno@clisp.org>
84276         Simplify use of mode_t varargs.
84277         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
84278         uses 'mode_t' or 'int'.
84279         * lib/openat.c (openat): Likewise.
84280         * lib/open-safer.c (open_safer): Likewise.
84281         * m4/mode_t.m4: New file.
84282         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
84283         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
84284         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
84285         * modules/open (Files): Add m4/mode_t.m4.
84286         * modules/openat (Files): Likewise.
84287         * modules/fcntl-safer (Files): Likewise.
84288         Suggested by Eric Blake.
84290 2009-05-21  Pádraig Brady  <P@draigbrady.com>
84292         * doc/glibc-functions/fallocate.texi: New file.
84293         * doc/gnulib.texi: Include it.
84295 2009-05-21  Eric Blake  <ebb9@byu.net>
84296             Bruno Haible  <bruno@clisp.org>
84298         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
84299         invocations.
84300         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
84302 2009-05-21  Eric Blake  <ebb9@byu.net>
84303             Bruno Haible  <bruno@clisp.org>
84305         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
84306         include_next. Fix of 2008-11-20 commit.
84307         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
84308         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
84309         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
84310         NEXT_MATH_H.
84311         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
84312         instead of NEXT_MATH_H.
84314 2009-05-21  Bruno Haible  <bruno@clisp.org>
84316         Avoid redefinition warnings for SIZE_MAX.
84317         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
84318         Reported by Simon Josefsson.
84320 2009-05-21  Bruno Haible  <bruno@clisp.org>
84322         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
84323         AC_CACHE_VAL.
84325 2009-05-20  Bruno Haible  <bruno@clisp.org>
84327         Make zeroptr.h work on mingw.
84328         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
84329         mprotect.
84330         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
84331         * modules/memchr2-tests (configure.ac): Likewise.
84332         * modules/memcmp-tests (configure.ac): Likewise.
84333         * modules/memmem-tests (configure.ac): Likewise.
84334         * modules/memrchr-tests (configure.ac): Likewise.
84335         Reported by Simon Josefsson.
84337 2009-05-20  Simon Josefsson  <simon@josefsson.org>
84339         * tests/test-glob.c: Include string.h for strcmp prototype.
84341 2009-05-20  Simon Josefsson  <simon@josefsson.org>
84343         * modules/getdelim (Depends-on): Add explicit stdint, although it
84344         was implicitly already pulled in via realloc-posix.
84345         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
84347 2009-05-20  Simon Josefsson  <simon@josefsson.org>
84349         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
84350         G. Christensen" <tgc@jupiterrise.com>.
84351         * m4/sys_socket_h.m4: Check for sa_family_t.
84352         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
84353         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
84354         * tests/test-sys_socket.c: Check that sa_family_t works.
84356 2009-05-18  Eric Blake  <ebb9@byu.net>
84358         maint.mk: allow gnulib_dir in VPATH build
84359         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
84361 2009-05-15  Jim Meyering  <meyering@redhat.com>
84363         maint.mk: Give gnulib_dir a default definition.
84364         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
84365         Thus, most packages no longer need to specify this variable in cfg.mk
84367 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
84369         rename.m4: fix typos that would make non-mingw cross-configure fail
84370         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
84372 2009-05-13  Eric Blake  <ebb9@byu.net>
84374         mmap-anon: avoid out-of-order autoconf expansion
84375         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
84376         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
84377         * modules/memchr-tests (Depends-on): Add extensions.
84378         * modules/memchr2-tests (Depends-on): Add extensions.
84379         * modules/memcmp-tests (Depends-on): Add extensions.
84380         * modules/memmem-tests (Depends-on): Add extensions.
84381         * modules/memrchr-tests (Depends-on): Add extensions.
84383 2009-05-13  Bruno Haible  <bruno@clisp.org>
84385         Make some tests ISO C 99 compliant.
84386         * tests/zerosize-ptr.h: New file.
84387         * tests/test-memchr.c: Include zerosize-ptr.h.
84388         (main): Use a zero-size object pointer instead of NULL.
84389         * tests/test-memchr2.c: Include zerosize-ptr.h.
84390         (main): Use a zero-size object pointer instead of NULL.
84391         * tests/test-memcmp.c: Include zerosize-ptr.h.
84392         (main): Use a zero-size object pointer instead of NULL.
84393         * tests/test-memmem.c: Include zerosize-ptr.h.
84394         (main): Use a zero-size object pointer instead of NULL.
84395         * tests/test-memrchr.c: Include zerosize-ptr.h.
84396         (main): Use a zero-size object pointer instead of NULL.
84397         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
84398         m4/mmap-anon.m4.
84399         (Depends-on): Add getpagesize.
84400         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84401         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
84402         m4/mmap-anon.m4.
84403         (Depends-on): Add getpagesize.
84404         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84405         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
84406         m4/mmap-anon.m4.
84407         (Depends-on): Add getpagesize.
84408         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84409         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
84410         m4/mmap-anon.m4.
84411         (Depends-on): Add getpagesize.
84412         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84413         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
84414         m4/mmap-anon.m4.
84415         (Depends-on): Add getpagesize.
84416         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84418 2009-05-12  Bruno Haible  <bruno@clisp.org>
84420         Tests for module 'alignof'.
84421         * modules/alignof-tests: New file.
84422         * tests/test-alignof.c: New file.
84424 2009-05-12  Bruno Haible  <bruno@clisp.org>
84426         Fix alignof macro.
84427         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
84428         vendor compilers that are always correct.
84430 2009-05-12  Bruno Haible  <bruno@clisp.org>
84432         Make the MAP_ANONYMOUS detection work on HP-UX 11.
84433         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
84434         not whether its fully works.
84436 2009-05-12  Bruno Haible  <bruno@clisp.org>
84438         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
84440 2009-05-12  Jim Meyering  <meyering@redhat.com>
84442         * top/maint.mk: Adjust backslash alignment.
84444 2009-05-11  Simon Josefsson  <simon@josefsson.org>
84446         * top/maint.mk: Make $(srcdir)/build-aux configurable.
84448 2009-05-11  Eric Blake  <ebb9@byu.net>
84450         argp: avoid undefined behavior
84451         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
84452         macros.
84454 2009-05-08  Simon Josefsson  <simon@josefsson.org>
84456         * tests/test-vc-list-files-git.sh: Do git config of user.email and
84457         user.name to prevent git commit from complaining.
84459 2009-05-10  Bruno Haible  <bruno@clisp.org>
84461         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
84462         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
84463         it rewrites every file name only once.
84464         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
84466 2009-05-08  Bruno Haible  <bruno@clisp.org>
84468         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
84469         instead of 'max'.
84471 2009-05-08  Simon Josefsson  <simon@josefsson.org>
84473         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
84474         sockaddr_storage test.
84476 2009-05-07  Simon Josefsson  <simon@josefsson.org>
84478         * modules/sys_socket (Makefile.am): Substitute
84479         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
84480         * m4/sys_socket_h.m4: Check for sockaddr_storage.
84481         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
84482         * tests/test-sys_socket.c: Check sockaddr_storage.
84484 2009-05-08  Bruno Haible  <bruno@clisp.org>
84486         New module 'alignof'.
84487         * lib/alignof.h: New file.
84488         * modules/alignof: New file.
84490 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84491             Bruno Haible  <bruno@clisp.org>
84493         Fix test-file-has-acl on FreeBSD.
84494         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
84495         mask is implicitly added.
84496         * tests/test-file-has-acl.c: Include <signal.h>.
84497         (main): Terminate the test after 5 seconds.
84498         * modules/acl-tests (configure.ac): Check for alarm function.
84500 2009-05-04  Bruno Haible  <bruno@clisp.org>
84502         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
84503         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
84504         * modules/errno (configure.ac): Drop AC_REQUIRE.
84505         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
84506         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
84508 2009-05-04  Simon Josefsson  <simon@josefsson.org>
84510         * modules/glob-tests: New module.
84511         * tests/test-glob.c: Add.
84513 2009-05-04  Simon Josefsson  <simon@josefsson.org>
84515         * modules/fnmatch-tests: New module.
84516         * tests/test-fnmatch.c: Add.
84518 2009-05-04  Eric Blake  <ebb9@byu.net>
84520         maint: make the new no-submodule-changes rule VPATH-safe
84521         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
84523 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84524             Bruno Haible  <bruno@clisp.org>
84526         acl: Fix infinite loop on FreeBSD.
84527         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
84528         of return value from acl_get_entry.
84529         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
84530         Likewise.
84532 2009-05-03  Bruno Haible  <bruno@clisp.org>
84534         * lib/acl-internal.h (acl_entries): Clarify return value.
84535         * lib/acl_entries.c (acl_entries): Likewise.
84537 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84539         Bug fix in acl module.
84540         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
84542 2009-05-03  Bruno Haible  <bruno@clisp.org>
84544         Create gperf-generated file in the source dir, not in the build dir.
84545         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
84546         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
84547         * modules/unicase/locale-language (unicase/locale-languages.h):
84548         Likewise.
84549         * modules/unicase/special-casing (unicase/special-casing-table.h):
84550         Likewise.
84551         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
84552         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
84553         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
84554         Reported by Ralf Wildenhues.
84556 2009-05-03  Bruno Haible  <bruno@clisp.org>
84558         * modules/fnmatch (Description, configure.ac): Taken from
84559         fnmatch-posix.
84560         * modules/fnmatch-posix: Turn into a symbolic reference to the
84561         'fnmatch' module, and deprecate.
84562         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
84564 2009-05-03  Bruno Haible  <bruno@clisp.org>
84566         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
84567         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
84568         Reported by Ralf Wildenhues.
84570 2009-05-04  Simon Josefsson  <simon@josefsson.org>
84572         * m4/fnmatch.m4: Fix fnmatch re-define.
84574 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84576         priv-set: new module and tests; adapt write-any-file
84577         * lib/priv-set.c: New file.
84578         * lib/priv-set.h: New file.
84579         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
84580         * lib/write-any-file.c: Simplify by using priv-set module.
84581         * m4/priv-set.m4: New file.
84582         * modules/priv-set: New file.
84583         * modules/unlinkdir: Add dependency on priv-set module.
84584         * modules/write-any-file: Likewise.
84586         Tests for module 'priv-set'.
84587         * modules/priv-set-tests: New file.
84588         * tests/test-priv-set.c: New file.
84590 2009-05-03  Jim Meyering  <meyering@redhat.com>
84591             Bruno Haible  <bruno@clisp.org>
84593         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
84594         use the converted UTF-8 variant of the name instead.
84596 2009-05-03  Jim Meyering  <meyering@redhat.com>
84598         tests: tighten some getdate tests
84599         * tests/test-getdate.c (main): Tighten tests: require equality,
84600         not just greater than.  Set TZ envvar to UTC0.
84602 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
84604         getdate: correctly interpret "next monday" when run on a Monday
84605         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
84606         that e.g., "next tues" (when run on a tuesday) results in a date
84607         that is one week in the future, and not today's date.
84608         I.e., add a week when the wday is the same as the current one.
84609         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
84610         and earlier by Martin Bernreuther and Jan Minář.
84611         * tests/test-getdate.c (main): Check that "next DAY" is always in
84612         the future and that "last DAY" is always in the past.
84614 2009-05-02  Jim Meyering  <meyering@redhat.com>
84616         build: ensure that a release build fails when a submodule is unclean
84617         * top/maint.mk (no-submodule-changes): New rule.
84618         (alpha beta major): Depend on it.
84620 2009-05-02  Bruno Haible  <bruno@clisp.org>
84622         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
84623         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
84624         shell variable gl_fnmatch_required to detect which variant is
84625         requested.
84626         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
84627         gl_FUNC_FNMATCH_POSIX.
84628         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
84629         exclude fnmatch-posix.
84631 2009-05-02  Bruno Haible  <bruno@clisp.org>
84633         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
84634         * modules/mbsrtowcs (License): Change to LGPLv2+.
84635         * modules/strnlen1 (License): Likewise.
84636         Reported by Simon Josefsson.
84638 2009-05-02  Bruno Haible  <bruno@clisp.org>
84640         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
84641         "cross".
84642         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
84643         gnulib-tool was called with option --source-base=lib.
84645 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84647         Use automake *-local hooks without commands, for extensibility.
84648         * modules/localcharset (Makefile.am): Rename install-exec-local
84649         rule to install-exec-localcharset, and make it a prerequisite of
84650         install-exec-local.  Likewise, rename the uninstall-local rule to
84651         uninstall-localcharset, and make it a prerequisite of the former.
84653 2009-05-01  Bruno Haible  <bruno@clisp.org>
84655         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
84656         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
84657         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
84658         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
84659         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
84660         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
84661         m4/locale-zh.m4, m4/codeset.m4.
84663         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
84664         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
84665         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
84666         m4/locale-zh.m4.
84668         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
84669         REPLACE_WCRTOMB if mbstate_t must be replaced.
84670         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
84671         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
84673 2009-05-01  Bruno Haible  <bruno@clisp.org>
84675         Avoid compiler warnings when redefining macros defined by <libintl.h>.
84676         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
84677         dngettext, dcngettext, textdomain, bindtextdomain,
84678         bind_textdomain_codeset): Undefine before redefining.
84680 2009-04-30  Bruno Haible  <bruno@clisp.org>
84682         Fix bug introduced on 2009-04-25.
84683         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
84684         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
84685         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
84686         is defined.
84687         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
84688         is defined.
84689         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
84690         is defined.
84691         Reported by Elbert_Pol <elbert.pol@gmail.com>.
84693 2009-04-28  Bruno Haible  <bruno@clisp.org>
84695         Comment tweaks.
84696         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
84697         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
84698         * lib/unicase.h (u*_casexfrm): Likewise.
84699         Reported by Paolo Bonzini.
84701 2009-04-28  Bruno Haible  <bruno@clisp.org>
84703         Fix a compilation error.
84704         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
84705         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
84706         Reported by Jim Meyering.
84708 2009-04-27  Bruno Haible  <bruno@clisp.org>
84710         New module 'libunistring'.
84711         * modules/libunistring: New file.
84712         * m4/libunistring.m4: New file.
84713         * MODULES.html.sh (Unicode string functions): Add it.
84715 2009-04-27  Eric Blake  <ebb9@byu.net>
84717         maint.mk: allow package-specific header to provide <config.h>
84718         * top/maint.mk (sc_require_config_h): New variable.
84719         (sc_require_config_h, sc_require_config_h_first): Use it.
84721 2009-04-27  Simon Josefsson  <simon@josefsson.org>
84723         * top/maint.mk (sc_avoid_if_before_free): Except
84724         useless-if-before-free script.
84726 2009-04-27  Eric Blake  <ebb9@byu.net>
84728         maintainer-makefile: depend on all required helper scripts
84729         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
84730         useless-if-before-free.
84731         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
84732         version, rather than assuming gnulib checkout is available.
84733         Reported by Simen Josefsson.
84735 2009-04-26  Bruno Haible  <bruno@clisp.org>
84737         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
84738         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
84739         "../" or "..".
84741 2009-04-26  Bruno Haible  <bruno@clisp.org>
84743         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
84744         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
84745         AC_LIB_HAVE_LINKFLAGS.
84747 2009-04-26  Bruno Haible  <bruno@clisp.org>
84749         Simplify calling convention of u*_conv_from_encoding.
84750         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
84751         u32_conv_from_encoding): Expect a resultbuf argument and return the
84752         result directly as a pointer.
84753         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
84754         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
84755         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
84756         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
84757         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
84758         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
84759         Update.
84760         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
84761         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
84762         * lib/vasnprintf.c (VASNPRINTF): Update.
84763         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
84764         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
84765         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
84766         * NEWS: Mention the change.
84768 2009-04-26  Bruno Haible  <bruno@clisp.org>
84770         Simplify calling convention of u*_conv_to_encoding.
84771         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
84772         u32_conv_to_encoding): Expect a resultbuf argument and return the
84773         result directly as a pointer.
84774         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
84775         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
84776         freeing scaled_offsets if mem_iconveha failed.
84777         * lib/unicase/u-casexfrm.h (FUNC): Update.
84778         * lib/uninorm/u-normxfrm.h (FUNC): Update.
84779         * lib/vasnprintf.c (VASNPRINTF): Update.
84780         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
84781         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
84782         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
84783         * NEWS: Mention the change.
84785 2009-04-26  Bruno Haible  <bruno@clisp.org>
84787         Avoid test failures on AIX and OSF/1.
84788         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
84789         malloc(0).
84790         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
84791         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
84792         Likewise.
84793         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
84794         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
84795         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
84796         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
84797         * doc/posix-functions/malloc.texi: Document the portability problem
84798         related to malloc(0).
84800 2009-04-26  Bruno Haible  <bruno@clisp.org>
84802         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
84803         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
84804         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
84806 2009-04-25  Bruno Haible  <bruno@clisp.org>
84808         Avoid link error when creating a namespace clean library.
84809         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
84810         as macro with arguments if already defined as an alias.
84811         * lib/signbitf.c (gl_signbitf): Don't undefine.
84812         * lib/signbitd.c (gl_signbitd): Don't undefine.
84813         * lib/signbitl.c (gl_signbitl): Don't undefine.
84815 2009-04-25  Jim Meyering  <meyering@redhat.com>
84817         vc-list-files: fix another quoting bug
84818         * build-aux/vc-list-files: Avoid sed backslash expansion
84819         of pathological directory names.
84821 2009-04-25  Eric Blake  <ebb9@byu.net>
84823         vc-list-files: fix shell quoting error
84824         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
84825         timestamp.
84827 2009-04-25  Jim Meyering  <meyering@redhat.com>
84829         vc-list-files: restore lost functionality with subdir argument
84830         * build-aux/vc-list-files: When given a non-"." sub-directory
84831         argument, substitute the $dir/ prefix back onto each resulting name.
84832         Otherwise, coreutils' root_tests check would fail.
84834 2009-04-24  Eric Blake  <ebb9@byu.net>
84836         vc-list-files: ignore git symlinks
84837         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
84838         than ls-files, to ignore git symlinks.
84840         maint.mk: import improvements from m4
84841         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
84842         (move_if_change): Delete unused macro.
84843         (news-date-check, vc-diff-check): Support VPATH builds.
84844         (announcement): Likewise.  Split --bootstrap-tools list...
84845         (boostrap-tools): ...into separate list, which can be overridden
84846         in cfg.mk.
84847         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
84848         requiring dependency on useless-if-before-free module.
84849         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
84850         Support VPATH builds.
84852 2009-04-24  Jim Meyering  <meyering@redhat.com>
84854         maint.mk: remove coreutils-specific rules and variables
84855         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
84856         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
84857         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
84859         maint.mk: remove obsolete rule
84860         * top/maint.mk (rel-check): Remove rule.
84861         (WGET, WGETFLAGS): Remove now-unused variables.
84863 2009-04-24  Simon Josefsson  <simon@josefsson.org>
84865         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
84866         consistency.
84868         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
84869         '$(PATH_SEPARATOR)' instead of ':'.
84871 2009-04-24  Simon Josefsson  <simon@josefsson.org>
84873         * lib/getopt1.c (main): Use 'const' for static array.
84875 2009-04-24  Simon Josefsson  <simon@josefsson.org>
84877         * top/maint.mk: Sync with coreutils.
84878         * NEWS: Explain incompatibilities.
84880 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84881             Bruno Haible  <bruno@clisp.org>
84883         Fix cross-compilation results.
84884         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
84885         statement, as third argument of AC_TRY_RUN.
84886         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
84887         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
84888         Likewise.
84889         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
84890         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
84891         Likewise.
84892         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
84893         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
84894         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
84896 2009-04-20  Bruno Haible  <bruno@clisp.org>
84898         Avoid test failure on mingw.
84899         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
84901 2009-04-20  Bruno Haible  <bruno@clisp.org>
84903         Avoid compilation error on mingw.
84904         * modules/localename-tests (Depends-on): Add locale.
84906 2009-04-19  Bruno Haible  <bruno@clisp.org>
84908         Support for building a shared library on Windows platforms.
84909         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
84910         (main): Test the presence of UNINORM_NFC here.
84911         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
84912         (main): Test the presence of UNINORM_NFD here.
84913         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
84914         (main): Test the presence of UNINORM_NFKC here.
84915         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
84916         (main): Test the presence of UNINORM_NFKD here.
84918 2009-04-19  Bruno Haible  <bruno@clisp.org>
84920         Avoid a compiler warning.
84921         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
84922         Change type of variable 'sequence'.
84924 2009-04-19  Bruno Haible  <bruno@clisp.org>
84926         * modules/configmake (Makefile.am): When the contents of configmake.h
84927         does not change, arrange to preserve its modification time.
84929 2009-04-17  Simon Josefsson  <simon@josefsson.org>
84931         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
84932         gettext domain.
84934 2009-04-16  Jim Meyering  <meyering@redhat.com>
84936         useless-if-before-free: improve conversion code
84937         * build-aux/useless-if-before-free: Adjust code-in-comment to match
84938         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
84940 2009-04-14  Bruno Haible  <bruno@clisp.org>
84942         * modules/fcntl (Depends-on): Add extensions.
84943         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
84945 2009-04-12  Ben Pfaff  <blp@gnu.org>
84947         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
84948         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
84950 2009-03-20  Ben Pfaff  <blp@gnu.org>
84952         Make rename replace existing destinations on Windows.
84953         * m4/rename.m4: Add test for Mingw.
84954         * lib/rename.c: Add rename replacement that uses MoveFileEx with
84955         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
84956         * doc/posix-functions/rename.texi: Document.
84958 2009-04-10  Bruno Haible  <bruno@clisp.org>
84960         New include file "iconveh.h".
84961         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
84962         * lib/striconveh.h: Include it.
84963         (enum iconv_ilseq_handler): Remove definition.
84964         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
84965         striconveh.h.
84966         * lib/striconveha.c: Include striconveh.h.
84967         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
84968         * modules/striconveh (Files): Add lib/iconveh.h.
84969         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
84970         lib/striconveh.h.
84972 2009-04-10  Bruno Haible  <bruno@clisp.org>
84974         * lib/uniconv.h: Update comment.
84976 2009-04-10  Bruno Haible  <bruno@clisp.org>
84978         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
84979         always.
84980         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
84981         * lib/unistr/u16-mbtouc-aux.c: Likewise.
84982         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
84983         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
84984         "unistring-notinline.h", so that the function gets defined always.
84985         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
84986         * lib/unistr/u8-uctomb.c: Likewise.
84987         * lib/unistr/u16-mbtouc.c: Likewise.
84988         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
84989         * lib/unistr/u16-uctomb.c: Likewise.
84990         * lib/unistr/u32-mbtouc.c: Likewise.
84991         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
84992         * lib/unistr/u32-uctomb.c: Likewise.
84994 2009-04-10  Bruno Haible  <bruno@clisp.org>
84996         Mark 'utime' obsolete.
84997         * modules/utime (Status, Notice): New sections.
84998         Suggested by Jim Meyering.
85000         Fix cross-compile guess for utime test.
85001         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
85002         autoconf.
85003         * doc/posix-functions/utime.texi: Give more precisions.
85004         Reported by Jan <ipif@ymail.com>.
85006 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
85008         filevercmp: correct today's change
85009         * lib/filevercmp.c: Also handle coreutils' test inputs.
85010         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
85012         Fix regression in 'filevercmp' module. Thanks Sven Joachim
85013         for reporting it.
85014         * lib/filevercmp.c: Special handle for "", "." and "..".
85015         * tests/test-filevercmp.c: Enlarge the set suite.
85017 2009-04-07  Jim Meyering  <meyering@redhat.com>
85019         useless-if-before-free: show how to remove braced useless free, too
85020         * build-aux/useless-if-before-free: still only in a comment, though.
85022 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
85024         maint.mk: import changes to syntax-check macros from coreutils
85025         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
85026         Use them in the relevant macros.
85028 2009-04-06  Bruno Haible  <bruno@clisp.org>
85030         Fix unportable use of bit-fields.
85031         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
85032         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
85033         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
85035 2009-04-06  Bruno Haible  <bruno@clisp.org>
85037         Avoid test failures on AIX and OSF/1.
85038         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
85039         that malloc(0) = NULL.
85040         * tests/unicase/test-u8-tolower.c (check): Likewise.
85041         * tests/unicase/test-u8-totitle.c (check): Likewise.
85042         * tests/unicase/test-u8-toupper.c (check): Likewise.
85043         * tests/unicase/test-u16-casefold.c (check): Likewise.
85044         * tests/unicase/test-u16-tolower.c (check): Likewise.
85045         * tests/unicase/test-u16-totitle.c (check): Likewise.
85046         * tests/unicase/test-u16-toupper.c (check): Likewise.
85047         * tests/unicase/test-u32-casefold.c (check): Likewise.
85048         * tests/unicase/test-u32-tolower.c (check): Likewise.
85049         * tests/unicase/test-u32-totitle.c (check): Likewise.
85050         * tests/unicase/test-u32-toupper.c (check): Likewise.
85051         * tests/uninorm/test-u8-nfc.c (check): Likewise.
85052         * tests/uninorm/test-u8-nfd.c (check): Likewise.
85053         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
85054         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
85055         * tests/uninorm/test-u16-nfc.c (check): Likewise.
85056         * tests/uninorm/test-u16-nfd.c (check): Likewise.
85057         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
85058         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
85059         * tests/uninorm/test-u32-nfc.c (check): Likewise.
85060         * tests/uninorm/test-u32-nfd.c (check): Likewise.
85061         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
85062         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
85064 2009-04-05  Bruno Haible  <bruno@clisp.org>
85066         Work around an autoconf limitation.
85067         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
85068         comment line if it would be longer than 3 KB.
85070 2009-04-05  Bruno Haible  <bruno@clisp.org>
85072         Avoid test failure with libiconv-1.13.
85073         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
85074         of the expected test results.
85076 2009-04-05  Bruno Haible  <bruno@clisp.org>
85078         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
85079         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
85080         that it should be installed.
85082 2009-04-05  Bruno Haible  <bruno@clisp.org>
85084         * gnulib-tool: New option --copy-file.
85085         (func_usage): Document it.
85086         (func_dest_tmpfilename): Moved out of func_import.
85087         (func_add_file, func_update_file): New functions, extracted from
85088         func_import.
85089         (func_import): Update.
85091 2009-04-05  Karl Berry  <karl@gnu.org>
85093         * README: prominently mention gnulib-tool.
85094         Rearrange sections so getting the code is near the top.
85096 2009-04-05  Bruno Haible  <bruno@clisp.org>
85098         * lib/unicase.h: Mention u*_cmp2.
85099         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
85100         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
85101         * lib/unicase/ulc-casecmp.c: Likewise.
85102         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
85103         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
85104         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
85105         unistr/u8-cmp.
85106         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
85107         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
85108         unistr/u16-cmp.
85109         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
85110         unistr/u32-cmp.
85112         * lib/uninorm.h: Mention u*_cmp2.
85113         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
85114         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
85115         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
85116         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
85117         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
85118         unistr/u8-cmp.
85119         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
85120         unistr/u16-cmp.
85121         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
85122         unistr/u32-cmp.
85124         New module 'unistr/u32-cmp2'.
85125         * lib/unistr/u32-cmp2.c: New file.
85126         * modules/unistr/u32-cmp2: New file.
85128         New module 'unistr/u16-cmp2'.
85129         * lib/unistr/u16-cmp2.c: New file.
85130         * modules/unistr/u16-cmp2: New file.
85132         New module 'unistr/u8-cmp2'.
85133         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
85134         * lib/unistr/u8-cmp2.c: New file.
85135         * lib/unistr/u-cmp2.h: New file.
85136         * modules/unistr/u8-cmp2: New file.
85138 2009-04-05  Bruno Haible  <bruno@clisp.org>
85140         * lib/unictype.h (uc_property_is_valid): New macro.
85141         * tests/unictype/test-pr_byname.c (main): Use it.
85143         * lib/unistr.h: Doc fixes.
85144         * lib/uniconv.h: Doc fixes.
85145         * lib/unictype.h: Doc fixes.
85147 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
85149         Port coreutils 7.2 to Solaris 8.
85151         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
85152         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
85153         for Solaris 8.  This is a bit of a hack, as it means it's the
85154         caller's responsibility to add -lnsl if needed, but most likely it
85155         won't be needed since only getaddrinfo uses this and getaddrinfo
85156         isn't needed on Solaris 8.
85158         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
85159         problem to Solaris 8 encountered with coreutils 7.2, which
85160         resulted in a message "fnmatch.c:292: warning: passing argument 4
85161         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
85162         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
85164 2009-04-03  Simon Josefsson  <simon@josefsson.org>
85166         * m4/ld-version-script.m4: Add FIXME comment.
85168 2009-04-02  Simon Josefsson  <simon@josefsson.org>
85170         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
85171         SOVERSION variable.
85173 2009-04-02  Bruno Haible  <bruno@clisp.org>
85175         * Makefile (info, html, dvi, pdf): Combine the rules.
85176         Suggested by Jim Meyering.
85178 2009-04-01  Bruno Haible  <bruno@clisp.org>
85180         * Makefile (info, html, dvi, pdf): New targets.
85181         Reported by Reuben Thomas <rrt@sc3d.org>.
85183 2009-04-01  Bruno Haible  <bruno@clisp.org>
85185         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
85186         can be put into PATH.
85187         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
85189 2009-04-01  Bruno Haible  <bruno@clisp.org>
85191         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
85193 2009-04-01  Bruno Haible  <bruno@clisp.org>
85195         Rename module 'visibility'.
85196         * modules/lib-symbol-visibility: Renamed from modules/visibility.
85197         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
85198         * doc/gnulib.texi: Update.
85199         * MODULES.html.sh (Misc): Update.
85200         * NEWS: Mention the change.
85202 2009-04-01  Simon Josefsson  <simon@josefsson.org>
85204         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
85205         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
85206         Eric Blake <ebb9@byu.net> for review.
85207         * MODULES.html.sh: Add lib-msvc-compat.
85208         * doc/gnulib.texi: Link to new section.
85209         * m4/ld-output-def.m4: New file.
85210         * doc/ld-output-def.texi: New file.
85212 2009-04-01  Simon Josefsson  <simon@josefsson.org>
85214         Rename ld-version-script to lib-symbol-versions.  Suggested by
85215         Bruno Haible <bruno@clisp.org>.
85216         * modules/ld-version-script: Renamed to lib-symbol-versions.
85217         * doc/ld-version-script.texi: Fix module name.
85218         * MODULES.html.sh: Add lib-symbol-versions.
85220 2009-03-31  Simon Josefsson  <simon@josefsson.org>
85222         * modules/u64-tests: New file.
85223         * tests/test-u64.c: New file.
85225 2009-03-04  Simon Josefsson  <simon@josefsson.org>
85227         * MODULES.html.sh: Mention u64.
85228         * modules/u64: New module.
85229         * modules/crypto/sha512: Depend on u64 module instead of providing
85230         u64.h.
85232 2009-03-27  Eric Blake  <ebb9@byu.net>
85234         test-strerror: make debugging EAI_SYSTEM easier
85235         * modules/getaddrinfo-tests (Depends-on): Add strerror.
85236         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
85237         failure was EAI_SYSTEM.
85239 2009-03-25  Bruno Haible  <bruno@clisp.org>
85241         Fix a problem with --enable-relocatable on Solaris 7.
85242         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
85243         since 2008-02-24.
85245 2009-03-25  Eric Blake  <ebb9@byu.net>
85247         test-sockets: avoid gcc warning
85248         * tests/test-sockets.c (main): Silence compiler warning.
85250 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
85252         New modules nproc, pthread, contributed by Glen Lenker.
85254         * MODULES.html.sh: Add pthread, nproc.
85255         * lib/nproc.c: New file.
85256         * lib/nproc.h: New file.
85257         * lib/pthread.in.h: New file.
85258         * m4/pthread.m4: New file.
85259         * modules/nproc: New file.
85260         * modules/pthread: New file.
85262 2009-03-24  Simon Josefsson  <simon@josefsson.org>
85264         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
85265         New variable.
85267 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
85269         filevercmp: handle simple~ and numbered.~3~ backup suffixes
85270         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
85271         * tests/test-filevercmp.c: Add tests for backup suffixes.
85273 2009-03-24  Simon Josefsson  <simon@josefsson.org>
85275         * modules/stdlib (Depends-on): Add stdint, needed when defining
85276         struct random_data on, for example, HP-UX 10.20.  Reported by
85277         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
85279 2009-03-24  Simon Josefsson  <simon@josefsson.org>
85281         * lib/readline.c (readline): Call fflush on stdout after printing
85282         prompt.
85284 2009-03-20  Bruno Haible  <bruno@clisp.org>
85286         Remove dependency from 'close' module to -lws2_32 on native Windows.
85287         * lib/close-hook.h: New file.
85288         * lib/close-hook.c: New file.
85289         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
85290         w32sock.h.
85291         (_gl_close_fd_maybe_socket): Remove function.
85292         (rpl_close): Invoke execute_all_close_hooks instead of
85293         _gl_close_fd_maybe_socket.
85294         * lib/sockets.c: Include close-hook.h, w32sock.h.
85295         (close_fd_maybe_socket): New function, essentially from lib/close.c.
85296         (close_sockets_hook): New variable.
85297         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
85298         (gl_sockets_cleanup): Unregister it.
85299         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
85300         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
85301         * modules/close-hook: New file.
85302         * modules/close (Files): Remove lib/w32sock.h.
85303         (Depends-on): Add close-hook.
85304         (Link): Remove section.
85305         * modules/sockets (Files): Add lib/w32sock.h.
85306         (Depends-on): Add close-hook.
85307         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
85308         invocation.
85309         * NEWS: Mention that LIB_CLOSE is gone.
85311 2009-03-23  Eric Blake  <ebb9@byu.net>
85313         signal-tests: test previous patch
85314         * tests/test-signal.c: New file.
85315         * modules/signal-tests: Likewise.
85317         signal.h: always support 'volatile sig_atomic_t'
85318         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
85319         (gl_SIGNAL_H_DEFAULTS): Add a default.
85320         * modules/signal (Makefile.am): Substitute if needed.
85321         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
85322         users can blindly add volatile.
85323         * doc/posix-headers/signal.texi (signal.h): Document it.
85324         Reported by Matthew Woehlke.
85326 2009-03-23  Jim Meyering  <meyering@redhat.com>
85328         pathmax: PATH_MAX: use pathconf only when available
85329         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
85330         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
85331         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
85332         This avoids a link failure in a PSP cross-compilation environment
85333         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
85335         * lib/vasnprintf.c (divide): Fix typo in comment.
85337 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85339         * gnulib-tool (func_filter_filelist): Fix comment.
85341 2009-03-20  Bruno Haible  <bruno@clisp.org>
85343         Make sockets.h self-contained.
85344         * lib/sockets.c: Include sockets.h first.
85345         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
85347 2009-03-19  Eric Blake  <ebb9@byu.net>
85349         doc: mention more functions added in cygwin 1.7.0
85350         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
85351         addition.
85352         * doc/posix-functions/log2f.texi: Likewise.
85354 2009-03-19  Jim Meyering  <meyering@redhat.com>
85356         fsusage: avoid syntax error due to statement-before-declaration
85357         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
85358         after all declarations.  Reported by Matthew Woehlke in
85359         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
85361 2009-03-18  Eric Blake  <ebb9@byu.net>
85363         build-aux/compile: sync from automake
85364         * build-aux/compile: New file, from automake.
85365         * config/srclist.txt: Mention build-aux/compile.
85367 2009-03-17  Bruno Haible  <bruno@clisp.org>
85369         * lib/git-merge-changelog.c: Fix typo in comment.
85370         Reported by Reuben Thomas <rrt@sc3d.org>.
85372 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
85374         * m4/regex.m4: update and improve help for
85375         --without-included-regex.
85377 2009-03-17  Simon Josefsson  <simon@josefsson.org>
85379         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
85380         failure on missing include files.
85382 2009-03-17  Eric Blake  <ebb9@byu.net>
85384         doc: mention more functions added in cygwin 1.7.0
85385         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
85386         addition.
85387         * doc/posix-functions/fwscanf.texi: Likewise.
85388         * doc/posix-functions/swprintf.texi: Likewise.
85389         * doc/posix-functions/swscanf.texi: Likewise.
85390         * doc/posix-functions/vfwprintf.texi: Likewise.
85391         * doc/posix-functions/vfwscanf.texi: Likewise.
85392         * doc/posix-functions/vswprintf.texi: Likewise.
85393         * doc/posix-functions/vswscanf.texi: Likewise.
85394         * doc/posix-functions/vwprintf.texi: Likewise.
85395         * doc/posix-functions/vwscanf.texi: Likewise.
85396         * doc/posix-functions/wcscasecmp.texi: Likewise.
85397         * doc/posix-functions/wcsdup.texi: Likewise.
85398         * doc/posix-functions/wcsftime.texi: Likewise.
85399         * doc/posix-functions/wcsncasecmp.texi: Likewise.
85400         * doc/posix-functions/wprintf.texi: Likewise.
85401         * doc/posix-functions/wscanf.texi: Likewise.
85402         * doc/glibc-functions/gethostbyname2.texi: Likewise.
85404 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85406         maint.mk: really add $(AM_MAKEFLAGS)
85407         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
85408         was inadvertently omitted in the last commit.
85409         Spotted by Bruno Haible.
85411         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
85412         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
85413         $(AM_MAKEFLAGS)' rather than plain `make'.
85415         gnulib-tool: execute $MAKE not make
85416         * gnulib-tool: Default $MAKE to 'make'.
85417         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
85418         than make.  Initialize $MAKE in the do-autobuild script.
85420         gnulib-tool: use $MAKE not make in generated files
85421         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
85422         make, in generated files.  Initialize $MAKE in the do-autobuild
85423         script.
85425         * top/GNUmakefile (_have-git-version-gen): Fix typo.
85427         GNUmakefile: disable parallelism only for multiple, recursive targets
85428         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
85429         additions in the Makefile.
85430         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
85431         by Automake.
85432         (.NOTPARALLEL): Only disable parallel builds if multiple targets
85433         are listed on the command line and at least one of them is
85434         listed in $(ALL_RECURSIVE_TARGETS).
85436 2009-03-14  Bruno Haible  <bruno@clisp.org>
85438         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
85439         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
85440         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
85441         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
85442         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
85443         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
85444         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
85445         unistr/u8-uctomb.
85446         * modules/unistr/u8-strchr (Depends-on): Likewise.
85447         * modules/unistr/u8-strrchr (Depends-on): Likewise.
85448         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
85449         unistr/u16-uctomb.
85450         * modules/unistr/u16-strchr (Depends-on): Likewise.
85451         * modules/unistr/u16-strrchr (Depends-on): Likewise.
85453 2009-03-12  Bruno Haible  <bruno@clisp.org>
85455         Work around select() bug on Interix 3.5.
85456         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
85457         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
85458         * m4/select.m4: New file.
85459         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
85460         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
85461         * modules/select (Files): Add m4/select.m4.
85462         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
85463         * modules/nanosleep (Depends-on): Add select.
85464         * modules/poll (Depends-on): Likewise.
85465         * doc/posix-functions/select.texi: Mention the Interix bug.
85466         Reported by Markus Duft <mduft@gentoo.org>.
85468         * lib/select.c: Renamed from lib/winsock-select.c.
85469         * modules/select (Files): Add lib/select.c, remove
85470         lib/winsock-select.c.
85471         (configure.ac): Update.
85473 2009-03-12  Jim Meyering  <meyering@redhat.com>
85475         avoid gcc warnings about unused macro definitions
85476         * lib/readtokens.c (STREQ): Remove unused definition.
85477         * lib/xmalloc.c (SIZE_MAX): Likewise.
85478         * lib/openat-die.c (N_): Likewise.
85479         * lib/mountlist.c (SIZE_MAX): Remove definition.
85480         Instead, include <stdint.h>.
85481         * lib/readutmp.c: Likewise.
85482         * modules/readutmp (Depends-on): Add stdint.
85483         * modules/mountlist (Depends-on): Add stdint.
85484         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
85486 2009-03-10  Bruno Haible  <bruno@clisp.org>
85488         Tests for module 'mbmemcasecoll'.
85489         * modules/mbmemcasecoll-tests: New file.
85490         * tests/test-mbmemcasecoll1.sh: New file.
85491         * tests/test-mbmemcasecoll2.sh: New file.
85492         * tests/test-mbmemcasecoll3.sh: New file.
85493         * tests/test-mbmemcasecoll.c: New file.
85495         New module 'mbmemcasecoll'.
85496         * lib/mbmemcasecoll.h: New file.
85497         * lib/mbmemcasecoll.c: New file.
85498         * modules/mbmemcasecoll: New file.
85500         * tests/test-mbmemcasecmp.h: New file, extracted from
85501         tests/test-mbmemcasecmp.c.
85502         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
85503         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
85504         (main): Update.
85505         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
85507 2009-03-09  Bruno Haible  <bruno@clisp.org>
85509         Tests for module 'mbmemcasecmp'.
85510         * modules/mbmemcasecmp-tests: New file.
85511         * tests/test-mbmemcasecmp1.sh: New file.
85512         * tests/test-mbmemcasecmp2.sh: New file.
85513         * tests/test-mbmemcasecmp3.sh: New file.
85514         * tests/test-mbmemcasecmp.c: New file.
85516         New module 'mbmemcasecmp'.
85517         * lib/mbmemcasecmp.h: New file.
85518         * lib/mbmemcasecmp.c: New file.
85519         * modules/mbmemcasecmp: New file.
85521 2009-03-09  Bruno Haible  <bruno@clisp.org>
85523         Tests for module 'unicase/ulc-casecoll'.
85524         * modules/unicase/ulc-casecoll-tests: New file.
85525         * tests/unicase/test-ulc-casecoll1.sh: New file.
85526         * tests/unicase/test-ulc-casecoll2.sh: New file.
85527         * tests/unicase/test-ulc-casecoll.c: New file.
85529         New module 'unicase/ulc-casecoll'.
85530         * lib/unicase.h (ulc_casecoll): New declaration.
85531         * lib/unicase/ulc-casecoll.c: New file.
85532         * modules/unicase/ulc-casecoll: New file.
85534         New module 'unicase/ulc-casexfrm'.
85535         * lib/unicase.h (ulc_casexfrm): New declaration.
85536         * lib/unicase/ulc-casexfrm.c: New file.
85537         * modules/unicase/ulc-casexfrm: New file.
85539 2009-03-09  Bruno Haible  <bruno@clisp.org>
85541         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
85542         invocations.
85544         * m4/mbscasecmp.m4: Remove file.
85545         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
85546         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
85548         * m4/mbscasestr.m4: Remove file.
85549         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
85550         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
85552         * m4/mbschr.m4: Remove file.
85553         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
85554         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
85556         * m4/mbscspn.m4: Remove file.
85557         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
85558         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
85560         * m4/mbslen.m4: Remove file.
85561         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
85562         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
85564         * m4/mbsncasecmp.m4: Remove file.
85565         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
85566         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
85568         * m4/mbsnlen.m4: Remove file.
85569         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
85570         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
85572         * m4/mbspbrk.m4: Remove file.
85573         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
85574         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
85576         * m4/mbspcasecmp.m4: Remove file.
85577         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
85578         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
85580         * m4/mbsrchr.m4: Remove file.
85581         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
85582         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
85584         * m4/mbssep.m4: Remove file.
85585         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
85586         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
85588         * m4/mbsspn.m4: Remove file.
85589         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
85590         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
85592         * m4/mbsstr.m4: Remove file.
85593         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
85594         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
85596         * m4/mbstok_r.m4: Remove file.
85597         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
85598         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
85600         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
85602         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
85603         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
85605         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
85607 2009-03-08  Bruno Haible  <bruno@clisp.org>
85609         Tests for module 'unicase/ulc-casecmp'.
85610         * modules/unicase/ulc-casecmp-tests: New file.
85611         * tests/unicase/test-ulc-casecmp1.sh: New file.
85612         * tests/unicase/test-ulc-casecmp2.sh: New file.
85613         * tests/unicase/test-ulc-casecmp.c: New file.
85615         New module 'unicase/ulc-casecmp'.
85616         * lib/unicase.h (ulc_casecmp): New declaration.
85617         * lib/unicase/ulc-casecmp.c: New file.
85618         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
85619         'const SRC_UNIT *'.
85620         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
85621         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
85622         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
85623         * modules/unicase/ulc-casecmp: New file.
85625         Tests for module 'unicase/u32-is-cased'.
85626         * modules/unicase/u32-is-cased-tests: New file.
85627         * tests/unicase/test-u32-is-cased.c: New file.
85629         Tests for module 'unicase/u16-is-cased'.
85630         * modules/unicase/u16-is-cased-tests: New file.
85631         * tests/unicase/test-u16-is-cased.c: New file.
85633         Tests for module 'unicase/u8-is-cased'.
85634         * modules/unicase/u8-is-cased-tests: New file.
85635         * tests/unicase/test-u8-is-cased.c: New file.
85636         * tests/unicase/test-is-cased.h: New file.
85638         New module 'unicase/u32-is-cased'.
85639         * lib/unicase/u32-is-cased.c: New file.
85640         * modules/unicase/u32-is-cased: New file.
85642         New module 'unicase/u16-is-cased'.
85643         * lib/unicase/u16-is-cased.c: New file.
85644         * modules/unicase/u16-is-cased: New file.
85646         New module 'unicase/u8-is-cased'.
85647         * lib/unicase/u8-is-cased.c: New file.
85648         * lib/unicase/u-is-cased.h: New file.
85649         * modules/unicase/u8-is-cased: New file.
85651         Tests for module 'unicase/u32-is-casefolded'.
85652         * modules/unicase/u32-is-casefolded-tests: New file.
85653         * tests/unicase/test-u32-is-casefolded.c: New file.
85655         Tests for module 'unicase/u16-is-casefolded'.
85656         * modules/unicase/u16-is-casefolded-tests: New file.
85657         * tests/unicase/test-u16-is-casefolded.c: New file.
85659         Tests for module 'unicase/u8-is-casefolded'.
85660         * modules/unicase/u8-is-casefolded-tests: New file.
85661         * tests/unicase/test-u8-is-casefolded.c: New file.
85662         * tests/unicase/test-is-casefolded.h: New file.
85664         New module 'unicase/u32-is-casefolded'.
85665         * lib/unicase/u32-is-casefolded.c: New file.
85666         * modules/unicase/u32-is-casefolded: New file.
85668         New module 'unicase/u16-is-casefolded'.
85669         * lib/unicase/u16-is-casefolded.c: New file.
85670         * modules/unicase/u16-is-casefolded: New file.
85672         New module 'unicase/u8-is-casefolded'.
85673         * lib/unicase/u8-is-casefolded.c: New file.
85674         * modules/unicase/u8-is-casefolded: New file.
85676         Tests for module 'unicase/u32-is-titlecase'.
85677         * modules/unicase/u32-is-titlecase-tests: New file.
85678         * tests/unicase/test-u32-is-titlecase.c: New file.
85680         Tests for module 'unicase/u16-is-titlecase'.
85681         * modules/unicase/u16-is-titlecase-tests: New file.
85682         * tests/unicase/test-u16-is-titlecase.c: New file.
85684         Tests for module 'unicase/u8-is-titlecase'.
85685         * modules/unicase/u8-is-titlecase-tests: New file.
85686         * tests/unicase/test-u8-is-titlecase.c: New file.
85687         * tests/unicase/test-is-titlecase.h: New file.
85689         New module 'unicase/u32-is-titlecase'.
85690         * lib/unicase/u32-is-titlecase.c: New file.
85691         * modules/unicase/u32-is-titlecase: New file.
85693         New module 'unicase/u16-is-titlecase'.
85694         * lib/unicase/u16-is-titlecase.c: New file.
85695         * modules/unicase/u16-is-titlecase: New file.
85697         New module 'unicase/u8-is-titlecase'.
85698         * lib/unicase/u8-is-titlecase.c: New file.
85699         * modules/unicase/u8-is-titlecase: New file.
85701         Tests for module 'unicase/u32-is-lowercase'.
85702         * modules/unicase/u32-is-lowercase-tests: New file.
85703         * tests/unicase/test-u32-is-lowercase.c: New file.
85705         Tests for module 'unicase/u16-is-lowercase'.
85706         * modules/unicase/u16-is-lowercase-tests: New file.
85707         * tests/unicase/test-u16-is-lowercase.c: New file.
85709         Tests for module 'unicase/u8-is-lowercase'.
85710         * modules/unicase/u8-is-lowercase-tests: New file.
85711         * tests/unicase/test-u8-is-lowercase.c: New file.
85712         * tests/unicase/test-is-lowercase.h: New file.
85714         New module 'unicase/u32-is-lowercase'.
85715         * lib/unicase/u32-is-lowercase.c: New file.
85716         * modules/unicase/u32-is-lowercase: New file.
85718         New module 'unicase/u16-is-lowercase'.
85719         * lib/unicase/u16-is-lowercase.c: New file.
85720         * modules/unicase/u16-is-lowercase: New file.
85722         New module 'unicase/u8-is-lowercase'.
85723         * lib/unicase/u8-is-lowercase.c: New file.
85724         * modules/unicase/u8-is-lowercase: New file.
85726         Tests for module 'unicase/u32-is-uppercase'.
85727         * modules/unicase/u32-is-uppercase-tests: New file.
85728         * tests/unicase/test-u32-is-uppercase.c: New file.
85730         Tests for module 'unicase/u16-is-uppercase'.
85731         * modules/unicase/u16-is-uppercase-tests: New file.
85732         * tests/unicase/test-u16-is-uppercase.c: New file.
85734         Tests for module 'unicase/u8-is-uppercase'.
85735         * modules/unicase/u8-is-uppercase-tests: New file.
85736         * tests/unicase/test-u8-is-uppercase.c: New file.
85737         * tests/unicase/test-is-uppercase.h: New file.
85739         New module 'unicase/u32-is-uppercase'.
85740         * lib/unicase/u32-is-uppercase.c: New file.
85741         * modules/unicase/u32-is-uppercase: New file.
85743         New module 'unicase/u16-is-uppercase'.
85744         * lib/unicase/u16-is-uppercase.c: New file.
85745         * modules/unicase/u16-is-uppercase: New file.
85747         New module 'unicase/u8-is-uppercase'.
85748         * lib/unicase/u8-is-uppercase.c: New file.
85749         * modules/unicase/u8-is-uppercase: New file.
85751         New module 'unicase/u32-is-invariant'.
85752         * lib/unicase/u32-is-invariant.c: New file.
85753         * modules/unicase/u32-is-invariant: New file.
85755         New module 'unicase/u16-is-invariant'.
85756         * lib/unicase/u16-is-invariant.c: New file.
85757         * modules/unicase/u16-is-invariant: New file.
85759         New module 'unicase/u8-is-invariant'.
85760         * lib/unicase/u8-is-invariant.c: New file.
85761         * lib/unicase/invariant.h: New file.
85762         * lib/unicase/u-is-invariant.h: New file.
85763         * modules/unicase/u8-is-invariant: New file.
85765         Tests for module 'unicase/u32-casecoll'.
85766         * modules/unicase/u32-casecoll-tests: New file.
85767         * tests/unicase/test-u32-casecoll.c: New file.
85769         Tests for module 'unicase/u16-casecoll'.
85770         * modules/unicase/u16-casecoll-tests: New file.
85771         * tests/unicase/test-u16-casecoll.c: New file.
85773         Tests for module 'unicase/u8-casecoll'.
85774         * modules/unicase/u8-casecoll-tests: New file.
85775         * tests/unicase/test-u8-casecoll.c: New file.
85777         New module 'unicase/u32-casecoll'.
85778         * lib/unicase/u32-casecoll.c: New file.
85779         * modules/unicase/u32-casecoll: New file.
85781         New module 'unicase/u16-casecoll'.
85782         * lib/unicase/u16-casecoll.c: New file.
85783         * modules/unicase/u16-casecoll: New file.
85785         New module 'unicase/u8-casecoll'.
85786         * lib/unicase/u8-casecoll.c: New file.
85787         * lib/unicase/u-casecoll.h: New file.
85788         * modules/unicase/u8-casecoll: New file.
85790         New module 'unicase/u32-casexfrm'.
85791         * lib/unicase/u32-casexfrm.c: New file.
85792         * modules/unicase/u32-casexfrm: New file.
85794         New module 'unicase/u16-casexfrm'.
85795         * lib/unicase/u16-casexfrm.c: New file.
85796         * modules/unicase/u16-casexfrm: New file.
85798         New module 'unicase/u8-casexfrm'.
85799         * lib/unicase/u8-casexfrm.c: New file.
85800         * lib/unicase/u-casexfrm.h: New file.
85801         * modules/unicase/u8-casexfrm: New file.
85803         Tests for module 'unicase/u32-casecmp'.
85804         * modules/unicase/u32-casecmp-tests: New file.
85805         * tests/unicase/test-u32-casecmp.c: New file.
85807         Tests for module 'unicase/u16-casecmp'.
85808         * modules/unicase/u16-casecmp-tests: New file.
85809         * tests/unicase/test-u16-casecmp.c: New file.
85811         Tests for module 'unicase/u8-casecmp'.
85812         * modules/unicase/u8-casecmp-tests: New file.
85813         * tests/unicase/test-u8-casecmp.c: New file.
85814         * tests/unicase/test-casecmp.h: New file.
85816         New module 'unicase/u32-casecmp'.
85817         * lib/unicase/u32-casecmp.c: New file.
85818         * modules/unicase/u32-casecmp: New file.
85820         New module 'unicase/u16-casecmp'.
85821         * lib/unicase/u16-casecmp.c: New file.
85822         * modules/unicase/u16-casecmp: New file.
85824         New module 'unicase/u8-casecmp'.
85825         * lib/unicase/u8-casecmp.c: New file.
85826         * lib/unicase/u-casecmp.h: New file.
85827         * modules/unicase/u8-casecmp: New file.
85829         Tests for module 'unicase/u32-casefold'.
85830         * modules/unicase/u32-casefold-tests: New file.
85831         * tests/unicase/test-u32-casefold.c: New file.
85833         Tests for module 'unicase/u16-casefold'.
85834         * modules/unicase/u16-casefold-tests: New file.
85835         * tests/unicase/test-u16-casefold.c: New file.
85837         Tests for module 'unicase/u8-casefold'.
85838         * modules/unicase/u8-casefold-tests: New file.
85839         * tests/unicase/test-u8-casefold.c: New file.
85841         New module 'unicase/u32-casefold'.
85842         * lib/unicase/u32-casefold.c: New file.
85843         * modules/unicase/u32-casefold: New file.
85845         New module 'unicase/u16-casefold'.
85846         * lib/unicase/u16-casefold.c: New file.
85847         * modules/unicase/u16-casefold: New file.
85849         New module 'unicase/u8-casefold'.
85850         * lib/unicase/u8-casefold.c: New file.
85851         * lib/unicase/u-casefold.h: New file.
85852         * modules/unicase/u8-casefold: New file.
85854         New module 'unicase/tocasefold'.
85855         * lib/unicase/casefold.h: New file.
85856         * lib/unicase/tocasefold.c: New file.
85857         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
85858         * modules/unicase/tocasefold: New file.
85860         Tests for module 'unicase/u32-totitle'.
85861         * modules/unicase/u32-totitle-tests: New file.
85862         * tests/unicase/test-u32-totitle.c: New file.
85864         Tests for module 'unicase/u16-totitle'.
85865         * modules/unicase/u16-totitle-tests: New file.
85866         * tests/unicase/test-u16-totitle.c: New file.
85868         Tests for module 'unicase/u8-totitle'.
85869         * modules/unicase/u8-totitle-tests: New file.
85870         * tests/unicase/test-u8-totitle.c: New file.
85872         New module 'unicase/u32-totitle'.
85873         * lib/unicase/u32-totitle.c: New file.
85874         * modules/unicase/u32-totitle: New file.
85876         New module 'unicase/u16-totitle'.
85877         * lib/unicase/u16-totitle.c: New file.
85878         * modules/unicase/u16-totitle: New file.
85880         New module 'unicase/u8-totitle'.
85881         * lib/unicase/u8-totitle.c: New file.
85882         * lib/unicase/u-totitle.h: New file.
85883         * modules/unicase/u8-totitle: New file.
85885         Tests for module 'unicase/u32-tolower'.
85886         * modules/unicase/u32-tolower-tests: New file.
85887         * tests/unicase/test-u32-tolower.c: New file.
85889         Tests for module 'unicase/u16-tolower'.
85890         * modules/unicase/u16-tolower-tests: New file.
85891         * tests/unicase/test-u16-tolower.c: New file.
85893         Tests for module 'unicase/u8-tolower'.
85894         * modules/unicase/u8-tolower-tests: New file.
85895         * tests/unicase/test-u8-tolower.c: New file.
85897         New module 'unicase/u32-tolower'.
85898         * lib/unicase/u32-tolower.c: New file.
85899         * modules/unicase/u32-tolower: New file.
85901         New module 'unicase/u16-tolower'.
85902         * lib/unicase/u16-tolower.c: New file.
85903         * modules/unicase/u16-tolower: New file.
85905         New module 'unicase/u8-tolower'.
85906         * lib/unicase/u8-tolower.c: New file.
85907         * modules/unicase/u8-tolower: New file.
85909         Tests for module 'unicase/u32-toupper'.
85910         * modules/unicase/u32-toupper-tests: New file.
85911         * tests/unicase/test-u32-toupper.c: New file.
85913         Tests for module 'unicase/u16-toupper'.
85914         * modules/unicase/u16-toupper-tests: New file.
85915         * tests/unicase/test-u16-toupper.c: New file.
85917         Tests for module 'unicase/u8-toupper'.
85918         * modules/unicase/u8-toupper-tests: New file.
85919         * tests/unicase/test-u8-toupper.c: New file.
85921         New module 'unicase/u32-toupper'.
85922         * lib/unicase/u32-toupper.c: New file.
85923         * modules/unicase/u32-toupper: New file.
85925         New module 'unicase/u16-toupper'.
85926         * lib/unicase/u16-toupper.c: New file.
85927         * modules/unicase/u16-toupper: New file.
85929         New module 'unicase/u8-toupper'.
85930         * lib/unicase/u8-toupper.c: New file.
85931         * modules/unicase/u8-toupper: New file.
85933         New module 'unicase/u32-casemap'.
85934         * lib/unicase/u32-casemap.c: New file.
85935         * modules/unicase/u32-casemap: New file.
85937         New module 'unicase/u16-casemap'.
85938         * lib/unicase/u16-casemap.c: New file.
85939         * modules/unicase/u16-casemap: New file.
85941         New module 'unicase/u8-casemap'.
85942         * lib/unicase/unicasemap.h: New file.
85943         * lib/unicase/u8-casemap.c: New file.
85944         * lib/unicase/u-casemap.h: New file.
85945         * modules/unicase/u8-casemap: New file.
85947         New module 'unicase/special-casing'.
85948         * lib/unicase/special-casing.h: New file.
85949         * lib/unicase/special-casing.c: New file.
85950         * lib/unicase/special-casing-table.gperf: New file, generated by
85951         gen-uni-tables.c.
85952         * modules/unicase/special-casing: New file.
85954         Tests for module 'unicase/locale-language'.
85955         * modules/unicase/locale-language-tests: New file.
85956         * tests/unicase/test-locale-language.sh: New file.
85957         * tests/unicase/test-locale-language.c: New file.
85959         New module 'unicase/locale-language'.
85960         * lib/unicase/locale-language.c: New file.
85961         * lib/unicase/locale-languages.gperf: New file.
85962         * modules/unicase/locale-language: New file.
85964         Generate more tables for case conversion and case folding.
85965         * lib/gen-uni-tables.c (SCC_*): New enum items.
85966         (struct special_casing_rule): New type.
85967         (casing_rules, num_casing_rules, allocated_casing_rules): New
85968         variables.
85969         (add_casing_rule, fill_casing_rules): New functions.
85970         (struct casefold_rule): New type.
85971         (casefolding_rules, num_casefolding_rules,
85972         allocated_casefolding_rules): New variables.
85973         (fill_casefolding_rules): New function.
85974         (unicode_casefold): New variable.
85975         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
85976         sort_casing_rules, output_casing_rules): New functions.
85977         (main): Accept to more arguments: SpecialCasing.txt and
85978         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
85979         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
85980         Output mapping for casefolding.
85982         * lib/unicase.h: Include stdbool.h, uninorm.h.
85983         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
85984         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
85985         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
85986         arguments.
85987         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
85988         resultp arguments.
85989         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
85990         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
85991         resultp arguments.
85992         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
85993         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
85994         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
85995         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
85996         declarations.
85997         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
85999 2009-03-08  Bruno Haible  <bruno@clisp.org>
86001         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
86002         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
86003         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
86004         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
86006 2009-03-07  Bruno Haible  <bruno@clisp.org>
86008         Adjust u*_normcmp, u*_normcoll API.
86009         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
86010         u16_normcoll, u32_normcoll): Change failure conventions.
86011         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
86012         errno and return -1.
86013         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
86015 2009-03-07  Bruno Haible  <bruno@clisp.org>
86017         Tests for module 'uninorm/u32-normcoll'.
86018         * modules/uninorm/u32-normcoll-tests: New file.
86019         * tests/uninorm/test-u32-normcoll.c: New file.
86021         Tests for module 'uninorm/u16-normcoll'.
86022         * modules/uninorm/u16-normcoll-tests: New file.
86023         * tests/uninorm/test-u16-normcoll.c: New file.
86025         Tests for module 'uninorm/u8-normcoll'.
86026         * modules/uninorm/u8-normcoll-tests: New file.
86027         * tests/uninorm/test-u8-normcoll.c: New file.
86029 2009-03-07  Bruno Haible  <bruno@clisp.org>
86031         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
86032         tests/uninorm/test-u32-normcmp.c.
86033         * tests/uninorm/test-u32-normcmp.c: Include it.
86034         (test_nonascii): New function, extracted from main. Add some more
86035         tests.
86036         (main): Invoke test_ascii and test_nonascii.
86037         * modules/uninorm/u32-normcmp-tests (Files): Add
86038         tests/uninorm/test-u32-normcmp.h.
86039         (Depends-on): Remove uninorm/u32-normcmp.
86041         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
86042         tests/uninorm/test-u16-normcmp.c.
86043         * tests/uninorm/test-u16-normcmp.c: Include it.
86044         (test_nonascii): New function, extracted from main. Add some more
86045         tests.
86046         (main): Invoke test_ascii and test_nonascii.
86047         * modules/uninorm/u16-normcmp-tests (Files): Add
86048         tests/uninorm/test-u16-normcmp.h.
86049         (Depends-on): Remove uninorm/u16-normcmp.
86051         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
86052         tests/uninorm/test-u8-normcmp.c.
86053         * tests/uninorm/test-u8-normcmp.c: Include it.
86054         (test_nonascii): New function, extracted from main. Add some more
86055         tests.
86056         (main): Invoke test_ascii and test_nonascii.
86057         * modules/uninorm/u8-normcmp-tests (Files): Add
86058         tests/uninorm/test-u8-normcmp.h.
86059         (Depends-on): Remove uninorm/u8-normcmp.
86061 2009-03-07  Bruno Haible  <bruno@clisp.org>
86063         New module 'uninorm/u32-normcoll'.
86064         * lib/uninorm/u32-normcoll.c: New file.
86065         * modules/uninorm/u32-normcoll: New file.
86067         New module 'uninorm/u16-normcoll'.
86068         * lib/uninorm/u16-normcoll.c: New file.
86069         * modules/uninorm/u16-normcoll: New file.
86071         New module 'uninorm/u8-normcoll'.
86072         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
86073         declarations.
86074         * lib/uninorm/u8-normcoll.c: New file.
86075         * lib/uninorm/u-normcoll.h: New file.
86076         * modules/uninorm/u8-normcoll: New file.
86078         New module 'uninorm/u32-normxfrm'.
86079         * lib/uninorm/u32-normxfrm.c: New file.
86080         * modules/uninorm/u32-normxfrm: New file.
86082         New module 'uninorm/u16-normxfrm'.
86083         * lib/uninorm/u16-normxfrm.c: New file.
86084         * modules/uninorm/u16-normxfrm: New file.
86086         New module 'uninorm/u8-normxfrm'.
86087         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
86088         declarations.
86089         * lib/uninorm/u8-normxfrm.c: New file.
86090         * lib/uninorm/u-normxfrm.h: New file.
86091         * modules/uninorm/u8-normxfrm: New file.
86093 2009-03-07  Bruno Haible  <bruno@clisp.org>
86095         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
86096         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
86097         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
86099 2009-03-07  Bruno Haible  <bruno@clisp.org>
86101         New module 'memxfrm'.
86102         * lib/memxfrm.h: New file.
86103         * lib/memxfrm.c: New file.
86104         * modules/memxfrm: New file.
86106 2009-03-07  Bruno Haible  <bruno@clisp.org>
86108         New module 'memcmp2'.
86109         * lib/memcmp2.h: New file.
86110         * lib/memcmp2.c: New file.
86111         * modules/memcmp2: New file.
86113 2009-03-07  Bruno Haible  <bruno@clisp.org>
86115         Tests for module 'uninorm/decomposing-form'.
86116         * modules/uninorm/decomposing-form-tests: New file.
86117         * tests/uninorm/test-decomposing-form.c: New file.
86119         New module 'uninorm/decomposing-form'.
86120         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
86121         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
86122         Add 'decomposing_variant' field.
86123         * lib/uninorm/decomposing-form.c: New file.
86124         * lib/uninorm/nfc.c (uninorm_nfc): Update.
86125         * lib/uninorm/nfd.c (uninorm_nfd): Update.
86126         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
86127         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
86128         * modules/uninorm/decomposing-form: New file.
86129         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
86130         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
86132 2009-03-07  Bruno Haible  <bruno@clisp.org>
86134         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
86135         strings.
86137 2009-03-06  Bruno Haible  <bruno@clisp.org>
86139         Tests for module 'uninorm/u32-normcmp'.
86140         * tests/uninorm/test-u32-normcmp.c: New file.
86141         * modules/uninorm/u32-normcmp-tests: New file.
86143         Tests for module 'uninorm/u16-normcmp'.
86144         * tests/uninorm/test-u16-normcmp.c: New file.
86145         * modules/uninorm/u16-normcmp-tests: New file.
86147         Tests for module 'uninorm/u8-normcmp'.
86148         * tests/uninorm/test-u8-normcmp.c: New file.
86149         * modules/uninorm/u8-normcmp-tests: New file.
86151         New module 'uninorm/u32-normcmp'.
86152         * lib/uninorm/u32-normcmp.c: New file.
86153         * modules/uninorm/u32-normcmp: New file.
86155         New module 'uninorm/u16-normcmp'.
86156         * lib/uninorm/u16-normcmp.c: New file.
86157         * modules/uninorm/u16-normcmp: New file.
86159         New module 'uninorm/u8-normcmp'.
86160         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
86161         declarations.
86162         * lib/uninorm/u8-normcmp.c: New file.
86163         * lib/uninorm/u-normcmp.h: New file.
86164         * modules/uninorm/u8-normcmp: New file.
86166 2009-03-06  Bruno Haible  <bruno@clisp.org>
86168         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
86169         Reported by Eric Blake.
86171 2009-03-06  Eric Blake  <ebb9@byu.net>
86172             Bruno Haible  <bruno@clisp.org>
86174         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
86175         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
86176         condition.
86177         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
86178         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
86179         condition.
86180         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
86182 2009-03-06  Eric Blake  <ebb9@byu.net>
86184         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
86185         to avoid compiler warnings.
86186         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
86188 2009-03-05  Bruno Haible  <bruno@clisp.org>
86190         * tests/test-ftell.c (main): Disable test beyond end of file on
86191         FreeMiNT.
86192         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
86194 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
86196         * lib/filevercmp.c: Move hidden files up in ordering.
86197         * tests/test-filevercmp.c: Add tests for hidden files.
86199 2009-03-04  Bruno Haible  <bruno@clisp.org>
86201         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
86202         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
86203         AM_CFLAGS.
86204         Reported by Simon Josefsson.
86206 2009-03-03  Bruno Haible  <bruno@clisp.org>
86208         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
86209         Reported by Simon Josefsson.
86211         * doc/ld-version-script.texi: Update node reference.
86213 2009-03-03  Bruno Haible  <bruno@clisp.org>
86215         * modules/visibility (License): Change to 'unlimited'.
86216         Suggested by Simon Josefsson.
86218 2009-03-03  Jim Meyering  <meyering@redhat.com>
86220         unlinkdir: cannot_unlink_dir may modify process state
86221         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
86222         it's neither thread-safe nor appropriate for use in a library.
86224 2009-03-03  Eric Blake  <ebb9@byu.net>
86226         test-closein: silence test under Darwin
86227         * tests/test-closein.sh: Ignore stderr from cat, since we don't
86228         care if it dies from EPIPE or EBADF.
86230 2009-03-03  Bruno Haible  <bruno@clisp.org>
86232         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
86233         earlier.
86234         * doc/visibility.texi: Fix @node and @section.
86236 2009-03-03  Simon Josefsson  <simon@josefsson.org>
86238         * doc/gnulib.texi: Link to sections for ld version script and
86239         visibility.
86240         * doc/visibility.texi: Add @node and @section.
86241         * modules/ld-version-script: New module.
86242         * m4/ld-version-script.m4: New file.
86243         * doc/ld-version-script.texi: New file.
86245 2009-03-02  David Lutterkort  <lutter@redhat.com>
86247         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
86248         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
86250 2009-03-02  Bruno Haible  <bruno@clisp.org>
86252         * doc/visibility.texi: Mention libtool's -export-symbols option.
86254 2009-03-02  Jim Meyering  <meyering@redhat.com>
86256         announce-gen: new option: --no-print-checksums
86257         * build-aux/announce-gen (usage): Describe it.
86258         (print_checksums): Print a newline here, not in the [*] footnote.
86259         (main): Honor it.
86261 2009-03-01  Bruno Haible  <bruno@clisp.org>
86263         Use socklen_t in the native Windows replacements prototypes.
86264         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
86265         instead of 'int'.
86266         * lib/getsockopt.c (rpl_getsockopt): Likewise.
86267         * lib/setsockopt.c (rpl_setsockopt): Likewise.
86268         * modules/getsockopt (Depends-on): Add socklen.
86269         * modules/setsockopt (Depends-on): Add socklen.
86271 2009-03-01  Bruno Haible  <bruno@clisp.org>
86273         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
86274         least 4.2.
86276 2009-03-01  Eric Blake  <ebb9@byu.net>
86277             Bruno Haible  <bruno@clisp.org>
86279         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
86280         error messages.
86281         * lib/wait-process.c (wait_subprocess): Omit error message about
86282         deadly signal sent to the child of termsigp != NULL.
86284 2009-03-01  Eric Blake  <ebb9@byu.net>
86286         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
86288 2009-03-01  Bruno Haible  <bruno@clisp.org>
86290         Avoid a gcc warning.
86291         * tests/test-sched.c (b): Make global.
86292         Reported by Eric Blake.
86294 2009-01-19  Martin Lambers  <marlam@marlam.de>
86296         Provide POSIX semantics for socket timeout options on W32.
86297         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
86298         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
86299         * modules/setsockopt: Depend on sys_time module for struct timeval.
86300         * modules/getsockopt: Depend on sys_time module for struct timeval.
86302 2009-03-01  Simon Josefsson  <simon@josefsson.org>
86304         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
86305         __USE_GNU, for consistency with netdb.in.h.
86306         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
86308 2009-03-01  Bruno Haible  <bruno@clisp.org>
86310         More support for FreeMiNT.
86311         * lib/fseeko.c (rpl_fseeko): Complete last commit.
86312         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
86314 2009-03-01  Bruno Haible  <bruno@clisp.org>
86316         More support for FreeMiNT.
86317         * lib/fpurge.c (fpurge): Correct last commit.
86318         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
86320 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86322         Fix unportable awk script in vc-list-files.
86323         * build-aux/vc-list-files: In the replacement awk script, use
86324         substr with a second argument of 1, not zero.
86325         Report by Simon Josefsson.
86327 2009-02-28  Bruno Haible  <bruno@clisp.org>
86329         More support for FreeMiNT.
86330         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
86331         to FreeMiNT today.
86332         * lib/fwriting.c (fwriting): Likewise.
86333         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
86335 2009-02-28  Bruno Haible  <bruno@clisp.org>
86337         * tests/test-freadseek.c (main): Disable test beyond end of file on
86338         FreeMiNT.
86339         * tests/test-ftello.c (main): Likewise.
86340         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
86342 2009-02-28  Bruno Haible  <bruno@clisp.org>
86344         Add tentative support for FreeMiNT.
86345         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
86346         * lib/fpurge.c (fpurge): Likewise.
86347         * lib/freadable.c (freadable): Likewise.
86348         * lib/freading.c (freading): Likewise.
86349         * lib/freadptr.c (freadptr): Likewise.
86350         * lib/freadseek.c (freadptrinc): Likewise.
86351         * lib/fseeko.c (rpl_fseeko): Likewise.
86352         * lib/fseterr.c (fseterr): Likewise.
86353         * lib/fwritable.c (fwritable): Likewise.
86354         * lib/fwriting.c (fwriting): Likewise.
86355         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
86356         Hourihane.
86357         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
86359 2009-02-28  Bruno Haible  <bruno@clisp.org>
86361         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
86362         SIGCHLD.
86363         Reported by Jim Meyering.
86365 2009-02-28  Bruno Haible  <bruno@clisp.org>
86367         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
86368         Mention the results of these tests on various platforms.
86369         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
86370         order.
86371         * doc/posix-functions/printf.texi: Likewise.
86372         * doc/posix-functions/snprintf.texi: Likewise.
86373         * doc/posix-functions/sprintf.texi: Likewise.
86374         * doc/posix-functions/vfprintf.texi: Likewise.
86375         * doc/posix-functions/vprintf.texi: Likewise.
86376         * doc/posix-functions/vsnprintf.texi: Likewise.
86377         * doc/posix-functions/vsprintf.texi: Likewise.
86378         * doc/glibc-functions/obstack_printf.texi: Likewise.
86379         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
86381 2009-02-28  Bruno Haible  <bruno@clisp.org>
86383         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
86384         Reported by Loïc Minier <lool@dooz.org>.
86386 2009-02-27  Bruno Haible  <bruno@clisp.org>
86388         * gnulib-tool (func_import): Make the sed expression used to create the
86389         sed script for updating the .gitignore file POSIX compliant.
86390         Reported by Eric Blake.
86392 2009-02-27  Bruno Haible  <bruno@clisp.org>
86394         * gnulib-tool (sed): Don't alias as "sed --posix".
86395         Reported by Eric Blake.
86397 2009-02-27  Bruno Haible  <bruno@clisp.org>
86399         Avoid test link errors.
86400         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
86401         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
86402         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
86403         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
86404         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
86406 2009-02-27  Bruno Haible  <bruno@clisp.org>
86408         Avoid spurious "(cached)" in configure output.
86409         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
86410         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
86411         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
86412         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
86413         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
86414         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
86415         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
86416         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
86417         Reported by Eric Blake.
86419 2009-02-27  Eric Blake  <ebb9@byu.net>
86421         printf: fix regression in previous patch
86422         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
86424 2009-02-27  Bruno Haible  <bruno@clisp.org>
86426         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
86427         value.
86428         * lib/stdint.in.h: Likewise.
86429         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
86431 2009-02-27  Eric Blake  <ebb9@byu.net>
86433         doc: mention more functions added in cygwin 1.7.0
86434         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
86435         addition.
86436         * doc/posix-functions/open_wmemstream.texi: Likewise.
86437         * doc/posix-functions/wcsnlen.texi: Likewise.
86438         * doc/posix-functions/wcsnrtombs.texi: Likewise.
86439         * doc/posix-functions/wcstod.texi: Likewise.
86440         * doc/posix-functions/wcstof.texi: Likewise.
86441         * doc/posix-functions/wcstoimax.texi: Likewise.
86442         * doc/posix-functions/wcstok.texi: Likewise.
86443         * doc/posix-functions/wcstoumax.texi: Likewise.
86445         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
86446         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
86447         * doc/posix-functions/fprintf.texi: Update.
86448         * doc/posix-functions/printf.texi: Update.
86449         * doc/posix-functions/snprintf.texi: Update.
86450         * doc/posix-functions/sprintf.texi: Update.
86451         * doc/posix-functions/vfprintf.texi: Update.
86452         * doc/posix-functions/vprintf.texi: Update.
86453         * doc/posix-functions/vsnprintf.texi: Update.
86454         * doc/posix-functions/vsprintf.texi: Update.
86455         * doc/glibc-functions/obstack_printf.texi: Update.
86456         * doc/glibc-functions/obstack_vprintf.texi: Update.
86458 2009-02-26  Eric Blake  <ebb9@byu.net>
86460         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
86461         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
86462         compilation bug by using runtime conversion.
86463         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
86464         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
86465         * modules/ceill-tests (Files): Use nan.h.
86466         * modules/floorl-tests (Files): Likewise.
86467         * modules/frexpl-tests (Files): Likewise.
86468         * modules/isnanl-tests (Files): Likewise.
86469         * modules/ldexpl-tests (Files): Likewise.
86470         * modules/roundl-tests (Files): Likewise.
86471         * modules/truncl-tests (Files): Likewise.
86472         * tests/test-ceill.c (main): Use a working NaN.
86473         * tests/test-floorl.c (main): Likewise.
86474         * tests/test-frexpl.c (main): Likewise.
86475         * tests/test-isnan.c (test_long_double): Likewise.
86476         * tests/test-isnanl.h (main): Likewise.
86477         * tests/test-ldexpl.h (main): Likewise.
86478         * tests/test-roundl.h (main): Likewise.
86479         * tests/test-truncl.h (main): Likewise.
86480         See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.
86482 2009-02-26  Eric Blake  <ebb9@byu.net>
86483             Bruno Haible  <bruno@clisp.org>
86485         Work around a *printf bug with %ls on Solaris.
86486         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
86487         precision is specified, sprintf stops converting the wide string
86488         argument when the number of bytes that have been produced by this
86489         conversion equals or exceeds the precision.
86490         * doc/posix-functions/fprintf.texi: Update.
86491         * doc/posix-functions/printf.texi: Update.
86492         * doc/posix-functions/snprintf.texi: Update.
86493         * doc/posix-functions/sprintf.texi: Update.
86494         * doc/posix-functions/vfprintf.texi: Update.
86495         * doc/posix-functions/vprintf.texi: Update.
86496         * doc/posix-functions/vsnprintf.texi: Update.
86497         * doc/posix-functions/vsprintf.texi: Update.
86498         * doc/glibc-functions/obstack_printf.texi: Update.
86499         * doc/glibc-functions/obstack_vprintf.texi: Update.
86501 2009-02-26  Eric Blake  <ebb9@byu.net>
86503         stdlib: favor compiler check of random.h
86504         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
86505         to avoid an ObjC random.h installed by Swarm.
86507 2009-02-26  Bruno Haible  <bruno@clisp.org>
86509         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
86510         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
86511         Reported by Gary V. Vaughan <gary@gnu.org>.
86513 2009-02-26  Bruno Haible  <bruno@clisp.org>
86515         Fix *printf behaviour regarding the %ls directive.
86516         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
86517         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
86518         NEED_PRINTF_DIRECTIVE_LS.
86519         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
86520         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
86521         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
86522         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
86523         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
86524         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
86525         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
86526         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
86527         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
86528         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
86529         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
86530         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
86531         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
86532         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
86533         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
86534         * doc/posix-functions/fprintf.texi: Update.
86535         * doc/posix-functions/printf.texi: Update.
86536         * doc/posix-functions/snprintf.texi: Update.
86537         * doc/posix-functions/sprintf.texi: Update.
86538         * doc/posix-functions/vfprintf.texi: Update.
86539         * doc/posix-functions/vprintf.texi: Update.
86540         * doc/posix-functions/vsnprintf.texi: Update.
86541         * doc/posix-functions/vsprintf.texi: Update.
86542         * doc/glibc-functions/obstack_printf.texi: Update.
86543         * doc/glibc-functions/obstack_vprintf.texi: Update.
86544         Reported by Eric Blake.
86546 2009-02-25  Bruno Haible  <bruno@clisp.org>
86548         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
86549         with known value.
86550         Reported by Gary V. Vaughan <gary@gnu.org>.
86552 2009-02-25  Bruno Haible  <bruno@clisp.org>
86554         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
86555         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
86556         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
86557         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
86558         Reported by Gary V. Vaughan <gary@gnu.org>.
86560 2009-02-25  Bruno Haible  <bruno@clisp.org>
86562         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
86563         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
86564         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
86565         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
86566         Reported by Gary V. Vaughan <gary@gnu.org>.
86568 2009-02-25  Eric Blake  <ebb9@byu.net>
86570         tests: skip fseek/ftell tests if ungetc is broken
86571         * m4/ungetc.m4: New file.
86572         * modules/fseek-tests: Split test, so ungetc dependency is
86573         separate from rest of test.
86574         * modules/fseeko-tests: Likewise.
86575         * modules/ftell-tests: Likewise.
86576         * modules/ftello-tests: Likewise.
86577         * tests/test-fseek.c (main): Isolate ungetc dependency.
86578         * tests/test-fseeko.c (main): Likewise.
86579         * tests/test-ftell.c (main): Likewise.
86580         * tests/test-ftello.c (main): Likewise.
86581         * tests/test-fseek2.sh: New file.
86582         * tests/test-fseeko2.sh: Likewise.
86583         * tests/test-ftell2.sh: Likewise.
86584         * tests/test-ftello2.sh: Likewise.
86586 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
86588         test-getaddrinfo: fix usage of skip return code 77
86589         * tests/test-gettaddrinfo.c: Return skip code 77 only
86590         for first occurrence of skip (4x77 is not 77)
86592 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
86594         strtod: avoid C99 decl-after-statement
86595         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
86597 2009-02-24  Eric Blake  <ebb9@byu.net>
86599         strtod: detect HP-UX 11.31 bug
86600         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
86601         Reported by Gary V. Vaughan.
86603 2009-02-23  Bruno Haible  <bruno@clisp.org>
86605         Fix invalid read past end of memory block.
86606         * lib/vasnprintf.c (DCHAR_SET): Define.
86607         (local_wcslen): Define only when needed.
86608         (local_strnlen, local_wcsnlen): New functions.
86609         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
86610         directives that involve a conversion ourselves.
86611         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
86612         wcsnlen, mbrtowc, wcrtomb.
86613         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
86614         * tests/test-vasprintf-posix.c (test_function): Likewise.
86615         * tests/test-snprintf-posix.h (test_function): Likewise.
86616         * tests/test-sprintf-posix.h (test_function): Likewise.
86617         Reported by Ben Pfaff <blp@cs.stanford.edu>.
86619 2009-02-22  Bruno Haible  <bruno@clisp.org>
86621         Implement new clarified decomposition of Hangul syllables.
86622         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
86623         of type LTV, return only a pairwise decomposition.
86624         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
86625         Likewise.
86626         * tests/uninorm/test-decomposition.c (main): Updated expected result.
86627         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
86628         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
86630 2009-02-22  Bruno Haible  <bruno@clisp.org>
86632         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
86633         zero-length results and shrink excess allocated memory.
86634         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
86635         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
86636         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
86637         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
86638         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
86639         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
86640         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
86641         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
86642         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
86643         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
86644         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
86645         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
86647 2009-02-21  Bruno Haible  <bruno@clisp.org>
86649         * doc/gnulib.texi: Include safe-alloc.texi earlier.
86650         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
86651         spaces after a period. Put a space between a macro name and its
86652         argument list. Trivial rewordings.
86653         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
86654         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
86655         (main): Return 0 explicitly.
86657 2009-02-21  Bruno Haible  <bruno@clisp.org>
86659         Tests for module 'uninorm/filter'.
86660         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
86661         * modules/uninorm/filter-tests: New file.
86663         New module 'uninorm/filter'.
86664         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
86665         uninorm_filter_flush, uninorm_filter_free): New declarations.
86666         * lib/uninorm/uninorm-filter.c: New file.
86667         * modules/uninorm/filter: New file.
86669 2009-02-21  Bruno Haible  <bruno@clisp.org>
86671         Tests for module 'uninorm/nfkc'.
86672         * tests/uninorm/test-nfkc.c: New file.
86673         * tests/uninorm/test-u8-nfkc.c: New file.
86674         * tests/uninorm/test-u16-nfkc.c: New file.
86675         * tests/uninorm/test-u32-nfkc.c: New file.
86676         * tests/uninorm/test-u32-nfkc-big.sh: New file.
86677         * tests/uninorm/test-u32-nfkc-big.c: New file.
86678         * modules/uninorm/nfkc-tests: New file.
86680         New module 'uninorm/nfkc'.
86681         * lib/uninorm/nfkc.c: New file.
86682         * modules/uninorm/nfkc: New file.
86684         Tests for module 'uninorm/nfkd'.
86685         * tests/uninorm/test-nfkd.c: New file.
86686         * tests/uninorm/test-u8-nfkd.c: New file.
86687         * tests/uninorm/test-u16-nfkd.c: New file.
86688         * tests/uninorm/test-u32-nfkd.c: New file.
86689         * tests/uninorm/test-u32-nfkd-big.sh: New file.
86690         * tests/uninorm/test-u32-nfkd-big.c: New file.
86691         * modules/uninorm/nfkd-tests: New file.
86693         New module 'uninorm/nfkd'.
86694         * lib/uninorm/nfkd.c: New file.
86695         * modules/uninorm/nfkd: New file.
86697         Tests for module 'uninorm/nfc'.
86698         * tests/uninorm/test-nfc.c: New file.
86699         * tests/uninorm/test-u8-nfc.c: New file.
86700         * tests/uninorm/test-u16-nfc.c: New file.
86701         * tests/uninorm/test-u32-nfc.c: New file.
86702         * tests/uninorm/test-u32-nfc-big.sh: New file.
86703         * tests/uninorm/test-u32-nfc-big.c: New file.
86704         * modules/uninorm/nfc-tests: New file.
86706         New module 'uninorm/nfc'.
86707         * lib/uninorm/nfc.c: New file.
86708         * modules/uninorm/nfc: New file.
86710         Tests for module 'uninorm/nfd'.
86711         * tests/uninorm/test-nfd.c: New file.
86712         * tests/uninorm/test-u8-nfd.c: New file.
86713         * tests/uninorm/test-u16-nfd.c: New file.
86714         * tests/uninorm/test-u32-nfd.c: New file.
86715         * tests/uninorm/test-u32-nfd-big.sh: New file.
86716         * tests/uninorm/test-u32-nfd-big.c: New file.
86717         * tests/uninorm/test-u32-normalize-big.h: New file.
86718         * tests/uninorm/test-u32-normalize-big.c: New file.
86719         * tests/uninorm/NormalizationTest.txt: New file, created from
86720         Unicode 5.1.0 NormalizationTest.txt.
86721         * modules/uninorm/nfd-tests: New file.
86723         New module 'uninorm/nfd'.
86724         * lib/uninorm/nfd.c: New file.
86725         * modules/uninorm/nfd: New file.
86727         New module 'uninorm/u32-normalize'.
86728         * lib/uninorm/u32-normalize.c: New file.
86729         * modules/uninorm/u32-normalize: New file.
86731         New module 'uninorm/u16-normalize'.
86732         * lib/uninorm/u16-normalize.c: New file.
86733         * modules/uninorm/u16-normalize: New file.
86735         New module 'uninorm/u8-normalize'.
86736         * lib/uninorm/u8-normalize.c: New file.
86737         * lib/uninorm/normalize-internal.h: New file.
86738         * lib/uninorm/u-normalize-internal.h: New file.
86739         * modules/uninorm/u8-normalize: New file.
86741         New module 'uninorm/decompose-internal'.
86742         * lib/uninorm/decompose-internal.c: New file.
86743         * modules/uninorm/decompose-internal: New file.
86745         Tests for module 'uninorm/composition'.
86746         * tests/uninorm/test-composition.c: New file.
86747         * modules/uninorm/composition-tests: New file.
86749         New module 'uninorm/composition'.
86750         * lib/uninorm/composition.c: New file.
86751         * lib/uninorm/composition-table.gperf: New file, generated by
86752         gen-uni-tables.
86753         * modules/uninorm/composition: New file.
86755         Tests for module 'uninorm/compat-decomposition'.
86756         * tests/uninorm/test-compat-decomposition.c: New file.
86757         * modules/uninorm/compat-decomposition-tests: New file.
86759         New module 'uninorm/compat-decomposition'.
86760         * lib/uninorm/decompose-internal.h: New file.
86761         * lib/uninorm/compat-decomposition.c: New file.
86762         * modules/uninorm/compat-decomposition: New file.
86764         Tests for module 'uninorm/canonical-decomposition'.
86765         * tests/uninorm/test-canonical-decomposition.c: New file.
86766         * modules/uninorm/canonical-decomposition-tests: New file.
86768         New module 'uninorm/canonical-decomposition'.
86769         * lib/uninorm/canonical-decomposition.c: New file.
86770         * modules/uninorm/canonical-decomposition: New file.
86772         Tests for module 'uninorm/decomposition'.
86773         * tests/uninorm/test-decomposition.c: New file.
86774         * modules/uninorm/decomposition-tests: New file.
86776         New module 'uninorm/decomposition'.
86777         * lib/uninorm/decomposition.c: New file.
86778         * modules/uninorm/decomposition: New file.
86780         New module 'uninorm/decomposition-table'.
86781         * lib/uninorm/decomposition-table.h: New file.
86782         * lib/uninorm/decomposition-table.c: New file.
86783         * lib/uninorm/decomposition-table1.h: New file, generated by
86784         gen-uni-tables.
86785         * lib/uninorm/decomposition-table2.h: New file, generated by
86786         gen-uni-tables.
86787         * modules/uninorm/decomposition-table: New file.
86789         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
86790         (UC_DECOMP_*): New enumeration items.
86791         (get_decomposition): New function.
86792         (struct decomp_table): New type.
86793         (output_decomposition, output_decomposition_tables): New functions.
86794         (unicode_composition_exclusions): New variable.
86795         (fill_composition_exclusions, debug_output_composition_tables): New
86796         functions.
86797         (main): Accept one more argument. Invoke fill_composition_exclusions.
86798         Output decomposition and composition tables.
86800         New module 'uninorm/base'.
86801         * lib/uninorm.h: New file.
86802         * lib/unictype.h: Update comment.
86803         * modules/uninorm/base: New file.
86805 2009-02-21  David Lutterkort  <lutter@redhat.com>
86807         Tests for module 'safe-alloc'.
86808         * tests/test-safe-alloc.c: New file.
86809         * modules/safe-alloc-tests: New file.
86811         New module 'safe-alloc'.
86812         * lib/safe-alloc.h: New file.
86813         * lib/safe-alloc.c: New file.
86814         * m4/safe-alloc.m4: New file.
86815         * modules/safe-alloc: New file.
86816         * doc/safe-alloc.texi: New file.
86817         * doc/gnulib.texi: Include it.
86818         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
86819         safe-alloc.
86821 2009-02-18  Bruno Haible  <bruno@clisp.org>
86823         Fix link error on non-glibc systems.
86824         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
86825         variable.
86826         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
86828 2009-02-18  Jim Meyering  <meyering@redhat.com>
86830         fts: avoid used-uninitialized error due to recent change
86831         * lib/fts.c (fts_read): Guard uses of the new member,
86832         parent->fts_n_dirs_remaining, since it's not relevant for
86833         the parent of a directory specified on the command-line.
86835 2009-02-17  James Youngman  <jay@gnu.org>
86836             Bruno Haible  <bruno@clisp.org>
86838         * m4/include_next.m4: Reformulate comment.
86840 2009-02-16  Jim Meyering  <meyering@redhat.com>
86842         fts: add #if guards so that the fts_lgpl module still builds
86843         * lib/fts.c: Guard just-added hash-table-using parts with
86844         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
86845         Reported by Simon Josefsson.
86847 2009-02-15  Bruno Haible  <bruno@clisp.org>
86849         * modules/array-mergesort-tests: New file.
86850         * tests/test-array-mergesort.c: New file.
86852         New module 'array-mergesort'.
86853         * modules/array-mergesort: New file.
86854         * lib/array-mergesort.h: New file.
86856 2009-02-15  Bruno Haible  <bruno@clisp.org>
86858         Fix 2009-02-07 commit.
86859         * lib/gen-uni-tables.c (output_predicate, output_category,
86860         output_combclass, output_bidi_category, output_decimal_digit,
86861         output_digit, output_numeric, output_mirror, output_scripts,
86862         output_ident_category, output_simple_mapping): Fix format directives.
86863         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
86865 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
86867         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
86868         fixes are available from IBM.
86870 2009-02-13  Jim Meyering  <meyering@redhat.com>
86872         fts: arrange not to stat non-directories in more cases
86873         This makes GNU find (when it doesn't need to stat each file)
86874         *much* more efficient at traversing reiserfs file systems.
86875         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
86876         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
86877         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
86878         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
86879         (leaf_optimization_applies): New function.
86880         (LCO_hash, LCO_compare): New helper functions.
86881         (link_count_optimize_ok): New function.
86882         (fts_stat): Initialize new member (if dir).
86883         (fts_read): Decrement parent's fts_n_dirs_remaining count if
86884         we've just stat'ed a directory.  Skip the stat call when possible.
86885         ---
86886         Note this AFS-related exchange:
86887         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
86888         and note find's pioctl call in find/fstype.c.
86889         But that is necessary only if you want to enable the
86890         optimization for AFS, and for now, I don't.
86892         fts: move a function definition "up" (no semantic change)
86893         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
86894         "up" to precede upcoming use of a related function.
86896 2009-02-11  Jim Meyering  <meyering@redhat.com>
86898         fts: correct internal computation of nlinks (optimization-related)
86899         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
86900         whether the current entry is a directory, so don't test it.
86902 2009-02-10  Bruno Haible  <bruno@clisp.org>
86904         Tests for module 'uniwbrk/ulc-wordbreaks'.
86905         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
86906         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
86907         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
86909         Tests for module 'uniwbrk/u32-wordbreaks'.
86910         * modules/uniwbrk/u32-wordbreaks-tests: New file.
86911         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
86913         Tests for module 'uniwbrk/u16-wordbreaks'.
86914         * modules/uniwbrk/u16-wordbreaks-tests: New file.
86915         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
86917         Tests for module 'uniwbrk/u8-wordbreaks'.
86918         * modules/uniwbrk/u8-wordbreaks-tests: New file.
86919         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
86921 2009-02-10  Bruno Haible  <bruno@clisp.org>
86923         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
86924         property.
86925         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
86926         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
86927         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
86929 2009-02-10  Simon Josefsson  <simon@josefsson.org>
86931         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
86932         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
86934 2009-02-10  Bruno Haible  <bruno@clisp.org>
86936         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
86937         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
86938         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
86939         * lib/unilbrk/u8-possible-linebreaks.c: Update.
86940         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
86941         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
86943 2009-02-09  Simon Josefsson  <simon@josefsson.org>
86945         * lib/sockets.h (gl_fd_to_handle): New function.
86947         * tests/test-sockets.c: Call gl_fd_to_handle.
86949 2009-02-09  Bruno Haible  <bruno@clisp.org>
86951         * doc/havelib.texi: Document the conventions on bi-arch systems.
86953 2009-02-08  Bruno Haible  <bruno@clisp.org>
86955         Document the AC_LIB_LINKFLAGS macro.
86956         * doc/havelib.texi: New file, mostly written on 2005-05-24.
86957         * doc/gnulib.texi: Include it.
86959 2009-02-08  Bruno Haible  <bruno@clisp.org>
86961         Fix wrong order of sections, compared to TOC.
86962         * doc/gnulib.texi: Include relocatable-maint.texi after the
86963         "Regular expressions" node, not before.
86965 2009-02-08  Bruno Haible  <bruno@clisp.org>
86967         Tests for module 'unicase/totitle'.
86968         * modules/unicase/totitle-tests: New file.
86970         Tests for module 'unicase/tolower'.
86971         * modules/unicase/tolower-tests: New file.
86973         Tests for module 'unicase/toupper'.
86974         * modules/unicase/toupper-tests: New file.
86975         * tests/unicase/test-mapping-part1.h: New file.
86976         * tests/unicase/test-mapping-part2.h: New file.
86978         New module 'unicase/totitle'.
86979         * modules/unicase/totitle: New file.
86980         * lib/unicase/totitle.c: New file.
86982         New module 'unicase/tolower'.
86983         * modules/unicase/tolower: New file.
86984         * lib/unicase/tolower.c: New file.
86986         New module 'unicase/toupper'.
86987         * modules/unicase/toupper: New file.
86988         * lib/unicase/toupper.c: New file.
86989         * lib/unicase/simple-mapping.h: New file.
86991         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
86992         (mapping_table): New structure.
86993         (output_simple_mapping): New function.
86994         (main): Invoke output_simple_mapping_test and output_simple_mapping.
86995         * modules/gen-uni-tables (Description): Update.
86996         * lib/unicase/toupper.h: New file, automatically generated by
86997         gen-uni-tables.
86998         * lib/unicase/tolower.h: New file, automatically generated by
86999         gen-uni-tables.
87000         * lib/unicase/totitle.h: New file, automatically generated by
87001         gen-uni-tables.
87002         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
87003         gen-uni-tables.
87004         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
87005         gen-uni-tables.
87006         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
87007         gen-uni-tables.
87009         New module 'unicase/base'.
87010         * modules/unicase/base: New file.
87011         * lib/unicase.h: New file.
87013 2009-02-08  Bruno Haible  <bruno@clisp.org>
87015         New module 'uniwbrk/ulc-wordbreaks'.
87016         * modules/uniwbrk/ulc-wordbreaks: New file.
87017         * lib/uniwbrk/ulc-wordbreaks.c: New file.
87019         New module 'uniwbrk/u32-wordbreaks'.
87020         * modules/uniwbrk/u32-wordbreaks: New file.
87021         * lib/uniwbrk/u32-wordbreaks.c: New file.
87023         New module 'uniwbrk/u16-wordbreaks'.
87024         * modules/uniwbrk/u16-wordbreaks: New file.
87025         * lib/uniwbrk/u16-wordbreaks.c: New file.
87027         New module 'uniwbrk/u8-wordbreaks'.
87028         * modules/uniwbrk/u8-wordbreaks: New file.
87029         * lib/uniwbrk/u8-wordbreaks.c: New file.
87030         * lib/uniwbrk/u-wordbreaks.h: New file.
87032         New module 'uniwbrk/table'.
87033         * modules/uniwbrk/table: New file.
87034         * lib/uniwbrk/wbrktable.h: New file.
87035         * lib/uniwbrk/wbrktable.c: New file.
87037         New module 'uniwbrk/wordbreak-property'.
87038         * modules/uniwbrk/wordbreak-property: New file.
87039         * lib/uniwbrk/wordbreak-property.c: New file.
87041         * lib/gen-uni-tables.c (WBP_*): New enum items.
87042         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
87043         (unicode_org_wbp): New variable.
87044         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
87045         New functions.
87046         (wbp_table): New structure.
87047         (output_wbp, output_wbrk_tables): New functions.
87048         (main): Accept additional argument. Invoke fill_org_wbp,
87049         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
87050         output_wbrk_tables.
87051         * modules/gen-uni-tables (Description): Update.
87052         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
87053         gen-uni-tables.
87055         New module 'uniwbrk/base'.
87056         * modules/uniwbrk/base: New file.
87057         * lib/uniwbrk.h: New file.
87059 2009-02-08  Bruno Haible  <bruno@clisp.org>
87061         Update to Unicode 5.1.0.
87062         * lib/gen-uni-tables.c (is_property_alphabetic): Include
87063         U+2185..U+2188.
87064         (is_property_default_ignorable_code_point): Don't include characters
87065         of category Cc or Cs and not-a-characters.
87066         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
87067         U+0D79, U+109E, U+109F, U+A60C.
87068         * lib/unictype/bidi_of.h: Regenerated.
87069         * lib/unictype/blocks.h: Regenerated.
87070         * lib/unictype/categ_C.h: Regenerated.
87071         * lib/unictype/categ_Cf.h: Regenerated.
87072         * lib/unictype/categ_Cn.h: Regenerated.
87073         * lib/unictype/categ_L.h: Regenerated.
87074         * lib/unictype/categ_Ll.h: Regenerated.
87075         * lib/unictype/categ_Lm.h: Regenerated.
87076         * lib/unictype/categ_Lo.h: Regenerated.
87077         * lib/unictype/categ_Lu.h: Regenerated.
87078         * lib/unictype/categ_M.h: Regenerated.
87079         * lib/unictype/categ_Mc.h: Regenerated.
87080         * lib/unictype/categ_Me.h: Regenerated.
87081         * lib/unictype/categ_Mn.h: Regenerated.
87082         * lib/unictype/categ_N.h: Regenerated.
87083         * lib/unictype/categ_Nd.h: Regenerated.
87084         * lib/unictype/categ_Nl.h: Regenerated.
87085         * lib/unictype/categ_No.h: Regenerated.
87086         * lib/unictype/categ_P.h: Regenerated.
87087         * lib/unictype/categ_Pd.h: Regenerated.
87088         * lib/unictype/categ_Pe.h: Regenerated.
87089         * lib/unictype/categ_Pf.h: Regenerated.
87090         * lib/unictype/categ_Pi.h: Regenerated.
87091         * lib/unictype/categ_Po.h: Regenerated.
87092         * lib/unictype/categ_Ps.h: Regenerated.
87093         * lib/unictype/categ_S.h: Regenerated.
87094         * lib/unictype/categ_Sk.h: Regenerated.
87095         * lib/unictype/categ_Sm.h: Regenerated.
87096         * lib/unictype/categ_So.h: Regenerated.
87097         * lib/unictype/categ_of.h: Regenerated.
87098         * lib/unictype/combining.h: Regenerated.
87099         * lib/unictype/ctype_alnum.h: Regenerated.
87100         * lib/unictype/ctype_alpha.h: Regenerated.
87101         * lib/unictype/ctype_graph.h: Regenerated.
87102         * lib/unictype/ctype_lower.h: Regenerated.
87103         * lib/unictype/ctype_print.h: Regenerated.
87104         * lib/unictype/ctype_punct.h: Regenerated.
87105         * lib/unictype/ctype_upper.h: Regenerated.
87106         * lib/unictype/decdigit.h: Regenerated.
87107         * lib/unictype/digit.h: Regenerated.
87108         * lib/unictype/mirror.h: Regenerated.
87109         * lib/unictype/numeric.h: Regenerated.
87110         * lib/unictype/pr_alphabetic.h: Regenerated.
87111         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
87112         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
87113         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
87114         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
87115         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
87116         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
87117         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
87118         * lib/unictype/pr_combining.h: Regenerated.
87119         * lib/unictype/pr_dash.h: Regenerated.
87120         * lib/unictype/pr_decimal_digit.h: Regenerated.
87121         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
87122         * lib/unictype/pr_deprecated.h: Regenerated.
87123         * lib/unictype/pr_diacritic.h: Regenerated.
87124         * lib/unictype/pr_extender.h: Regenerated.
87125         * lib/unictype/pr_format_control.h: Regenerated.
87126         * lib/unictype/pr_grapheme_base.h: Regenerated.
87127         * lib/unictype/pr_grapheme_extend.h: Regenerated.
87128         * lib/unictype/pr_grapheme_link.h: Regenerated.
87129         * lib/unictype/pr_id_continue.h: Regenerated.
87130         * lib/unictype/pr_id_start.h: Regenerated.
87131         * lib/unictype/pr_ideographic.h: Regenerated.
87132         * lib/unictype/pr_ignorable_control.h: Regenerated.
87133         * lib/unictype/pr_lowercase.h: Regenerated.
87134         * lib/unictype/pr_math.h: Regenerated.
87135         * lib/unictype/pr_numeric.h: Regenerated.
87136         * lib/unictype/pr_other_alphabetic.h: Regenerated.
87137         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
87138         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
87139         * lib/unictype/pr_other_id_continue.h: Regenerated.
87140         * lib/unictype/pr_other_lowercase.h: Regenerated.
87141         * lib/unictype/pr_other_math.h: Regenerated.
87142         * lib/unictype/pr_punctuation.h: Regenerated.
87143         * lib/unictype/pr_sentence_terminal.h: Regenerated.
87144         * lib/unictype/pr_soft_dotted.h: Regenerated.
87145         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
87146         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
87147         * lib/unictype/pr_unified_ideograph.h: Regenerated.
87148         * lib/unictype/pr_uppercase.h: Regenerated.
87149         * lib/unictype/pr_xid_continue.h: Regenerated.
87150         * lib/unictype/pr_xid_start.h: Regenerated.
87151         * lib/unictype/pr_zero_width.h: Regenerated.
87152         * lib/unictype/scripts.h: Regenerated.
87153         * lib/unictype/scripts_byname.gperf: Regenerated.
87154         * lib/unictype/sy_java_ident.h: Regenerated.
87155         * lib/unilbrk/lbrkprop1.h: Regenerated.
87156         * lib/unilbrk/lbrkprop2.h: Regenerated.
87157         * tests/unictype/test-categ_C.c: Regenerated.
87158         * tests/unictype/test-categ_Cf.c: Regenerated.
87159         * tests/unictype/test-categ_Cn.c: Regenerated.
87160         * tests/unictype/test-categ_L.c: Regenerated.
87161         * tests/unictype/test-categ_Ll.c: Regenerated.
87162         * tests/unictype/test-categ_Lm.c: Regenerated.
87163         * tests/unictype/test-categ_Lo.c: Regenerated.
87164         * tests/unictype/test-categ_Lu.c: Regenerated.
87165         * tests/unictype/test-categ_M.c: Regenerated.
87166         * tests/unictype/test-categ_Mc.c: Regenerated.
87167         * tests/unictype/test-categ_Me.c: Regenerated.
87168         * tests/unictype/test-categ_Mn.c: Regenerated.
87169         * tests/unictype/test-categ_N.c: Regenerated.
87170         * tests/unictype/test-categ_Nd.c: Regenerated.
87171         * tests/unictype/test-categ_Nl.c: Regenerated.
87172         * tests/unictype/test-categ_No.c: Regenerated.
87173         * tests/unictype/test-categ_P.c: Regenerated.
87174         * tests/unictype/test-categ_Pd.c: Regenerated.
87175         * tests/unictype/test-categ_Pe.c: Regenerated.
87176         * tests/unictype/test-categ_Pf.c: Regenerated.
87177         * tests/unictype/test-categ_Pi.c: Regenerated.
87178         * tests/unictype/test-categ_Po.c: Regenerated.
87179         * tests/unictype/test-categ_Ps.c: Regenerated.
87180         * tests/unictype/test-categ_S.c: Regenerated.
87181         * tests/unictype/test-categ_Sk.c: Regenerated.
87182         * tests/unictype/test-categ_Sm.c: Regenerated.
87183         * tests/unictype/test-categ_So.c: Regenerated.
87184         * tests/unictype/test-ctype_alnum.c: Regenerated.
87185         * tests/unictype/test-ctype_alpha.c: Regenerated.
87186         * tests/unictype/test-ctype_graph.c: Regenerated.
87187         * tests/unictype/test-ctype_lower.c: Regenerated.
87188         * tests/unictype/test-ctype_print.c: Regenerated.
87189         * tests/unictype/test-ctype_punct.c: Regenerated.
87190         * tests/unictype/test-ctype_upper.c: Regenerated.
87191         * tests/unictype/test-decdigit.h: Regenerated.
87192         * tests/unictype/test-digit.h: Regenerated.
87193         * tests/unictype/test-numeric.h: Regenerated.
87194         * tests/unictype/test-pr_alphabetic.c: Regenerated.
87195         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
87196         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
87197         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
87198         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
87199         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
87200         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
87201         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
87202         * tests/unictype/test-pr_combining.c: Regenerated.
87203         * tests/unictype/test-pr_dash.c: Regenerated.
87204         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
87205         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
87206         * tests/unictype/test-pr_deprecated.c: Regenerated.
87207         * tests/unictype/test-pr_diacritic.c: Regenerated.
87208         * tests/unictype/test-pr_extender.c: Regenerated.
87209         * tests/unictype/test-pr_format_control.c: Regenerated.
87210         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
87211         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
87212         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
87213         * tests/unictype/test-pr_id_continue.c: Regenerated.
87214         * tests/unictype/test-pr_id_start.c: Regenerated.
87215         * tests/unictype/test-pr_ideographic.c: Regenerated.
87216         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
87217         * tests/unictype/test-pr_lowercase.c: Regenerated.
87218         * tests/unictype/test-pr_math.c: Regenerated.
87219         * tests/unictype/test-pr_numeric.c: Regenerated.
87220         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
87221         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
87222         Regenerated.
87223         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
87224         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
87225         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
87226         * tests/unictype/test-pr_other_math.c: Regenerated.
87227         * tests/unictype/test-pr_punctuation.c: Regenerated.
87228         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
87229         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
87230         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
87231         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
87232         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
87233         * tests/unictype/test-pr_uppercase.c: Regenerated.
87234         * tests/unictype/test-pr_xid_continue.c: Regenerated.
87235         * tests/unictype/test-pr_xid_start.c: Regenerated.
87236         * tests/unictype/test-pr_zero_width.c: Regenerated.
87238         Update to Unicode 5.1.0.
87239         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
87240         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
87241         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
87242         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
87243         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
87244         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
87245         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
87246         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
87247         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
87248         (nonspacing_table_ind): Update.
87249         * tests/uniwidth/test-uc_width2.sh: Update expected result.
87251         Update to Unicode 5.1.0.
87252         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
87253         code transform.
87254         * lib/uniname/uniname.c (unicode_character_name,
87255         unicode_name_character): Add the range 0x1Fxxx to the code transform.
87256         * lib/uniname/uninames.h: Regenerated.
87257         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
87259 2009-02-07  Bruno Haible  <bruno@clisp.org>
87261         Merge gen-ctype and gen-lbrk into a single program.
87262         * lib/gen-uni-tables.c: New file, incorporating
87263         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
87264         Add directory prefixes to the names of the generated files.
87265         * lib/unictype/gen-ctype.c: Remove file.
87266         * lib/unilbrk/gen-lbrk.c: Remove file.
87267         * modules/gen-uni-tables: New file.
87268         * modules/unictype/gen-ctype: Remove file.
87269         * modules/unilbrk/gen-lbrk: Remove file.
87271 2009-02-07  Bruno Haible  <bruno@clisp.org>
87273         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
87275         New module 'unistr/u32-strcoll'.
87276         * modules/unistr/u32-strcoll: New file.
87277         * lib/unistr/u32-strcoll.c: New file.
87279         New module 'unistr/u16-strcoll'.
87280         * modules/unistr/u16-strcoll: New file.
87281         * lib/unistr/u16-strcoll.c: New file.
87283         New module 'unistr/u8-strcoll'.
87284         * modules/unistr/u8-strcoll: New file.
87285         * lib/unistr/u8-strcoll.c: New file.
87286         * lib/unistr/u-strcoll.h: New file.
87288 2009-02-07  Bruno Haible  <bruno@clisp.org>
87290         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
87291         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
87292         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
87293         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
87294         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
87295         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
87297 2009-02-07  Bruno Haible  <bruno@clisp.org>
87299         Make 64-bit clean.
87300         * lib/unictype/gen-ctype.c (output_predicate, output_category,
87301         output_combclass, output_bidi_category, output_decimal_digit,
87302         output_digit, output_numeric, output_mirror, output_scripts,
87303         output_ident_category): Use proper width specifier in format strings.
87305 2009-02-07  Bruno Haible  <bruno@clisp.org>
87307         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
87308         failure behaviour.
87310 2009-02-07  Jim Meyering  <meyering@redhat.com>
87312         regex: avoid compilation failure with upcoming gcc-4.4
87313         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
87314         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
87315         "... error: integer overflow in preprocessor expression".
87317 2009-02-05  Ben Pfaff  <blp@gnu.org>
87319         Fix link errors on Windows when close module is used.
87320         * modules/close: Add $(LIB_CLOSE) to Link section.
87321         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
87322         $(LIB_CLOSE) on Windows.
87324 2009-02-05  Jim Meyering  <meyering@redhat.com>
87326         still avoid unused-parameter warnings, but do it cleanly
87327         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
87328         (get_fs_usage): Cast to void instead.
87329         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
87330         (dev_from_mount_options, read_file_system_list): Cast to void.
87331         Prompted by Bruno Haible.
87333 2009-02-04  Jim Meyering  <meyering@redhat.com>
87335         fsusage.c: correct copyright year
87336         * lib/fsusage.c: Reflect year in which the change is pushed into
87338         avoid misc. warnings
87339         * lib/fsusage.c (UNUSED_PARAM): Define.
87340         (get_fs_usage): Mark parameter "disk" as unused.
87341         * lib/getugroups.c (getgrent): Use "void" in prototype.
87342         * lib/mountlist.c: Mark unused parameters.
87343         (read_file_system_list): Declare a local with "const".
87344         * lib/nanosleep.c (getnow): Declare static.
87345         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
87347         dirfd: set errno upon failure
87348         * lib/dirfd.c: Include <errno.h>.
87349         Set errno to ENOTSUP when returning -1.
87350         * modules/dirfd (Depends-on): Add errno.
87351         Suggested by John Kodis <kodis@comcast.net>.
87353 2009-02-01  Bruno Haible  <bruno@clisp.org>
87355         Don't assume sizeof (long) >= sizeof (void *).
87356         * lib/memcmp.c: Include stdint.h.
87357         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
87358         srcp2 to 'const byte *'.
87359         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
87360         types to uintptr_t.
87361         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
87362         * modules/memcmp (Depends-on): Add stdint.
87363         Reported by Ozkan Sezer <sezeroz@gmail.com>.
87365 2009-01-30  Eric Blake  <ebb9@byu.net>
87367         fix more require-before-expand issues
87368         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
87369         expand, AC_PROG_AWK.
87370         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
87372 2009-01-28  Eric Blake  <ebb9@byu.net>
87374         version-etc: use consistent URL formatting
87375         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
87376         Improve formatting.  Use fputs for string without %.
87378 2009-01-28  Jim Meyering  <meyering@redhat.com>
87380         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
87381         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
87382         "underquoted definition of NAME" from autoconf-2.59.
87384 2009-01-28  Bruno Haible  <bruno@clisp.org>
87386         * doc/gnulib.texi: Add "Obsolete modules" to index.
87388 2009-01-28  Jim Meyering  <meyering@redhat.com>
87390         useless-if-before-free: recognize more variants
87391         * build-aux/useless-if-before-free: Also recognize e.g.,
87392         if (NULL != p) free (p);
87394 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
87396         test-getaddrinfo: skip (don't fail) this test when there's no network
87397         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
87398         on the presumption that it means you lack network access.
87400 2009-01-26  Jim Meyering  <meyering@redhat.com>
87402         fflush: avoid warnings on modern systems
87403         * lib/fflush.c (rpl_fflush): Move declarations of locals,
87404         pos and result, into scopes where they're used.
87406 2009-01-26  Eric Blake  <ebb9@byu.net>
87408         Silence warning reintroduced by recent extensions patch.
87409         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
87410         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
87411         autoconf.
87413         Backport improved autoconf semantics of AC_DEFUN_ONCE.
87414         * m4/00gnulib.m4: New file.
87415         * gnulib-tool (func_get_filelist): Always use it.
87416         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
87417         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
87419 2009-01-25  Bruno Haible  <bruno@clisp.org>
87421         Make test-quotearg work on MacOS X and AIX.
87422         * tests/test-quotearg.sh: New file.
87423         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
87424         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
87425         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
87426         include <libintl.h>.
87427         (fake_locale): Remove variable.
87428         (gettext, dgettext, dcgettext): Remove functions.
87429         (main): Instead of setting a fake locale, set a real locale. Call
87430         textdomain and bindtextdomain.
87431         * modules/quotearg-tests (Files): Add the new files.
87432         (Depends-on): Add gettext, setenv, unsetenv.
87433         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
87434         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
87435         Augment TESTS_ENVIRONMENT.
87437 2009-01-25  Bruno Haible  <bruno@clisp.org>
87439         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
87440         fr_FR.ISO8859-1 locale on MacOS X.
87441         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
87442         ja_JP.eucJP locale on MacOS X.
87443         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
87444         zh_CN.GB18030 locale on MacOS X.
87446 2009-01-25  Bruno Haible  <bruno@clisp.org>
87448         Avoid link errors on MacOS X 10.3.
87449         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
87450         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
87452 2009-01-25  Bruno Haible  <bruno@clisp.org>
87454         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
87455         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
87456         * modules/pipe (Files): Remove m4/posix_spawn.m4.
87457         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
87458         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
87459         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
87460         posix_spawnattr_init, posix_spawnattr_setsigmask,
87461         posix_spawnattr_setflags, posix_spawnattr_destroy.
87463         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
87464         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
87465         * modules/execute (Files): Remove m4/posix_spawn.m4.
87466         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
87467         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
87468         posix_spawnattr_init, posix_spawnattr_setsigmask,
87469         posix_spawnattr_setflags, posix_spawnattr_destroy.
87471 2009-01-25  Bruno Haible  <bruno@clisp.org>
87473         * lib/glthread/threadlib.c: Include <stdlib.h>.
87475 2009-01-25  Bruno Haible  <bruno@clisp.org>
87477         * lib/glthread/threadlib.c (dummy): New declaration.
87479 2009-01-25  Bruno Haible  <bruno@clisp.org>
87481         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
87482         multibyte characters also for the GB18030 encoding. Don't crash when
87483         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
87485 2009-01-25  Bruno Haible  <bruno@clisp.org>
87487         Avoid redefining 'struct random_data' on OSF/1 5.1.
87488         * lib/stdlib.in.h: Include <random.h> if it exists.
87489         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
87490         HAVE_RANDOM_H. Include <random.h> when testing whether
87491         'struct random_data' exists.
87492         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
87494 2009-01-25  Bruno Haible  <bruno@clisp.org>
87496         Don't install charset.alias on MacOS X >= 10.3.
87497         * lib/localcharset.c (DARWIN7): New macro.
87498         (get_charset_aliases): Hardcode the result for Darwin7.
87499         * modules/localcharset (install-exec-local): Don't install
87500         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
87502 2009-01-25  Bruno Haible  <bruno@clisp.org>
87504         Don't install charset.alias on mingw and Cygwin.
87505         * modules/localcharset (install-exec-local): Don't install
87506         charset.alias on mingw and Cygwin, if the file does not yet exist.
87507         The result for these platforms is hardcoded in localcharset.c.
87509 2009-01-25  Bruno Haible  <bruno@clisp.org>
87511         Make it possible again to use AC_GNU_SOURCE together with gnulib.
87512         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
87513         before requiring AC_USE_SYSTEM_EXTENSIONS.
87515 2009-01-25  Jim Meyering  <meyering@redhat.com>
87517         c-strtod: avoid warnings
87518         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
87519         "assignment discards qualifiers from pointer target type" warnings.
87521 2009-01-24  Bruno Haible  <bruno@clisp.org>
87523         Add support for non-UTF-8 locales on MacOS X.
87524         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
87525         canonical encodings. For Darwin 7 and newer, don't map traditional
87526         encodings to UTF-8.
87527         Reported by Vincent Lefevre <vincent@vinc17.org>
87528         at <http://savannah.gnu.org/bugs/?25235>.
87530 2009-01-24  Bruno Haible  <bruno@clisp.org>
87532         * doc/gnulib.texi (Obsolete modules): New section.
87533         Reported by Mike Frysinger <vapier@gentoo.org>.
87535 2009-01-24  Bruno Haible  <bruno@clisp.org>
87537         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
87538         (%.dvi): New rule.
87540 2009-01-24  Bruno Haible  <bruno@clisp.org>
87542         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
87543         Reported by Eric Blake.
87545 2009-01-24  Bruno Haible  <bruno@clisp.org>
87547         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
87548         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
87549         Reported by Gary V. Vaughan <gary@gnu.org>.
87551 2009-01-24  Bruno Haible  <bruno@clisp.org>
87553         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
87555 2009-01-23  Bruno Haible  <bruno@clisp.org>
87557         Make c-strtod, c-strtold usable in libraries.
87558         * lib/c-strtod.c: Include string.h instead of xalloc.h.
87559         (C_STRTOD): Call strdup instead of xstrdup.
87560         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
87561         * modules/c-strtold (Depends-on): Likewise.
87562         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
87563         * NEWS: Mention the change.
87564         Reported by Michael Gold <mgold@ncf.ca>.
87566 2009-01-23  Jim Meyering  <meyering@redhat.com>
87568         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
87569         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
87570         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
87572 2009-01-23  Simon Josefsson  <simon@josefsson.org>
87574         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
87575         GNU CoreUtils.
87576         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
87577         * modules/version-etc (Description): Update.
87579 2009-01-22  Bruno Haible  <bruno@clisp.org>
87581         Cache the C locale object.
87582         * lib/c-strtod.c (c_locale_cache): New variable.
87583         (c_locale): New function.
87584         (C_STRTOD): Use it, and don't call freelocale.
87585         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
87586         Suggested by Paolo Bonzini.
87588 2009-01-21  Bruno Haible  <bruno@clisp.org>
87590         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
87591         conditions other than overflow.
87593 2009-01-21  Bruno Haible  <bruno@clisp.org>
87595         * lib/c-strtod.c: Include errno.h.
87596         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
87597         value from STRTOD_L and STRTOD.
87599 2009-01-21  Bruno Haible  <bruno@clisp.org>
87600         and Jim Meyering  <meyering@redhat.com>
87602         nanosleep: skip configure test (fail it) for apple universal builds
87603         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
87604         universal builds, assume that nanosleep does not work.
87605         * modules/nanosleep (Depends-on): Add multiarch.
87607         mktime: skip configure test (fail it) for apple universal builds
87608         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
87609         universal builds, assume that mktime does not work.
87610         * modules/mktime (Depends-on): Add multiarch.
87612 2009-01-21  Eric Blake  <ebb9@byu.net>
87614         multiarch: avoid expand-before-require warning
87615         * modules/multiarch (configure.ac): Require, rather than expand,
87616         gl_MULTIARCH.
87617         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
87618         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
87619         enforce that all clients require it.  Partial reversion of
87620         2008-12-29 patch.
87622         error: avoid expand-before-require warning
87623         * modules/errno (configure.ac): Require, rather than expand,
87624         gl_HEADER_ERRNO_H.
87625         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
87626         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
87627         enforce that all clients require it.
87629         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
87630         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
87631         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
87632         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
87634 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
87636         Revert:
87637         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
87639         regex: do not depend on obsolete modules.
87640         * modules/regex: Remove memcmp and memmove.
87642 2009-01-20  Bruno Haible  <bruno@clisp.org>
87644         Make the 'link' module link on Windows NT 4.
87645         * lib/link.c (_WIN32_WINNT): Don't define.
87646         (CreateHardLinkFuncType): New type.
87647         (CreateHardLinkFunc, initialized): New variables.
87648         (initialize): New function.
87649         (link): Invoke CreateHardLink indirectly through the function pointer.
87651 2009-01-20  Bruno Haible  <bruno@clisp.org>
87653         Fix compilation failure on mingw.
87654         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
87656 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
87658         * doc/c-strtod.texi: Mention a couple of restrictions.
87660 2009-01-20  Jim Meyering  <meyering@redhat.com>
87662         gettimeofday: move more declarations out of functions
87663         * lib/gettimeofday.c: Move extern declarations of tzset and
87664         gmtime out of containing functions.  Prompted by Bruno Haible.
87666 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
87668         regex: do not depend on obsolete modules.
87669         * modules/regex: Remove memcmp and memmove.
87671 2009-01-19  Bruno Haible  <bruno@clisp.org>
87673         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
87674         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
87675         gl_BIGENDIAN, not AC_C_BIGENDIAN.
87676         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
87677         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
87679 2009-01-19  Bruno Haible  <bruno@clisp.org>
87681         * tests/test-link.c: Include <errno.h>.
87682         (main): Exit with code 77 when a hard link cannot be created due to
87683         the file system.
87684         * tests/test-link.sh: Skip test when a hard link cannot be created due
87685         to the file system.
87686         Suggested by Eric Blake.
87688 2009-01-19  Martin Lambers  <marlam@marlam.de>
87690         * modules/link-tests: New file.
87691         * tests/test-link.sh: New file.
87692         * tests/test-link.c: New file.
87694 2009-01-19  Eric Blake  <ebb9@byu.net>
87696         doc: mention another function added in cygwin 1.7.0
87697         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
87698         Another new function in cygwin 1.7.
87700 2009-01-19  Bruno Haible  <bruno@clisp.org>
87702         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
87703         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
87704         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
87705         gl_BIGENDIAN, not AC_C_BIGENDIAN.
87706         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
87707         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
87708         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
87709         * m4/md4.m4 (gl_MD4): Likewise.
87710         * m4/md5.m4 (gl_MD5): Likewise.
87711         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
87712         * m4/sha1.m4 (gl_SHA1): Likewise.
87713         * m4/sha256.m4 (gl_SHA256): Likewise.
87714         * m4/sha512.m4 (gl_SHA512): Likewise.
87716 2009-01-19  Bruno Haible  <bruno@clisp.org>
87718         * modules/uniname/uniname-tests (Depends-on): Add progname.
87719         * tests/uniname/test-uninames.c: Include progname.h.
87720         (main): Call set_program_name.
87722         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
87723         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
87724         (main): Call set_program_name.
87726         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
87727         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
87728         (main): Call set_program_name.
87730         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
87731         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
87732         (main): Call set_program_name.
87734         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
87735         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
87736         (main): Call set_program_name.
87738         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
87739         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
87740         (main): Call set_program_name.
87742         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
87743         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
87744         (main): Call set_program_name.
87746         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
87747         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
87748         (main): Call set_program_name.
87750         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
87751         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
87752         (main): Call set_program_name.
87754 2009-01-19  Eric Blake  <ebb9@byu.net>
87756         test-unistd: test previous patch
87757         * tests/test-unistd.c: Test *_FILENO macros.
87759         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
87760         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
87761         Guarantee a definition.
87762         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
87763         * modules/unistd-safer (Depends-on): Add dependency on unistd.
87764         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
87765         * lib/dup-safer.c (STDERR_FILENO): Likewise.
87766         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
87767         Likewise.
87768         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
87769         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
87770         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
87771         Likewise.
87772         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
87773         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
87774         (STDERR_FILENO): Likewise.
87775         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
87776         (STDERR_FILENO): Likewise.
87777         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
87778         (STDERR_FILENO): Likewise.
87779         Reported by Elbert Pol.
87781 2009-01-19  Eric Blake  <ebb9@byu.net>
87783         doc: mention more functions added in cygwin 1.7.0
87784         * doc/posix-functions/abort.texi (abort): Update wording related
87785         to cygwin.
87786         * doc/posix-functions/daylight.texi (daylight): Likewise.
87787         * doc/posix-functions/optarg.texi (optarg): Likewise.
87788         * doc/posix-functions/optarg.texi (opterr): Likewise.
87789         * doc/posix-functions/optarg.texi (optind): Likewise.
87790         * doc/posix-functions/optarg.texi (optopt): Likewise.
87791         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
87792         worked in 1.5.x, and was withdrawn in 1.7.
87793         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
87794         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
87795         cygwin versions.
87796         * doc/posix-functions/perror.texi (perror): Likewise.
87797         * doc/posix-functions/printf.texi (printf): Likewise.
87798         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
87799         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
87800         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
87801         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
87802         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
87803         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
87804         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
87805         Likewise.
87806         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
87807         Likewise.
87808         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
87809         this function.
87810         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
87811         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
87812         Likewise.
87813         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
87814         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
87815         * doc/posix-functions/confstr.texi (confstr): Likewise.
87816         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
87817         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
87818         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
87819         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
87820         * doc/posix-functions/fputws.texi (fputws): Likewise.
87821         * doc/posix-functions/fwide.texi (fwide): Likewise.
87822         * doc/posix-functions/getwc.texi (getwc): Likewise.
87823         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
87824         * doc/posix-functions/putwc.texi (putwc): Likewise.
87825         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
87826         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
87827         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
87828         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
87829         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
87830         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
87831         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
87832         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
87833         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
87834         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
87835         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
87837 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
87839         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
87840         * lib/ioctl.c: Include <sys/ioctl.h>.
87842 2009-01-19  Simon Josefsson  <simon@josefsson.org>
87844         * modules/getdate-tests (Depends-on): Add progname.
87845         * tests/test-getdate.c: Use progname module, to avoid link errors
87846         on non-glibc systems.
87848 2009-01-18  Simon Josefsson  <simon@josefsson.org>
87850         * modules/filenamecat-tests (Depends-on): Add progname.
87851         * modules/fstrcmp-tests (Depends-on): Likewise.
87853         * tests/test-filenamecat.c: Use progname module, to avoid link
87854         errors on non-glibc systems.
87855         * tests/test-fstrcmp.c: Likewise.
87857 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
87859         gettimeofday: avoid warning: nested extern declaration of 'localtime'
87860         * lib/gettimeofday.c: Move extern declaration out of function.
87862 2009-01-18  Bruno Haible  <bruno@clisp.org>
87864         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
87865         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
87866         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
87868 2009-01-18  Bruno Haible  <bruno@clisp.org>
87870         * lib/strftime.c (MEMPCPY): Remove unused macro.
87871         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
87873 2009-01-18  Martin Lambers  <marlam@marlam.de>
87875         New module 'link'.
87876         * lib/unistd.in.h (link): New declaration.
87877         * lib/link.c: New file.
87878         * m4/link.m4: New file.
87879         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
87880         HAVE_LINK.
87881         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
87882         * modules/link: New file.
87883         * doc/posix-functions/link.texi: Mention the new module.
87885 2009-01-18  Bruno Haible  <bruno@clisp.org>
87887         * tests/test-avltree_list.c (main): Call set_program_name.
87888         * tests/test-avltree_oset.c (main): Likewise.
87889         * tests/test-obstack-printf.c: Include progname.h.
87890         (main): Call set_program_name.
87891         * tests/test-quotearg.c: Include progname.h.
87892         (main): Call set_program_name.
87893         * tests/test-xmemdup0.c: Include progname.h.
87894         (main): Call set_program_name.
87896 2009-01-18  Bruno Haible  <bruno@clisp.org>
87898         New module 'alphasort'.
87899         * lib/dirent.in.h (alphasort): New declaration.
87900         * lib/alphasort.c: New file, from glibc with modifications.
87901         * m4/alphasort.m4: New file.
87902         * modules/alphasort: New file.
87903         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
87904         HAVE_ALPHASORT.
87905         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
87906         HAVE_ALPHASORT.
87907         * doc/posix-functions/alphasort.texi: Mention the new module and the
87908         portability problems.
87910 2009-01-18  Bruno Haible  <bruno@clisp.org>
87912         New module 'scandir'.
87913         * lib/dirent.in.h (scandir): New declaration.
87914         * lib/scandir.c: New file, from glibc with modifications.
87915         * m4/scandir.m4: New file.
87916         * modules/scandir: New file.
87917         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
87918         HAVE_SCANDIR.
87919         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
87920         HAVE_SCANDIR.
87921         * doc/posix-functions/scandir.texi: Mention the new module and the
87922         portability problems.
87924 2009-01-17  Bruno Haible  <bruno@clisp.org>
87926         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
87927         Update documentation.
87928         (func_remove_suffix): Escape all dots in the suffix. Update
87929         documentation.
87930         (func_filter_filelist): Update documentation.
87931         Reported by Ralf Wildenhues.
87933 2009-01-17  Bruno Haible  <bruno@clisp.org>
87935         * modules/dprintf-posix-tests: New file.
87936         * tests/test-dprintf-posix.sh: New file.
87937         * tests/test-dprintf-posix.c: New file.
87939         New modules 'dprintf', 'dprintf-posix'.
87940         * lib/stdio.in.h (dprintf): New declaration.
87941         * lib/dprintf.c: New file.
87942         * m4/dprintf.m4: New file.
87943         * m4/dprintf-posix.m4: New file.
87944         * modules/dprintf: New file.
87945         * modules/dprintf-posix: New file.
87946         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
87947         HAVE_DPRINTF, REPLACE_DPRINTF.
87948         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
87949         HAVE_DPRINTF, REPLACE_DPRINTF.
87950         * doc/posix-functions/dprintf.texi: Mention the new modules.
87952 2009-01-17  Bruno Haible  <bruno@clisp.org>
87954         * modules/vdprintf-posix-tests: New file.
87955         * tests/test-vdprintf-posix.sh: New file.
87956         * tests/test-vdprintf-posix.c: New file.
87958         New modules 'vdprintf', 'vdprintf-posix'.
87959         * lib/stdio.in.h (vdprintf): New declaration.
87960         * lib/vdprintf.c: New file.
87961         * m4/vdprintf.m4: New file.
87962         * m4/vdprintf-posix.m4: New file.
87963         * modules/vdprintf: New file.
87964         * modules/vdprintf-posix: New file.
87965         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
87966         HAVE_VDPRINTF, REPLACE_VDPRINTF.
87967         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
87968         HAVE_VDPRINTF, REPLACE_VDPRINTF.
87969         * doc/posix-functions/vdprintf.texi: Mention the new modules.
87971 2009-01-17  Bruno Haible  <bruno@clisp.org>
87973         Fix replacement of fopen on mingw.
87974         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
87975         mingw.
87977 2009-01-17  Bruno Haible  <bruno@clisp.org>
87979         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
87980         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
87982 2009-01-17  Bruno Haible  <bruno@clisp.org>
87984         Avoid test-fflush2.sh failure on mingw.
87985         * tests/test-fflush2.c: Include binary-io.h.
87986         (main): Put standard input into binary mode.
87987         * modules/fflush-tests (Depends-on): Add binary-io.
87989 2009-01-17  Bruno Haible  <bruno@clisp.org>
87991         * lib/wchar.in.h: In another particular situation, include only the
87992         system's <wchar.h> file.
87993         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
87994         Reported by Albert Chin-A-Young <china@thewrittenword.com>
87995         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
87997 2009-01-17  Bruno Haible  <bruno@clisp.org>
87999         Support for stripping executables in --enable-relocatable.
88000         * build-aux/install-reloc: Expect one more argument, or an environment
88001         variable RELOC_STRIP_PROG. If set, strip the destination program and
88002         its wrapper.
88003         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
88004         RELOC_STRIP_PROG.
88005         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
88006         to set RELOCATABLE_STRIP.
88007         * NEWS: Mention the new Makefile requirement.
88009 2009-01-17  Bruno Haible  <bruno@clisp.org>
88011         * build-aux/install-reloc: Remove debugging information left over by
88012         C compiler on MacOS X.
88014 2009-01-17  Bruno Haible  <bruno@clisp.org>
88016         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
88017         * lib/progreloc.c (find_executable): Fix type of pointer passed to
88018         _NSGetExecutablePath.
88020 2009-01-16  Jim Meyering  <meyering@redhat.com>
88022         strerror: avoid warnings about discarding "const"
88023         * lib/strerror.c (rpl_strerror): Instead of returning a const
88024         string from each and every "case", use a variable, and add a single
88025         cast after the switch.
88027 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
88029         * lib/arpa_inet.in.h: Add extern "C" block for C++.
88031 2009-01-16  Bruno Haible  <bruno@clisp.org>
88033         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
88034         array initializer syntax that also works in C++ mode.
88035         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
88037 2009-01-16  Jim Meyering  <meyering@redhat.com>
88039         poll: suppress a warning
88040         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
88041         to ignore "...unsigned expression < 0 is always false" warnings.
88043 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
88045         poll: remove declarations of unused variables
88046         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
88047         sockbuf and optlen.
88049 2009-01-15  Bruno Haible  <bruno@clisp.org>
88051         Make fflush-after-ungetc POSIX compliant on BSD systems.
88052         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
88053         (clear_ungetc_buffer): Implement also for other systems.
88054         (rpl_fflush): On glibc systems, invoke
88055         clear_ungetc_buffer_preserving_position. Otherwise, invoke
88056         clear_ungetc_buffer after fetching the stream's position, not before.
88058 2009-01-15  Bruno Haible  <bruno@clisp.org>
88060         Make fflush-after-ungetc POSIX compliant on glibc systems.
88061         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
88062         after ungetc.
88063         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
88064         (rpl_fflush): On glibc systems, simply call the system's fflush
88065         function after clearing the ungetc buffer.
88066         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
88067         Instead, lseek only to the end of file, then use the system's fseeko
88068         for the rest. On glibc systems, reset the EOF indicator bit.
88070 2009-01-15  Jim Meyering  <meyering@redhat.com>
88072         openmp.m4: revert quote-adding change, for portability to older autoconf
88073         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
88074         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
88075         Simon Josefsson noticed the problem when using autoconf-2.61.
88077 2009-01-15  Bruno Haible  <bruno@clisp.org>
88079         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
88080         * tests/test-fflush2.c (ASSERT): Always fail.
88081         (main): Add two tests for fflush() after ungetc(), taking into account
88082         the Austin Group's clarification.
88083         Suggested by Eric Blake.
88085 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
88087         mktime.m4: remove K&R-style function prototypes
88088         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
88089         for the Sun C++ compiler.
88091 2009-01-14  Bruno Haible  <bruno@clisp.org>
88093         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
88094         while including <wchar.h>.
88095         * lib/wchar.in.h: In two particular situations on HP-UX, include only
88096         the system's <wchar.h> file.
88097         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
88099 2009-01-14  Bruno Haible  <bruno@clisp.org>
88101         * m4/csharp.m4: Don't mention gettext on the serial number line.
88102         * m4/csharpexec.m4: Likewise.
88103         * m4/eaccess.m4: Likewise.
88104         * m4/javaexec.m4: Likewise.
88105         * m4/sig_atomic_t.m4: Likewise.
88106         * m4/tmpdir.m4: Likewise.
88107         * m4/intldir.m4: Bump gettext version.
88108         * m4/lib-ld.m4: Likewise.
88110 2009-01-14  Bruno Haible  <bruno@clisp.org>
88112         * lib/progname.c (set_program_name): Add more comments.
88113         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
88115 2009-01-14  Simon Josefsson  <simon@josefsson.org>
88117         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
88118         were sys/stat.h does not define it.
88120 2009-01-14  Jim Meyering  <meyering@redhat.com>
88122         many *.m4 files: improve m4 quoting
88123         99% of this change was performed by running the following commands:
88124         git ls-files | grep '\.m4$' | xargs perl -pi \
88125           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
88126           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
88127           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
88128           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
88129         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
88130         The remainder were to add Copyright dates, increment serial numbers,
88131         undo some changes in comments, exclude m4/intl.m4, and add quotes
88132         around the "1" in ",1" where the unusual spacing prohibited the
88133         above regexps from doing the job.  For more details, see
88134         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
88135         * m4/acl.m4: Modified.
88136         * m4/afs.m4: Likewise.
88137         * m4/alloca.m4: Likewise.
88138         * m4/argp.m4: Likewise.
88139         * m4/argz.m4: Likewise.
88140         * m4/atexit.m4: Likewise.
88141         * m4/bison-i18n.m4: Likewise.
88142         * m4/bison.m4: Likewise.
88143         * m4/byteswap.m4: Likewise.
88144         * m4/c-stack.m4: Likewise.
88145         * m4/c-strtod.m4: Likewise.
88146         * m4/calloc.m4: Likewise.
88147         * m4/canonicalize-lgpl.m4: Likewise.
88148         * m4/chown.m4: Likewise.
88149         * m4/clock_time.m4: Likewise.
88150         * m4/codeset.m4: Likewise.
88151         * m4/copy-file.m4: Likewise.
88152         * m4/csharp.m4: Likewise.
88153         * m4/csharpcomp.m4: Likewise.
88154         * m4/csharpexec.m4: Likewise.
88155         * m4/d-ino.m4: Likewise.
88156         * m4/d-type.m4: Likewise.
88157         * m4/dirfd.m4: Likewise.
88158         * m4/double-slash-root.m4: Likewise.
88159         * m4/eaccess.m4: Likewise.
88160         * m4/eealloc.m4: Likewise.
88161         * m4/environ.m4: Likewise.
88162         * m4/errno_h.m4: Likewise.
88163         * m4/euidaccess.m4: Likewise.
88164         * m4/execute.m4: Likewise.
88165         * m4/fatal-signal.m4: Likewise.
88166         * m4/fchdir.m4: Likewise.
88167         * m4/fcntl_h.m4: Likewise.
88168         * m4/fileblocks.m4: Likewise.
88169         * m4/filenamecat.m4: Likewise.
88170         * m4/findprog.m4: Likewise.
88171         * m4/flexmember.m4: Likewise.
88172         * m4/fnmatch.m4: Likewise.
88173         * m4/fopen.m4: Likewise.
88174         * m4/fpending.m4: Likewise.
88175         * m4/fprintf-posix.m4: Likewise.
88176         * m4/free.m4: Likewise.
88177         * m4/frexp.m4: Likewise.
88178         * m4/frexpl.m4: Likewise.
88179         * m4/fsusage.m4: Likewise.
88180         * m4/ftruncate.m4: Likewise.
88181         * m4/gc-camellia.m4: Likewise.
88182         * m4/gc-random.m4: Likewise.
88183         * m4/gc.m4: Likewise.
88184         * m4/getaddrinfo.m4: Likewise.
88185         * m4/getcwd-abort-bug.m4: Likewise.
88186         * m4/getcwd-path-max.m4: Likewise.
88187         * m4/getdate.m4: Likewise.
88188         * m4/getdomainname.m4: Likewise.
88189         * m4/getgroups.m4: Likewise.
88190         * m4/gethostname.m4: Likewise.
88191         * m4/gethrxtime.m4: Likewise.
88192         * m4/getline.m4: Likewise.
88193         * m4/getloadavg.m4: Likewise.
88194         * m4/getndelim2.m4: Likewise.
88195         * m4/getpass.m4: Likewise.
88196         * m4/gettext.m4: Likewise.
88197         * m4/gettime.m4: Likewise.
88198         * m4/gettimeofday.m4: Likewise.
88199         * m4/gnulib-common.m4: Likewise.
88200         * m4/group-member.m4: Likewise.
88201         * m4/host-os.m4: Likewise.
88202         * m4/iconv.m4: Likewise.
88203         * m4/iconv_open.m4: Likewise.
88204         * m4/inet_ntop.m4: Likewise.
88205         * m4/inet_pton.m4: Likewise.
88206         * m4/inline.m4: Likewise.
88207         * m4/intldir.m4: Likewise.
88208         * m4/intlmacosx.m4: Likewise.
88209         * m4/intmax.m4: Likewise.
88210         * m4/intmax_t.m4: Likewise.
88211         * m4/inttypes.m4: Likewise.
88212         * m4/inttypes_h.m4: Likewise.
88213         * m4/inttypes-pri.m4: Likewise.
88214         * m4/isapipe.m4: Likewise.
88215         * m4/isnand.m4: Likewise.
88216         * m4/isnanf.m4: Likewise.
88217         * m4/isnanl.m4: Likewise.
88218         * m4/javacomp.m4: Likewise.
88219         * m4/javaexec.m4: Likewise.
88220         * m4/jm-winsz1.m4: Likewise.
88221         * m4/jm-winsz2.m4: Likewise.
88222         * m4/lchown.m4: Likewise.
88223         * m4/lcmessage.m4: Likewise.
88224         * m4/ldexpl.m4: Likewise.
88225         * m4/lib-ld.m4: Likewise.
88226         * m4/lib-link.m4: Likewise.
88227         * m4/libsigsegv.m4: Likewise.
88228         * m4/link-follow.m4: Likewise.
88229         * m4/localcharset.m4: Likewise.
88230         * m4/locale-fr.m4: Likewise.
88231         * m4/locale-ja.m4: Likewise.
88232         * m4/locale-tr.m4: Likewise.
88233         * m4/locale-zh.m4: Likewise.
88234         * m4/lock.m4: Likewise.
88235         * m4/longlong.m4: Likewise.
88236         * m4/ls-mntd-fs.m4: Likewise.
88237         * m4/lstat.m4: Likewise.
88238         * m4/malloc.m4: Likewise.
88239         * m4/mathl.m4: Likewise.
88240         * m4/mbrtowc.m4: Likewise.
88241         * m4/mbstate_t.m4: Likewise.
88242         * m4/mbswidth.m4: Likewise.
88243         * m4/memchr.m4: Likewise.
88244         * m4/memcmp.m4: Likewise.
88245         * m4/memcpy.m4: Likewise.
88246         * m4/memmem.m4: Likewise.
88247         * m4/memmove.m4: Likewise.
88248         * m4/mempcpy.m4: Likewise.
88249         * m4/memrchr.m4: Likewise.
88250         * m4/memset.m4: Likewise.
88251         * m4/minmax.m4: Likewise.
88252         * m4/mkdir-slash.m4: Likewise.
88253         * m4/mkdtemp.m4: Likewise.
88254         * m4/mktime.m4: Likewise.
88255         * m4/mmap-anon.m4: Likewise.
88256         * m4/mountlist.m4: Likewise.
88257         * m4/nanosleep.m4: Likewise.
88258         * m4/nls.m4: Likewise.
88259         * m4/nocrash.m4: Likewise.
88260         * m4/open.m4: Likewise.
88261         * m4/openat.m4: Likewise.
88262         * m4/openmp.m4: Likewise.
88263         * m4/pathmax.m4: Likewise.
88264         * m4/perl.m4: Likewise.
88265         * m4/physmem.m4: Likewise.
88266         * m4/pipe.m4: Likewise.
88267         * m4/po.m4: Likewise.
88268         * m4/poll.m4: Likewise.
88269         * m4/posixtm.m4: Likewise.
88270         * m4/posixver.m4: Likewise.
88271         * m4/printf-frexp.m4: Likewise.
88272         * m4/printf-frexpl.m4: Likewise.
88273         * m4/printf-posix.m4: Likewise.
88274         * m4/printf-posix-rpl.m4: Likewise.
88275         * m4/printf.m4: Likewise.
88276         * m4/progtest.m4: Likewise.
88277         * m4/putenv.m4: Likewise.
88278         * m4/readline.m4: Likewise.
88279         * m4/readlink.m4: Likewise.
88280         * m4/readutmp.m4: Likewise.
88281         * m4/realloc.m4: Likewise.
88282         * m4/regex.m4: Likewise.
88283         * m4/relocatable.m4: Likewise.
88284         * m4/relocatable-lib.m4: Likewise.
88285         * m4/rename-dest-slash.m4: Likewise.
88286         * m4/rename.m4: Likewise.
88287         * m4/rmdir-errno.m4: Likewise.
88288         * m4/rmdir.m4: Likewise.
88289         * m4/roundf.m4: Likewise.
88290         * m4/roundl.m4: Likewise.
88291         * m4/rpmatch.m4: Likewise.
88292         * m4/save-cwd.m4: Likewise.
88293         * m4/selinux-selinux-h.m4: Likewise.
88294         * m4/setenv.m4: Likewise.
88295         * m4/settime.m4: Likewise.
88296         * m4/sig2str.m4: Likewise.
88297         * m4/sig_atomic_t.m4: Likewise.
88298         * m4/signalblocking.m4: Likewise.
88299         * m4/signbit.m4: Likewise.
88300         * m4/sigpipe.m4: Likewise.
88301         * m4/sockets.m4: Likewise.
88302         * m4/sockpfaf.m4: Likewise.
88303         * m4/st_dm_mode.m4: Likewise.
88304         * m4/stat-time.m4: Likewise.
88305         * m4/stdbool.m4: Likewise.
88306         * m4/stdint.m4: Likewise.
88307         * m4/stdint_h.m4: Likewise.
88308         * m4/stpcpy.m4: Likewise.
88309         * m4/stpncpy.m4: Likewise.
88310         * m4/strcase.m4: Likewise.
88311         * m4/strchrnul.m4: Likewise.
88312         * m4/strcspn.m4: Likewise.
88313         * m4/strdup.m4: Likewise.
88314         * m4/strftime.m4: Likewise.
88315         * m4/strndup.m4: Likewise.
88316         * m4/strnlen.m4: Likewise.
88317         * m4/strpbrk.m4: Likewise.
88318         * m4/strptime.m4: Likewise.
88319         * m4/strsep.m4: Likewise.
88320         * m4/strtod.m4: Likewise.
88321         * m4/strtoimax.m4: Likewise.
88322         * m4/strtok_r.m4: Likewise.
88323         * m4/strtol.m4: Likewise.
88324         * m4/strtoll.m4: Likewise.
88325         * m4/strtoul.m4: Likewise.
88326         * m4/strtoull.m4: Likewise.
88327         * m4/strtoumax.m4: Likewise.
88328         * m4/strverscmp.m4: Likewise.
88329         * m4/threadlib.m4: Likewise.
88330         * m4/timegm.m4: Likewise.
88331         * m4/tm_gmtoff.m4: Likewise.
88332         * m4/tmpdir.m4: Likewise.
88333         * m4/tmpfile.m4: Likewise.
88334         * m4/tzset.m4: Likewise.
88335         * m4/uintmax_t.m4: Likewise.
88336         * m4/unlinkdir.m4: Likewise.
88337         * m4/unlocked-io.m4: Likewise.
88338         * m4/uptime.m4: Likewise.
88339         * m4/userspec.m4: Likewise.
88340         * m4/utimbuf.m4: Likewise.
88341         * m4/utime.m4: Likewise.
88342         * m4/utimes-null.m4: Likewise.
88343         * m4/utimes.m4: Likewise.
88344         * m4/vararrays.m4: Likewise.
88345         * m4/vasnprintf.m4: Likewise.
88346         * m4/vfprintf-posix.m4: Likewise.
88347         * m4/vprintf-posix.m4: Likewise.
88348         * m4/wait-process.m4: Likewise.
88349         * m4/wchar_t.m4: Likewise.
88350         * m4/wint_t.m4: Likewise.
88351         * m4/write-any-file.m4: Likewise.
88352         * m4/yield.m4: Likewise.
88354 2009-01-13  Bruno Haible  <bruno@clisp.org>
88356         Avoid test-copy-file.sh failures when ACL support insufficient.
88357         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
88358         TESTS_ENVIRONMENT.
88359         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
88360         Reported by Jim Meyering.
88362 2009-01-13  Bruno Haible  <bruno@clisp.org>
88364         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
88365         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
88366         * modules/unistdio/u8-printf-parse (Files): Likewise.
88367         * modules/unistdio/u32-printf-parse (Files): Likewise.
88368         * modules/unistdio/ulc-printf-parse (Files): Likewise.
88370 2009-01-13  Simon Josefsson  <simon@josefsson.org>
88372         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
88373         and m4/inttypes_h.m4 too.
88375 2009-01-12  Eric Blake  <ebb9@byu.net>
88377         tests: IRIX 6.2 cc can't compile -0.0 into .data
88378         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
88379         rather than at compile-time.
88380         * tests/test-floorl.c (minus_zero): Likewise.
88381         * tests/test-frexpl.c (minus_zero): Likewise.
88382         * tests/test-isnan.c (minus_zerol): Likewise.
88383         * tests/test-isnanl.h (minus_zero): Likewise.
88384         * tests/test-ldexpl.c (minus_zero): Likewise.
88385         * tests/test-roundl.c (minus_zero): Likewise.
88386         * tests/test-signbit.c (minus_zerol): Likewise.
88387         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
88388         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
88389         * tests/test-truncl.c (minus_zero): Likewise.
88390         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
88391         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
88392         Reported by Tom G. Christensen and Nelson H. F. Beebe.
88394 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
88396         regex: fix glibc bug 9697
88397         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
88398         handling.
88400 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
88402         regex: fix glibc bug 697
88403         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
88404         being NULL also if there are no backreferences.
88406 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
88408         regex: merge glibc changes
88409         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
88410         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
88411         re_string_skip_chars, re_string_reconstruct): Likewise.
88412         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
88414 2009-01-07  Jim Meyering  <meyering@redhat.com>
88416         poll: filter through cppi
88417         * lib/poll.c: Indent cpp directives to reflect nesting.
88419 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
88421         poll: don't return uninitialized
88422         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
88424 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
88426         avoid compile failure on AIX 6.1
88427         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
88428         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
88430 2009-01-04  Jim Meyering  <meyering@redhat.com>
88432         remove duplicate inclusion of <stdio.h>
88433         * tests/test-fprintf-posix.c: Likewise.
88434         * tests/test-printf-posix.c: Likewise.
88435         * tests/test-snprintf-posix.c: Likewise.
88436         * tests/test-sprintf-posix.c: Likewise.
88437         * tests/test-vasprintf-posix.c: Likewise.
88438         * tests/test-vfprintf-posix.c: Likewise.
88439         * tests/test-vprintf-posix.c: Likewise.
88440         * tests/test-vsnprintf-posix.c: Likewise.
88441         * tests/test-vsprintf-posix.c: Likewise.
88443 2009-01-03  Jim Meyering  <meyering@redhat.com>
88445         gnulib-tool: fix sed-based filtering
88446         * gnulib-tool (func_filter_filelist): Remove extra backslash
88447         in sed_fff_filter definition.
88449 2009-01-02  Jim Meyering  <meyering@redhat.com>
88451         strftime: avoid compilation failure on Solaris 2.6
88452         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
88453         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
88454         Don't #define mbrlen or mbsinit, since now they're guaranteed to
88455         be available.  Reported by Tom G. Christensen.  Details in
88456         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
88458 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88459             Bruno Haible  <bruno@clisp.org>
88461         Speed up gnulib-tool by doing more string processing through shell
88462         built-ins.
88463         * gnulib-tool (fast_func_append): New variable.
88464         (func_remove_prefix, func_remove_suffix): New functions.
88465         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
88466         (func_filter_filelist): New function.
88467         (func_get_dependencies): Use func_remove_suffix instead of sed.
88468         (func_get_automake_snippet): Use func_filter_filelist instead of a
88469         subshell and sed invocation.
88471 2009-01-01  Bruno Haible  <bruno@clisp.org>
88473         Fix a security bug.
88474         * gnulib-tool (func_import, import, update): Don't allow the characters
88475         '"', '$', '`', '\' in macro arguments that become part of commands that
88476         are evaluated.
88478 2009-01-01  Bruno Haible  <bruno@clisp.org>
88480         * gnulib-tool (func_reset_sigpipe): Add more comments.
88482 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88484         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
88485         func_emit_tests_Makefile_am, func_import): Abort loops early if we
88486         already know the answer.
88488 2009-01-01  Jim Meyering  <meyering@redhat.com>
88490         * lib/version-etc.c (version_etc_va): Update copyright year.
88492 2008-12-30  Bruno Haible  <bruno@clisp.org>
88494         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
88495         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
88496         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
88498 2008-12-29  Eric Blake  <ebb9@byu.net>
88500         multiarch: avoid autoconf AC_REQUIRE bug
88501         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
88502         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
88503         2.63 and older.
88504         Reported by Bruno Haible, and analyzed in
88505         http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html
88507 2008-12-29  Bruno Haible  <bruno@clisp.org>
88509         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
88510         files in subdirectories correctly.
88511         Reported by Ralf Wildenhues.
88513 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88515         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
88516         rather than 'join FILE -', for Solaris join.
88518 2008-12-29  Bruno Haible  <bruno@clisp.org>
88520         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
88521         quoting.
88522         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
88523         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
88524         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
88525         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
88526         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
88527         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
88528         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
88529         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
88530         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
88531         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
88532         * m4/nls.m4 (AM_NLS): Likewise.
88533         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
88534         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
88535         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
88536         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
88537         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
88538         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
88539         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
88540         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
88541         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
88542         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
88543         * m4/xsize.m4 (gl_XSIZE): Likewise.
88544         Suggested by Jim Meyering.
88546 2008-11-17  Bruce Korb  <bkorb@gnu.org>
88548         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
88549         * lib/parse-duration.c: use a switch instead of cascading if's.
88551 2008-12-29  Eric Blake  <ebb9@byu.net>
88553         wchar.h: supply WEOF on Irix 5.3
88554         * lib/wchar.in.h (wint_t): Also supply WEOF.
88555         * lib/wctype.in.h (wint_t): Likewise.
88556         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
88557         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
88558         Reported by Tom G. Christensen.
88560 2008-12-26  Bruno Haible  <bruno@clisp.org>
88562         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
88563         i486, i586, i686.
88565 2008-12-26  Bruno Haible  <bruno@clisp.org>
88567         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
88569 2008-12-26  Bruno Haible  <bruno@clisp.org>
88571         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
88572         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
88573         not __STDC_CONSTANT_MACROS.
88574         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
88576 2008-12-25  Bruno Haible  <bruno@clisp.org>
88578         Add support for universal builds to vasnprintf.
88579         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
88580         universal builds, guess no.
88581         * modules/vasnprintf-posix (Depends-on): Add multiarch.
88582         * modules/vasprintf-posix (Depends-on): Likewise.
88583         * modules/fprintf-posix (Depends-on): Likewise.
88584         * modules/vfprintf-posix (Depends-on): Likewise.
88585         * modules/snprintf-posix (Depends-on): Likewise.
88586         * modules/vsnprintf-posix (Depends-on): Likewise.
88587         * modules/sprintf-posix (Depends-on): Likewise.
88588         * modules/vsprintf-posix (Depends-on): Likewise.
88589         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
88590         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
88591         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
88592         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
88593         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
88594         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
88595         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
88597         Add support for universal builds to <inttypes.h>.
88598         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
88599         _SCNu64_PREFIX): In Apple
88600         universal builds, define directly, using _LP64.
88601         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
88602         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
88603         * modules/inttypes (Depends-on): Add multiarch.
88604         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
88606         Add support for universal builds to <stdint.h>.
88607         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
88608         universal builds, define directly, using _LP64.
88609         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
88610         Apple universal builds, don't test for the size and suffix of ptrdiff_t
88611         and size_t.
88612         * modules/stdint (Depends-on): Add multiarch.
88613         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
88615         New module 'multiarch'.
88616         * modules/multiarch: New file.
88617         * m4/multiarch.m4: New file.
88619 2008-12-25  Bruno Haible  <bruno@clisp.org>
88621         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
88623 2008-12-25  Bruno Haible  <bruno@clisp.org>
88625         * modules/btowc (License): Relicense under LGPLv2+.
88626         * modules/mbsinit (License): Likewise.
88627         * modules/mbrtowc (License): Likewise.
88628         * modules/wcrtomb (License): Likewise.
88629         * modules/streq (License): Likewise.
88630         Reported by David Lutterkort <lutter@redhat.com>.
88632 2008-12-23  Bruno Haible  <bruno@clisp.org>
88634         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
88636 2008-12-23  Bruno Haible  <bruno@clisp.org>
88638         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
88639         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
88640         GETADDRINFO_LIB, not in LIBS.
88641         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
88642         * modules/canon-host (Link): Likewise.
88643         * NEWS: Mention the change.
88644         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
88645         GETADDRINFO_LIB.
88647 2008-12-22  Bruno Haible  <bruno@clisp.org>
88649         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
88650         * doc/posix-functions/iswalpha_l.texi: Likewise.
88651         * doc/posix-functions/iswblank_l.texi: Likewise.
88652         * doc/posix-functions/iswcntrl_l.texi: Likewise.
88653         * doc/posix-functions/iswctype_l.texi: Likewise.
88654         * doc/posix-functions/iswdigit_l.texi: Likewise.
88655         * doc/posix-functions/iswgraph_l.texi: Likewise.
88656         * doc/posix-functions/iswlower_l.texi: Likewise.
88657         * doc/posix-functions/iswprint_l.texi: Likewise.
88658         * doc/posix-functions/iswpunct_l.texi: Likewise.
88659         * doc/posix-functions/iswspace_l.texi: Likewise.
88660         * doc/posix-functions/iswupper_l.texi: Likewise.
88661         * doc/posix-functions/iswxdigit_l.texi: Likewise.
88662         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
88663         * doc/posix-functions/open_wmemstream.texi: Likewise.
88664         * doc/posix-functions/swscanf.texi: Likewise.
88665         * doc/posix-functions/towctrans_l.texi: Likewise.
88666         * doc/posix-functions/towlower.texi: Likewise.
88667         * doc/posix-functions/towlower_l.texi: Likewise.
88668         * doc/posix-functions/towupper.texi: Likewise.
88669         * doc/posix-functions/towupper_l.texi: Likewise.
88670         * doc/posix-functions/vfwprintf.texi: Likewise.
88671         * doc/posix-functions/vfwscanf.texi: Likewise.
88672         * doc/posix-functions/vswscanf.texi: Likewise.
88673         * doc/posix-functions/vwprintf.texi: Likewise.
88674         * doc/posix-functions/vwscanf.texi: Likewise.
88675         * doc/posix-functions/wcpcpy.texi: Likewise.
88676         * doc/posix-functions/wcpncpy.texi: Likewise.
88677         * doc/posix-functions/wcscasecmp.texi: Likewise.
88678         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
88679         * doc/posix-functions/wcscoll_l.texi: Likewise.
88680         * doc/posix-functions/wcsdup.texi: Likewise.
88681         * doc/posix-functions/wcsncasecmp.texi: Likewise.
88682         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
88683         * doc/posix-functions/wcsnlen.texi: Likewise.
88684         * doc/posix-functions/wcsnrtombs.texi: Likewise.
88685         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
88686         * doc/posix-functions/wctrans_l.texi: Likewise.
88687         * doc/posix-functions/wctype_l.texi: Likewise.
88688         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
88689         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
88690         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
88691         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
88692         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
88693         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
88694         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
88695         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
88696         * doc/glibc-functions/wcschrnul.texi: Likewise.
88697         * doc/glibc-functions/wcsftime_l.texi: Likewise.
88698         * doc/glibc-functions/wcstod_l.texi: Likewise.
88699         * doc/glibc-functions/wcstof_l.texi: Likewise.
88700         * doc/glibc-functions/wcstol_l.texi: Likewise.
88701         * doc/glibc-functions/wcstold_l.texi: Likewise.
88702         * doc/glibc-functions/wcstoll_l.texi: Likewise.
88703         * doc/glibc-functions/wcstoq.texi: Likewise.
88704         * doc/glibc-functions/wcstoul_l.texi: Likewise.
88705         * doc/glibc-functions/wcstoull_l.texi: Likewise.
88706         * doc/glibc-functions/wcstouq.texi: Likewise.
88707         * doc/glibc-functions/wmempcpy.texi: Likewise.
88709 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
88710             Eric Blake  <ebb9@byu.net>
88711             Paolo Bonzini  <bonzini@gnu.org>
88712             Bruno Haible  <bruno@clisp.org>
88714         Make c-stack work on Haiku.
88715         * lib/c-stack.c (SA_ONSTACK): Define fallback.
88716         (c_stack_action): Use SA_ONSTACK flag.
88718 2008-12-22  Bruno Haible  <bruno@clisp.org>
88720         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
88722 2008-12-22  Bruno Haible  <bruno@clisp.org>
88724         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
88725         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
88726         being overridden.
88727         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
88728         New macros.
88729         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
88730         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
88731         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
88732         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
88734 2008-12-22  Bruno Haible  <bruno@clisp.org>
88736         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
88737         from test code.
88739 2008-12-22  Eric Blake  <ebb9@byu.net>
88741         Avoid gcc warnings on cygwin.
88742         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
88743         Avoid unused variable.
88744         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
88745         Likewise.
88747 2008-12-22  Bruno Haible  <bruno@clisp.org>
88749         Remove HAVE_MBRTOWC conditionals.
88750         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
88751         (mbscasecmp): Assume mbrtowc function.
88752         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
88753         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
88754         * lib/mbschr.c: Include mbuiter.h unconditionally.
88755         (mbschr): Assume mbrtowc function.
88756         * lib/mbscspn.c: Include mbuiter.h unconditionally.
88757         (mbscspn): Assume mbrtowc function.
88758         * lib/mbslen.c: Include mbuiter.h unconditionally.
88759         (mbslen): Assume mbrtowc function.
88760         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
88761         (mbsncasecmp): Assume mbrtowc function.
88762         * lib/mbsnlen.c: Include mbiter.h unconditionally.
88763         (mbsnlen): Assume mbrtowc function.
88764         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
88765         (mbspbrk): Assume mbrtowc function.
88766         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
88767         (mbspcasecmp): Assume mbrtowc function.
88768         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
88769         (mbsrchr): Assume mbrtowc function.
88770         * lib/mbssep.c: Include mbuiter.h unconditionally.
88771         (mbssep): Assume mbrtowc function.
88772         * lib/mbsspn.c: Include mbuiter.h unconditionally.
88773         (mbsspn): Assume mbrtowc function.
88774         * lib/mbsstr.c: Include mbuiter.h unconditionally.
88775         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
88776         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
88777         (mbstok_r): Assume mbrtowc function.
88778         * lib/propername.c: Include mbuiter.h unconditionally.
88779         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
88780         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
88781         (trim2): Assume mbrtowc function.
88782         * lib/mbswidth.c (mbsinit): Remove fallback definition.
88783         (mbsnwidth): Assume mbrtowc function.
88784         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
88785         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
88786         fallback definitions.
88787         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
88789 2008-12-22  Bruno Haible  <bruno@clisp.org>
88791         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
88793 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
88795         * modules/regex: Request emulations for the mb*/wc* functions we need.
88796         * m4/regex.m4: Don't look for those functions here.
88797         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
88799 2008-12-22  Bruno Haible  <bruno@clisp.org>
88801         * modules/fnmatch (Depends-on): Remove duplicated dependency.
88803 2008-12-21  Bruno Haible  <bruno@clisp.org>
88805         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
88806         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
88807         (Include): Remove conditionalization.
88808         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
88809         (Include): Remove conditionalization.
88810         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
88811         (Include): Remove conditionalization.
88812         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
88813         * m4/mbfile.m4 (gl_MBFILE): Likewise.
88814         * NEWS: Mention the change.
88815         Reported by Alan Hourihane <alanh@fairlite.co.uk>
88816         via Sergey Poznyakoff <gray@gnu.org.ua>.
88818 2008-12-21  Bruno Haible  <bruno@clisp.org>
88820         * MODULES.html.sh (Extended multibyte and wide character utilities
88821         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
88822         wcrtomb, wcsrtombs.
88823         (Support for systems lacking POSIX:2008): Add accept, bind, close,
88824         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
88825         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
88826         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
88828 2008-12-21  Bruno Haible  <bruno@clisp.org>
88830         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
88832 2008-12-21  Bruno Haible  <bruno@clisp.org>
88834         * modules/wcsnrtombs-tests: New file.
88835         * tests/test-wcsnrtombs1.sh: New file.
88836         * tests/test-wcsnrtombs2.sh: New file.
88837         * tests/test-wcsnrtombs3.sh: New file.
88838         * tests/test-wcsnrtombs4.sh: New file.
88839         * tests/test-wcsnrtombs.c: New file.
88841         New module 'wcsnrtombs'.
88842         * lib/wchar.in.h (wcsnrtombs): New declaration.
88843         * lib/wcsnrtombs.c: New file.
88844         * lib/wcsrtombs-state.c: New file.
88845         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
88846         (internal_state): Remove variable.
88847         * m4/wcsnrtombs.m4: New file.
88848         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
88849         compilation units.
88850         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
88851         HAVE_WCSNRTOMBS.
88852         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
88853         HAVE_WCSNRTOMBS.
88854         * modules/wcsnrtombs: New file.
88855         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
88856         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
88858 2008-12-21  Bruno Haible  <bruno@clisp.org>
88860         * modules/wcsrtombs-tests: New file.
88861         * tests/test-wcsrtombs1.sh: New file.
88862         * tests/test-wcsrtombs2.sh: New file.
88863         * tests/test-wcsrtombs3.sh: New file.
88864         * tests/test-wcsrtombs4.sh: New file.
88865         * tests/test-wcsrtombs.c: New file.
88867         New module 'wcsrtombs'.
88868         * lib/wchar.in.h (wcsrtombs): New declaration.
88869         * lib/wcsrtombs.c: New file.
88870         * m4/wcsrtombs.m4: New file.
88871         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
88872         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
88873         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
88874         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
88875         * modules/wcsrtombs: New file.
88876         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
88877         bugs.
88879 2008-12-21  Bruno Haible  <bruno@clisp.org>
88881         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
88882         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
88883         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
88884         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
88885         if not correct.
88886         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
88887         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
88888         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
88889         m4/locale-zh.m4, m4/codeset.m4.
88890         * doc/posix-functions/wcrtomb.texi: Document the bug.
88892 2008-12-21  Bruno Haible  <bruno@clisp.org>
88894         Work around a btowc() bug on IRIX 6.5.
88895         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
88896         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
88897         REPLACE_WTOBC if not.
88898         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
88899         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
88900         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
88902 2008-12-21  Bruno Haible  <bruno@clisp.org>
88904         * modules/wcrtomb-tests: New file.
88905         * tests/test-wcrtomb.sh: New file.
88906         * tests/test-wcrtomb.c: New file.
88908         New module 'wcrtomb'.
88909         * lib/wchar.in.h (wcrtomb): New declaration.
88910         * lib/wcrtomb.c: New file.
88911         * m4/wcrtomb.m4: New file.
88912         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
88913         HAVE_WCRTOMB.
88914         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
88915         HAVE_WCRTOMB.
88916         * modules/wcrtomb: New file.
88917         * doc/posix-functions/wcrtomb.texi: Mention the new module.
88919 2008-12-21  Bruno Haible  <bruno@clisp.org>
88921         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
88922         * modules/mbsrtowcs (Files): Likewise.
88923         * modules/wctob (Files): Likewise.
88924         * modules/c-strcase-tests (Files): Likewise.
88925         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
88926         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
88927         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
88928         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
88929         * modules/vasnprintf-posix-tests (Files): Likewise.
88931 2008-12-21  William Pursell  <bill.pursell@gmail.com>
88933         gitlog-to-changelog: pass all command-line arguments to git-log
88934         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
88935         it is sometimes convenient to filter the commits in various ways.
88936         gitlog-to-changelog only allows --since to specify a start date,
88937         but git-log itself supports many other filtering mechanisms.
88938         At the moment, I want to filter by branch name.  Rather than
88939         adding a --branch option to gitlog-to-changelog, it seems more
88940         flexible to simply pass all options directly to git-log and let
88941         git do the work.  Notice that this effectively makes --since a
88942         redundant option for gitlog-to-changelog, but removing it would
88943         require current usage to change since calls would then require
88944         an additional '--'.
88946 2008-12-21  Bruno Haible  <bruno@clisp.org>
88948         * modules/mbsnrtowcs-tests: New file.
88949         * tests/test-mbsnrtowcs1.sh: New file.
88950         * tests/test-mbsnrtowcs2.sh: New file.
88951         * tests/test-mbsnrtowcs3.sh: New file.
88952         * tests/test-mbsnrtowcs4.sh: New file.
88953         * tests/test-mbsnrtowcs.c: New file.
88955         New module 'mbsnrtowcs'.
88956         * lib/wchar.in.h (mbsnrtowcs): New declaration.
88957         * lib/mbsnrtowcs.c: New file.
88958         * lib/mbsrtowcs-state.c: New file.
88959         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
88960         (internal_state): Remove variable.
88961         * m4/mbsnrtowcs.m4: New file.
88962         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
88963         compilation units.
88964         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
88965         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
88966         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
88967         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
88968         * modules/mbsnrtowcs: New file.
88969         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
88970         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
88971         portability problem.
88973 2008-12-21  Bruno Haible  <bruno@clisp.org>
88975         Work around mbsrtowcs bug.
88976         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
88977         (gl_FUNC_MBSRTOWCS): Invoke it.
88978         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
88979         m4/locale-zh.m4.
88980         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
88982 2008-12-21  Bruno Haible  <bruno@clisp.org>
88984         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
88986 2008-12-21  Bruno Haible  <bruno@clisp.org>
88988         Update doc for AIX.
88989         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
88990         16-bit wchar_t type.
88991         * doc/posix-functions/btowc.texi: Likewise.
88992         * doc/posix-functions/fgetwc.texi: Likewise.
88993         * doc/posix-functions/fgetws.texi: Likewise.
88994         * doc/posix-functions/fputwc.texi: Likewise.
88995         * doc/posix-functions/fputws.texi: Likewise.
88996         * doc/posix-functions/fwide.texi: Likewise.
88997         * doc/posix-functions/fwprintf.texi: Likewise.
88998         * doc/posix-functions/fwscanf.texi: Likewise.
88999         * doc/posix-functions/getwchar.texi: Likewise.
89000         * doc/posix-functions/getwc.texi: Likewise.
89001         * doc/posix-functions/iswalnum.texi: Likewise.
89002         * doc/posix-functions/iswalpha.texi: Likewise.
89003         * doc/posix-functions/iswblank.texi: Likewise.
89004         * doc/posix-functions/iswcntrl.texi: Likewise.
89005         * doc/posix-functions/iswctype.texi: Likewise.
89006         * doc/posix-functions/iswdigit.texi: Likewise.
89007         * doc/posix-functions/iswgraph.texi: Likewise.
89008         * doc/posix-functions/iswlower.texi: Likewise.
89009         * doc/posix-functions/iswprint.texi: Likewise.
89010         * doc/posix-functions/iswpunct.texi: Likewise.
89011         * doc/posix-functions/iswspace.texi: Likewise.
89012         * doc/posix-functions/iswupper.texi: Likewise.
89013         * doc/posix-functions/iswxdigit.texi: Likewise.
89014         * doc/posix-functions/mbrtowc.texi: Likewise.
89015         * doc/posix-functions/mbsrtowcs.texi: Likewise.
89016         * doc/posix-functions/mbstowcs.texi: Likewise.
89017         * doc/posix-functions/mbtowc.texi: Likewise.
89018         * doc/posix-functions/putwchar.texi: Likewise.
89019         * doc/posix-functions/putwc.texi: Likewise.
89020         * doc/posix-functions/swprintf.texi: Likewise.
89021         * doc/posix-functions/tolower.texi: Likewise.
89022         * doc/posix-functions/toupper.texi: Likewise.
89023         * doc/posix-functions/towctrans.texi: Likewise.
89024         * doc/posix-functions/ungetwc.texi: Likewise.
89025         * doc/posix-functions/vswprintf.texi: Likewise.
89026         * doc/posix-functions/wcrtomb.texi: Likewise.
89027         * doc/posix-functions/wcscat.texi: Likewise.
89028         * doc/posix-functions/wcschr.texi: Likewise.
89029         * doc/posix-functions/wcscmp.texi: Likewise.
89030         * doc/posix-functions/wcscoll.texi: Likewise.
89031         * doc/posix-functions/wcscpy.texi: Likewise.
89032         * doc/posix-functions/wcscspn.texi: Likewise.
89033         * doc/posix-functions/wcsftime.texi: Likewise.
89034         * doc/posix-functions/wcslen.texi: Likewise.
89035         * doc/posix-functions/wcsncat.texi: Likewise.
89036         * doc/posix-functions/wcsncmp.texi: Likewise.
89037         * doc/posix-functions/wcsncpy.texi: Likewise.
89038         * doc/posix-functions/wcspbrk.texi: Likewise.
89039         * doc/posix-functions/wcsrchr.texi: Likewise.
89040         * doc/posix-functions/wcsrtombs.texi: Likewise.
89041         * doc/posix-functions/wcsspn.texi: Likewise.
89042         * doc/posix-functions/wcsstr.texi: Likewise.
89043         * doc/posix-functions/wcstod.texi: Likewise.
89044         * doc/posix-functions/wcstof.texi: Likewise.
89045         * doc/posix-functions/wcstoimax.texi: Likewise.
89046         * doc/posix-functions/wcstok.texi: Likewise.
89047         * doc/posix-functions/wcstold.texi: Likewise.
89048         * doc/posix-functions/wcstoll.texi: Likewise.
89049         * doc/posix-functions/wcstol.texi: Likewise.
89050         * doc/posix-functions/wcstombs.texi: Likewise.
89051         * doc/posix-functions/wcstoull.texi: Likewise.
89052         * doc/posix-functions/wcstoul.texi: Likewise.
89053         * doc/posix-functions/wcstoumax.texi: Likewise.
89054         * doc/posix-functions/wcswidth.texi: Likewise.
89055         * doc/posix-functions/wcsxfrm.texi: Likewise.
89056         * doc/posix-functions/wctob.texi: Likewise.
89057         * doc/posix-functions/wctomb.texi: Likewise.
89058         * doc/posix-functions/wctrans.texi: Likewise.
89059         * doc/posix-functions/wctype.texi: Likewise.
89060         * doc/posix-functions/wcwidth.texi: Likewise.
89061         * doc/posix-functions/wmemchr.texi: Likewise.
89062         * doc/posix-functions/wmemcmp.texi: Likewise.
89063         * doc/posix-functions/wmemcpy.texi: Likewise.
89064         * doc/posix-functions/wmemmove.texi: Likewise.
89065         * doc/posix-functions/wmemset.texi: Likewise.
89066         * doc/posix-functions/wprintf.texi: Likewise.
89067         * doc/posix-functions/wscanf.texi: Likewise.
89069 2008-12-21  Bruno Haible  <bruno@clisp.org>
89071         Update doc for HP-UX 11.11.
89072         * doc/posix-functions/btowc.texi: Clarify that the function is missing
89073         in HP-UX version 11.00, not in all versions of HP-UX 11.
89074         * doc/posix-functions/fwide.texi: Likewise.
89075         * doc/posix-functions/fwprintf.texi: Likewise.
89076         * doc/posix-functions/fwscanf.texi: Likewise.
89077         * doc/posix-functions/inet_ntop.texi: Likewise.
89078         * doc/posix-functions/inet_pton.texi: Likewise.
89079         * doc/posix-functions/mbrlen.texi: Likewise.
89080         * doc/posix-functions/mbrtowc.texi: Likewise.
89081         * doc/posix-functions/mbsinit.texi: Likewise.
89082         * doc/posix-functions/mbsrtowcs.texi: Likewise.
89083         * doc/posix-functions/swprintf.texi: Likewise.
89084         * doc/posix-functions/swscanf.texi: Likewise.
89085         * doc/posix-functions/towctrans.texi: Likewise.
89086         * doc/posix-functions/vfwprintf.texi: Likewise.
89087         * doc/posix-functions/vswprintf.texi: Likewise.
89088         * doc/posix-functions/vwprintf.texi: Likewise.
89089         * doc/posix-functions/wcrtomb.texi: Likewise.
89090         * doc/posix-functions/wcsrtombs.texi: Likewise.
89091         * doc/posix-functions/wcsstr.texi: Likewise.
89092         * doc/posix-functions/wctob.texi: Likewise.
89093         * doc/posix-functions/wctrans.texi: Likewise.
89094         * doc/posix-functions/wmemchr.texi: Likewise.
89095         * doc/posix-functions/wmemcmp.texi: Likewise.
89096         * doc/posix-functions/wmemcpy.texi: Likewise.
89097         * doc/posix-functions/wmemmove.texi: Likewise.
89098         * doc/posix-functions/wmemset.texi: Likewise.
89099         * doc/posix-functions/wprintf.texi: Likewise.
89100         * doc/posix-functions/wscanf.texi: Likewise.
89102 2008-12-21  Bruno Haible  <bruno@clisp.org>
89104         Work around a portability problem.
89105         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
89106         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
89108 2008-12-20  Bruno Haible  <bruno@clisp.org>
89110         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
89111         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
89112         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
89113         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
89114         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
89116         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
89117         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
89118         set.
89119         (GNULIB_defined_mbstate_t): New macro.
89120         (mbsinit): Redefine if REPLACE_MBSINIT is set.
89121         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
89122         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
89123         reuses the system's mbrtowc function but works around the bugs.
89124         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
89125         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
89126         macros.
89127         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
89128         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
89129         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
89130         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
89131         REPLACE_MBSINIT if mbsinit needs to be overridden.
89132         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
89133         REPLACE_MBSINIT, REPLACE_MBRTOWC.
89134         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
89135         REPLACE_MBSINIT, REPLACE_MBRTOWC.
89136         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
89137         m4/locale-zh.m4.
89138         (Depends): Add mbsinit.
89139         * modules/mbsinit (Depends): Add mbrtowc.
89140         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
89142 2008-12-20  Bruno Haible  <bruno@clisp.org>
89144         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
89145         so that there are no conversion errors on AIX.
89146         * tests/test-mbsrtowcs.c (main): LIkewise.
89148 2008-12-20  Bruno Haible  <bruno@clisp.org>
89150         Work around wctob bug on Solaris <= 9.
89151         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
89152         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
89153         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
89154         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
89155         * modules/wctob (Files): Add m4/locale-fr.m4.
89156         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
89158 2008-12-20  Bruno Haible  <bruno@clisp.org>
89160         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
89161         /dev/null.
89162         * tests/test-select-in.sh: Likewise.
89163         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
89165 2008-12-20  Bruno Haible  <bruno@clisp.org>
89167         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
89168         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
89169         Cygwin 1.5.x.
89171 2008-12-20  Bruno Haible  <bruno@clisp.org>
89173         Ensure mbstate_t is defined on HP-UX 11.11.
89174         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
89175         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
89176         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
89177         AC_USE_SYSTEM_EXTENSIONS.
89178         * modules/fnmatch (Depends-on): Add extensions.
89179         * modules/mbrlen (Depends-on): Likewise.
89180         * modules/mbrtowc (Depends-on): Likewise.
89181         * modules/mbsinit (Depends-on): Likewise.
89182         * modules/mbsrtowcs (Depends-on): Likewise.
89183         * modules/mbswidth (Depends-on): Likewise.
89184         * modules/quotearg (Depends-on): Likewise.
89185         * modules/strftime (Depends-on): Likewise.
89187 2008-12-20  Bruno Haible  <bruno@clisp.org>
89189         Ensure wctob is declared on IRIX 6.5.
89190         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
89191         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
89192         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
89193         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
89194         of HAVE_WCTOB.
89195         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
89196         HAVE_WCTOB.
89197         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
89199 2008-12-19  Bruno Haible  <bruno@clisp.org>
89201         * modules/mbsrtowcs-tests: New file.
89202         * tests/test-mbsrtowcs1.sh: New file.
89203         * tests/test-mbsrtowcs2.sh: New file.
89204         * tests/test-mbsrtowcs3.sh: New file.
89205         * tests/test-mbsrtowcs4.sh: New file.
89206         * tests/test-mbsrtowcs.c: New file.
89208         New module 'mbsrtowcs'.
89209         * lib/wchar.in.h (mbsrtowcs): New declaration.
89210         * lib/mbsrtowcs.c: New file.
89211         * m4/mbsrtowcs.m4: New file.
89212         * modules/mbsrtowcs: New file.
89213         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
89214         HAVE_MBSRTOWCS.
89215         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
89216         HAVE_MBSRTOWCS.
89217         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
89219 2008-12-19  Bruno Haible  <bruno@clisp.org>
89221         New module 'mbrlen'.
89222         * lib/wchar.in.h (mbrlen): New declaration.
89223         * lib/mbrlen.c: New file.
89224         * m4/mbrlen.m4: New file.
89225         * modules/mbrlen: New file.
89226         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
89227         HAVE_MBRLEN.
89228         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
89229         HAVE_MBRLEN.
89230         * doc/posix-functions/mbrlen.texi: Document the new module.
89232 2008-12-19  Bruno Haible  <bruno@clisp.org>
89234         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
89235         * modules/mbrtowc (Depends-on): Add verify.
89236         Suggested by Paul Eggert.
89238 2008-12-18  Bruno Haible  <bruno@clisp.org>
89240         * modules/mbsinit-tests: New file.
89241         * tests/test-mbsinit.sh: New file.
89242         * tests/test-mbsinit.c: New file.
89244 2008-12-18  Bruno Haible  <bruno@clisp.org>
89246         * modules/mbrtowc-tests: New file.
89247         * tests/test-mbrtowc1.sh: New file.
89248         * tests/test-mbrtowc2.sh: New file.
89249         * tests/test-mbrtowc3.sh: New file.
89250         * tests/test-mbrtowc4.sh: New file.
89251         * tests/test-mbrtowc.c: New file.
89253         New module 'mbrtowc'.
89254         * lib/wchar.in.h (mbstate_t): Override when the system does not have
89255         mbsinit and mbrtowc.
89256         (mbrtowc): New declaration.
89257         * lib/mbrtowc.c: New file.
89258         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
89259         * modules/mbrtowc: New file.
89260         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
89261         HAVE_MBRTOWC.
89262         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
89263         HAVE_MBRTOWC.
89264         * doc/posix-functions/mbrtowc.texi: Document the new module.
89266 2008-12-18  Bruno Haible  <bruno@clisp.org>
89268         New module 'wctob'.
89269         * lib/wchar.in.h (wctob): New declaration.
89270         * lib/wctob.c: New file.
89271         * m4/wctob.m4: New file.
89272         * modules/wctob: New file.
89273         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
89274         HAVE_WCTOB.
89275         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
89276         * doc/posix-functions/wctob.texi: Document the new module.
89278 2008-12-18  Bruno Haible  <bruno@clisp.org>
89280         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
89281         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
89283 2008-12-18  Simon Josefsson  <simon@josefsson.org>
89285         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
89286         G. Christensen" <tgc@jupiterrise.com>.
89288         * lib/flock.c: Need to include errno.h.  Reported by "Tom
89289         G. Christensen" <tgc@jupiterrise.com>.
89291         * lib/flock.c: Need to include string.h.  Reported by "Tom
89292         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
89293         <ebb9@byu.net>.
89295 2008-12-18  Bruno Haible  <bruno@clisp.org>
89297         * m4/locale-ja.m4: New file, from GNU gettext.
89299 2008-12-17  Bruno Haible  <bruno@clisp.org>
89301         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
89302         Suggested by Eric Blake.
89304 2008-12-17  Bruno Haible  <bruno@clisp.org>
89306         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
89308 2008-12-17  Bruno Haible  <bruno@clisp.org>
89310         * lib/mbsinit.c: Include verify.h. Verify an assumption.
89311         * modules/mbsinit (Depends-on): Add verify.
89312         Suggested by Paul Eggert.
89314 2008-12-17  Bruno Haible  <bruno@clisp.org>
89316         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
89317         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
89318         gl_FUNC_MBRTOWC.
89319         * m4/mbiter.m4 (gl_MBITER): LIkewise.
89320         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
89321         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
89322         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
89323         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
89324         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
89325         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
89326         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
89327         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
89328         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
89329         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
89330         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
89331         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
89332         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
89333         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
89334         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
89335         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
89336         * modules/trim (configure.ac): Likewise.
89338 2008-12-17  Bruno Haible  <bruno@clisp.org>
89340         * modules/btowc-tests: New file.
89341         * tests/test-btowc1.sh: New file.
89342         * tests/test-btowc2.sh: New file.
89343         * tests/test-btowc.c: New file.
89345         New module 'btowc'.
89346         * lib/wchar.in.h (btowc): New declaration.
89347         * lib/btowc.c: New file.
89348         * m4/btowc.m4: New file.
89349         * modules/btowc: New file.
89350         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
89351         HAVE_BTOWC.
89352         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
89353         * doc/posix-functions/btowc.texi: Document the new module.
89355 2008-12-17  Bruno Haible  <bruno@clisp.org>
89357         New module 'mbsinit'.
89358         * lib/wchar.in.h (mbsinit): New declaration.
89359         * lib/mbsinit.c: New file.
89360         * m4/mbsinit.m4: New file.
89361         * modules/mbsinit: New file.
89362         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
89363         HAVE_MBSINIT.
89364         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
89365         HAVE_MBSINIT.
89366         * doc/posix-functions/mbsinit.texi: Document the new module.
89368 2008-12-16  Bruno Haible  <bruno@clisp.org>
89370         * lib/unistd.in.h: Add comment.
89371         * tests/test-environ.c: Don't include <stdlib.h>.
89373 2008-12-16  Bruno Haible  <bruno@clisp.org>
89375         * lib/parse-duration.h (parse_duration): Document return value
89376         convention.
89377         * lib/parse-duration.c: Include specification header first. Add
89378         comments.
89379         (_): Remove macro.
89380         (parse_year_month_day, parse_hour_minute_second): Move side effects
89381         outside of strchr call.
89382         (parse_non_iso8601): Move side effects outside of isspace call.
89383         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
89384         call.
89386 2008-12-16  Bruno Haible  <bruno@clisp.org>
89388         * tests/test-parse-duration.sh: Produce no output when the test
89389         succeeds.
89391 2008-12-16  Bruno Haible  <bruno@clisp.org>
89393         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
89394         expressions.
89396 2008-12-15  Bruno Haible  <bruno@clisp.org>
89398         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
89399         * doc/glibc-functions/flistxattr.texi: Likewise.
89400         * doc/glibc-functions/fopencookie.texi: Likewise.
89401         * doc/glibc-functions/fremovexattr.texi: Likewise.
89402         * doc/glibc-functions/fsetxattr.texi: Likewise.
89403         * doc/glibc-functions/getxattr.texi: Likewise.
89404         * doc/glibc-functions/lgetxattr.texi: Likewise.
89405         * doc/glibc-functions/listxattr.texi: Likewise.
89406         * doc/glibc-functions/llistxattr.texi: Likewise.
89407         * doc/glibc-functions/lremovexattr.texi: Likewise.
89408         * doc/glibc-functions/lsetxattr.texi: Likewise.
89409         * doc/glibc-functions/removexattr.texi: Likewise.
89410         * doc/glibc-functions/setxattr.texi: Likewise.
89411         * doc/posix-functions/open_memstream.texi: Likewise.
89413 2008-12-15  Eric Blake  <ebb9@byu.net>
89415         Update doc for cygwin 1.7.
89416         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
89417         functions.
89418         * doc/posix-functions/fchmodat.texi: Likewise.
89419         * doc/posix-functions/fchownat.texi: Likewise.
89420         * doc/posix-functions/fdopendir.texi: Likewise.
89421         * doc/posix-functions/fmemopen.texi: Likewise.
89422         * doc/posix-functions/freeaddrinfo.texi: Likewise.
89423         * doc/posix-functions/fstatat.texi: Likewise.
89424         * doc/posix-functions/futimens.texi: Likewise.
89425         * doc/posix-functions/gai_strerror.texi: Likewise.
89426         * doc/posix-functions/getaddrinfo.texi: Likewise.
89427         * doc/posix-functions/getnameinfo.texi: Likewise.
89428         * doc/posix-functions/if_freenameindex.texi: Likewise.
89429         * doc/posix-functions/if_indextoname.texi: Likewise.
89430         * doc/posix-functions/if_nameindex.texi: Likewise.
89431         * doc/posix-functions/if_nametoindex.texi: Likewise.
89432         * doc/posix-functions/insque.texi: Likewise.
89433         * doc/posix-functions/linkat.texi: Likewise.
89434         * doc/posix-functions/llrint.texi: Likewise.
89435         * doc/posix-functions/llrintf.texi: Likewise.
89436         * doc/posix-functions/llrintl.texi: Likewise.
89437         * doc/posix-functions/lockf.texi: Likewise.
89438         * doc/posix-functions/lrintl.texi: Likewise.
89439         * doc/posix-functions/mkdirat.texi: Likewise.
89440         * doc/posix-functions/mkfifoat.texi: Likewise.
89441         * doc/posix-functions/mknodat.texi: Likewise.
89442         * doc/posix-functions/mq_close.texi: Likewise.
89443         * doc/posix-functions/mq_getattr.texi: Likewise.
89444         * doc/posix-functions/mq_notify.texi: Likewise.
89445         * doc/posix-functions/mq_open.texi: Likewise.
89446         * doc/posix-functions/mq_receive.texi: Likewise.
89447         * doc/posix-functions/mq_send.texi: Likewise.
89448         * doc/posix-functions/mq_setattr.texi: Likewise.
89449         * doc/posix-functions/mq_timedreceive.texi: Likewise.
89450         * doc/posix-functions/mq_timedsend.texi: Likewise.
89451         * doc/posix-functions/mq_unlink.texi: Likewise.
89452         * doc/posix-functions/open_memstream.texi: Likewise.
89453         * doc/posix-functions/openat.texi: Likewise.
89454         * doc/posix-functions/posix_fadvise.texi: Likewise.
89455         * doc/posix-functions/posix_fallocate.texi: Likewise.
89456         * doc/posix-functions/posix_madvise.texi: Likewise.
89457         * doc/posix-functions/posix_memalign.texi: Likewise.
89458         * doc/posix-functions/posix_openpt.texi: Likewise.
89459         * doc/posix-functions/readlinkat.texi: Likewise.
89460         * doc/posix-functions/remque.texi: Likewise.
89461         * doc/posix-functions/renameat.texi: Likewise.
89462         * doc/posix-functions/rintl.texi: Likewise.
89463         * doc/posix-functions/sem_unlink.texi: Likewise.
89464         * doc/posix-functions/shm_open.texi: Likewise.
89465         * doc/posix-functions/shm_unlink.texi: Likewise.
89466         * doc/posix-functions/signgam.texi: Likewise.
89467         * doc/posix-functions/sigset.texi: Likewise.
89468         * doc/posix-functions/stpcpy.texi: Likewise.
89469         * doc/posix-functions/stpncpy.texi: Likewise.
89470         * doc/posix-functions/strerror.texi: Likewise.
89471         * doc/posix-functions/strtod.texi: Likewise.
89472         * doc/posix-functions/symlinkat.texi: Likewise.
89473         * doc/posix-functions/unlinkat.texi: Likewise.
89474         * doc/posix-functions/utimensat.texi: Likewise.
89475         * doc/glibc-functions/bindresvport.texi: Likewise.
89476         * doc/glibc-functions/dn_expand.texi: Likewise.
89477         * doc/glibc-functions/exp10.texi: Likewise.
89478         * doc/glibc-functions/exp10f.texi: Likewise.
89479         * doc/glibc-functions/fgetxattr.texi: Likewise.
89480         * doc/glibc-functions/flistxattr.texi: Likewise.
89481         * doc/glibc-functions/fopencookie.texi: Likewise.
89482         * doc/glibc-functions/freeifaddrs.texi: Likewise.
89483         * doc/glibc-functions/fremovexattr.texi: Likewise.
89484         * doc/glibc-functions/fsetxattr.texi: Likewise.
89485         * doc/glibc-functions/getifaddrs.texi: Likewise.
89486         * doc/glibc-functions/getxattr.texi: Likewise.
89487         * doc/glibc-functions/lgetxattr.texi: Likewise.
89488         * doc/glibc-functions/listxattr.texi: Likewise.
89489         * doc/glibc-functions/llistxattr.texi: Likewise.
89490         * doc/glibc-functions/lremovexattr.texi: Likewise.
89491         * doc/glibc-functions/lsetxattr.texi: Likewise.
89492         * doc/glibc-functions/pow10.texi: Likewise.
89493         * doc/glibc-functions/pow10f.texi: Likewise.
89494         * doc/glibc-functions/rcmd_af.texi: Likewise.
89495         * doc/glibc-functions/removexattr.texi: Likewise.
89496         * doc/glibc-functions/res_init.texi: Likewise.
89497         * doc/glibc-functions/res_mkquery.texi: Likewise.
89498         * doc/glibc-functions/res_query.texi: Likewise.
89499         * doc/glibc-functions/res_querydomain.texi: Likewise.
89500         * doc/glibc-functions/res_send.texi: Likewise.
89501         * doc/glibc-functions/rresvport_af.texi: Likewise.
89502         * doc/glibc-functions/setxattr.texi: Likewise.
89503         * doc/glibc-functions/strcasestr.texi: Likewise.
89505 2008-12-15  Bruno Haible  <bruno@clisp.org>
89507         Fix compilation error on OSF/1 4.0.
89508         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
89509         <sys/time.h>, simply delegate to the system header.
89510         Reported by Daniel Richard G. <oss@teragram.com>.
89512 2008-12-15  Bruno Haible  <bruno@clisp.org>
89514         * doc/posix-functions/openat.texi: Mention the 'openat' module.
89515         * doc/posix-functions/fchmodat.texi: Likewise.
89516         * doc/posix-functions/fchownat.texi: Likewise.
89517         * doc/posix-functions/fdopendir.texi: Likewise.
89518         * doc/posix-functions/fstatat.texi: Likewise.
89519         * doc/posix-functions/mkdirat.texi: Likewise.
89520         * doc/posix-functions/unlinkat.texi: Likewise.
89522 2008-12-14  Bruno Haible  <bruno@clisp.org>
89524         Update doc for POSIX:2008.
89525         * doc/posix-functions/faccessat.texi: New file.
89526         * doc/posix-functions/fchmodat.texi: New file.
89527         * doc/posix-functions/fchownat.texi: New file.
89528         * doc/posix-functions/fdopendir.texi: New file.
89529         * doc/posix-functions/fstatat.texi: New file.
89530         * doc/posix-functions/futimens.texi: New file.
89531         * doc/posix-functions/linkat.texi: New file.
89532         * doc/posix-functions/mkdirat.texi: New file.
89533         * doc/posix-functions/mkfifoat.texi: New file.
89534         * doc/posix-functions/mknodat.texi: New file.
89535         * doc/posix-functions/open_wmemstream.texi: New file.
89536         * doc/posix-functions/openat.texi: New file.
89537         * doc/posix-functions/psiginfo.texi: New file.
89538         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
89539         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
89540         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
89541         * doc/posix-functions/readlinkat.texi: New file.
89542         * doc/posix-functions/renameat.texi: New file.
89543         * doc/posix-functions/strerror_l.texi: New file.
89544         * doc/posix-functions/symlinkat.texi: New file.
89545         * doc/posix-functions/unlinkat.texi: New file.
89546         * doc/posix-functions/utimensat.texi: New file.
89547         * doc/gnulib.texi (Function Substitutes): Add these subsections.
89549 2008-12-14  Bruno Haible  <bruno@clisp.org>
89551         Update doc for POSIX:2008.
89552         * doc/posix-functions/alphasort.texi: Renamed from
89553         doc/glibc-functions/alphasort.texi.
89554         * doc/posix-functions/dirfd.texi: Renamed from
89555         doc/glibc-functions/dirfd.texi.
89556         * doc/posix-functions/dprintf.texi: Renamed from
89557         doc/glibc-functions/dprintf.texi.
89558         * doc/posix-functions/duplocale.texi: Renamed from
89559         doc/glibc-functions/duplocale.texi.
89560         * doc/posix-functions/fexecve.texi: Renamed from
89561         doc/glibc-functions/fexecve.texi.
89562         * doc/posix-functions/fmemopen.texi: Renamed from
89563         doc/glibc-functions/fmemopen.texi.
89564         * doc/posix-functions/freelocale.texi: Renamed from
89565         doc/glibc-functions/freelocale.texi.
89566         * doc/posix-functions/getdate_err.texi: Renamed from
89567         doc/glibc-functions/getdate_err.texi.
89568         * doc/posix-functions/isalnum_l.texi: Renamed from
89569         doc/glibc-functions/isalnum_l.texi.
89570         * doc/posix-functions/isalpha_l.texi: Renamed from
89571         doc/glibc-functions/isalpha_l.texi.
89572         * doc/posix-functions/isblank_l.texi: Renamed from
89573         doc/glibc-functions/isblank_l.texi.
89574         * doc/posix-functions/iscntrl_l.texi: Renamed from
89575         doc/glibc-functions/iscntrl_l.texi.
89576         * doc/posix-functions/isdigit_l.texi: Renamed from
89577         doc/glibc-functions/isdigit_l.texi.
89578         * doc/posix-functions/isgraph_l.texi: Renamed from
89579         doc/glibc-functions/isgraph_l.texi.
89580         * doc/posix-functions/islower_l.texi: Renamed from
89581         doc/glibc-functions/islower_l.texi.
89582         * doc/posix-functions/isprint_l.texi: Renamed from
89583         doc/glibc-functions/isprint_l.texi.
89584         * doc/posix-functions/ispunct_l.texi: Renamed from
89585         doc/glibc-functions/ispunct_l.texi.
89586         * doc/posix-functions/isspace_l.texi: Renamed from
89587         doc/glibc-functions/isspace_l.texi.
89588         * doc/posix-functions/isupper_l.texi: Renamed from
89589         doc/glibc-functions/isupper_l.texi.
89590         * doc/posix-functions/iswalnum_l.texi: Renamed from
89591         doc/glibc-functions/iswalnum_l.texi.
89592         * doc/posix-functions/iswalpha_l.texi: Renamed from
89593         doc/glibc-functions/iswalpha_l.texi.
89594         * doc/posix-functions/iswblank_l.texi: Renamed from
89595         doc/glibc-functions/iswblank_l.texi.
89596         * doc/posix-functions/iswcntrl_l.texi: Renamed from
89597         doc/glibc-functions/iswcntrl_l.texi.
89598         * doc/posix-functions/iswctype_l.texi: Renamed from
89599         doc/glibc-functions/iswctype_l.texi.
89600         * doc/posix-functions/iswdigit_l.texi: Renamed from
89601         doc/glibc-functions/iswdigit_l.texi.
89602         * doc/posix-functions/iswgraph_l.texi: Renamed from
89603         doc/glibc-functions/iswgraph_l.texi.
89604         * doc/posix-functions/iswlower_l.texi: Renamed from
89605         doc/glibc-functions/iswlower_l.texi.
89606         * doc/posix-functions/iswprint_l.texi: Renamed from
89607         doc/glibc-functions/iswprint_l.texi.
89608         * doc/posix-functions/iswpunct_l.texi: Renamed from
89609         doc/glibc-functions/iswpunct_l.texi.
89610         * doc/posix-functions/iswspace_l.texi: Renamed from
89611         doc/glibc-functions/iswspace_l.texi.
89612         * doc/posix-functions/iswupper_l.texi: Renamed from
89613         doc/glibc-functions/iswupper_l.texi.
89614         * doc/posix-functions/iswxdigit_l.texi: Renamed from
89615         doc/glibc-functions/iswxdigit_l.texi.
89616         * doc/posix-functions/isxdigit_l.texi: Renamed from
89617         doc/glibc-functions/isxdigit_l.texi.
89618         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
89619         doc/glibc-functions/mbsnrtowcs.texi.
89620         * doc/posix-functions/mkdtemp.texi: Renamed from
89621         doc/glibc-functions/mkdtemp.texi.
89622         * doc/posix-functions/newlocale.texi: Renamed from
89623         doc/glibc-functions/newlocale.texi.
89624         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
89625         doc/glibc-functions/nl_langinfo_l.texi.
89626         * doc/posix-functions/open_memstream.texi: Renamed from
89627         doc/glibc-functions/open_memstream.texi.
89628         * doc/posix-functions/opterr.texi: Renamed from
89629         doc/glibc-functions/opterr.texi.
89630         * doc/posix-functions/optind.texi: Renamed from
89631         doc/glibc-functions/optind.texi.
89632         * doc/posix-functions/optopt.texi: Renamed from
89633         doc/glibc-functions/optopt.texi.
89634         * doc/posix-functions/psignal.texi: Renamed from
89635         doc/glibc-functions/psignal.texi.
89636         * doc/posix-functions/scandir.texi: Renamed from
89637         doc/glibc-functions/scandir.texi.
89638         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
89639         doc/glibc-functions/sched_get_priority_min.texi.
89640         * doc/posix-functions/signgam.texi: Renamed from
89641         doc/glibc-functions/signgam.texi.
89642         * doc/posix-functions/stpcpy.texi: Renamed from
89643         doc/glibc-functions/stpcpy.texi.
89644         * doc/posix-functions/stpncpy.texi: Renamed from
89645         doc/glibc-functions/stpncpy.texi.
89646         * doc/posix-functions/strcasecmp_l.texi: Renamed from
89647         doc/glibc-functions/strcasecmp_l.texi.
89648         * doc/posix-functions/strcoll_l.texi: Renamed from
89649         doc/glibc-functions/strcoll_l.texi.
89650         * doc/posix-functions/strfmon_l.texi: Renamed from
89651         doc/glibc-functions/strfmon_l.texi.
89652         * doc/posix-functions/strftime_l.texi: Renamed from
89653         doc/glibc-functions/strftime_l.texi.
89654         * doc/posix-functions/strncasecmp_l.texi: Renamed from
89655         doc/glibc-functions/strncasecmp_l.texi.
89656         * doc/posix-functions/strndup.texi: Renamed from
89657         doc/glibc-functions/strndup.texi.
89658         * doc/posix-functions/strnlen.texi: Renamed from
89659         doc/glibc-functions/strnlen.texi.
89660         * doc/posix-functions/strsignal.texi: Renamed from
89661         doc/glibc-functions/strsignal.texi.
89662         * doc/posix-functions/strxfrm_l.texi: Renamed from
89663         doc/glibc-functions/strxfrm_l.texi.
89664         * doc/posix-functions/timer_gettime.texi: Renamed from
89665         doc/glibc-functions/timer_gettime.texi.
89666         * doc/posix-functions/tolower_l.texi: Renamed from
89667         doc/glibc-functions/tolower_l.texi.
89668         * doc/posix-functions/toupper_l.texi: Renamed from
89669         doc/glibc-functions/toupper_l.texi.
89670         * doc/posix-functions/towctrans_l.texi: Renamed from
89671         doc/glibc-functions/towctrans_l.texi.
89672         * doc/posix-functions/towlower_l.texi: Renamed from
89673         doc/glibc-functions/towlower_l.texi.
89674         * doc/posix-functions/towupper_l.texi: Renamed from
89675         doc/glibc-functions/towupper_l.texi.
89676         * doc/posix-functions/uselocale.texi: Renamed from
89677         doc/glibc-functions/uselocale.texi.
89678         * doc/posix-functions/vdprintf.texi: Renamed from
89679         doc/glibc-functions/vdprintf.texi.
89680         * doc/posix-functions/wcpcpy.texi:
89681         Renamed from doc/glibc-functions/wcpcpy.texi.
89682         * doc/posix-functions/wcpncpy.texi: Renamed from
89683         doc/glibc-functions/wcpncpy.texi.
89684         * doc/posix-functions/wcscasecmp.texi: Renamed from
89685         doc/glibc-functions/wcscasecmp.texi.
89686         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
89687         doc/glibc-functions/wcscasecmp_l.texi.
89688         * doc/posix-functions/wcscoll_l.texi: Renamed from
89689         doc/glibc-functions/wcscoll_l.texi.
89690         * doc/posix-functions/wcsdup.texi: Renamed from
89691         doc/glibc-functions/wcsdup.texi.
89692         * doc/posix-functions/wcsncasecmp.texi: Renamed from
89693         doc/glibc-functions/wcsncasecmp.texi.
89694         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
89695         doc/glibc-functions/wcsncasecmp_l.texi.
89696         * doc/posix-functions/wcsnlen.texi: Renamed from
89697         doc/glibc-functions/wcsnlen.texi.
89698         * doc/posix-functions/wcsnrtombs.texi: Renamed from
89699         doc/glibc-functions/wcsnrtombs.texi.
89700         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
89701         doc/glibc-functions/wcsxfrm_l.texi.
89702         * doc/posix-functions/wctrans_l.texi: Renamed from
89703         doc/glibc-functions/wctrans_l.texi.
89704         * doc/posix-functions/wctype_l.texi: Renamed from
89705         doc/glibc-functions/wctype_l.texi.
89706         * doc/gnulib.texi (Function Substitutes): Add these subsections.
89707         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
89708         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
89709         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
89710         these subsections.
89711         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
89712         Remove sections.
89714 2008-12-14  Bruno Haible  <bruno@clisp.org>
89716         Update doc for POSIX:2008.
89717         * doc/posix-functions/*.texi: Update URL of POSIX specification.
89719 2008-12-14  Bruno Haible  <bruno@clisp.org>
89721         Update doc for POSIX:2008.
89722         * doc/pastposix-functions/bcmp.texi: Renamed from
89723         doc/posix-functions/bcmp.texi.
89724         * doc/pastposix-functions/bcopy.texi: Renamed from
89725         doc/posix-functions/bcopy.texi.
89726         * doc/pastposix-functions/bsd_signal.texi: Renamed from
89727         doc/posix-functions/bsd_signal.texi.
89728         * doc/pastposix-functions/bzero.texi: Renamed from
89729         doc/posix-functions/bzero.texi.
89730         * doc/pastposix-functions/ecvt.texi: Renamed from
89731         doc/posix-functions/ecvt.texi.
89732         * doc/pastposix-functions/fcvt.texi: Renamed from
89733         doc/posix-functions/fcvt.texi.
89734         * doc/pastposix-functions/ftime.texi: Renamed from
89735         doc/posix-functions/ftime.texi.
89736         * doc/pastposix-functions/gcvt.texi: Renamed from
89737         doc/posix-functions/gcvt.texi.
89738         * doc/pastposix-functions/getcontext.texi: Renamed from
89739         doc/posix-functions/getcontext.texi.
89740         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
89741         doc/posix-functions/gethostbyaddr.texi.
89742         * doc/pastposix-functions/gethostbyname.texi: Renamed from
89743         doc/posix-functions/gethostbyname.texi.
89744         * doc/pastposix-functions/getwd.texi: Renamed from
89745         doc/posix-functions/getwd.texi.
89746         * doc/pastposix-functions/h_errno.texi: Renamed from
89747         doc/posix-functions/h_errno.texi.
89748         * doc/pastposix-functions/index.texi: Renamed from
89749         doc/posix-functions/index.texi.
89750         * doc/pastposix-functions/makecontext.texi: Renamed from
89751         doc/posix-functions/makecontext.texi.
89752         * doc/pastposix-functions/mktemp.texi: Renamed from
89753         doc/posix-functions/mktemp.texi.
89754         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
89755         doc/posix-functions/pthread_attr_getstackaddr.texi.
89756         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
89757         doc/posix-functions/pthread_attr_setstackaddr.texi.
89758         * doc/pastposix-functions/rindex.texi: Renamed from
89759         doc/posix-functions/rindex.texi.
89760         * doc/pastposix-functions/scalb.texi: Renamed from
89761         doc/posix-functions/scalb.texi.
89762         * doc/pastposix-functions/setcontext.texi: Renamed from
89763         doc/posix-functions/setcontext.texi.
89764         * doc/pastposix-functions/swapcontext.texi: Renamed from
89765         doc/posix-functions/swapcontext.texi.
89766         * doc/pastposix-functions/ualarm.texi: Renamed from
89767         doc/posix-functions/ualarm.texi.
89768         * doc/pastposix-functions/usleep.texi: Renamed from
89769         doc/posix-functions/usleep.texi.
89770         * doc/pastposix-functions/vfork.texi: Renamed from
89771         doc/posix-functions/vfork.texi.
89772         * doc/pastposix-functions/wcswcs.texi: Renamed from
89773         doc/posix-functions/wcswcs.texi.
89774         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
89775         (Function Substitutes): Update.
89777 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89779         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
89780         m4/strerror.m4.
89782 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89783             Bruno Haible  <bruno@clisp.org>
89785         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
89787 2008-12-13  Bruno Haible  <bruno@clisp.org>
89789         * modules/strtoull (Depends-on): Remove unistd.
89791 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89793         * modules/strtoull (Depends-on): Add stdlib.
89795 2008-12-11  Simon Josefsson  <simon@josefsson.org>
89797         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
89799 2008-12-10  Jim Meyering  <meyering@redhat.com>
89801         gl_ASSERT: don't say assertions are disabled when they're not
89802         * m4/assert.m4 (gl_ASSERT): Do not make configure report
89803         "checking whether to enable assertions... no", when they are in
89804         fact enabled.  This is solely a bug in the output of configure.
89805         In spite of saying "no", NDEBUG was not defined in that case.
89806         Also, as noted by Eric Blake, leave assertions enabled upon
89807         --enable-assert=INVALID.
89809 2008-12-10  Bruno Haible  <bruno@clisp.org>
89811         Change MODULES.html to refer to POSIX:2008 where possible.
89812         * MODULES.html.sh (POSIX2008_URL): New variable.
89813         (posix_headers): Remove sys/timeb, ucontext.
89814         (posix2001_headers): New variable.
89815         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
89816         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
89817         index, makecontext, mktemp, pthread_attr_getstackaddr,
89818         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
89819         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
89820         (posix2001_functions): New variable.
89821         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
89822         otherwise.
89824 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89826         add missing include to parse-duration.c
89827         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
89828         * modules/parse-duration (Depends-on): Add xalloc.
89830         fix sed script reading maint.mk
89831         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
89832         (syntax-check-rules): Use it.
89834 2008-12-09  Bruno Haible  <bruno@clisp.org>
89836         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
89837         MacOS X 10.4/PowerPC.
89838         Reported by Simon Josefsson.
89840 2008-12-08  Jim Meyering  <meyering@redhat.com>
89842         work around mingw's lack of some S_IF definitions
89843         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
89844         Reported by Simon Josefsson.
89846 2008-12-08  Bruno Haible  <bruno@clisp.org>
89848         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
89849         applied to variables. Needed on MacOS X 10.4/PowerPC.
89850         Reported by Simon Josefsson.
89852 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
89853         and Eric Blake  <ebb9@byu.net>
89855         assert: honor --enable-assert
89856         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
89857         order to honor --enable-assert, rather than treating it as a
89858         synonym for --disable-assert.
89860 2008-12-08  Jim Meyering  <meyering@redhat.com>
89862         * lib/posixtm.c: Remove now-useless declaration of mktime.
89864         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
89866 2008-12-07  Bruno Haible  <bruno@clisp.org>
89868         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
89869         test_once): Mark functions as static.
89870         * tests/test-tls.c (test_tls): Likewise.
89872 2008-12-07  Bruno Haible  <bruno@clisp.org>
89874         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
89875         iconv_register_autodetect.
89877 2008-12-07  Jim Meyering  <meyering@redhat.com>
89879         posixtm.c: avoid a warning
89880         * lib/posixtm.c (posixtime): Don't initialize tm0.
89881         It's no longer needed to placate gcc4's -Wuninitialized,
89882         and the attempt to placate would elicit a new warning.
89884         unicodeio.c: mark unused parameters
89885         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
89886         (fallback_failure_callback): Likewise.
89888 2008-12-07  Bruno Haible  <bruno@clisp.org>
89890         * gnulib-tool (func_create_testdir): When building the tests
89891         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
89892         Reported by Simon Josefsson.
89894 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89896         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
89898 2008-12-06  Bruno Haible  <bruno@clisp.org>
89900         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
89901         Suggested by Eric Blake.
89903 2008-12-06  Bruno Haible  <bruno@clisp.org>
89905         Fix a c-stack test failure on MacOS X.
89906         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
89907         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
89908         handler for SIGBUS as well.
89909         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
89910         install a signal handler for SIGBUS as well.
89911         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
89913 2008-12-06  Bruno Haible  <bruno@clisp.org>
89915         Advocacy documentation.
89916         * doc/gnulib-intro.texi (Benefits): New section.
89917         * doc/gnulib.texi: Update.
89919 2008-12-06  Bruno Haible  <bruno@clisp.org>
89921         Document the 'manywarnings' module.
89922         * doc/manywarnings.texi: New file.
89923         * doc/gnulib.texi: Include it.
89925 2008-12-05  Eric Blake  <ebb9@byu.net>
89927         tests: silence some gcc warnings
89928         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
89929         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
89930         type mismatches.
89932 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89933             Bruno Haible  <bruno@clisp.org>
89935         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
89937 2008-11-29  Jim Meyering  <meyering@redhat.com>
89939         unicodeio.c: mark unused parameters
89940         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
89941         (fallback_failure_callback): Likewise.
89943         fts: fix a thinko
89944         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
89945         (set_stat_type): Return S_IF*-valued "type" directly.
89946         Prompted by James Youngman's spotting a related bug.
89947         Confirmed by further testing through find.
89949         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
89950         * lib/fts.c (D_TYPE): Define.
89951         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
89952         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
89953         (s_ifmt_shift_bits): New function.
89954         (set_stat_type): New function.
89955         (fts_build): When not calling fts_stat, call set_stat_type
89956         to propagate dirent.d_type info to fts_read caller.
89957         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
89958         fts_statp->st_mode type information may be valid.
89960 2008-11-28  Simon Josefsson  <simon@josefsson.org>
89962         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
89963         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
89964         <sds@gnu.org>.
89966 2008-11-20  Bruno Haible  <bruno@clisp.org>
89968         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
89969         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
89970         INCLUDE_NEXT.
89971         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
89972         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
89973         * modules/math (Makefile.am): Substitute
89974         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
89975         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
89977 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
89978             Bruno Haible  <bruno@clisp.org>
89980         * lib/stdint.in.h: Define all type macros so that their expansion is
89981         a single typedef'ed token. Fixes a compilation failure in Boost which
89982         does "using ::int8_t;".
89984 2008-11-18  Simon Josefsson  <simon@josefsson.org>
89986         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
89987         gl_MANYWARN_ALL_GCC.
89988         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
89989         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
89990         * modules/manywarnings: New file.
89991         * MODULES.html.sh: Mention manywarnings module.
89993 2008-11-18  Bruno Haible  <bruno@clisp.org>
89995         * doc/gnulib-tool.texi (Unit tests): New section.
89997 2008-11-18  Simon Josefsson  <simon@josefsson.org>
89999         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
90000         paths like 'lib/po/foo.po'.
90002 2008-11-17  Simon Josefsson  <simon@josefsson.org>
90004         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
90005         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
90007 2008-11-17  Simon Josefsson  <simon@josefsson.org>
90009         * m4/warnings.m4: Use CPPFLAGS to really check whether the
90010         parameter works.
90012 2008-11-17  Simon Josefsson  <simon@josefsson.org>
90014         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
90016 2008-11-17  Bruce Korb  <bkorb@gnu.org>
90018         * modules/parse-duration-tests: New file.
90019         * tests/test-parse-duration.sh: New file.
90020         * tests/test-parse-duration.c: New file.
90022         New module 'parse-duration'.
90023         * lib/parse-duration.h: New file.
90024         * lib/parse-duration.c: New file.
90025         * modules/parse-duration: New file.
90027 2008-11-17  Bruno Haible  <bruno@clisp.org>
90029         * tests/test-select-out.sh: Comment out the first pipe test.
90030         Reported by Simon Josefsson.
90032 2008-11-17  Bruno Haible  <bruno@clisp.org>
90034         * modules/getaddrinfo (Depends-on): Add servent, hostent.
90035         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
90036         gl_HOSTENT.
90038 2008-11-17  Bruno Haible  <bruno@clisp.org>
90040         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
90041         -lnetwork and -lnet. Needed for Haiku and BeOS.
90043 2008-11-16  Bruno Haible  <bruno@clisp.org>
90045         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
90047 2008-11-16  Bruno Haible  <bruno@clisp.org>
90049         Avoid test failure on Haiku.
90050         * tests/test-fsync.c: Include <errno.h>.
90051         (main): Don't require that fsync (0) fails.
90053 2008-11-15  Bruno Haible  <bruno@clisp.org>
90055         New module 'hostent'.
90056         * modules/hostent: New file.
90057         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
90059 2008-11-15  Bruno Haible  <bruno@clisp.org>
90061         New module 'servent'.
90062         * modules/servent: New file.
90063         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
90065 2008-11-15  Bruno Haible  <bruno@clisp.org>
90067         Avoid generating same test program with two different rules.
90068         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
90069         test-frexp to test-frexp-nolibm.
90070         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
90071         test-frexpl to test-frexpl-nolibm.
90073 2008-11-15  Bruno Haible  <bruno@clisp.org>
90075         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
90076         $(FREXPL_LIBM).
90078 2008-11-15  Bruno Haible  <bruno@clisp.org>
90080         * lib/netdb.in.h: Activate the definitions also when the system's
90081         <netdb.h> has 'struct addrinfo'.
90082         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
90083         EAI_OVERFLOW or AI_NUMERICSERV.
90084         * doc/posix-headers/netdb.texi: Document the problem.
90086 2008-11-15  Bruno Haible  <bruno@clisp.org>
90088         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
90090         Make the 'sched' module work on platforms where <sched.h> exists but
90091         is incomplete (such as Haiku).
90092         * lib/sched.in.h; Include the system's <sched.h> if it exists.
90093         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
90094         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
90095         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
90096         HAVE_STRUCT_SCHED_PARAM.
90097         * modules/sched (Depends-on): Add include_next.
90098         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
90099         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
90100         * doc/posix-headers/sched.texi: Document the issue.
90102 2008-11-13  Jim Meyering  <meyering@redhat.com>
90104         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
90105         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
90106         test would fail due to the difference in the Report bugs to ...
90107         line.  The expected address is empty, "<>", while the actual
90108         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
90110 2008-11-12  Bruno Haible  <bruno@clisp.org>
90112         lstat: don't compile lstat.c on systems lacking lstat
90113         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
90114         which don't have lstat; this is handled by lib/sys_stat.in.h already.
90115         Reported by Daniel P. Berrange via Jim Meyering.
90117 2008-11-12  Jim Meyering  <meyering@redhat.com>
90119         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
90121 2008-11-12  Simon Josefsson  <simon@josefsson.org>
90123         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
90124         instead.
90126 2008-11-12  Bruno Haible  <bruno@clisp.org>
90128         * lib/unicodeio.c: Include unistr.h.
90129         (utf8_wctomb): Remove function.
90130         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
90132 2008-11-12  Simon Josefsson  <simon@josefsson.org>
90134         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
90135         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
90136         <bruno@clisp.org>.
90137         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
90139 2008-11-12  Simon Josefsson  <simon@josefsson.org>
90141         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
90142         * doc/gnulib.texi: Add section for warnings.
90144 2008-11-11  Bruno Haible  <bruno@clisp.org>
90146         * lib/sockets.h: Add a comment.
90148 2008-11-11  Karl Berry  <karl@gnu.org>
90150         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
90152 2008-11-11  Eric Blake  <ebb9@byu.net>
90154         fdl.texi: avoid git symlinks
90155         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
90157 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
90159         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
90161 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
90163         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
90164         (gl_WARN_ADD): Substitute $2 if literal.
90166 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
90168         * m4/warning.m4: Remove.
90170 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
90172         * m4/warnings.m4: Almost complete rewrite. :-)
90174 2008-11-10  Simon Josefsson  <simon@josefsson.org>
90176         * modules/warnings: New module.
90177         * m4/warnings.m4: New file.
90178         * MODULES.html.sh: Mention warnings module.
90179         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
90180         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
90182 2008-11-10  Eric Blake  <ebb9@byu.net>
90184         fdl.texi: make a symlink to the latest version
90185         * doc/standards.texi: Revert today's earlier change.
90186         * doc/fdl-1.2.texi: Rename from old fdl.texi...
90187         * doc/fdl.texi: ...and replace this with a symlink to the newer
90188         fdl-1.3.texi.
90190 2008-11-10  Bruno Haible  <bruno@clisp.org>
90192         * tests/test-select-fd.c (main): Accept the result file name as fourth
90193         argument.
90194         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
90195         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
90197 2008-11-10  Bruno Haible  <bruno@clisp.org>
90199         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
90200         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
90201         as autoconf-substituted macros.
90202         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
90203         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
90204         gl_NETDB_H_DEFAULTS. Set these variables.
90205         * modules/netdb (Makefile.am): Substitute these variables.
90207 2008-11-10  Eric Blake  <ebb9@byu.net>
90209         standards.texi: include correct file for FDL 1.3
90210         * doc/standards.texi (GNU Free Documentation License): Change
90211         include file to pull in FDL 1.3, not 1.2.
90213         fdl.texi: revert accidental change to license
90214         * doc/fdl.texi: This is FDL 1.2, not 1.3.
90216 2008-11-10  Bruno Haible  <bruno@clisp.org>
90218         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
90219         cross-compiling guesses also when the native compile gives no result.
90221 2008-11-10  Bruno Haible  <bruno@clisp.org>
90223         * lib/spawni.c (__spawni): Force variable into the stack.
90225 2008-11-10  Bruno Haible  <bruno@clisp.org>
90227         Add support for Haiku.
90228         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
90229         glibc and BeOS, but also on Haiku.
90230         * lib/fpurge.c (fpurge): Likewise.
90231         * lib/freadable.c (freadable): Likewise.
90232         * lib/freadahead.c (freadahead): Likewise.
90233         * lib/freading.c (freading): Likewise.
90234         * lib/freadptr.c (freadptr): Likewise.
90235         * lib/freadseek.c (freadptrinc): Likewise.
90236         * lib/fseeko.c (rpl_fseeko): Likewise.
90237         * lib/fseterr.c (fseterr): Likewise.
90238         * lib/fwritable.c (fwritable): Likewise.
90239         * lib/fwriting.c (fwriting): Likewise.
90240         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
90242 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
90244         * lib/config.charset: Treat Haiku like BeOS.
90246 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
90248         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
90249         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
90251 2008-11-08  Bruno Haible  <bruno@clisp.org>
90253         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
90254         AC_CACHE_CHECK.
90256 2008-11-08  Bruno Haible  <bruno@clisp.org>
90258         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
90260 2008-11-08  Bruno Haible  <bruno@clisp.org>
90262         * tests/test-select-fd.c: New file.
90263         * tests/test-select-in.sh: New file.
90264         * tests/test-select-out.sh: New file.
90265         * tests/test-select-stdin.c: New file.
90266         * modules/select-tests (Files): Add the new files.
90267         (Depends-on): Add gettimeofday.
90268         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
90269         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
90270         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
90272 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
90273             Bruno Haible  <bruno@clisp.org>
90275         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
90277 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
90279         * build-aux/pmccabe2html: Added support for C++ source files.
90281 2008-11-05  Ben Pfaff  <blp@gnu.org>
90283         Fix lib/close.c build on Windows.
90284         * modules/close (Files): Add lib/w32sock.h.
90286 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
90288         Accept Bison's NEWS format.
90289         * build-aux/announce-gen (print_news_deltas): Tweak
90290         $re_prefix.
90292 2008-11-04  Bruno Haible  <bruno@clisp.org>
90294         * modules/random_r (Maintainer): Add glibc.
90296 2008-11-04  Simon Josefsson  <simon@josefsson.org>
90298         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
90299         by karl@freefriends.org (Karl Berry).
90300         * doc/alloca.texi: Likewise.
90301         * doc/c-ctype.texi: Likewise.
90302         * doc/c-strcase.texi: Likewise.
90303         * doc/c-strcaseeq.texi: Likewise.
90304         * doc/c-strcasestr.texi: Likewise.
90305         * doc/c-strstr.texi: Likewise.
90306         * doc/c-strtod.texi: Likewise.
90307         * doc/c-strtold.texi: Likewise.
90308         * doc/ctime.texi: Likewise.
90309         * doc/error.texi: Likewise.
90310         * doc/fdl.texi: Likewise.
90311         * doc/gcd.texi: Likewise.
90312         * doc/getdate.texi: Likewise.
90313         * doc/gnulib-intro.texi: Likewise.
90314         * doc/gnulib-tool.texi: Likewise.
90315         * doc/gnulib.texi: Likewise.
90316         * doc/inet_ntoa.texi: Likewise.
90317         * doc/maintain.texi: Likewise.
90318         * doc/make-stds.texi: Likewise.
90319         * doc/quote.texi: Likewise.
90320         * doc/regexprops-generic.texi: Likewise.
90321         * doc/standards.texi: Likewise.
90322         * doc/verify.texi: Likewise.
90323         * doc/visibility.texi: Likewise.
90324         * doc/gnulib.texi (GNU Free Documentation License): Include
90325         fdl-1.3.texi instead of fdl.texi.
90327 2008-11-04  Simon Josefsson  <simon@josefsson.org>
90329         * doc/fdl-1.3.texi: New file, from
90330         <http://www.gnu.org/licenses/fdl-1.3.texi>.
90331         * modules/fdl-1.3: Add.
90332         * MODULES.html.sh: Add fdl-1.3.
90334 2008-11-03  Bruno Haible  <bruno@clisp.org>
90336         Make determination of absolute name of header file work with AIX xlc.
90337         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
90338         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
90339         preprocessing.
90340         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
90341         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
90343 2008-11-03  Simon Josefsson  <simon@josefsson.org>
90345         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
90346         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
90347         <ludo@gnu.org>.
90349 2008-11-02  Bruno Haible  <bruno@clisp.org>
90351         Mark 'strpbrk' obsolete.
90352         * modules/strpbrk (Status, Notice): New sections.
90353         * modules/strtok_r (Depends-on): Add strpbrk.
90355 2008-11-02  Bruno Haible  <bruno@clisp.org>
90357         Mark 'strdup' obsolete.
90358         * modules/strdup (Status, Notice): New sections.
90359         * modules/findprog (Depends-on): Add strdup.
90360         * modules/getaddrinfo (Depends-on): Likewise.
90361         * modules/localename (Depends-on): Likewise.
90362         * modules/relocatable-lib (Depends-on): Likewise.
90363         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
90364         * modules/relocatable-prog (Depends-on): Likewise.
90365         * modules/trim (Depends-on): Likewise.
90366         * modules/unictype/gen-ctype (Depends-on): Likewise.
90367         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
90369 2008-11-02  Bruno Haible  <bruno@clisp.org>
90371         Mark 'strcspn' obsolete.
90372         * modules/strcspn (Status, Notice): New sections.
90374 2008-11-02  Bruno Haible  <bruno@clisp.org>
90376         Mark 'rmdir' obsolete.
90377         * modules/rmdir (Status, Notice): New sections.
90378         * modules/clean-temp (Depends-on): Add rmdir.
90379         * modules/openat (Depends-on): Likewise.
90381 2008-11-02  Bruno Haible  <bruno@clisp.org>
90383         Mark 'raise' obsolete.
90384         * modules/raise (Status, Notice): New sections.
90385         (Include): Specify <signal.h>.
90386         * modules/stdio (Depends-on): Add raise.
90387         * modules/write (Depends-on): Likewise.
90389 2008-11-02  Bruno Haible  <bruno@clisp.org>
90391         Mark 'memset' obsolete.
90392         * modules/memset (Status, Notice): New sections.
90394 2008-11-02  Bruno Haible  <bruno@clisp.org>
90396         Mark 'memmove' obsolete.
90397         * modules/memmove (Status, Notice): New sections.
90398         * modules/argp (Depends-on): Add memmove.
90399         * modules/argz (Depends-on): Likewise.
90400         * modules/canonicalize (Depends-on): Likewise.
90401         * modules/canonicalize-lgpl (Depends-on): Likewise.
90402         * modules/fts (Depends-on): Likewise.
90403         * modules/getcwd (Depends-on): Likewise.
90404         * modules/human (Depends-on): Likewise.
90405         * modules/regex (Depends-on): Likewise.
90406         * modules/striconveh (Depends-on): Likewise.
90407         * modules/trim (Depends-on): Likewise.
90408         * modules/unistr/u8-move (Depends-on): Likewise.
90409         * modules/unistr/u16-move (Depends-on): Likewise.
90410         * modules/unistr/u32-move (Depends-on): Likewise.
90412 2008-11-02  Bruno Haible  <bruno@clisp.org>
90414         Mark 'memcpy' obsolete.
90415         * modules/memcpy (Status, Notice): New sections.
90417 2008-11-02  Bruno Haible  <bruno@clisp.org>
90419         Mark 'memcmp' obsolete.
90420         * modules/memcmp (Status, Notice): New sections.
90421         * modules/argmatch (Depends-on): Add memchr.
90422         * modules/backupfile (Depends-on): Likewise.
90423         * modules/c-strcasestr (Depends-on): Likewise.
90424         * modules/crypto/des (Depends-on): Likewise.
90425         * modules/csharpcomp (Depends-on): Likewise.
90426         * modules/fnmatch (Depends-on): Likewise.
90427         * modules/git-merge-changelog (Depends-on): Likewise.
90428         * modules/isnand (Depends-on): Likewise.
90429         * modules/isnand-nolibm (Depends-on): Likewise.
90430         * modules/isnanf (Depends-on): Likewise.
90431         * modules/isnanf-nolibm (Depends-on): Likewise.
90432         * modules/isnanl (Depends-on): Likewise.
90433         * modules/isnanl-nolibm (Depends-on): Likewise.
90434         * modules/mbchar (Depends-on): Likewise.
90435         * modules/memcoll (Depends-on): Likewise.
90436         * modules/quotearg (Depends-on): Likewise.
90437         * modules/regex (Depends-on): Likewise.
90438         * modules/relocatable-prog (Depends-on): Likewise.
90439         * modules/same (Depends-on): Likewise.
90440         * modules/signbit (Depends-on): Likewise.
90441         * modules/strcasestr-simple (Depends-on): Likewise.
90442         * modules/unictype/gen-ctype (Depends-on): Likewise.
90443         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
90444         * modules/uniname/uniname (Depends-on): Likewise.
90445         * modules/unistr/u8-cmp (Depends-on): Likewise.
90447 2008-11-02  Bruno Haible  <bruno@clisp.org>
90449         Mark 'memchr' obsolete.
90450         * modules/memchr (Status, Notice): New sections.
90451         * modules/argp (Depends-on): Add memchr.
90452         * modules/base64 (Depends-on): Likewise.
90453         * modules/c-strcasestr (Depends-on): Likewise.
90454         * modules/chdir-long (Depends-on): Likewise.
90455         * modules/fnmatch (Depends-on): Likewise.
90456         * modules/getsubopt (Depends-on): Likewise.
90457         * modules/git-merge-changelog (Depends-on): Likewise.
90458         * modules/glob (Depends-on): Likewise.
90459         * modules/strcasestr-simple (Depends-on): Likewise.
90460         * modules/strnlen (Depends-on): Likewise.
90462 2008-11-02  Bruno Haible  <bruno@clisp.org>
90464         Mark 'atexit' obsolete.
90465         * modules/atexit (Status, Notice): New sections.
90466         * modules/chdir-long (Depends-on): Add atexit.
90467         * modules/wait-process (Depends-on): Likewise.
90469 2008-11-02  Bruno Haible  <bruno@clisp.org>
90471         * gnulib-tool: New option --with-obsolete.
90472         (func_usage): Document it.
90473         (func_modules_transitive_closure): Drop obsolete dependencies if
90474         incobsolete is not true.
90475         (func_import): Read and save the incobsolete variable to the cache.
90477 2008-11-02  Bruno Haible  <bruno@clisp.org>
90479         * modules/TEMPLATE-EXTENDED: New field 'Status'.
90480         * gnulib-tool: New option --extract-status.
90481         (func_usage): Document it.
90482         (sed_extract_prog): Recognize it.
90483         (func_get_status): New function.
90485 2008-10-30  Simon Josefsson  <simon@josefsson.org>
90487         * modules/sockets (License): Change from LGPL to LGPLv2+.
90489 2008-10-28  Simon Josefsson  <simon@josefsson.org>
90491         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
90493 2008-10-28  Simon Josefsson  <simon@josefsson.org>
90495         * MODULES.html.sh (Support for systems lacking POSIX:2001):
90496         Mention times and sys_times.
90497         * modules/sys_times, modules/sys_times-tests: New modules.
90498         * modules/times, modules/times-tests: Likewise
90499         * m4/sys_times_h.m4: New file.
90500         * lib/sys_times.in.h: Likewise
90501         * lib/times.c: Likewise.
90502         * tests/test-sys_times.c: Likewise.
90503         * tests/test-times.c: Likewise.
90504         * doc/posix-headers/sys_times.texi: Update.
90505         * doc/posix-functions/times.texi: Update.
90507 2008-10-28  Jim Meyering  <meyering@redhat.com>
90509         * modules/tempname (Depends-on): Add lstat.
90511         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
90513 2008-10-28  Simon Josefsson  <simon@josefsson.org>
90515         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
90516         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
90517         using idiom used elsewhere in gnulib.
90519 2008-10-27  Jim Meyering  <meyering@redhat.com>
90521         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
90523 2008-10-27  Simon Josefsson  <simon@josefsson.org>
90525         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
90526         TESTS_ENVIRONMENT, for shell scripts that needs to call built
90527         programs.
90528         * tests/test-argp-2.sh: Use $EXEEXT when needed.
90530 2008-10-27  Simon Josefsson  <simon@josefsson.org>
90532         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
90534 2008-10-27  Bruno Haible  <bruno@clisp.org>
90536         * tests/test-lstat.c: Include <stdio.h>.
90538 2008-10-27  Simon Josefsson  <simon@josefsson.org>
90540         * modules/lstat-tests: New module.
90541         * tests/test-lstat.c: New file.
90543 2008-10-26  Jim Meyering  <meyering@redhat.com>
90545         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
90547 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90548             Bruno Haible  <bruno@clisp.org>
90550         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
90551         * modules/configmake (Include): Add a note that the include must come
90552         after all system headers.
90553         * lib/javaversion.c: Include configmake.h after all other includes.
90555 2008-10-26  Bruno Haible  <bruno@clisp.org>
90557         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
90558         HAVE_STRUCT_RANDOM_DATA to 1.
90559         (gl_STDLIB_H): Simplify.
90561 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90563         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
90564         substitute HAVE_STRUCT_RANDOM_DATA.
90565         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
90566         random_data.
90567         * modules/stdlib (Makefile.am): Substitute
90568         HAVE_STRUCT_RANDOM_DATA.
90570 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90572         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
90573         * doc/gnulib-intro.texi (Copyright): Likewise.
90575 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90577         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
90578         findings.
90580 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
90581             Bruno Haible  <bruno@clisp.org>
90583         * lib/unistd.in.h: Include <winsock2.h>.
90584         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
90585         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
90586         Provide dummy declarations.
90587         (gethostname): Override.
90588         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
90589         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
90590         gl_PREREQ_SYS_H_WINSOCK2.
90591         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
90592         * doc/posix-functions/gethostname.texi: More details.
90594 2008-10-25  Bruno Haible  <bruno@clisp.org>
90596         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
90597         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
90598         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
90600         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
90601         here ...
90602         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
90603         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
90604         gl_UNISTD_H_DEFAULTS.
90606 2008-10-25  Eric Blake  <ebb9@byu.net>
90608         signbit: avoid spurious compiler failure
90609         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
90610         declarations inside function.
90612 2008-10-24  Simon Josefsson  <simon@josefsson.org>
90613             Bruno Haible  <bruno@clisp.org>
90615         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
90616         * modules/random_r (Depends-on): Add stdint.
90618 2008-10-24  Bruno Haible  <bruno@clisp.org>
90620         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
90621         Eggert.
90622         * modules/strerror (License): Likewise.
90624 2008-10-24  Jim Meyering  <meyering@redhat.com>
90626         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
90627         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
90629 2008-10-24  Eric Blake  <ebb9@byu.net>
90631         getgroups: fix compilation when getgroups is available
90632         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
90633         but with <config.h> override of getgroups disabled.
90635 2008-10-24  Simon Josefsson  <simon@josefsson.org>
90637         * doc/gnulib.texi (Header files): Add note about C++ problems.
90638         Explained by Bruno Haible <bruno@clisp.org>.
90640 2008-10-23  Bruno Haible  <bruno@clisp.org>
90642         Define a dummy SA_NODEFER macro on Interix.
90643         * lib/signal.in.h (SA_NODEFER): Define fallback.
90644         Reported by Aleksey Cheusov <cheusov@tut.by> via
90645         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
90647 2008-10-23  Bruno Haible  <bruno@clisp.org>
90649         * modules/freadahead (License): Change to LGPLv2+.
90650         Suggested by Simon Josefsson.
90652 2008-10-23  Jim Meyering  <meyering@redhat.com>
90654         random_r: new module
90655         * modules/random_r: New file.
90656         * m4/random_r.m4: New file.
90657         * lib/random_r.c: New file, from glibc.
90658         * modules/random_r-tests: New file.
90659         * tests/test-random_r.c: New file.
90660         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
90661          Declare.
90662         (RAND_MAX): Define.
90663         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
90664         * modules/stdlib: Substitute them, too.
90665         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
90666         * doc/glibc-functions/initstate_r.texi: Mention the new module.
90667         * doc/glibc-functions/random_r.texi: Likewise.
90668         * doc/glibc-functions/setstate_r.texi: Likewise.
90669         * doc/glibc-functions/srandom_r.texi: Likewise.
90670         * config/srclist.txt: Mention it.
90672 2008-10-23  David Lutterkort  <lutter@redhat.com>
90674         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
90675         link requirement
90677 2008-10-23  Jim Meyering  <meyering@redhat.com>
90679         selinux-h: mark parameters of stub functions as intentionally unused
90680         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
90681         * lib/se-context.in.h: Likewise.
90683 2008-10-22  Simon Josefsson  <simon@josefsson.org>
90685         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
90687 2008-10-22  Simon Josefsson  <simon@josefsson.org>
90689         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
90691 2008-10-22  Eric Blake  <ebb9@byu.net>
90693         glthread/thread: avoid compiler warning
90694         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
90695         Add unreachable abort to silence compiler.
90697 2008-10-22  Eric Blake  <ebb9@byu.net>
90699         netdb: also supply struct addrinfo for cygwin 1.5.x
90700         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
90701         older cygwin.
90702         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
90703         cygwin.
90704         * doc/posix-headers/netdb.texi (netdb.h): Document this.
90706 2008-10-22  Bruno Haible  <bruno@clisp.org>
90708         * users.txt: Update entry about pspp.
90710 2008-10-21  Bruno Haible  <bruno@clisp.org>
90712         Simplification.
90713         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
90714         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
90716         Simplification.
90717         * lib/ioctl.c (ioctl): Don't undefine.
90718         * lib/socket.c (socket): Don't undefine.
90720         Remove unused module indicator macros.
90721         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
90722         GNULIB_$1 as a C macro.
90724         * doc/posix-functions/close.texi: Undo last change.
90725         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
90726         Windows platforms.
90728 2008-10-21  Bruno Haible  <bruno@clisp.org>
90730         Add gethostname() declaration to <unistd.h>.
90731         * lib/unistd.in.h (gethostname): New declaration.
90732         * lib/gethostname.c: Include <unistd.h>.
90733         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
90734         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
90735         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
90736         and HAVE_GETHOSTNAME.
90737         * modules/gethostname (Depends-on): Add unistd.
90738         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90739         (Include): Specify <unistd.h>.
90740         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
90741         HAVE_GETHOSTNAME.
90742         * tests/test-gethostname.c: Include <unistd.h> first.
90744 2008-10-21  Bruno Haible  <bruno@clisp.org>
90746         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
90747         * modules/select-tests (Depends-on): Likewise.
90748         Reported by Simon Josefsson.
90750 2008-10-21  Simon Josefsson  <simon@josefsson.org>
90752         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
90753         * lib/accept.c: New file, based on winsock.c.
90754         * lib/bind.c: New file, based on winsock.c.
90755         * lib/connect.c: New file, based on winsock.c.
90756         * lib/getpeername.c: New file, based on winsock.c.
90757         * lib/getsockname.c: New file, based on winsock.c.
90758         * lib/getsockopt.c: New file, based on winsock.c.
90759         * lib/ioctl.c: New file, based on winsock.c.
90760         * lib/listen.c: New file, based on winsock.c.
90761         * lib/recv.c: New file, based on winsock.c.
90762         * lib/recvfrom.c: New file, based on winsock.c.
90763         * lib/send.c: New file, based on winsock.c.
90764         * lib/sendto.c: New file, based on winsock.c.
90765         * lib/setsockopt.c: New file, based on winsock.c.
90766         * lib/shutdown.c: New file, based on winsock.c.
90767         * lib/socket.c: New file, based on winsock.c.
90768         * lib/w32sock.h: New file, based on winsock.c.
90769         * lib/winsock.c: Remove file.
90770         * modules/accept: Likewise.
90771         * modules/bind: Likewise.
90772         * modules/connect: Likewise.
90773         * modules/getpeername: Likewise.
90774         * modules/getsockname: Likewise.
90775         * modules/getsockopt: Likewise.
90776         * modules/ioctl: Likewise.
90777         * modules/listen: Likewise.
90778         * modules/recv: Likewise.
90779         * modules/recvfrom: Likewise.
90780         * modules/send: Likewise.
90781         * modules/sendto: Likewise.
90782         * modules/setsockopt: Likewise.
90783         * modules/shutdown: Likewise.
90784         * modules/socket: Use socket.c instead of winsock.c.
90785         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
90786         * doc/posix-functions/accept.texi: Doc fix.
90787         * doc/posix-functions/bind.texi: Doc fix.
90788         * doc/posix-functions/close.texi: Doc fix.
90789         * doc/posix-functions/connect.texi: Doc fix.
90790         * doc/posix-functions/getpeername.texi: Doc fix.
90791         * doc/posix-functions/getsockname.texi: Doc fix.
90792         * doc/posix-functions/getsockopt.texi: Doc fix.
90793         * doc/posix-functions/ioctl.texi: Doc fix.
90794         * doc/posix-functions/listen.texi: Doc fix.
90795         * doc/posix-functions/recv.texi: Doc fix.
90796         * doc/posix-functions/recvfrom.texi: Doc fix.
90797         * doc/posix-functions/send.texi: Doc fix.
90798         * doc/posix-functions/sendto.texi: Doc fix.
90799         * doc/posix-functions/setsockopt.texi: Doc fix.
90800         * doc/posix-functions/shutdown.texi: Doc fix.
90801         * doc/posix-functions/socket.texi: Doc fix.
90803 2008-10-20  Bruno Haible  <bruno@clisp.org>
90805         Take into account the role of SIGABRT_COMPAT on Windows 2008.
90806         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
90807         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
90808         as an alias for SIGABRT.
90809         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
90810         (sigaction): Map it to SIGABRT.
90811         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
90813 2008-10-20  Bruno Haible  <bruno@clisp.org>
90815         * lib/fts.c: Don't include lstat.h.
90816         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
90818         Move the lstat() declaration to <sys/stat.h>.
90819         * lib/lstat.h: Remove file.
90820         * lib/sys_stat.in.h: Add special invocation convention.
90821         (lstat): New declaration.
90822         * lib/lstat.c (orig_lstat): New function.
90823         (rpl_lstat): Use orig_lstat instead of lstat.
90824         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
90825         AC_C_INLINE. Set REPLACE_LSTAT.
90826         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
90827         and REPLACE_LSTAT.
90828         * modules/lstat (Files): Remove lib/lstat.h.
90829         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
90830         (Include): Specify <sys/stat.h> instead of lstat.h.
90831         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
90832         REPLACE_LSTAT.
90833         * NEWS: Mention the change.
90835 2008-10-20  Bruno Haible  <bruno@clisp.org>
90837         * modules/posix_spawn-tests: New file.
90838         * tests/test-posix_spawn3.c: New file.
90840 2008-10-20  Bruno Haible  <bruno@clisp.org>
90842         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
90843         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
90844         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
90845         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
90846         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
90848 2008-10-20  Bruno Haible  <bruno@clisp.org>
90850         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
90851         of posix_spawn on AIX 5.3.
90853 2008-10-20  Bruno Haible  <bruno@clisp.org>
90855         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
90857 2008-10-20  Bruno Haible  <bruno@clisp.org>
90859         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
90860         of AC_LANG_PROGRAM.
90862 2008-10-20  Simon Josefsson  <simon@josefsson.org>
90864         * lib/netdb.in.h: Don't define GNU specific constants until they
90865         are supported or needed.  Reported by Bruno Haible
90866         <bruno@clisp.org>.
90868 2008-10-20  Simon Josefsson  <simon@josefsson.org>
90870         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
90872 2008-10-20  Simon Josefsson  <simon@josefsson.org>
90874         * lib/getaddrinfo.h: Remove file.
90875         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
90876         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
90877         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
90878         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
90879         * modules/netdb: Substitute GNULIB_GETADDRINFO.
90880         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
90881         * tests/test-getaddrinfo.c: Likewise.
90882         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
90883         * NEWS: Mention change.
90885 2008-10-19  Bruno Haible  <bruno@clisp.org>
90887         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
90889 2008-10-19  Bruno Haible  <bruno@clisp.org>
90891         * lib/wait-process.c: Include simply <sys/wait.h>.
90892         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
90893         WIFSTOPPED): Remove fallback definitions.
90894         * modules/wait-process (Depends-on): Add sys_wait.
90896         New module 'sys_wait'.
90897         * modules/sys_wait: New file.
90898         * lib/sys_wait.in.h: New file, partially copied from
90899         lib/wait-process.c.
90900         * m4/sys_wait_h.m4: New file.
90901         * doc/posix-headers/sys_wait.texi: Mention the new module.
90903 2008-10-19  Bruno Haible  <bruno@clisp.org>
90905         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
90907 2008-10-19  Bruno Haible  <bruno@clisp.org>
90909         Assume that waitpid() fills an 'int' status, not a 'union wait'.
90910         * lib/wait-process.c (WAIT_T): Remove type.
90911         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
90912         (wait_subprocess): Update.
90914 2008-10-19  Bruno Haible  <bruno@clisp.org>
90916         New module 'atoll'.
90917         * modules/atoll: New file.
90918         * lib/stdlib.in.h (atoll): New declaration.
90919         * lib/atoll.c: New file, from glibc with modifications.
90920         * m4/atoll.m4: New file.
90921         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
90922         HAVE_ATOLL.
90923         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
90924         * doc/posix-functions/atoll.texi: Mention the new module.
90926 2008-10-19  Bruno Haible  <bruno@clisp.org>
90928         Add strtoull() declaration to <stdlib.h>.
90929         * lib/stdlib.in.h (strtoull): New declaration.
90930         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
90931         Set HAVE_STRTOULL.
90932         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
90933         HAVE_STRTOULL.
90934         * modules/strtoull (Depends-on): Add stdlib.
90935         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
90936         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
90937         HAVE_STRTOULL.
90939 2008-10-19  Bruno Haible  <bruno@clisp.org>
90941         Add strtoll() declaration to <stdlib.h>.
90942         * lib/stdlib.in.h (strtoll): New declaration.
90943         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
90944         Set HAVE_STRTOLL.
90945         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
90946         HAVE_STRTOLL.
90947         * modules/strtoll (Depends-on): Add stdlib.
90948         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
90949         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
90951 2008-10-19  Bruno Haible  <bruno@clisp.org>
90953         * modules/bcopy (Depends-on): Add strings.
90954         (Include): Specify <strings.h>.
90956 2008-10-19  Bruno Haible  <bruno@clisp.org>
90958         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
90960 2008-10-19  Bruno Haible  <bruno@clisp.org>
90962         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
90963         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
90964         mingw.
90966 2008-10-19  Bruno Haible  <bruno@clisp.org>
90968         * lib/atanl.c: Don't include isnanl.h.
90969         * lib/cosl.c: Likewise.
90970         * lib/ldexpl.c: Likewise.
90971         * lib/logl.c: Likewise.
90972         * lib/sinl.c: Likewise.
90973         * lib/sqrtl.c: Likewise.
90974         * lib/tanl.c: Likewise.
90976         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
90977         * lib/isnanf.h: Remove file.
90978         * lib/isnand.h: Remove file.
90979         * lib/isnanl.h: Remove file.
90980         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
90981         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
90982         macros.
90983         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
90984         HAVE_ISNANF, don't define it as a C macro.
90985         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
90986         HAVE_ISNAND, don't define it as a C macro.
90987         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
90988         HAVE_ISNANL, don't define it as a C macro.
90989         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
90990         HAVE_ISNAN[FDL].
90991         * modules/isnanf (Files): Remove lib/isnanf.h.
90992         (Depends-on): Add math.
90993         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
90994         (Include): Specify <math.h> instead of isnanf.h.
90995         * modules/isnand (Files): Remove lib/isnand.h.
90996         (Depends-on): Add math.
90997         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
90998         (Include): Specify <math.h> instead of isnand.h.
90999         * modules/isnanl (Files): Remove lib/isnanl.h.
91000         (Depends-on): Add math.
91001         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
91002         (Include): Specify <math.h> instead of isnanl.h.
91003         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
91004         HAVE_ISNAN[FDL].
91005         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
91006         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
91007         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
91008         * NEWS: Mention the change.
91010 2008-10-18  Bruno Haible  <bruno@clisp.org>
91012         Add getusershell(), setusershell(), endusershell() declarations to
91013         <unistd.h>.
91014         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
91015         declarations.
91016         * lib/getusershell.c: Include unistd.h.
91017         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
91018         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
91019         HAVE_GETUSERSHELL.
91020         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
91021         and HAVE_GETUSERSHELL.
91022         * modules/getusershell (Depends-on): Add unistd, extensions.
91023         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91024         (Include): Specify <unistd.h>.
91025         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
91026         HAVE_GETUSERSHELL.
91028 2008-10-18  Bruno Haible  <bruno@clisp.org>
91030         Add a getloadavg() declaration to <stdlib.h>.
91031         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
91032         getloadavg declaration.
91033         (getloadavg): New declaration.
91034         * lib/getloadavg.c: Include <stdlib.h> first.
91035         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
91036         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
91037         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
91038         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
91039         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
91040         * modules/getloadavg (Depends-on): Add stdlib, extensions.
91041         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
91042         (Include): Specify <stdlib.h>.
91043         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
91044         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
91046 2008-10-18  Bruno Haible  <bruno@clisp.org>
91048         * lib/dirchownmod.c: Don't include lchmod.h.
91050         Move the lchmod() declaration to <sys/stat.h>.
91051         * lib/lchmod.h: Remove file.
91052         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
91053         (lchmod): New declaration, moved here from lib/lchown.h.
91054         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
91055         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
91056         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
91057         and HAVE_LCHMOD.
91058         * modules/lchmod (Files): Remove lib/lchmod.h.
91059         (Depends-on): Add sys_stat, extensions.
91060         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
91061         (Include): Specify <sys/stat.h> instead of lchmod.h.
91062         * modules/sys_stat (Depends-on): Add link-warning.
91063         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
91064         definition of GL_LINK_WARNING.
91065         * NEWS: Mention the change.
91067 2008-10-18  Bruno Haible  <bruno@clisp.org>
91069         * lib/fchdir.c: Don't include dirfd.h.
91070         * lib/fts.c: Likewise.
91071         * lib/getcwd.c: Likewise.
91072         * lib/glob.c: Likewise.
91074         Move the dirfd() declaration to <dirent.h>.
91075         * lib/dirfd.h: Remove file.
91076         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
91077         (dirfd): New declaration.
91078         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
91079         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
91080         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
91081         HAVE_DECL_DIRFD.
91082         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
91083         HAVE_DECL_DIRFD.
91084         * modules/dirfd (Files): Remove lib/dirfd.h.
91085         (Depends-on): Add dirent, extensions.
91086         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
91087         (Include): Specify <dirent.h> instead of dirfd.h.
91088         * modules/dirent (Depends-on): Add link-warning.
91089         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
91090         definition of GL_LINK_WARNING.
91091         * NEWS: Mention the change.
91093 2008-10-18  Bruno Haible  <bruno@clisp.org>
91095         Move the euidaccess() declaration to <unistd.h>.
91096         * lib/euidaccess.h: Remove file.
91097         * lib/unistd.in.h (euidaccess): New declaration.
91098         * lib/euidaccess.c: Don't include euidaccess.h.
91099         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
91100         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
91101         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
91102         and HAVE_EUIDACCESS.
91103         * modules/euidaccess (Files): Remove lib/euidaccess.h.
91104         (Depends-on): Add unistd.
91105         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91106         (Include): Specify <unistd.h> instead of euidaccess.h.
91107         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
91108         HAVE_EUIDACCESS.
91109         * NEWS: Mention the change.
91111 2008-10-18  Bruno Haible  <bruno@clisp.org>
91113         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
91115         Move the getdomainname() declaration to <unistd.h>.
91116         * lib/getdomainname.h: Remove file.
91117         * lib/unistd.in.h (getdomainname): New declaration.
91118         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
91119         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
91120         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
91121         HAVE_GETDOMAINNAME.
91122         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
91123         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
91124         * modules/getdomainname (Files): Remove lib/getdomainname.h.
91125         (Depends-on): Add unistd, extensions.
91126         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91127         (Includes): Specify <unistd.h> instead of getdomainname.h.
91128         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
91129         HAVE_GETDOMAINNAME.
91130         * NEWS: Mention the change.
91132 2008-10-18  Bruno Haible  <bruno@clisp.org>
91134         * modules/dirent: New file.
91135         * m4/dirent_h.m4: New file.
91136         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
91137         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
91138         * modules/fchdir (Files): Remove lib/dirent.in.h.
91139         (Depends-on): Add dirent.
91140         (Makefile.am): Move rules to modules/dirent.
91141         * doc/posix-headers/dirent.texi: Mention the new module.
91143 2008-10-18  Bruno Haible  <bruno@clisp.org>
91145         Avoid -Wunused-parameter warnings in public gnulib header files.
91146         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
91147         macro.
91148         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
91150 2008-10-18  Bruno Haible  <bruno@clisp.org>
91152         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
91153         * doc/glibc-functions/error.texi: Mention the module 'error'.
91154         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
91155         * doc/glibc-functions/getdomainname.texi: Mention the module
91156         'getdomainname'.
91157         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
91158         * doc/glibc-functions/getpagesize.texi: Mention the module
91159         'getpagesize'.
91160         * doc/glibc-functions/getusershell.texi: Mention the module
91161         'getusershell'.
91162         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
91163         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
91164         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
91165         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
91166         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
91167         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
91168         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
91169         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
91170         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
91171         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
91172         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
91173         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
91174         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
91175         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
91177 2008-10-17  Bruno Haible  <bruno@clisp.org>
91179         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
91180         HP-UX and IRIX, use -0.0L.
91181         * tests/test-ceill.c (minus_zero): Likewise.
91182         * tests/test-floorl.c (minus_zero): Likewise.
91183         * tests/test-frexpl.c (minus_zero): Likewise.
91184         * tests/test-isnan.c (minus_zerol): Likewise.
91185         * tests/test-isnanl.h (minus_zero): Likewise.
91186         * tests/test-ldexpl.c (minus_zero): Likewise.
91187         * tests/test-roundl.c (minus_zero): Likewise.
91188         * tests/test-signbit.c (minus_zerol): Likewise.
91189         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
91190         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
91191         * tests/test-truncl.c (minus_zero): Likewise.
91192         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
91193         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
91194         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
91195         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
91197 2008-10-17  Bruno Haible  <bruno@clisp.org>
91199         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
91200         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
91201         that it gets activated only for gcc >= 3.0.
91202         * lib/dirent.in.h: Likewise.
91203         * lib/errno.in.h: Likewise.
91204         * lib/fcntl.in.h: Likewise.
91205         * lib/float.in.h: Likewise.
91206         * lib/iconv.in.h: Likewise.
91207         * lib/inttypes.in.h: Likewise.
91208         * lib/locale.in.h: Likewise.
91209         * lib/math.in.h: Likewise.
91210         * lib/netdb.in.h: Likewise.
91211         * lib/netinet_in.in.h: Likewise.
91212         * lib/search.in.h: Likewise.
91213         * lib/signal.in.h: Likewise.
91214         * lib/spawn.in.h: Likewise.
91215         * lib/stdarg.in.h: Likewise.
91216         * lib/stdint.in.h: Likewise.
91217         * lib/stdio.in.h: Likewise.
91218         * lib/stdlib.in.h: Likewise.
91219         * lib/string.in.h: Likewise.
91220         * lib/strings.in.h: Likewise.
91221         * lib/sys_file.in.h: Likewise.
91222         * lib/sys_ioctl.in.h: Likewise.
91223         * lib/sys_select.in.h: Likewise.
91224         * lib/sys_socket.in.h: Likewise.
91225         * lib/sys_stat.in.h: Likewise.
91226         * lib/sys_time.in.h: Likewise.
91227         * lib/sysexits.in.h: Likewise.
91228         * lib/time.in.h: Likewise.
91229         * lib/unistd.in.h: Likewise.
91230         * lib/wchar.in.h: Likewise.
91231         * lib/wctype.in.h: Likewise.
91232         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
91234 2008-10-17  Jim Meyering  <meyering@redhat.com>
91236         ignore-value: don't depend on inline module
91237         * modules/ignore-value (Depends-on): Remove 'inline'.
91238         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
91239         Suggestion from Bruno Haible.
91241 2008-10-17  Bruno Haible  <bruno@clisp.org>
91243         New implementation of condition variables for Win32.
91244         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
91245         (gl_linked_waitqueue_t): New type.
91246         (gl_cond_t): Use it.
91247         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
91248         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
91249         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
91250         (glthread_cond_init_func, glthread_cond_wait_func,
91251         glthread_cond_timedwait_func, glthread_cond_signal_func,
91252         glthread_cond_broadcast_func, glthread_cond_destroy_func):
91253         Reimplemented on the basis of gl_linked_waitqueue_t.
91254         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
91255         gl_waitqueue_t.
91256         (gl_rwlock_t): Update.
91257         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
91259 2008-10-17  Simon Josefsson  <simon@josefsson.org>
91261         * modules/recvfrom (Depends-on): Add dependency on getpeername.
91262         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
91264 2008-10-17  Jim Meyering  <meyering@redhat.com>
91266         ignore-value: new module
91267         * modules/ignore-value: New file.
91268         * lib/ignore-value.h: New file.
91269         * MODULES.html.sh (Compiler warning management): New section,
91270         just for this module.  More to come.
91272 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
91274         open-safer.c: avoid 'signed and unsigned in conditional...' warning
91275         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
91276         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
91278 2008-10-16  Jim Meyering  <meyering@redhat.com>
91280         openat-die.c: avoid 'no previous prototype' warning
91281         * lib/openat-die.c: Include "openat.h".
91282         Reported by Reuben Thomas <rrt@sc3d.org>.
91284 2008-10-16  Simon Josefsson  <simon@josefsson.org>
91286         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
91287         * lib/netdb.in.h: Fix typo.
91288         Reported by Bruno Haible  <bruno@clisp.org>
91290         * lib/netdb.in.h: Include sys/socket.h for platforms without
91291         netdb.h, to get structures like hostent on MinGW.
91292         * modules/netdb (Depends-on): Add sys_socket.
91294 2008-10-15  Simon Josefsson  <simon@josefsson.org>
91296         * modules/netdb, modules/netdb-tests: New file.
91297         * m4/netdb_h.m4: New file.
91298         * lib/netdb.in.h: Add, currently just an empty file pending
91299         definitions.
91300         * tests/test-netdb.c: New file.
91301         * doc/posix-headers/netdb.texi: Mention that we replace it if
91302         needed.
91303         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
91304         netdb.
91306 2008-10-15  Simon Josefsson  <simon@josefsson.org>
91308         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
91309         with code.
91311 2008-10-13  Bruno Haible  <bruno@clisp.org>
91313         * lib/glthread/cond.c (glthread_cond_wait_func,
91314         glthread_cond_timedwait_func): Add a comment.
91316 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
91318         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
91319         * tests/test-select.c: Likewise,
91321 2008-10-13  Bruno Haible  <bruno@clisp.org>
91323         * lib/glthread/cond.c (glthread_cond_wait_func,
91324         glthread_cond_timedwait_func): Fix variable name.
91325         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
91327 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
91329         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
91330         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
91331         struct sockaddr.sa_len.
91332         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
91334 2008-10-13  Simon Josefsson  <simon@josefsson.org>
91336         * build-aux/pmccabe2html: Add css and css_url parameters.
91338 2008-10-12  Bruno Haible  <bruno@clisp.org>
91340         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
91341         calling aclx_get.
91342         Reported by Rainer Tammer <tammer@tammer.net>.
91344 2008-10-12  Bruno Haible  <bruno@clisp.org>
91346         Use msvcrt aware primitives for creation/termination of Win32 threads.
91347         * lib/glthread/thread.c: Include <process.h>.
91348         (glthread_create_func): Use _beginthreadex instead of CreateThread.
91349         (wrapper_func): Update signature.
91350         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
91352 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
91353             Bruno Haible  <bruno@clisp.org>
91355         Provide a Win32 implementation of the 'cond' module.
91356         * lib/glthread/cond.h [USE_WIN32]: New implementation.
91357         * lib/glthread/cond.c (glthread_cond_init_func,
91358         glthread_cond_wait_func, glthread_cond_timedwait_func,
91359         glthread_cond_signal_func, glthread_cond_broadcast_func,
91360         glthread_cond_destroy_func) [USE_WIN32]: New functions.
91361         * modules/cond (Dependencies): Add gettimeofday.
91363 2008-10-11  Bruno Haible  <bruno@clisp.org>
91365         Make sleep work on older versions of mingw.
91366         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
91367         only whether it exists.
91368         * doc/posix-functions/sleep.texi: Mention the problem with older
91369         versions of mingw.
91371 2008-10-11  Bruno Haible  <bruno@clisp.org>
91373         New module 'shutdown'.
91374         * modules/shutdown: New file.
91375         * lib/sys_socket.in.h (shutdown): New declaration.
91376         * lib/winsock.c (shutdown): New function.
91377         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
91378         GNULIB_SHUTDOWN.
91379         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
91380         * doc/posix-functions/shutdown.texi: Document the new module.
91382 2008-10-11  Jim Meyering  <meyering@redhat.com>
91384         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
91386 2008-10-11  Bruno Haible  <bruno@clisp.org>
91388         New module 'fclose'.
91389         * modules/fclose: New file.
91390         * lib/stdio.in.h (fclose): New declaration.
91391         * lib/fclose.c: New file.
91392         * m4/fclose.m4: New file.
91393         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
91394         REPLACE_FCLOSE.
91395         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
91396         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
91397         REPLACE_FCLOSE.
91398         * modules/close (Depends-on): fclose.
91399         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
91401 2008-10-11  Bruno Haible  <bruno@clisp.org>
91403         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
91404         set errno and don't call _close.
91406 2008-10-10  Bruno Haible  <bruno@clisp.org>
91408         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
91409         ACL, not afterwards. Fixes test failure on Cygwin.
91411 2008-10-09  Ben Pfaff  <blp@gnu.org>
91413         * build-aux/announce-gen: Fix gnulib version related part of usage
91414         message.  Die with a useful error message if no tarballs are
91415         found.
91417 2008-10-10  Jim Meyering  <meyering@redhat.com>
91419         bootstrap: use git's --depth=N option only if it's supported
91420         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
91421         recognize the --depth option.  Reported by Pádraig Brady.
91423 2008-10-09  Bruno Haible  <bruno@clisp.org>
91425         New module 'ioctl'.
91426         * modules/ioctl: New file.
91427         * lib/sys_socket.in.h (ioctl): Remove declaration.
91428         * lib/winsock.c: Include <sys/ioctl.h>.
91429         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
91430         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
91431         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
91432         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
91433         * doc/posix-functions/ioctl.texi: Mention the new module.
91435 2008-10-09  Bruno Haible  <bruno@clisp.org>
91437         New module 'sys_ioctl'.
91438         * lib/sys_ioctl.in.h: New file.
91439         * m4/sys_ioctl_h.m4: New file.
91440         * modules/sys_ioctl: New file.
91441         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
91443 2008-10-09  Bruno Haible  <bruno@clisp.org>
91445         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
91446         * lib/winsock.c: Include <stdarg.h>.
91447         (rpl_ioctl): Change to second argument 'int' and then varargs.
91449 2008-10-09  Bruno Haible  <bruno@clisp.org>
91451         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
91452         when the sys_socket module is present and the system has <winsock2.h>.
91454 2008-10-09  Bruno Haible  <bruno@clisp.org>
91456         * doc/posix-functions/close.texi: Mention module 'close' instead of
91457         module 'sys_socket'.
91459 2008-10-09  Bruno Haible  <bruno@clisp.org>
91461         * doc/glibc-headers/sys_ioctl.texi: New file.
91462         * doc/gnulib.texi: Include it.
91464 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91465             Bruno Haible  <bruno@clisp.org>
91467         Combine the two replacements of 'close'.
91468         * lib/sys_socket.in.h (close): Define to a reminder to include
91469         <unistd.h>.
91470         (_gl_close_fd_maybe_socket): New declaration.
91471         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
91472         * lib/winsock.c (close): Remove undefinition.
91473         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
91474         needed for the gnulib module 'close'.
91475         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
91476         define to an error symbol or to a warning, if suitable.
91477         * lib/close.c: Include <sys/socket.h>.
91478         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
91479         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
91480         UNISTD_H_HAVE_WINSOCK2_H.
91481         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
91482         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
91483         UNISTD_H_HAVE_WINSOCK2_H.
91484         * modules/sys_socket (Files): Add m4/unistd_h.m4.
91485         (configure.ac): Set a module indicator.
91486         (Makefile.am): Substitute GNULIB_CLOSE.
91487         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
91488         * modules/poll-tests (Depends-on): Add close.
91489         * modules/select-tests (Depends-on): Likewise.
91491 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91492             Bruno Haible  <bruno@clisp.org>
91494         New module 'close'.
91495         * modules/close: New file.
91496         * lib/unistd.in.h (close): Move declaration out of the
91497         FCHDIR_REPLACEMENT scope.
91498         (_gl_unregister_fd): New declaration.
91499         * lib/close.c: New file.
91500         * lib/fchdir.c (rpl_close): Remove function.
91501         * m4/close.m4: New file.
91502         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
91503         close.
91504         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
91505         REPLACE_CLOSE.
91506         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
91507         REPLACE_CLOSE.
91508         * modules/fchdir (Depends-on): Add close.
91510 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91511             Bruno Haible  <bruno@clisp.org>
91513         * lib/fcntl.in.h (open): Simplify conditionals.
91514         (_gl_register_fd): New declaration.
91515         * lib/fchdir.c (rpl_open): Remove function.
91516         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
91517         also.
91518         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
91519         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
91520         open.
91522 2008-10-09  Jim Meyering  <meyering@redhat.com>
91524         GNUmakefile: use the more name-space-friendly "_version"
91525         * top/GNUmakefile (_dummy): Update.
91526         (_version): Rename from "version".
91528 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91529             Bruno Haible  <bruno@clisp.org>
91531         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
91532         rpl_close.
91533         (_gl_register_fd): New function, extracted from rpl_open.
91534         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
91535         (rpl_open, rpl_opendir): Use _gl_register_fd.
91537 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91539         Fix organization of 'open' replacement.
91540         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
91541         (gl_FUNC_OPEN): Use it.
91542         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
91544 2008-10-08  Bruno Haible  <bruno@clisp.org>
91546         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
91548 2008-10-08  Simon Josefsson  <simon@josefsson.org>
91550         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
91551         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
91552         listen).
91554 2008-10-08  Eric Blake  <ebb9@byu.net>
91556         GNUmakefile: add 'make version' target
91557         * top/GNUmakefile (_curr-ver): Split version update rules...
91558         (version): ...into a target.
91560 2008-10-07  Bruno Haible  <bruno@clisp.org>
91562         Use a more portable replacement expression for -0.0L.
91563         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
91564         instead of -0.0L. Fix m4 quotation.
91566         * tests/test-signbit.c: Include <float.h>.
91567         (minus_zero): New variable.
91568         (test_signbitl): Use minus_zero instead of -zero.
91569         * modules/signbit-tests (Depends-on): Add float.
91571         * tests/test-ceill.c: Include <float.h>.
91572         (zero): Remove variable.
91573         (minus_zero): New variable.
91574         (main): Use minus_zero instead of -zero.
91575         * modules/ceill-tests (Depends-on): Add float.
91577         * tests/test-floorl.c: Include <float.h>.
91578         (zero): Remove variable.
91579         (minus_zero): New variable.
91580         (main): Use minus_zero instead of -zero.
91581         * modules/floorl-tests (Depends-on): Add float.
91583         * tests/test-roundl.c: Include <float.h>.
91584         (zero): Remove variable.
91585         (minus_zero): New variable.
91586         (main): Use minus_zero instead of -zero.
91587         * modules/roundl-tests (Depends-on): Add float.
91589         * tests/test-truncl.c: Include <float.h>.
91590         (zero): Remove variable.
91591         (minus_zero): New variable.
91592         (main): Use minus_zero instead of -zero.
91593         * modules/truncl-tests (Depends-on): Add float.
91595         * tests/test-frexpl.c (zero): Remove variable.
91596         (minus_zero): New variable.
91597         (main): Use minus_zero instead of -zero.
91598         * modules/frexpl-tests (Depends-on): Add float.
91600         * tests/test-isnan.c (zerol): Remove variable.
91601         (minus_zerol): New variable.
91602         (test_long_double): Use minus_zerol instead of -zerol.
91603         * modules/isnan-tests (Depends-on): Add float.
91605         * tests/test-isnanl.h (zero): Remove variable.
91606         (minus_zero): New variable.
91607         (main): Use minus_zero instead of -zero.
91608         * modules/isnanl-nolibm-tests (Depends-on): Add float.
91609         * modules/isnanl-tests (Depends-on): Add float.
91611         * tests/test-ldexpl.c (zero): Remove variable.
91612         (minus_zero): New variable.
91613         (main): Use minus_zero instead of -zero.
91614         * modules/ldexpl-tests (Depends-on): Add float.
91616         * tests/test-snprintf-posix.h (zerol): Remove variable.
91617         (minus_zerol): New variable.
91618         (test_function): Use minus_zerol instead of -zerol.
91619         * modules/snprintf-posix-tests (Depends-on): Add float.
91620         * modules/vsnprintf-posix-tests (Depends-on): Add float.
91622         * tests/test-sprintf-posix.h (zerol): Remove variable.
91623         (minus_zerol): New variable.
91624         (test_function): Use minus_zerol instead of -zerol.
91625         * modules/sprintf-posix-tests (Depends-on): Add float.
91626         * modules/vsprintf-posix-tests (Depends-on): Add float.
91628         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
91629         (minus_zerol): New variable.
91630         (test_function): Use minus_zerol instead of -zerol.
91631         * modules/vasnprintf-posix-tests (Depends-on): Add float.
91633         * tests/test-vasprintf-posix.c (zerol): Remove variable.
91634         (minus_zerol): New variable.
91635         (test_function): Use minus_zerol instead of -zerol.
91636         * modules/vasprintf-posix-tests (Depends-on): Add float.
91638 2008-10-07  Simon Josefsson  <simon@josefsson.org>
91640         * MODULES.html.sh (Support for building documentation): Mention
91641         pmccabe2html.  Sort entries.
91643         Add pmccabe2html module, from gnupdf.
91644         * build-aux/pmccabe.css: New file.
91645         * build-aux/pmccabe2html: New file.
91646         * m4/pmccabe2html.m4: New file.
91647         * modules/pmccabe2html: New file.
91649 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
91651         flock: new module
91652         * MODULES.html.sh: Add to list of modules.
91653         * lib/flock.c: flock implementation for Windows and Unix systems
91654         which have fcntl.
91655         * doc/glibc-functions/flock.texi: Update documentation.
91656         * lib/sys_file.in.h: <sys/file.h> header file.
91657         * m4/flock.m4: M4 macros.
91658         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
91659         * modules/flock: flock module.
91660         * modules/flock-tests: flock tests module.
91661         * modules/sys_file: sys/file.h module.
91662         * tests/test-flock.c: test suite for flock.
91664 2008-10-06  Jim Meyering  <meyering@redhat.com>
91666         bootstrap: check for LT_INIT more portably still ;-)
91667         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
91668         Spotted by Bruno Haible.
91670 2008-10-06  Eric Blake  <ebb9@byu.net>
91672         test-signbit: avoid tripping Irix cc bug on -0.0L
91673         * tests/test-signbit.c (minus_zerol): Delete, and replace with
91674         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
91675         entire testsuite consistent and avoids an Irix 6.2 bug.
91677 2008-10-05  Bruno Haible  <bruno@clisp.org>
91678             Jim Meyering  <jim@meyering.net>
91680         Add an option for ignoring EPIPE during close_stdout.
91681         * lib/closeout.h: Include <stdbool.h>.
91682         (close_stdout_set_ignore_EPIPE): New declaration.
91683         * lib/closeout.c: Include <stdbool.h>.
91684         (ignore_EPIPE): New variable.
91685         (close_stdout_set_ignore_EPIPE): New function.
91686         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
91687         * lib/close-stream.c (close_stream): Mention the possible EPIPE
91688         failure.
91689         * modules/closeout (Depends-on): Add stdbool.
91691 2008-10-05  Bruno Haible  <bruno@clisp.org>
91693         * modules/accept: New file.
91694         * modules/bind: New file.
91695         * modules/connect: New file.
91696         * modules/getpeername: New file.
91697         * modules/getsockname: New file.
91698         * modules/getsockopt: New file.
91699         * modules/listen: New file.
91700         * modules/recv: New file.
91701         * modules/recvfrom: New file.
91702         * modules/send: New file.
91703         * modules/sendto: New file.
91704         * modules/setsockopt: New file.
91705         * modules/socket: New file.
91706         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
91707         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
91708         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
91709         the particular module is requested. Add a link warning when the
91710         particular module is not requested.
91711         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
91712         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
91713         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
91714         the particular module is requested.
91715         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
91716         gl_SYS_SOCKET_H_DEFAULTS): New macros.
91717         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
91718         * modules/sys_socket (Depends-on): Add link-warning.
91719         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
91720         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
91721         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
91722         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
91723         GL_LINK_WARNING.
91724         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
91725         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
91726         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
91727         * doc/posix-functions/getpeername.texi: Mention the new module
91728         'getpeername'.
91729         * doc/posix-functions/getsockname.texi: Mention the new module
91730         'getsockname'.
91731         * doc/posix-functions/getsockopt.texi: Mention the new module
91732         'getsockopt'.
91733         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
91734         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
91735         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
91736         * doc/posix-functions/send.texi: Mention the new module 'send'.
91737         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
91738         * doc/posix-functions/setsockopt.texi: Mention the new module
91739         'setsockopt'.
91740         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
91741         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
91742         listen, connect, accept.
91743         * modules/select-tests (Depends-on): Likewise.
91745 2008-10-05  Bruno Haible  <bruno@clisp.org>
91747         * lib/winsock.c (strerror): Remove unused #undef.
91748         (rpl_close): Remove unused local variable.
91750         * modules/sys_socket (Depends-on); Add errno.
91752 2008-10-05  Bruno Haible  <bruno@clisp.org>
91754         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
91755         (select): Add a link warning when the 'select' module is not used.
91756         * modules/sys_select (Depends-on): Add link-warning.
91757         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
91758         Suggested by Paolo Bonzini.
91760 2008-10-05  Jim Meyering  <meyering@redhat.com>
91762         bootstrap: check for LT_INIT more portably
91763         * build-aux/bootstrap: Avoid using grep -E, since it's not
91764         portable enough.  Suggestion from Bruno Haible.
91766 2008-10-05  Bruno Haible  <bruno@clisp.org>
91768         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
91769         as being fixed by gnulib.
91771 2008-10-05  Bruno Haible  <bruno@clisp.org>
91773         * modules/select-tests: New file, mostly copied from
91774         modules/sys_select-tests.
91775         * tests/test-select.c: New file, mostly copied from
91776         tests/test-sys_select.c.
91777         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
91778         * modules/sys_select-tests (Depends-on): Remove all dependencies.
91779         (Makefile.am): Remove test_sys_select_LDADD.
91781         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
91782         to an undefined symbol, for an error message.
91783         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
91784         (gl_SYS_SELECT_H_DEFAULTS): New macro.
91785         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
91786         winsock-select.c here.
91787         * modules/sys_select (Files): Remove lib/winsock-select.c.
91788         (Depends-on): Remove alloca.
91789         (Makefile.am): Substitute GNULIB_SELECT.
91790         * modules/select: New file.
91791         * doc/posix-functions/select.texi: Update.
91793 2008-10-05  Bruno Haible  <bruno@clisp.org>
91795         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
91796         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
91797         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
91798         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
91799         getdtablesize.
91800         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
91801         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
91803 2008-10-05  Bruno Haible  <bruno@clisp.org>
91805         * modules/getdtablesize-tests: New file.
91806         * tests/test-getdtablesize.c: New file.
91808         New module 'getdtablesize'.
91809         * lib/unistd.in.h (getdtablesize): New declaration.
91810         * lib/getdtablesize.c: New file.
91811         * m4/getdtablesize.m4: New file.
91812         * modules/getdtablesize: New file.
91813         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
91814         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
91815         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
91816         HAVE_GETDTABLESIZE.
91817         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
91819 2008-10-05  Bruno Haible  <bruno@clisp.org>
91821         * modules/sched (Makefile.am): Fix typo.
91822         Reported by Simon Josefsson.
91824 2008-10-05  Jim Meyering  <meyering@redhat.com>
91826         bootstrap: check for LT_INIT, too
91827         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
91828         are deprecated.  Suggestion from Ralf Wildenhues.
91830 2008-10-05  Bruno Haible  <bruno@clisp.org>
91832         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
91833         overriding them by ours.
91834         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
91836 2008-10-05  Jim Meyering  <meyering@redhat.com>
91838         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
91839         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
91840         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
91842 2008-10-04  Bruno Haible  <bruno@clisp.org>
91844         * modules/dup2 (License): Change to LGPLv2+.
91845         * modules/sleep (License): Likewise.
91846         * modules/perror (License): Likewise.
91847         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
91848         Blake.
91849         * modules/signal (License): Likewise.
91850         * modules/sigprocmask (License): Likewise.
91851         * modules/raise (License): Change to LGPLv2+, with approval by Jim
91852         Meyering.
91854 2008-10-04  Bruno Haible  <bruno@clisp.org>
91856         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
91857         Reported by Rainer Tammer <tammer@tammer.net>.
91859 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
91860             Bruno Haible  <bruno@clisp.org>
91862         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
91863         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
91864         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
91866 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
91868         filevercmp: new module
91869         * lib/filevercmp.h: New function filevercmp comparing version strings.
91870         * lib/filevercmp.c: Implementation of filevercmp function.
91871         * modules/filevercmp: Module metadata.
91872         * tests/test-filevercmp.c: Unit test for new module.
91873         * modules/filevercmp-tests: Unit test metadata.
91874         * MODULES.html.sh: Add filevercmp module.
91876 2008-10-03  Bruno Haible  <bruno@clisp.org>
91878         * lib/c-ctype.h: Add comment.
91879         Reported by Jim Meyering.
91881 2008-10-02  Bruno Haible  <bruno@clisp.org>
91883         * modules/posix_spawn-internal (Depends-on): Add 'open'.
91885 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
91887         * build-aux/bootstrap: Allow renaming bootstrap, and change the
91888         name of bootstrap.conf accordingly.
91890 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
91892         * build-aux/bootstrap: Install git-merge-changelog configuration
91893         items into .gitconfig if needed.
91895 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
91897         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
91898         git repository, and initialize/update it accordingly.
91900 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
91902         * modules/fsync-tests: New file.
91903         * tests/test-fsync.c: New file.
91905         New module 'fsync'.
91906         * lib/fsync.c: New file.
91907         * m4/fsync.m4: New file.
91908         * modules/fsync: New file.
91909         * lib/unistd.in.h (fsync): New declaration.
91910         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
91911         GNULIB_FSYNC and HAVE_FSYNC.
91912         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
91913         * MODULES.html.sh (posix_functions): Add fsync.
91914         * doc/posix-functions/fsync.texi: Mention the new module.
91916 2008-10-02  Jim Meyering  <meyering@redhat.com>
91918         fts.c: sync with similar code from coreutils' remove.c
91919         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
91920         Guard also with "#if defined __linux__", since for now at least,
91921         this code is Linux-kernel-specific.
91923 2008-10-02  Jim Meyering  <meyering@redhat.com>
91925         fts: bug fixes
91926         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
91927         Include <sys/vfs.h>, not <sys/statfs.h>.
91929         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
91930         Include <sys/vfs.h>, not <sys/statfs.h>.
91932 2008-10-01  Bruno Haible  <bruno@clisp.org>
91934         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
91935         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
91936         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
91937         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
91938         * doc/posix-functions/posix_spawnp.texi: Likewise.
91939         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
91940         whether posix_spawn actually works.
91941         * m4/pipe.m4 (gl_PIPE): Likewise.
91942         * modules/execute (Files): Add m4/posix_spawn.m4.
91943         * modules/pipe (Files): Add m4/posix_spawn.m4.
91944         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
91946 2008-10-01  Jim Meyering  <meyering@redhat.com>
91948         remove trailing spaces
91949         * NEWS: Likewise.
91950         * lib/poll.c (poll): Likewise.
91951         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
91952         * lib/winsock.c (rpl_close): Likewise.
91953         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
91954         * modules/yield: Likewise.
91955         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
91956         * tests/test-sys_select.c (connect_to_socket): Likewise.
91958         fts.c: adjust a new interface to be more generally useful
91959         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
91960         (fts_build): Adjust caller.
91962 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91964         * modules/cond-tests: New file.
91965         * tests/test-cond.c: New file.
91967 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91968             Bruno Haible  <bruno@clisp.org>
91970         * modules/cond (Dependencies): Add errno, time.
91971         * lib/glthread/cond.h: Include <time.h>.
91972         (gl_cond_define, gl_cond_define_initialized): Use the same definition
91973         across platforms.
91975 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91976             Bruno Haible  <bruno@clisp.org>
91978         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
91980 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91981             Bruno Haible  <bruno@clisp.org>
91983         * modules/tls-tests (Depends-on): Add thread, yield.
91984         (configure.ac): Remove all checks.
91985         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
91986         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
91987         gl_thread_self): Remove definitions. Include glthread/thread.h and
91988         glthread/yield.h instead.
91989         (test_tls): Pass an additional NULL argument to gl_thread_join.
91991 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91992             Bruno Haible  <bruno@clisp.org>
91994         * modules/lock-tests (Depends-on): Add thread, yield.
91995         (configure.ac): Remove all checks.
91996         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
91997         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
91998         gl_thread_self): Remove definitions. Include glthread/thread.h and
91999         glthread/yield.h instead.
92000         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
92001         additional NULL argument to gl_thread_join.
92003 2008-09-30  Bruno Haible  <bruno@clisp.org>
92005         Fix the Win32 implementation of the 'thread' module.
92006         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
92007         pointer type.
92008         (gl_thread_self): Invoke gl_thread_self_func.
92009         (gl_thread_self_func): New declaration.
92010         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
92011         (do_init_self_key, init_self_key): New functions.
92012         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
92013         Remove some fields.
92014         (running_threads, running_lock): Remove variables.
92015         (get_current_thread_handle): New function.
92016         (gl_thread_self_func, wrapper_func, glthread_create_func,
92017         glthread_join_func, gl_thread_exit_func): Largely rewritten and
92018         simplified.
92020 2008-09-30  Bruno Haible  <bruno@clisp.org>
92022         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
92023         files.
92025 2008-09-30  Jim Meyering  <meyering@redhat.com>
92027         fts.m4: correct the test for statfs.f_type
92028         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
92029         when checking for statfs.f_type.
92031 2008-09-15  Simon Josefsson  <simon@josefsson.org>
92033         tests: avoid some compiler warnings
92034         * tests/test-memchr.c (main): Pass NULL indirectly.
92035         * tests/test-getdate.c (main): Remove unused variable 'ret'.
92037 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
92039         getdate.y: disallow countable dayshifts like "4 yesterday ago"
92040         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
92041         exactly specified dayshifts.
92042         (dayshift): New rule.
92043         (rel): Add dayshift.
92044         (relative_time_table) [tomorrow, yesterday, today, now]:
92045         Use tDAY_SHIFT in place of tDAY_UNIT.
92046         * tests/test-getdate.c: Add tests for now-disallowed countable
92047         dayshifts, e.g., "4 yesterday ago".
92049 2008-09-29  Bruno Haible  <bruno@clisp.org>
92051         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
92052         * tests/test-posix_spawn1.in.sh: Renamed from
92053         tests/test-posix_spawn.in.sh.
92054         * tests/test-posix_spawn2.c: New file.
92055         * tests/test-posix_spawn2.in.sh: New file.
92056         * modules/posix_spawnp-tests (Files): Update.
92057         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
92059 2008-09-29  Bruno Haible  <bruno@clisp.org>
92061         Propagate effects of putenv/setenv/unsetenv to child processes.
92062         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
92063         * lib/pipe.c (create_pipe): Likewise.
92065 2008-09-29  Bruno Haible  <bruno@clisp.org>
92067         Enable use of shell scripts as executables in mingw.
92068         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
92069         run the program as a shell script.
92070         * lib/pipe.c (create_pipe): Likewise.
92071         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
92072         resulting array.
92074 2008-09-29  Eric Blake  <ebb9@byu.net>
92076         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
92078 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
92080         * doc/posix-functions/accept.texi: Update mingw problems.
92081         * doc/posix-functions/bind.texi: Update mingw problems.
92082         * doc/posix-functions/close.texi: Update mingw problems.
92083         * doc/posix-functions/connect.texi: Update mingw problems.
92084         * doc/posix-functions/getpeername.texi: Update mingw problems.
92085         * doc/posix-functions/getsockname.texi: Update mingw problems.
92086         * doc/posix-functions/getsockopt.texi: Update mingw problems.
92087         * doc/posix-functions/ioctl.texi: Update mingw problems.
92088         * doc/posix-functions/listen.texi: Update mingw problems.
92089         * doc/posix-functions/recv.texi: Update mingw problems.
92090         * doc/posix-functions/recvfrom.texi: Update mingw problems.
92091         * doc/posix-functions/select.texi: Update mingw problems.
92092         * doc/posix-functions/send.texi: Update mingw problems.
92093         * doc/posix-functions/sendto.texi: Update mingw problems.
92094         * doc/posix-functions/setsockopt.texi: Update mingw problems.
92095         * doc/posix-functions/socket.texi: Update mingw problems.
92097 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
92098             Bruno Haible  <bruno@clisp.org>
92100         * lib/sys_select.in.h: Include sys/time.h.
92101         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
92102         * modules/sys_select: Depend on sys_time.
92103         * tests/test-sys_select.c: Test that sys/select.h defines struct
92104         timeval fully.
92106 2008-09-29  Bruno Haible  <bruno@clisp.org>
92108         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
92109         * lib/sys_select.in.h: Likewise.
92111 2008-09-29  Bruno Haible  <bruno@clisp.org>
92113         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
92115 2008-09-29  Bruno Haible  <bruno@clisp.org>
92117         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
92118         Set LIBSOCKET instead of augmenting LIBS.
92119         * modules/sockets (Link): New section.
92120         * modules/sockets-tests (test_sockets_LDADD): New variable.
92121         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
92122         * modules/poll-tests (test_poll_LDADD): New variable.
92123         * NEWS: Document the change.
92125 2008-09-29  Bruno Haible  <bruno@clisp.org>
92127         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
92128         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
92129         ARPA_INET_H directly.
92130         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
92132 2008-09-28  Bruno Haible  <bruno@clisp.org>
92134         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
92135         from gl_HEADER_SYS_SOCKET.
92136         (gl_HEADER_SYS_SOCKET): Invoke it.
92137         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
92139 2008-09-28  Bruno Haible  <bruno@clisp.org>
92141         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
92142         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
92143         Needed on OSF/1 4.0.
92145 2008-09-28  Bruno Haible  <bruno@clisp.org>
92147         Override open more carefully.
92148         * lib/open.c (orig_open): New function.
92149         (rpl_open): Use orig_open instead of open.
92150         * lib/fcntl.in.h: Add special invocation convention.
92151         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
92152         (gl_FUNC_OPEN): Invoke it.
92154         Override freopen more carefully.
92155         * lib/freopen.c (orig_freopen): New function.
92156         (rpl_freopen): Use orig_freopen instead of freopen.
92157         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
92158         (gl_FUNC_FREOPEN): Invoke it.
92160         Override fopen more carefully.
92161         * lib/fopen.c (orig_fopen): New function.
92162         (rpl_fopen): Use orig_fopen instead of fopen.
92163         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
92164         (gl_FUNC_FOPEN): Invoke it.
92165         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
92167 2008-09-28  Bruno Haible  <bruno@clisp.org>
92169         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
92170         SIGPIPE.
92172 2008-09-28  Bruno Haible  <bruno@clisp.org>
92174         * tests/test-sigaction.c (handler, main): Disable the check whether
92175         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
92176         glibc systems with LinuxThreads.
92178 2008-09-28  Bruno Haible  <bruno@clisp.org>
92180         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
92182         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
92183         with AIX xlc.
92184         * lib/fcntl.in.h (open): Likewise.
92185         Reported by Rainer Tammer <tammer@tammer.net>.
92187 2008-09-28  Bruno Haible  <bruno@clisp.org>
92189         * modules/posix_spawnp-tests: New file.
92190         * tests/test-posix_spawn.c: New file.
92191         * tests/test-posix_spawn.in.sh: New file.
92193         New module 'posix_spawnp'.
92194         * modules/posix_spawnp: New file.
92195         * lib/spawnp.c: New file, from GNU libc with modifications.
92196         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
92198         New module 'posix_spawn'.
92199         * modules/posix_spawn: New file.
92200         * lib/spawn.c: New file, from GNU libc with modifications.
92201         * doc/posix-functions/posix_spawn.texi: Mention the new module.
92203         New module 'posix_spawnattr_destroy'.
92204         * modules/posix_spawnattr_destroy: New file.
92205         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
92206         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
92207         module.
92209         New module 'posix_spawnattr_setsigmask'.
92210         * modules/posix_spawnattr_setsigmask: New file.
92211         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
92212         modifications.
92213         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
92214         new module.
92216         New module 'posix_spawnattr_getsigmask'.
92217         * modules/posix_spawnattr_getsigmask: New file.
92218         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
92219         modifications.
92220         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
92221         new module.
92223         New module 'posix_spawnattr_setsigdefault'.
92224         * modules/posix_spawnattr_setsigdefault: New file.
92225         * lib/spawnattr_setdefault.c: New file, from GNU libc with
92226         modifications.
92227         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
92228         new module.
92230         New module 'posix_spawnattr_getsigdefault'.
92231         * modules/posix_spawnattr_getsigdefault: New file.
92232         * lib/spawnattr_getdefault.c: New file, from GNU libc with
92233         modifications.
92234         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
92235         new module.
92237         New module 'posix_spawnattr_setschedpolicy'.
92238         * modules/posix_spawnattr_setschedpolicy: New file.
92239         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
92240         modifications.
92241         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
92242         new module.
92244         New module 'posix_spawnattr_getschedpolicy'.
92245         * modules/posix_spawnattr_getschedpolicy: New file.
92246         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
92247         modifications.
92248         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
92249         new module.
92251         New module 'posix_spawnattr_setschedparam'.
92252         * modules/posix_spawnattr_setschedparam: New file.
92253         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
92254         modifications.
92255         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
92256         new module.
92258         New module 'posix_spawnattr_getschedparam'.
92259         * modules/posix_spawnattr_getschedparam: New file.
92260         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
92261         modifications.
92262         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
92263         new module.
92265         New module 'posix_spawnattr_setpgroup'.
92266         * modules/posix_spawnattr_setpgroup: New file.
92267         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
92268         modifications.
92269         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
92270         module.
92272         New module 'posix_spawnattr_getpgroup'.
92273         * modules/posix_spawnattr_getpgroup: New file.
92274         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
92275         modifications.
92276         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
92277         module.
92279         New module 'posix_spawnattr_setflags'.
92280         * modules/posix_spawnattr_setflags: New file.
92281         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
92282         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
92283         module.
92285         New module 'posix_spawnattr_getflags'.
92286         * modules/posix_spawnattr_getflags: New file.
92287         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
92288         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
92289         module.
92291         New module 'posix_spawnattr_init'.
92292         * modules/posix_spawnattr_init: New file.
92293         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
92294         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
92295         module.
92297         New module 'posix_spawn_file_actions_destroy'.
92298         * modules/posix_spawn_file_actions_destroy: New file.
92299         * lib/spawn_faction_destroy.c: New file, from GNU libc with
92300         modifications.
92301         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
92302         the new module.
92304         New module 'posix_spawn_file_actions_addopen'.
92305         * modules/posix_spawn_file_actions_addopen: New file.
92306         * lib/spawn_faction_addopen.c: New file, from GNU libc with
92307         modifications.
92308         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
92309         the new module.
92311         New module 'posix_spawn_file_actions_adddup2'.
92312         * modules/posix_spawn_file_actions_adddup2: New file.
92313         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
92314         modifications.
92315         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
92316         the new module.
92318         New module 'posix_spawn_file_actions_addclose'.
92319         * modules/posix_spawn_file_actions_addclose: New file.
92320         * lib/spawn_faction_addclose.c: New file, from GNU libc with
92321         modifications.
92322         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
92323         the new module.
92325         New module 'posix_spawn_file_actions_init'.
92326         * modules/posix_spawn_file_actions_init: New file.
92327         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
92328         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
92329         new module.
92331         New module 'posix_spawn-internal'.
92332         * modules/posix_spawn-internal: New file.
92333         * lib/spawn_int.h: New file, from GNU libc with modifications.
92334         * lib/spawni.c: New file, from GNU libc with modifications.
92335         * m4/posix_spawn.m4: New file.
92337         New module 'spawn'.
92338         * modules/spawn: New file.
92339         * lib/spawn.in.h: New file, from GNU libc with modifications.
92340         * m4/spawn_h.m4: New file.
92341         * doc/posix-headers/spawn.texi: Mention the new module.
92343 2008-09-28  Bruno Haible  <bruno@clisp.org>
92345         * modules/sched-tests: New file.
92346         * tests/test-sched.c: New file.
92348         New module 'sched'.
92349         * modules/sched: New file.
92350         * lib/sched.in.h: New file.
92351         * m4/sched_h.m4: New file.
92352         * doc/posix-headers/sched.texi: Mention the new module.
92354 2008-09-27  Eric Blake  <ebb9@byu.net>
92356         Fix previous patch, and tweak references to $0.
92357         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
92358         (func_version, func_gnulib_dir): Don't call this program
92359         gnulib-tool.
92360         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
92361         with using $0 in function.
92362         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
92363         (func_fatal_error): Reuse the name the user invoked us with.
92365 2008-09-27  Bruno Haible  <bruno@clisp.org>
92367         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
92368         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
92369         (gl_ICONV_H): Not here.
92370         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
92371         instead of assigning ICONV_H directly.
92373         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
92374         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
92375         WCHAR_H directly.
92377 2008-09-27  Bruno Haible  <bruno@clisp.org>
92379         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
92380         * modules/arpa_inet (Depends-on): Add link-warning.
92381         (Makefile.am): Insert the definition of GL_LINK-WARNING.
92382         * modules/unistd (Makefile.am): Likewise.
92384 2008-09-26  Bruno Haible  <bruno@clisp.org>
92386         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
92387         variables.
92388         (func_version): Essentially copied from gnulib-tool.
92389         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
92390         func_readlink): Copied from gnulib-tool.
92392 2008-09-26  Bruno Haible  <bruno@clisp.org>
92394         * gnulib-tool (func_version): Change directory to $gnulib_dir before
92395         invoking git-version-gen.
92397 2008-09-26  Bruno Haible  <bruno@clisp.org>
92399         * posix-modules: Update to directory names changed on 2008-01-19.
92400         Remove commas in output before splitting into words. No more need to
92401         avoid 'ftruncate' since 2007-02-19.
92403 2008-09-26  Bruno Haible  <bruno@clisp.org>
92405         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
92407 2008-09-26  Bruno Haible  <bruno@clisp.org>
92409         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
92410         * modules/fwriteerror (Depends-on): Add errno.
92412 2008-09-26  Bruno Haible  <bruno@clisp.org>
92414         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
92415         * tests/test-vc-list-files-cvs.sh: Likewise.
92417 2008-09-26  Bruno Haible  <bruno@clisp.org>
92419         * doc/posix-headers/sys_resource.texi: Reorder items.
92421 2008-09-26  Jim Meyering  <meyering@redhat.com>
92423         fts: tweak inode comparison function
92424         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
92425         inode numbers, as documented.
92427         fts: sort dirent entries on inode number before traversing
92428         This avoids a quadratic, seek-related performance penalty when
92429         operating on a directory containing many entries (measurable at 10k;
92430         3.5 hours at 2 million entries with a cold cache) on certain types
92431         of file systems, including ext3 and ext4, but not tmpfs.
92432         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
92433         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
92434         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
92435         (fs_handles_readdir_ordered_dirents_efficiently): New function.
92436         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
92437         (fts_build): Set the stat.st_ino member from D_INO.
92438         If it is likely to be useful, sort dirent entries on inode number.
92440         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
92441         and the struct statfs.f_type member.
92442         * modules/fts (Depends-on): Add d-ino.
92444 2008-09-26  Bruno Haible  <bruno@clisp.org>
92446         * modules/sigpipe-die (Depends-on): Add sigpipe.
92448         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
92449         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
92450         and GNULIB_STDIO_H_SIGPIPE are set.
92451         * lib/stdio-write.c: New file.
92452         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
92453         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
92454         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
92455         REPLACE_STDIO_WRITE_FUNCS.
92456         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
92457         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
92458         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
92459         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
92460         * modules/stdio (Files): Add lib/stdio-write.c.
92461         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
92462         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
92463         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
92464         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
92465         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
92466         REPLACE_FPRINTF_POSIX.
92467         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
92468         REPLACE_PRINTF_POSIX.
92469         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
92470         REPLACE_VFPRINTF_POSIX.
92471         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
92472         REPLACE_VPRINTF_POSIX.
92473         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
92474         SIGPIPE issue.
92475         * doc/posix-functions/fputc.texi: Likewise.
92476         * doc/posix-functions/fputs.texi: Likewise.
92477         * doc/posix-functions/fwrite.texi: Likewise.
92478         * doc/posix-functions/printf.texi: Likewise.
92479         * doc/posix-functions/putc.texi: Likewise.
92480         * doc/posix-functions/putchar.texi: Likewise.
92481         * doc/posix-functions/puts.texi: Likewise.
92482         * doc/posix-functions/vfprintf.texi: Likewise.
92483         * doc/posix-functions/vprintf.texi: Likewise.
92485         * modules/safe-write (Depends-on): Add write.
92487         * modules/sigpipe-tests: New file.
92488         * tests/test-sigpipe.c: New file.
92489         * tests/test-sigpipe.sh: New file.
92491         * modules/write: New file.
92492         * lib/unistd.in.h: Include <sys/types.h>.
92493         (write): New declaration.
92494         * lib/write.c: New file.
92495         * m4/write.m4: New file.
92496         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
92497         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
92498         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
92499         GNULIB_WRITE, REPLACE_WRITE.
92500         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
92501         and the SIGPIPE issue.
92503         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
92504         (raise): New declaration.
92505         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
92506         (ext_signal): New function.
92507         (rpl_raise): New function.
92508         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
92509         GNULIB_SIGNAL_H_SIGPIPE.
92510         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
92511         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
92513         * modules/sigpipe: New file.
92514         * m4/sigpipe.m4: New file.
92516 2008-09-25  Derek Price  <derek@ximbiot.com>
92517             Bruno Haible  <bruno@clisp.org>
92519         * gnulib-tool (func_import): Report all license incompatibilities, not
92520         just the first one.
92522 2008-09-25  Bruno Haible  <bruno@clisp.org>
92524         * gnulib-tool (func_import): When computing the edits, consider not
92525         only the Makefile.ams that exist but also those that will be generated.
92527 2008-09-25  Simon Josefsson  <simon@josefsson.org>
92529         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
92530         fixes gnulib-tool --test warning about duplicate dependency.
92532 2008-09-25  Bruno Haible  <bruno@clisp.org>
92534         * gnulib-tool: Don't ask the user to perform edits in the generated
92535         Makefile.ams.
92536         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
92537         apply to the Makefile.am being generated.
92538         (func_emit_tests_Makefile_am): Execute edits that apply to the
92539         Makefile.am being generated.
92540         (func_import): Setup list of Makefile.am edits before emitting the
92541         Makefile.ams, not at the end.
92542         (func_create_testdir): Update.
92543         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
92545 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92547         * gnulib-tool (func_import): Store the --tests-base option in the
92548         comment in gnulib-cache.m4.
92550 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
92552         * NEWS: Document increased portability that sys_select now provides.
92554         * lib/sys_select.in.h: Install select wrapper.
92555         * lib/sys_socket.in.h: Use more descriptive name when there is no
92556         select wrapper.
92557         * lib/winsock-select.c: New.
92558         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
92559         Require gl_HEADER_SYS_SOCKET.
92560         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
92561         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
92562         * tests/test-sys_select.c: Add functional tests.
92564 2008-09-24  Eric Blake  <ebb9@byu.net>
92566         open, fopen: close fd leak in last patch
92567         * lib/open.c (rpl_open): Close fd before returning error.
92568         * lib/fopen.c (rpl_fopen): Close fd before returning error.
92569         * doc/posix-functions/open.texi (open): Document that Irix also
92570         has the bug.
92571         * doc/posix-functions/fopen.texi (fopen): Likewise.
92572         Reported by Paolo Bonzini.
92574 2008-09-24  Bruno Haible  <bruno@clisp.org>
92576         Ensure that a filename ending in a slash cannot be used to access a
92577         non-directory.
92578         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
92579         to check whether it's really a directory.
92580         * lib/fopen.c: Include fcntl.h, unistd.h.
92581         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
92582         and fdopen().
92583         * modules/fopen (Depends-on): Add unistd.
92584         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
92585         * tests/test-fopen.c (main): Likewise.
92586         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
92587         * doc/posix-functions/fopen.texi: Likewise.
92588         Reported by Eric Blake.
92590 2008-09-23  Eric Blake  <ebb9@byu.net>
92592         c-stack: avoid compiler optimizations when provoking overflow
92593         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
92594         recursion harder to optimize, to ensure a stack overflow occurs.
92595         * tests/test-c-stack.c (recurse): Likewise.
92596         Borrowed from libsigsegv.
92598         c-stack: work around Irix sigaltstack bug
92599         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
92600         whether sigaltstack uses wrong end of stack_t (copied in part from
92601         libsigsegv).
92602         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
92603         Irix bug, without requiring an over-allocation.
92604         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
92605         bug.
92607         fopen: document mingw bug on directories
92608         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
92609         not allowing a stream visiting a directory, even though reading
92610         from such a stream is not portable.
92612 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
92614         * lib/poll.c: Rewrite.
92615         * modules/poll: Depend on alloca.
92617 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
92619         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
92620         instead define prototypes for a full set of wrappers.  Ensure
92621         that Cygwin does not use the compatibility code, which is only
92622         for MinGW.
92623         * lib/winsock.c: New.
92624         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
92625         * modules/sys_socket: Add lib/winsock.c.
92627         * modules/poll-tests: Add errno and perror.
92628         * tests/test-poll.c: Use ioctl, not ioctlsocket.
92630 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
92632         * tests/test-poll.c: Downgrade minimum needed Winsock version.
92634 2008-09-23  Bruno Haible  <bruno@clisp.org>
92636         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
92637         * doc/glibc-functions/*: Likewise.
92639 2008-09-23  Simon Josefsson  <simon@josefsson.org>
92641         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
92642         success.
92644 2008-09-22  Eric Blake  <ebb9@byu.net>
92645             Bruno Haible  <bruno@clisp.org>
92647         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
92648         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
92649         supply %A but mishandle pseudo-NaN.
92650         Reported by Simon Josefsson.
92652 2008-09-21  Bruno Haible  <bruno@clisp.org>
92654         * tests/test-lock.c (main): Tweak skip message.
92655         * tests/test-tls.c (main): Likewise.
92657 2008-09-21  Bruno Haible  <bruno@clisp.org>
92659         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
92660         whether 'struct sigaction' has sa_sigaction here...
92661         (gl_PREREQ_SIG_HANDLER_H): ... not here.
92662         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
92664 2008-09-21  Bruno Haible  <bruno@clisp.org>
92666         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
92667         section.
92668         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
92669         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
92670         the new section.
92671         (Support for obsolete systems lacking POSIX:2001): New section.
92672         (String handling <string.h>): Move strdup to the new section.
92673         Suggested by Simon Josefsson and Paolo Bonzini.
92675 2008-09-21  Bruno Haible  <bruno@clisp.org>
92677         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
92678         exponents in %e and %g results on 'long double'. Needed for mingw's
92679         improved *printf functions.
92680         * tests/test-vasprintf-posix.c (test_function): Likewise.
92681         * tests/test-snprintf-posix.h (test_function): Likewise.
92682         * tests/test-sprintf-posix.h (test_function): Likewise.
92683         Reported by Eric Blake.
92685 2008-09-21  Bruno Haible  <bruno@clisp.org>
92687         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
92688         * tests/test-sprintf-posix.h (test_function): Likewise.
92690 2008-09-21  Bruno Haible  <bruno@clisp.org>
92692         * modules/getpass (Depends-on): Add strdup-posix.
92694         New module 'strdup-posix'.
92695         * modules/strdup-posix: New file.
92696         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
92697         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
92698         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
92699         REPLACE_STRDUP.
92700         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
92701         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
92702         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
92703         strdup-posix.
92705         * modules/strdup (Depends-on): Remove malloc-posix.
92707 2008-09-20  Bruno Haible  <bruno@clisp.org>
92709         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
92710         Wildenhues.
92712 2008-09-20  Bruno Haible  <bruno@clisp.org>
92714         Ensure that wint_t gets defined on IRIX 5.3.
92715         * lib/wchar.in.h (wint_t): Define if not defined by the system.
92716         * lib/wctype.in.h (wint_t): Likewise.
92717         (__wctype_wint_t): Remove type.
92718         (isw*): Use wint_t instead of __wctype_wint_t.
92719         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
92720         * modules/wchar (Files): Add m4/wint_t.m4.
92721         (Makefile.am): Substitute HAVE_WINT_T.
92722         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
92723         * tests/test-wctype.c: Check that wint_t is defined.
92724         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
92725         * doc/posix-headers/wctype.texi: Likewise.
92726         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
92728 2008-09-18  Bruno Haible  <bruno@clisp.org>
92730         * gnulib-tool (func_exit): Update comment.
92732 2008-09-18  Simon Josefsson  <simon@josefsson.org>
92734         * modules/getaddrinfo (Depends-on): Remove strdup, this module
92735         assumes strdup exists and does not depend on strdup to return
92736         ENOMEM on out of memory conditions.
92738 2008-09-18  Bruno Haible  <bruno@clisp.org>
92740         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
92741         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
92742         digits for the exponent.
92744 2008-09-18  Jim Meyering  <meyering@redhat.com>
92745             Bruno Haible  <bruno@clisp.org>
92747         * lib/vasnprintf.c (decimal_point_char): Define also if
92748         NEED_PRINTF_INFINITE_LONG_DOUBLE.
92750 2008-09-16  Bruno Haible  <bruno@clisp.org>
92751         and Eric Blake  <ebb9@byu.net>
92753         vasnprintf: support Irix 5.3
92754         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
92755         that mishandle long double infinity.
92756         Reported by Tom G. Christensen.
92758 2008-09-16  Bruno Haible  <bruno@clisp.org>
92760         * doc/glibc-functions/scandir.texi: Mention the function is missing on
92761         Solaris 9.
92762         * doc/glibc-functions/alphasort.texi: Likewise.
92763         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
92765 2008-09-16  Jim Meyering  <meyering@redhat.com>
92767         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
92768         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
92769         a umask modification leak out of a subshell.  Otherwise, the
92770         opensolaris /bin/sh would be accepted and thus cause unwarranted
92771         failures in the coreutils test suite.
92773 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
92775         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
92776         to succeed.
92778 2008-09-16  Jim Meyering  <meyering@redhat.com>
92780         avoid spurious test failure when library is built without ACL support
92781         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
92782         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
92783         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
92784         * tests/test-copy-acl.sh: Likewise.
92786 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92788         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
92789         based on character occurrence counts.
92791 2008-09-15  Eric Blake  <ebb9@byu.net>
92793         tests: avoid some compiler warnings
92794         * tests/test-memchr.c (main): Pass NULL indirectly.
92795         * tests/test-closein.c (main): Avoid unused variable.
92797 2008-09-15  Bruno Haible  <bruno@clisp.org>
92799         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
92800         are missing on OpenBSD 4.0 individually.
92801         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
92803 2008-09-15  Bruno Haible  <bruno@clisp.org>
92805         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
92806         * doc/posix-functions/strerror.texi: Mention also Cygwin.
92807         * doc/posix-functions/perror.texi: Likewise.
92808         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
92809         is missing.
92810         Reported by Eric Blake.
92812         * lib/errno.in.h: Use replacement values >= 2000.
92813         Reported by Eric Blake.
92815 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92817         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
92818         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
92819         limit.
92820         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
92821         compareseq was aborted.
92823 2008-09-14  Bruno Haible  <bruno@clisp.org>
92825         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
92826         yvec_edit_count.
92827         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
92828         (fstrcmp_bounded): Simplify result computation accordingly.
92830 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92832         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
92833         (fstrcmp): Define in terms of fstrcmp_bounded.
92834         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
92835         lower_bound argument.
92836         Return quickly if the result is certainly < lower_bound.
92837         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
92839 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92841         * lib/diffseq.h (EARLY_ABORT): New macro.
92842         (compareseq): Change return type to bool. Return true when EARLY_ABORT
92843         evaluates to true.
92845 2008-09-14  Bruno Haible  <bruno@clisp.org>
92847         * modules/perror-tests: New file.
92848         * tests/test-perror.sh: New file.
92849         * tests/test-perror.c: New file.
92851         New module 'perror'.
92852         * lib/stdio.in.h (perror): New declaration.
92853         * lib/perror.c: New file.
92854         * m4/perror.m4: New file.
92855         * modules/perror: New file.
92856         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
92857         * doc/posix-functions/perror.texi: Mention the perror module.
92858         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
92859         REPLACE_PERROR.
92860         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
92861         REPLACE_PERROR.
92863 2008-09-14  Bruno Haible  <bruno@clisp.org>
92865         * modules/stdio (Makefile.am): Reorder to match the order in
92866         lib/stdio.in.h.
92867         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
92869 2008-09-13  Bruno Haible  <bruno@clisp.org>
92871         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
92873 2008-09-13  Bruno Haible  <bruno@clisp.org>
92875         Extend strerror to cover the added errno values.
92876         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
92877         (rpl_strerror): Provide error messages for the added errno values and
92878         for the WSA* values.
92879         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
92880         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
92881         strerror.
92882         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
92883         * modules/strerror (Depends-on): Add errno.
92884         * doc/posix-functions/strerror.texi: Document the change.
92885         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
92886         and EOVERFLOW.
92888 2008-09-13  Bruno Haible  <bruno@clisp.org>
92890         * modules/EOVERFLOW: Remove file.
92891         * m4/eoverflow.m4: Remove file.
92892         * modules/EOVERFLOW-tests: Remove file.
92893         * tests/test-EOVERFLOW.c: Remove file.
92894         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
92895         * modules/ftell (Depends-on): Likewise.
92896         * modules/getdelim (Depends-on): Likewise.
92897         * modules/getugroups (Depends-on): Likewise.
92898         * modules/poll (Depends-on): Likewise.
92899         * modules/snprintf (Depends-on): Likewise.
92900         * modules/sprintf-posix (Depends-on): Likewise.
92901         * modules/vasnprintf (Depends-on): Likewise.
92902         * modules/vasprintf (Depends-on): Likewise.
92903         * modules/vfprintf-posix (Depends-on): Likewise.
92904         * modules/vsnprintf (Depends-on): Likewise.
92905         * modules/vsprintf-posix (Depends-on): Likewise.
92906         * modules/xvasprintf (Depends-on): Likewise.
92907         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
92908         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
92909         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
92910         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
92911         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
92912         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
92913         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
92914         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
92915         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
92916         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
92917         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
92918         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
92919         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
92920         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
92921         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
92922         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
92923         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
92924         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
92925         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
92926         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
92927         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
92928         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
92929         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
92930         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
92931         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
92932         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
92933         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
92934         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
92935         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
92936         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
92937         * MODULES.html.sh: Remove EOVERFLOW.
92938         * NEWS: Mention the change.
92940 2008-09-13  Bruno Haible  <bruno@clisp.org>
92942         * modules/errno-tests: New file.
92943         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
92945         * lib/errno.in.h: New file.
92946         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
92947         * modules/errno: New file.
92948         * doc/posix-headers/errno.texi: Update documentation.
92949         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
92951 2008-09-13  Bruno Haible  <bruno@clisp.org>
92953         * tests/test-poll.c: Use #if for native Windows, rather than testing
92954         __MSVCRT__.
92956 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92957             Bruno Haible  <bruno@clisp.org>
92959         * lib/glob.c: Don't include <pwd.h> on native Windows.
92960         (WINDOWS32): New macro.
92961         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
92963 2008-09-13  Bruno Haible  <bruno@clisp.org>
92965         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
92966         (ETIMEDOUT): Remove macro.
92967         (glthread_cond_timedwait_multithreaded): New declaration.
92968         (glthread_cond_timedwait): Use it.
92969         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
92970         (glthread_cond_timedwait_multithreaded): New function.
92972 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
92974         * modules/poll-tests: Do not check for io.h.
92975         * tests/test-poll.c: Check for __MSVCRT__ instead.
92977 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
92979         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
92980         * modules/poll-tests: Add inet_pton, stdbool, sockets.
92981         * tests/test-poll.c: Use them.  Use _pipe on Windows.
92983 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
92985         * modules/poll-tests: New.
92986         * tests/test-poll.c: New.
92988 2008-09-12  Eric Blake  <ebb9@byu.net>
92990         frexp: test for NetBSD failure on -0.0
92991         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
92992         not all, bugs from NetBSD 3.0 have been fixed.
92993         * doc/posix-functions/frexp.texi (frexp): Document bug.
92994         Reported by Thomas Klausner.
92996         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
92997         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
92998         literal -0.0.
92999         Reported by Jonathan C. Patschke <jp@centtech.com>.
93001 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93003         * lib/glthread/cond.h: Use dummy implementation also if
93004         USE_WIN32_THREADS.
93006 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93008         * modules/fnmatch-posix (License): Change to LGPLv2+.
93009         * modules/fnmatch-gnu (License): Likewise.
93011 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93013         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
93015 2008-09-11  Jim Meyering  <meyering@redhat.com>
93017         * users.txt: Add gtk-vnc.
93019 2008-09-08  Simon Josefsson  <simon@josefsson.org>
93021         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
93022         rotate amounts.
93024         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
93025         required for 16-bit and 8-bit rotates.
93026         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
93027         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
93028         UINT8_MAX instead of hard-coded constants.
93029         Suggested by Paul Eggert.
93031 2008-09-07  Bruno Haible  <bruno@clisp.org>
93033         * tests/test-striconveh.c (main): Check behaviour when converting from
93034         UTF-7.
93036         Make striconveh work better with stateful encodings.
93037         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
93038         that iconv does not increment the inptr when returning -1/EINVAL.
93040 2008-09-07  Bruno Haible  <bruno@clisp.org>
93042         * build-aux/config.rpath: Update according to libtool-2.2.6.
93043         * build-aux/config.libpath: Likewise.
93045 2008-09-06  Bruno Haible  <bruno@clisp.org>
93047         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
93048         * lib/freadptr.c (freadptr): Likewise.
93049         * lib/freadseek.c (freadptrinc): Likewise.
93050         Reported by Simon Josefsson.
93052 2008-09-06  Bruno Haible  <bruno@clisp.org>
93054         * modules/freadptr (License): Change to LGPLv2+.
93055         * modules/freadseek (License): Likewise.
93056         Suggested by Eric Blake.
93058         * modules/memchr2 (License): Change to LGPLv2+.
93059         Approved by Eric Blake.
93061 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93062             Bruno Haible  <bruno@clisp.org>
93064         Make gnulib-tool work with native 'sed' on AIX.
93065         * gnulib-tool (sed_noop): New variable.
93066         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
93067         func_add_or_update, func_create_testdir): Use it to initialize sed
93068         script variables.
93069         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
93071 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
93072             Bruno Haible  <bruno@clisp.org>
93074         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
93075         also works after #include directives.
93077 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
93079         getdate.y: reject an out-of-range timezone value
93080         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
93081         the range [-24...+24].  When specified with only one or two digits,
93082         * tests/test-getdate.c: Tests for the fix.
93083         * doc/getdate.texi: Document this change.
93085 2008-09-03  Bruno Haible  <bruno@clisp.org>
93087         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
93089 2008-09-02  Simon Josefsson  <simon@josefsson.org>
93091         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
93092         <bruce.korb@gmail.com> with ideas from Ben Pfaff
93093         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
93094         Blake <ebb9@byu.net>.
93096         * tests/test-bitrotate.c: Add more test vectors.
93098 2008-09-02  Eric Blake  <ebb9@byu.net>
93100         vasnprintf-posix: handle large precision via %.*d
93101         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
93102         when handling it ourselves.
93103         * tests/test-vasnprintf-posix.c (test_function): Add test.
93104         * tests/test-snprintf-posix.h (test_function): Likewise.
93105         * tests/test-sprintf-posix.h (test_function): Likewise.
93106         * tests/test-vasprintf-posix.c (test_function): Likewise.
93107         Reported by Alain Guibert.
93109 2008-09-01  Eric Blake  <ebb9@byu.net>
93111         c-stack: make configure-time check more robust
93112         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
93113         successful sigaction call.
93114         Reported by Tom G. Christensen.
93116 2008-09-01  Bruno Haible  <bruno@clisp.org>
93118         New module 'findprog-lgpl'.
93119         * modules/findprog-lgpl: New file.
93120         * lib/findprog-lgpl.c: New file.
93121         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
93122         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
93123         to decide whether to use strdup or xstrdup, concatenated_filename or
93124         xconcatenated_filename.
93126 2008-09-01  Bruno Haible  <bruno@clisp.org>
93128         Split module 'concat-filename' into 'concat-filename' (LGPL) and
93129         'xconcat-filename' (GPL).
93130         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
93131         (License): Change to LGPLv2+.
93132         * modules/xconcat-filename: New file.
93133         * lib/concat-filename.h (concatenated_filename): Change specification.
93134         (xconcatenated_filename): New declaration.
93135         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
93136         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
93137         memory situations.
93138         * lib/xconcat-filename.c: New file.
93139         * NEWS: Mention the change.
93140         * lib/findprog.c: Include concat-filename.h, not filename.h.
93141         (find_in_path): Use xconcatenated_filename instead of
93142         concatenated_filename.
93143         * lib/javacomp.c: Include concat-filename.h, not filename.h.
93144         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
93145         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
93146         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
93147         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
93148         instead of concatenated_filename.
93149         * lib/javaexec.c: Include concat-filename.h, not filename.h.
93150         (execute_java_class): Use xconcatenated_filename instead of
93151         concatenated_filename.
93152         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
93153         * modules/javacomp (Depends-on): Likewise.
93154         * modules/javaexec (Depends-on): Likewise.
93156 2008-09-01  Bruno Haible  <bruno@clisp.org>
93158         Split module 'filename' into 'filename' and 'concat-filename'.
93159         * modules/filename: Keep only lib/filename.h.
93160         (License): Change to LGPLv2+.
93161         * modules/concat-filename: New file, extracted from modules/filename.
93162         * lib/filename.h (concatenated_filename): Remove declaration.
93163         * lib/concat-filename.h: New file, extracted from lib/filename.h.
93164         * lib/concat-filename.c: Include concat-filename.h.
93165         * NEWS: Mention the change.
93167 2008-09-01  Simon Josefsson  <simon@josefsson.org>
93169         * lib/bitrotate.h (rotl8, rotr8): Add.
93171         * modules/bitrotate (configure.ac): Need
93172         AC_REQUIRE([AC_C_INLINE]).
93173         (Description): Mention stdint.h.  Reported by Bruno Haible
93174         <bruno@clisp.org>.
93176         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
93177         Paolo Bonzini <bonzini@gnu.org>.
93179 2008-08-31  Bruno Haible  <bruno@clisp.org>
93181         Assume Solaris specific bi-arch conventions on Solaris systems.
93182         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
93183         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
93184         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
93185         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
93186         like acl_libdirstem.
93187         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
93188         acl_libdirstem.
93189         * NEWS: Mention the change.
93190         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
93192 2008-08-31  Jim Meyering  <meyering@redhat.com>
93194         * lib/strftime.h: Add comments describing the two added arguments.
93196         remove duplicate #include directives
93197         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
93198         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
93200 2008-08-31  Bruno Haible  <bruno@clisp.org>
93202         New module 'sigpipe-die'.
93203         * modules/sigpipe-die: New file.
93204         * lib/sigpipe-die.h: New file.
93205         * lib/sigpipe-die.c: New file.
93206         * MODULES.html.sh (Signal handling): Add sigpipe-die.
93208 2008-08-31  Bruno Haible  <bruno@clisp.org>
93210         Don't override previously installed signal handlers.
93211         * lib/fatal-signal.c (saved_sigactions): New variable.
93212         (uninstall_handlers): Reset the signal to the saved handler, not
93213         to SIG_DFL (except when ignored).
93214         (install_handlers): Save the previous handlers.
93216 2008-08-30  Bruno Haible  <bruno@clisp.org>
93218         * gnulib-tool (func_reset_sigpipe): New function.
93219         (func_get_automake_snippet, func_modules_transitive_closure,
93220         func_import): Invoke it before a join command that reads from stdin,
93221         to avoid "echo: write error: Broken pipe" error messages on stderr.
93222         Reported by Sam Steingold <sds@gnu.org>.
93224 2008-08-30  Bruno Haible  <bruno@clisp.org>
93226         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
93227         Code copied from m4/open.m4.
93228         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
93229         access and the filename ends in a slash. Code copied from lib/open.c.
93230         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
93231         * tests/test-fopen.c (main): Check against bug with trailing slash.
93233 2008-08-29  Bruno Haible  <bruno@clisp.org>
93235         Avoid some "gcc -pedantic" warnings.
93236         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
93237         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
93238         * lib/dirent.in.h: Likewise.
93239         * lib/fcntl.in.h: Likewise.
93240         * lib/float.in.h: Likewise.
93241         * lib/iconv.in.h: Likewise.
93242         * lib/inttypes.in.h: Likewise.
93243         * lib/locale.in.h: Likewise.
93244         * lib/math.in.h: Likewise.
93245         * lib/netinet_in.in.h: Likewise.
93246         * lib/search.in.h: Likewise.
93247         * lib/signal.in.h: Likewise.
93248         * lib/stdarg.in.h: Likewise.
93249         * lib/stdint.in.h: Likewise.
93250         * lib/stdio.in.h: Likewise.
93251         * lib/stdlib.in.h: Likewise.
93252         * lib/string.in.h: Likewise.
93253         * lib/strings.in.h: Likewise.
93254         * lib/sys_select.in.h: Likewise.
93255         * lib/sys_socket.in.h: Likewise.
93256         * lib/sys_stat.in.h: Likewise.
93257         * lib/sys_time.in.h: Likewise.
93258         * lib/sysexits.in.h: Likewise.
93259         * lib/time.in.h: Likewise.
93260         * lib/unistd.in.h: Likewise.
93261         * lib/wchar.in.h: Likewise.
93262         * lib/wctype.in.h: Likewise.
93263         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
93264         * modules/fchdir (Makefile.am): Likewise.
93265         * modules/fcntl (Makefile.am): Likewise.
93266         * modules/float (Makefile.am): Likewise.
93267         * modules/iconv_open (Makefile.am): Likewise.
93268         * modules/inttypes (Makefile.am): Likewise.
93269         * modules/locale (Makefile.am): Likewise.
93270         * modules/math (Makefile.am): Likewise.
93271         * modules/netinet_in (Makefile.am): Likewise.
93272         * modules/search (Makefile.am): Likewise.
93273         * modules/signal (Makefile.am): Likewise.
93274         * modules/stdarg (Makefile.am): Likewise.
93275         * modules/stdint (Makefile.am): Likewise.
93276         * modules/stdio (Makefile.am): Likewise.
93277         * modules/stdlib (Makefile.am): Likewise.
93278         * modules/string (Makefile.am): Likewise.
93279         * modules/strings (Makefile.am): Likewise.
93280         * modules/sys_select (Makefile.am): Likewise.
93281         * modules/sys_socket (Makefile.am): Likewise.
93282         * modules/sys_stat (Makefile.am): Likewise.
93283         * modules/sys_time (Makefile.am): Likewise.
93284         * modules/sysexits (Makefile.am): Likewise.
93285         * modules/time (Makefile.am): Likewise.
93286         * modules/unistd (Makefile.am): Likewise.
93287         * modules/wchar (Makefile.am): Likewise.
93288         * modules/wctype (Makefile.am): Likewise.
93289         Reported by Reuben Thomas <rrt@sc3d.org>.
93291 2008-08-29  Bruno Haible  <bruno@clisp.org>
93293         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
93294         any more.
93296 2008-08-29  Simon Josefsson  <simon@josefsson.org>
93298         * MODULES.html.sh (Misc): Add bitrotate.
93300         * modules/bitrotate: New file.
93302         * lib/bitrotate.h: New file.
93304         * modules/bitrotate-tests: New file.
93306         * tests/test-bitrotate.c: New file.
93308         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
93309         on the bitrotate module.
93311         * lib/arctwo.c: Use new bitrotate module.
93313 2008-08-29  Jim Meyering  <meyering@redhat.com>
93315         bootstrap: merge changes from coreutils
93316         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
93317         of copied files.  Remove a kludge, now that this is fixed.
93318         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
93319         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
93320         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
93322 2008-08-29  Bruno Haible  <bruno@clisp.org>
93324         * MODULES.html.sh: Remove --cvs-urls option.
93326 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
93328         maint.mk: adjust to file name change
93329         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
93331 2008-08-28  Jim Meyering  <meyering@redhat.com>
93333         * modules/getndelim2 (License): Relicense to LGPLv2+.
93334         Approved by Richard Stallman for the version of 1995, and by
93335         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
93337 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
93339         * lib/getdelim.c (flockfile, funlockfile): Make all of them
93340         dummy if one is not available.  Do not touch them if
93341         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
93342         (getc_maybe_unlocked): New.
93343         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
93345 2008-08-26  Eric Blake  <ebb9@byu.net>
93347         doc/INSTALL: resync from autoconf
93348         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
93349         (INSTALL_PRELUDE): Delete; this is done more efficiently by
93350         moving...
93351         * install.texi [!autoconf]: ...here.  Resync from autoconf.
93352         * INSTALL: Regenerate.
93353         * INSTALL.ISO: New file.
93354         * INSTALL.UTF-8: Likewise.
93356 2008-08-26  Jim Meyering  <meyering@redhat.com>
93358         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
93359         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
93360         these definitions conditional, so that they may be overridden, too.
93362 2008-08-26  Bruno Haible  <bruno@clisp.org>
93364         Generate INSTALL file variants with prettier quotes.
93365         * doc/Makefile (INSTALL_PRELUDE): New macro.
93366         (INSTALL): Use it.
93367         (INSTALL.ISO, INSTALL.UTF-8): New rules.
93369 2008-08-26  Bruno Haible  <bruno@clisp.org>
93371         Run makeinfo in an English locale.
93372         * doc/Makefile (MAKEINFO): New variable.
93374 2008-08-26  Bruno Haible  <bruno@clisp.org>
93376         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
93377         Suggested by Eric Blake.
93379 2008-08-25  Bruno Haible  <bruno@clisp.org>
93381         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
93383 2008-08-25  Eric Blake  <ebb9@byu.net>
93385         c-stack: test that stack overflow can be caught
93386         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
93387         that platform allows handling stack overflow; at least OS/2 EMX
93388         has sigaltstack, but crashes before transferring control to
93389         handler on stack overflow.
93390         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
93391         check for HAVE_STACK_OVERFLOW_HANDLING.
93392         Reported by Elbert Pol.
93394 2008-08-25  Bruno Haible  <bruno@clisp.org>
93396         * doc/posix-functions/strftime.texi: Fix description of strftime
93397         module.
93399 2008-08-24  Bruno Haible  <bruno@clisp.org>
93401         * tests/uniwidth/test-uc_width2.c: New file.
93402         * tests/uniwidth/test-uc_width2.sh: New file.
93403         * modules/uniwidth/width-tests (Files): Add the new files.
93404         (TESTS): Add uniwidth/test-uc_width2.sh.
93405         (TESTS_ENVIRONMENT): New variable.
93406         (check_PROGRAMS): Add test-uc_width2.
93407         (test_uc_width2_SOURCES): New variable.
93409         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
93410         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
93411         not 0x00AB.
93412         Reported by Alexander V. Lukyanov <lav@netis.ru>.
93414 2008-08-22  Eric Blake  <ebb9@byu.net>
93416         test-lock, test-tls: mention why a test is skipped
93417         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
93418         skipped.
93419         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
93421         count-one-bits: relax license
93422         * modules/count-one-bits (License): Relicense to LGPLv2+.
93423         Suggested by Ludovic Courtès, approved by Ben Pfaff.
93425 2008-08-22  Andreas Schwab  <schwab@suse.de>
93427         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
93428         Remove spurious space in assignment.
93430 2008-08-21  Simon Josefsson  <simon@josefsson.org>
93432         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
93433         Paul Eggert <eggert@CS.UCLA.EDU>.
93435 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
93437         * modules/gettext: Add m4/threadlib.m4.
93439 2008-08-19  Eric Blake  <ebb9@byu.net>
93441         test-c-stack: fix compilation failure on FreeBSD 5.0
93442         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
93443         headers before <sys/resource.h>.
93444         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
93445         the bug.
93446         Reported by Nelson H. F. Beebe.
93448         strverscmp: migrate from "strverscmp.h" to <string.h>
93449         * modules/string (Makefile.am): Add new hooks.
93450         * modules/strverscmp (Files): Remove strverscmp.h.
93451         (Depends-on): Add string.
93452         (configure.ac): Add indicator.
93453         (Include): Mention new header.
93454         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
93455         defaults.
93456         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
93457         results.
93458         * lib/strverscmp.h: Delete.
93459         * lib/string.in.h (strverscmp): Provide declaration, when needed.
93460         * tests/test-strverscmp.c (includes): Adjust client.
93461         * lib/check-version.c (includes): Likewise.
93462         * NEWS: Document the change.
93464         strverscmp: add unit test
93465         * modules/strverscmp-tests: New file.
93466         * tests/test-strverscmp.c: Likewise.
93468 2008-08-19  Simon Josefsson  <simon@josefsson.org>
93470         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
93471         regarding Windows crypto stuff, from Mono.
93473 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
93475         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
93476         if present, for intel RND.  Return error on failures.
93478 2008-08-18  Ben Pfaff  <blp@gnu.org>
93480         gitlog-to-changelog: give better diagnostic for failed pipe-open
93481         * build-aux/gitlog-to-changelog: Improve error message: suggest
93482         that the version of Git may be too old.
93484 2008-08-18  Simon Josefsson  <simon@josefsson.org>
93486         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
93487         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
93489 2008-08-18  Bruno Haible  <bruno@clisp.org>
93491         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
93492         pthread_in_use().
93494 2008-08-18  Bruno Haible  <bruno@clisp.org>
93496         * lib/glthread/threadlib.c: Include <pthread.h>.
93498 2008-08-18  Bruno Haible  <bruno@clisp.org>
93500         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
93501         glthread_recursive_lock_* macros.
93502         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
93503         Fix syntax error.
93505 2008-08-18  Bruno Haible  <bruno@clisp.org>
93507         * lib/glthread/thread.c: Avoid forcing a context switch right after
93508         thread creation.
93510 2008-08-17  Bruno Haible  <bruno@clisp.org>
93512         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
93513         * lib/glthread/thread.h: Provide Win32 specific implementation.
93514         * modules/thread (Files): Add lib/glthread/thread.c.
93515         (Depends-on): Add lock.
93516         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
93518 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93520         New module 'yield'.
93521         * modules/yield: New file.
93522         * lib/glthread/yield.h: New file.
93523         * m4/yield.m4: New file.
93524         * MODULES.html.sh (Multithreading): Add yield.
93526 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93528         New module 'thread'.
93529         * modules/thread: New file.
93530         * lib/glthread/thread.h: New file.
93531         * m4/thread.m4: New file.
93532         * MODULES.html.sh (Multithreading): Add thread.
93534 2008-08-17  Bruno Haible  <bruno@clisp.org>
93536         * lib/glthread/lock.h: Include <stdlib.h> always.
93537         * lib/glthread/tls.h: Likewise.
93538         * lib/glthread/cond.h: Likewise.
93540 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93542         New module 'cond'.
93543         * modules/cond: New file.
93544         * lib/glthread/cond.h: New file.
93545         * lib/glthread/cond.c: New file.
93546         * m4/cond.m4: New file.
93547         * MODULES.html.sh (Multithreading): Add cond.
93549 2008-08-16  Eric Blake  <ebb9@byu.net>
93551         c-stack: fix regression on Irix 5.3 from 2008-06-21
93552         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
93553         sa_sigaction...
93554         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
93555         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
93556         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
93557         * modules/signal (Makefile.am): Use the value.
93558         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
93559         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
93560         * doc/posix-headers/signal.texi (signal.h): Document this
93561         portability issue.
93562         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
93563         Reported by Tom G. Christensen.
93565 2008-08-17  Bruno Haible  <bruno@clisp.org>
93567         New module 'threadlib'.
93568         * modules/threadlib: New file.
93569         * lib/glthread/threadlib.c: New file, extracted from
93570         lib/glthread/lock.c.
93571         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
93572         functions.
93573         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
93574         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
93575         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
93576         macros.
93577         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
93578         (gl_DISABLE_THREADS): Remove macro.
93579         * modules/lock (Files): Remove build-aux/config.rpath.
93580         (Depends-on): Remove havelib. Add threadlib.
93581         (configure.ac-early): Remove section.
93582         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
93583         * modules/tls (Depends-on): Remove lock. Add threadlib.
93584         (Link): New section, copied from threadlib.
93585         * MODULES.html.sh (Multithreading): Add threadlib.
93587 2008-08-14  Bruno Haible  <bruno@clisp.org>
93589         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
93590         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
93591         glthread_rwlock_unlock, glthread_rwlock_destroy,
93592         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
93593         glthread_recursive_lock_destroy): Define as macros always.
93594         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
93595         glthread_lock_lock.
93596         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
93597         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
93598         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
93599         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
93600         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
93601         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
93602         (glthread_recursive_lock_lock_func): Renamed from
93603         glthread_recursive_lock_lock.
93604         (glthread_recursive_lock_unlock_func): Renamed from
93605         glthread_recursive_lock_unlock.
93606         (glthread_recursive_lock_destroy_func): Renamed from
93607         glthread_recursive_lock_destroy.
93609 2008-08-14  Bruno Haible  <bruno@clisp.org>
93611         * lib/glthread/lock.h: Renamed from lib/lock.h.
93612         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
93613         * lib/glthread/tls.h: Renamed from lib/tls.h.
93614         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
93615         * lib/fstrcmp.c: Update includes.
93616         * lib/strsignal.c: Update includes.
93617         * modules/lock (Files, Makefile.am): Update.
93618         (Include): Change to "glthread/lock.h".
93619         * modules/tls (Files, Makefile.am): Update.
93620         (Include): Change to "glthread/tls.h".
93621         * tests/test-lock.c: Update includes.
93622         * tests/test-tls.c: Update includes.
93623         * NEWS: Mention the renamed header files.
93625 2008-08-11  Jim Meyering  <meyering@redhat.com>
93627         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
93629 2008-08-11  Eric Blake  <ebb9@byu.net>
93631         test-c-stack: avoid C99-ism
93632         * tests/test-c-stack.c (main): Fix whitespace, move declaration
93633         before statement.
93634         Reported by Alain Guibert.
93636 2008-08-10  Jim Meyering  <meyering@redhat.com>
93638         ensure that return value of uinttostr et al are not ignored
93639         * lib/inttostr.h (__GNUC_PREREQ): Define.
93640         (__attribute_warn_unused_result__): Define.
93641         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
93643 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
93645         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
93646         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
93648 2008-08-07  Jim Meyering  <meyering@redhat.com>
93650         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
93652         * modules/mkstemp (License): Relicense under LGPLv2+.
93653         * modules/tempname (License): Likewise.
93655 2008-08-06  Bruno Haible  <bruno@clisp.org>
93657         * lib/poll.c (poll): Further micro-optimization.
93659 2008-08-06  Jim Meyering  <meyering@redhat.com>
93661         inet_pton.c: use locale-independent tolower
93662         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
93663         (inet_pton6): Use c_tolower rather than tolower.
93664         * modules/inet_pton (Depends-on): Add c-ctype.
93666 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
93668         * lib/poll.c (poll): Avoid division when timeout is 0, cache
93669         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
93671 2008-08-06  Jim Meyering  <meyering@redhat.com>
93673         * modules/inet_pton (License): Relicense under LGPLv2+.
93675 2008-08-03  Bruno Haible  <bruno@clisp.org>
93677         Additional non-aborting API for lock and tls.
93678         * lib/lock.h: Include <errno.h>.
93679         (glthread_lock_init): New macro/function.
93680         (gl_lock_init): Define as wrapper around glthread_lock_init.
93681         (glthread_lock_lock): New macro/function.
93682         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
93683         (glthread_lock_unlock): New macro/function.
93684         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
93685         (glthread_lock_destroy): New macro/function.
93686         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
93687         (glthread_rwlock_init): New macro/function.
93688         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
93689         (glthread_rwlock_rdlock): New macro/function.
93690         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
93691         (glthread_rwlock_wrlock): New macro/function.
93692         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
93693         (glthread_rwlock_unlock): New macro/function.
93694         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
93695         (glthread_rwlock_destroy): New macro/function.
93696         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
93697         (glthread_recursive_lock_init): New macro/function.
93698         (gl_recursive_lock_init): Define as wrapper around
93699         glthread_recursive_lock_init.
93700         (glthread_recursive_lock_lock): New macro/function.
93701         (gl_recursive_lock_lock): Define as wrapper around
93702         glthread_recursive_lock_lock.
93703         (glthread_recursive_lock_unlock): New macro/function.
93704         (gl_recursive_lock_unlock): Define as wrapper around
93705         glthread_recursive_lock_unlock.
93706         (glthread_recursive_lock_destroy): New macro/function.
93707         (gl_recursive_lock_destroy): Define as wrapper around
93708         glthread_recursive_lock_destroy.
93709         (glthread_once): New macro/function.
93710         (gl_once): Define as wrapper around glthread_once.
93711         Update function declarations.
93712         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
93713         glthread_rwlock_init. Return error code.
93714         (glthread_rwlock_rdlock_multithreaded): Renamed from
93715         glthread_rwlock_rdlock. Return error code.
93716         (glthread_rwlock_wrlock_multithreaded): Renamed from
93717         glthread_rwlock_wrlock. Return error code.
93718         (glthread_rwlock_unlock_multithreaded): Renamed from
93719         glthread_rwlock_unlock. Return error code.
93720         (glthread_rwlock_destroy_multithreaded): Renamed from
93721         glthread_rwlock_destroy. Return error code.
93722         (glthread_recursive_lock_init_multithreaded): Renamed from
93723         glthread_recursive_lock_init. Return error code.
93724         (glthread_recursive_lock_lock_multithreaded): Renamed from
93725         glthread_recursive_lock_lock. Return error code.
93726         (glthread_recursive_lock_unlock_multithreaded): Renamed from
93727         glthread_recursive_lock_unlock. Return error code.
93728         (glthread_recursive_lock_destroy_multithreaded): Renamed from
93729         glthread_recursive_lock_destroy. Return error code.
93730         (glthread_once_call): Make static.
93731         (glthread_once_multithreaded): Renamed from glthread_once.
93732         * lib/tls.h: Include <errno.h>.
93733         (glthread_tls_key_init): New macro/function.
93734         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
93735         (glthread_tls_set): New macro/function.
93736         (gl_tls_set): Define as wrapper around glthread_tls_set.
93737         (glthread_tls_key_destroy): New macro/function.
93738         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
93739         Update function declarations.
93740         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
93741         glthread_tls_get.
93742         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
93744 2008-08-04  Eric Blake  <ebb9@byu.net>
93746         gnumakefile: use space, not TAB, outside of targets
93747         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
93749 2008-08-02  Jim Meyering  <meyering@redhat.com>
93751         getdate.y: avoid locale-dependent date parsing failure
93752         In Turkish locales, getdate would fail to recognize keywords
93753         containing a lowercase "i".  The solution is not to rely on
93754         locale-sensitive case-conversion.
93755         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
93756         (lookup_word): Use c_toupper in place of toupper.
93757         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
93758         Reported by Vefa Bicakci <bicave@superonline.com> in
93759         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
93760         * modules/getdate (Depends-on): Add c-ctype.
93762 2008-08-02  Bruno Haible  <bruno@clisp.org>
93764         * gnulib-tool (func_import): When updating or creating a .gitignore
93765         file, prepend each added line with a slash, and ignore leading slashes
93766         from the existing lines.
93767         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
93769 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93771         Portability fix for GNU make 3.79.1.
93772         * top/GNUmakefile: Avoid 'else COND', which older GNU make
93773         versions do not understand.
93775 2008-08-01  Bruno Haible  <bruno@clisp.org>
93777         Work around bug of HP-UX 10.20 cc with -0.0 literal.
93778         * tests/test-isnanf.h (zero): New variable.
93779         (main): Avoid literal -0.0f.
93780         * tests/test-isnand.h (zero): New variable.
93781         (main): Avoid literal -0.0.
93782         * tests/test-isnanl.h (zero): New variable.
93783         (main): Avoid literal -0.0L.
93784         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
93785         (test_float, test_double, test_long_double): Avoid literals -0.0f,
93786         -0.0, -0.0L.
93787         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
93788         (test_signbitd): Avoid literal -0.0.
93789         (test_signbitl): Avoid literal -0.0L.
93790         * tests/test-ceilf1.c (zero): New variable.
93791         (main): Avoid literal -0.0f.
93792         * tests/test-ceill.c (zero): New variable.
93793         (main): Avoid literal -0.0L.
93794         * tests/test-floorf1.c (zero): New variable.
93795         (main): Avoid literal -0.0f.
93796         * tests/test-floorl.c (zero): New variable.
93797         (main): Avoid literal -0.0L.
93798         * tests/test-roundf1.c (zero): New variable.
93799         (main): Avoid literal -0.0f.
93800         * tests/test-round1.c (zero): New variable.
93801         (main): Avoid literal -0.0.
93802         * tests/test-roundl.c (zero): New variable.
93803         (main): Avoid literal -0.0L.
93804         * tests/test-truncf1.c (zero): New variable.
93805         (main): Avoid literal -0.0f.
93806         * tests/test-trunc1.c (zero): New variable.
93807         (main): Avoid literal -0.0.
93808         * tests/test-truncl.c (zero): New variable.
93809         (main): Avoid literal -0.0L.
93810         * tests/test-frexp.c (zero): New variable.
93811         (main): Avoid literal -0.0.
93812         * tests/test-frexpl.c (zero): New variable.
93813         (main): Avoid literal -0.0L.
93814         * tests/test-ldexpl.c (zero): New variable.
93815         (main): Avoid literal -0.0L.
93816         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
93817         (zerod, zerol): New variables.
93818         (test_function): Avoid literals -0.0, -0.0L.
93819         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
93820         (zerod, zerol): New variables.
93821         (test_function): Avoid literals -0.0, -0.0L.
93822         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
93823         (zerod, zerol): New variables.
93824         (test_function): Avoid literals -0.0, -0.0L.
93825         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
93826         (zerod, zerol): New variables.
93827         (test_function): Avoid literals -0.0, -0.0L.
93828         * tests/test-strtod.c (zero): New variable.
93829         (main): Avoid literal -0.0.
93830         Reported by Jonathan C. Patschke <jp@centtech.com>.
93832 2008-07-31  Jim Meyering  <meyering@redhat.com>
93834         sha256.h: correct definition of SHA224_DIGEST_SIZE
93835         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
93836         Reported by Paulie Pena IV <paulie4@gmail.com>.
93837         Define as 224 / 8, rather than as a literal.
93838         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
93839         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
93840         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
93842 2008-07-31  Bruno Haible  <bruno@clisp.org>
93844         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
93845         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
93846         Reported by Jonathan Patschke <jp@centtech.com>.
93848 2008-07-31  Bruno Haible  <bruno@clisp.org>
93850         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
93851         Reported by Paolo Bonzini <bonzini@gnu.org>.
93853 2008-07-30  Eric Blake  <ebb9@byu.net>
93855         test-strtod: allow compilation without -lm
93856         * tests/test-strtod.c (main): Avoid link dependence on fabs.
93857         Reported by Dennis Clarke <blastwave@gmail.com>.
93859 2008-07-28  Jim Meyering  <meyering@redhat.com>
93861         bootstrap: work also when there are no .po files in po/
93862         * build-aux/bootstrap (update_po_files): Complete the change
93863         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
93865 2008-07-27  Jim Meyering  <meyering@redhat.com>
93867         * users.txt: Add zile.
93869 2008-07-26  Ben Pfaff  <blp@gnu.org>
93871         Add missing dependencies on new m4/exponent[fdl].m4 files.
93872         * modules/isnanf-nolibm: Add m4/exponentf.m4.
93873         * modules/isnand-nolibm: Add m4/exponentd.m4.
93874         * modules/isnanl-nolibm: Add m4/exponentl.m4.
93875         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
93876         m4/isnan[fdl].m4, because the macros actually used moved.
93877         Reported by Jim Meyering.
93879 2008-07-14  Ben Pfaff  <blp@gnu.org>
93881         Add isinf module.
93882         * lib/isinf.c: New file.
93883         * lib/math.in.h: Define isinf macro if we have decided to replace
93884         it.
93885         * m4/isinf.m4: New file.
93886         * m4/math_h.m4: Initialize and substitute variables for isinf
93887         module.
93888         * modules/isinf: New file.
93889         * modules/isinf-tests: New file.
93890         * modules/math: Add substitutions for new module.
93891         * tests/test-isinf.c: New file.
93892         * doc/posix-functions/isinf.texi: Mention new module.
93893         * MODULES.html.sh: Mention new module.
93895 2008-07-14  Ben Pfaff  <blp@gnu.org>
93897         Factor out some macros for use by additional modules.
93898         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
93899         exponentf.m4.
93900         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
93901         exponentd.m4.
93902         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
93903         file exponentl.m4.
93904         * m4/exponentf.m4: New file.
93905         * m4/exponentd.m4: New file.
93906         * m4/exponentl.m4: New file.
93907         * modules/isnanf: Use new file m4/exponentf.m4.
93908         * modules/isnand: Use new file m4/exponentd.m4.
93909         * modules/isnanl: Use new file m4/exponentl.m4.
93911 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
93913         mktime.c: normalize tp->tm_isdst value to -1/0/1.
93914         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
93915         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
93916         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
93918         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
93919         readlink on platforms without PATH_MAX.
93921 2008-07-21  Eric Blake  <ebb9@byu.net>
93923         Warn, not fail, on stale version.
93924         * top/GNUmakefile (_curr-ver): Tone down previous patch.
93926         Don't allow installation with stale devel version number.
93927         * top/GNUmakefile (_is-install-target): New macro.
93928         (_curr-ver): Forbid installation with stale version number.
93930 2008-07-20  Bruno Haible  <bruno@clisp.org>
93932         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
93933         TESTS_ENVIRONMENT.
93934         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
93936 2008-07-20  Bruno Haible  <bruno@clisp.org>
93938         * lib/c-stack.h (c_stack_action): Add documentation.
93939         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
93941 2008-07-20  Bruno Haible  <bruno@clisp.org>
93943         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
93944         * modules/readlink (License): Likewise.
93946 2008-07-17  Eric Blake  <ebb9@byu.net>
93948         * modules/c-stack (Link): Fix typo.
93950         Make c-stack use libsigsegv, when available.
93951         * modules/c-stack (Depends-on): Add libsigsegv.
93952         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
93953         needed.
93954         * lib/c-stack.c (SIGSTKSZ): Define fallback.
93955         (segv_handler, overflow_handler, c_stack_action)
93956         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
93957         implementation when libsigsegv is available, but only when using
93958         the library is necessary.
93959         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
93960         comment, explaining why XSI check fails on Linux.
93961         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
93962         * tests/test-c-stack2.sh: Tweak skip message.
93963         * NEWS: Document new link-time requirements.
93965 2008-07-16  Eric Blake  <ebb9@byu.net>
93967         c-stack: Expose false positives when not using libsigsegv.
93968         * modules/c-stack-tests (Files): Expand test.
93969         * tests/test-c-stack.c (main): Add means to conditionally trigger
93970         non-overflow SIGSEGV.
93971         * tests/test-c-stack2.sh: New file.
93973 2008-07-14  Bruno Haible  <bruno@clisp.org>
93975         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
93976         Reported by Eric Blake.
93978 2008-07-14  Sam Steingold  <sds@gnu.org>
93979             Bruno Haible  <bruno@clisp.org>
93981         New module libsigsegv.
93982         * modules/libsigsegv: New file.
93983         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
93984         modifications.
93985         * MODULES.html.sh (Signal handling): New section.
93987 2008-07-14  Bruno Haible  <bruno@clisp.org>
93989         * modules/unictype/ctype-* (Description): Add the word "function".
93990         Improves the resulting doc in MODULES.html.
93992 2008-07-12  Ben Pfaff  <blp@gnu.org>
93994         Add longlong module.
93995         * modules/longlong: New file.
93997 2008-07-12  Bruno Haible  <bruno@clisp.org>
93999         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
94000         to empty.
94002 2008-07-10  Ben Pfaff  <blp@gnu.org>
94004         Add isnan module.
94005         * doc/posix-functions/isnan.texi: Mention new module.
94006         * lib/math.in.h: Define isnan macro if we have decided to replace
94007         it.
94008         * m4/isnan.m4: New file.
94009         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
94010         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
94011         also.
94012         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
94013         redundancy.
94014         * m4/math_h.m4: Initialize and substitute variables for isnan
94015         module.
94016         * modules/isnan: New file.
94017         * modules/isnan-tests: New file.
94018         * modules/math: Add substitutions for new module.
94019         * tests/test-isnan.c: New file.
94020         * MODULES.html.sh: Mention new module.
94022 2008-07-10  Ben Pfaff  <blp@gnu.org>
94024         Add isnanf module.
94025         * lib/isnanf.m4: New file.
94026         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
94027         (gl_HAVE_ISNANF_IN_LIBM): New macro.
94028         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
94029         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
94030         * modules/isnanf: New file.
94031         * modules/isnanf-tests: New file.
94032         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
94033         files.
94034         * tests/test-isnanf-nolibm.c: factored most of its contents into
94035         new file tests/test-isnanf.h.
94036         * tests/test-isnanf.h: New file.
94037         * tests/test-isnanf.c: New file.
94038         * MODULES.html.sh: Mention new module.
94039         * doc/glibc-functions/isnanf.texi: Mention new module.
94041 2008-07-10  Ben Pfaff  <blp@gnu.org>
94043         Add isnand module.
94044         * lib/isnand.h: New file.
94045         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
94046         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
94047         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
94048         functionality also.
94049         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
94050         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
94051         (gl_HAVE_ISNAND_IN_LIBM): New macro.
94052         * modules/isnand: New file.
94053         * modules/isnand-tests: New file.
94054         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
94055         files.
94056         * tests/test-isnand-nolibm.c: factored most of its contents into
94057         new file tests/test-isnand.h.
94058         * tests/test-isnand.h: New file.
94059         * tests/test-isnand.c: New file.
94060         * MODULES.html.sh: Mention new module.
94062 2008-07-10  Ben Pfaff  <blp@gnu.org>
94064         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
94065         * lib/isnand.h: Rename lib/isnand-nolibm.h.
94066         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
94067         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
94068         * modules/isnanf-nolibm: Update references to renamed files.
94069         * modules/isnand-nolibm: Likewise.
94070         * modules/isnanf-nolibm-tests: Likewise.
94071         * modules/isnand-nolibm-tests: Likewise.
94072         * lib/frexp.c: Likewise.
94073         * lib/isfinite.c: Likewise.
94074         * lib/signbitd.c: Likewise.
94075         * lib/signbitf.c: Likewise.
94076         * lib/vasnprintf.c: Likewise.
94077         * tests/test-ceilf1.c: Likewise.
94078         * tests/test-ceilf2.c: Likewise.
94079         * tests/test-floorf1.c: Likewise.
94080         * tests/test-floorf2.c: Likewise.
94081         * tests/test-frexp.c: Likewise.
94082         * tests/test-round1.c: Likewise.
94083         * tests/test-round2.c: Likewise.
94084         * tests/test-roundf1.c: Likewise.
94085         * tests/test-strtod.c: Likewise.
94086         * tests/test-trunc1.c: Likewise.
94087         * tests/test-trunc2.c: Likewise.
94088         * tests/test-truncf1.c: Likewise.
94089         * tests/test-truncf2.c: Likewise.
94090         * NEWS: Mention the renamed header files.
94092 2008-07-11  Jim Meyering  <meyering@redhat.com>
94094         vc-list-files: make the last-resort awk code more portable
94095         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
94096         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
94097         does not support it.
94099 2008-07-10  Eric Blake  <ebb9@byu.net>
94101         Work with tar's bootstrap.
94102         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
94103         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
94104         an m4 comment.
94106 2008-07-09  Jim Meyering  <meyering@redhat.com>
94108         posix-shell.m4: fix typo that made this test malfunction
94109         * m4/posix-shell.m4: Remove capitalization in variable name.
94111 2008-07-08  Bruno Haible  <bruno@clisp.org>
94113         * m4/onceonly.m4: Update comments.
94114         Reported by Ben Pfaff <blp@cs.stanford.edu>.
94116 2008-07-04  Jim Meyering  <meyering@redhat.com>
94118         * users.txt: Add vc-dwim.
94119         (bison, coreutils): Use the gitweb URL.
94121 2008-07-03  Jim Meyering  <meyering@redhat.com>
94123         * users.txt: Add libffcall.  From Sam Steingold.
94125 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
94127         getdate.y: do not ignore TZ with relative day, month or year offset
94128         * lib/getdate.y (get_date): Move the tz-handling block to follow the
94129         relative-date-handling, since otherwise, the latter would clobber the
94130         sole output (an updated Start value) of the tz-handling block.
94131         * tests/test-getdate.c: Tests for the fix
94133 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94135         Recognize 'foo_LIBRARIES += libgnu.a'.
94136         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
94137         makefile snippet has already specified an installation location,
94138         also using '+='.
94140 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
94142         getdate.y: factor out common actions
94143         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
94144         Use them in place of open-coded actions.
94146 2008-07-01  Simon Josefsson  <simon@josefsson.org>
94148         Add self-test for getdate module.
94149         * modules/getdate-tests: New file.
94150         * tests/test-getdate.c: New file.
94152 2008-06-29  Bruno Haible  <bruno@clisp.org>
94154         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
94155         .gitignore.
94156         Reported by Sylvain Beucler <beuc@beuc.net>.
94158 2008-06-29  Bruno Haible  <bruno@clisp.org>
94160         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
94161         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
94163 2008-06-29  Bruno Haible  <bruno@clisp.org>
94165         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
94166         EXTRA_DIST.
94167         Reported by Sylvain Beucler <beuc@beuc.net>.
94169 2008-06-26  Jim Meyering  <meyering@redhat.com>
94171         make several modules depend on the "open" module
94172         This provides slightly increased consistency when opening-for-write
94173         the name of a non-directory spelled with a trailing slash.
94174         * modules/chdir-safer: Likewise.
94175         * modules/chown: Likewise.
94176         * modules/clean-temp: Likewise.
94177         * modules/copy-file: Likewise.
94178         * modules/fchdir: Likewise.
94179         * modules/fcntl-safer: Likewise.
94180         * modules/pipe: Likewise.
94181         * modules/utime: Likewise.
94182         Prompted by Eric Blake and Bruno Haible.
94184 2008-06-24  Andreas Schwab  <schwab@suse.de>
94186         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
94187         literals can be used as initializers for global variables.
94189 2008-06-23  Eric Blake  <ebb9@byu.net>
94191         Make gnulib-cache.m4 easier to diff.
94192         * gnulib-tool (func_import): Allow newlines when reading cached
94193         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
94195 2008-06-23  Bruno Haible  <bruno@clisp.org>
94197         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
94198         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
94199         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
94200         m4/signalblocking.m4.
94201         (gl_PREREQ_SIGACTION): Don't invoke it.
94202         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
94203         gl_PREREQ_SIG_HANDLER_H.
94204         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
94205         Don't check for sigaction here.
94207 2008-06-23  Bruno Haible  <bruno@clisp.org>
94209         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
94210         (install_handlers): Don't set the SA_RESETHAND flag.
94212 2008-06-23  Bruno Haible  <bruno@clisp.org>
94214         * m4/sigaction.m4: Comment fixes.
94215         * lib/signal.in.h: Likewise.
94217 2008-06-23  Eric Blake  <ebb9@byu.net>
94219         Fix typo.
94220         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
94222         Avoid SA_ namespace.
94223         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
94224         Reported by Ralf Wildenhues.
94226         Avoid test failure due to SA_RESTORER.
94227         * tests/test-sigaction.c (SA_MASK): New macro.
94228         (main): Avoid failing due to extension flags being set.
94229         Reported by Jim Meyering.
94231         Revert use of sig-handler.h in sigprocmask.c.
94232         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
94233         it requires the existence of struct sigaction.
94234         * lib/sigprocmask.c (handler_t): Restore typedef.
94235         (rpl_signal, old_handlers): Use local type.
94237 2008-06-22  Bruno Haible  <bruno@clisp.org>
94239         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
94240         conditionally.
94241         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
94243 2008-06-22  Bruno Haible  <bruno@clisp.org>
94245         * doc/posix-functions/siginterrupt.texi: Move note.
94247         * lib/signal.in.h (SA_RESTART): New macro.
94248         * lib/sigaction.c: Update comment.
94250         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
94252         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
94253         (gl_PREREQ_SIGPROCMASK): Invoke it.
94254         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
94256         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
94258         * lib/sigprocmask.c: Update a comment.
94260 2008-06-21  Eric Blake  <ebb9@byu.net>
94262         Use sigaction module rather than signal().
94263         * modules/c-stack (Depends-on): Add sigaction.
94264         * modules/fatal-signal (Depends-on): Likewise.
94265         * modules/nanosleep (Depends-on): Likewise.
94266         * modules/sigprocmask (Files): Add sig-handler.h.
94267         * modules/sigaction (Files): Likewise.
94268         * lib/sig-handler.h (get_handler): New file, suggested by Paul
94269         Eggert.
94270         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
94271         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
94272         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
94273         (init_fatal_signals): Likewise.
94274         * lib/nanosleep.c (rpl_nanosleep): Likewise.
94275         (siginterrupt): Delete fallback.
94276         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
94277         instead.
94278         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
94279         siginterrupt.
94281         New module sigaction, for mingw.
94282         * modules/sigaction: New module...
94283         * modules/sigaction-tests: ...and its test.
94284         * m4/sigaction.m4: New file.
94285         * lib/sigaction.c: Likewise.
94286         * tests/test-sigaction.c: Likewise.
94287         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
94288         * modules/signal (Makefile.am): Likewise.
94289         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
94290         needed.
94291         * doc/posix-headers/signal.texi (signal.h): Mention provided
94292         types.
94293         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
94294         that sigaction is preferable.
94295         * doc/posix-functions/sigaction.texi (sigaction): Mention new
94296         module.
94297         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
94298         sigaction.
94300         Improve robustness of sigprocmask by overriding signal.
94301         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
94302         is in use.
94303         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
94304         (SIGKILL, SIGSTOP): Provide fallbacks.
94305         (rpl_signal): Implement.
94306         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
94307         signal can be called inside handlers.
94309         Fix nanosleep module on mingw.
94310         * modules/nanosleep (Depends-on): Add sys_select.
94311         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
94313         Fix licensing of sigprocmask.
94314         * modules/raise (License): Relicense as LGPL.
94316 2008-06-21  Bruno Haible  <bruno@clisp.org>
94318         * lib/propername.c (proper_name_utf8): Don't use the transliterated
94319         result if it contains question marks.
94320         Reported by Michael Geng <linux@michaelgeng.de>.
94322 2008-06-19  Bruno Haible  <bruno@clisp.org>
94324         Fix CVS-ism.
94325         * doc/gnulib.texi: Include updated-stamp.texi.
94326         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
94327         (updated-stamp.texi): New rule.
94328         (gnulib.info): Depend on it.
94329         * doc/.gitignore: Add updated-stamp.texi.
94330         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
94332 2008-06-19  Bruno Haible  <bruno@clisp.org>
94334         * doc/Makefile (gnulib.info): Update and simplify dependencies.
94335         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
94337 2008-06-19  Eric Blake  <ebb9@byu.net>
94339         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
94340         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
94341         Reported by Stepan Kasal.
94343 2008-06-18  Bruno Haible  <bruno@clisp.org>
94345         * lib/fatal-signal.c (init_fatal_signals): Add comment.
94346         Reported by Eric Blake.
94348 2008-06-18  Eric Blake  <ebb9@byu.net>
94350         Work around cygwin 1.5.25 strsignal bug.
94351         * tests/test-strsignal.c: Allow for const char *.
94352         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
94354 2008-06-18  Simon Josefsson  <simon@josefsson.org>
94356         * users.txt: Update URL to article and add author/date
94357         information.
94359 2008-06-17  Bruno Haible  <bruno@clisp.org>
94361         New macro gl_DISABLE_THREADS.
94362         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
94363         if the user did not pass --enable-threads or --disable-threads option.
94364         (gl_DISABLE_THREADS): New macro.
94365         Reported by Eric Blake <ebb9@byu.net>.
94367 2008-06-17  Bruno Haible  <bruno@clisp.org>
94369         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
94370         when the macro ignores it.
94371         Based on a patch by Eric Blake <ebb9@byu.net>.
94373 2008-06-17  Bruno Haible  <bruno@clisp.org>
94375         * modules/tls (License): Change to LGPLv2+.
94376         Reported by Eric Blake.
94378 2008-06-17  Eric Blake  <ebb9@byu.net>
94380         Simplify c-stack prerequisites.
94381         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
94382         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
94383         no longer requires <ucontext.h> to exist.  Optimize setrlimit
94384         check.
94385         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
94386         <sys/resource.h>.
94388         Move c-stack test into testsuite.
94389         * modules/c-stack-tests: New file.
94390         * lib/c-stack.c [DEBUG]: Move test program...
94391         * tests/test-c-stack.c: ...into this new file.  Skip rather than
94392         fail test if sigaltstack is lacking.
94393         * tests/test-c-stack.sh: New driver file.
94395 2008-06-16  Eric Blake  <ebb9@byu.net>
94397         Use raise module consistently.
94398         * modules/fatal-signal (Depends-on): Add raise.
94399         * modules/sigprocmask (Depends-on): Likewise.
94400         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
94401         * lib/sigprocmask.c (sigprocmask): Likewise.
94402         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
94403         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
94405         Fix compliance bug in sigpending.
94406         * lib/sigprocmask.c (sigpending): Return pending array via
94407         parameter, not return value.
94409 2008-06-14  Eric Blake  <ebb9@byu.net>
94411         Improve obstack-printf test code.
94412         * tests/test-obstack-printf.c (test_function): Fix comment, and
94413         simplify usage of obstack_* in macros.  Add a test for coverage.
94414         Reported by Bruno Haible.
94416 2008-06-14  Bruno Haible  <bruno@clisp.org>
94418         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
94419         array size as a constant, not as a const variable.
94420         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
94421         AC_USE_SYSTEM_EXTENSIONS.
94422         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
94423         Test whether the obstack_printf function actually exists.
94424         * modules/obstack-printf (Depends-on): Add extensions.
94425         (Include): Remove obstack.h.
94426         * modules/obstack-printf-posix (Depends-on): Add extensions.
94427         (Include): Remove obstack.h.
94429 2008-06-13  Eric Blake  <ebb9@byu.net>
94431         Add obstack-printf and obstack-printf-posix modules.
94432         * modules/obstack-printf: New file.
94433         * modules/obstack-printf-posix: Likewise.
94434         * MODULES.html.sh (Misc): Mention them.
94435         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
94436         Likewise.
94437         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
94438         Likewise.
94439         * modules/stdio (Makefile.am): Accomodate new modules.
94440         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
94441         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
94442         Declare.
94443         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
94444         functions.
94445         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
94446         (gl_REPLACE_OBSTACK_PRINTF): New macros
94447         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
94448         * tests/test-obstack-printf.c: New file.
94449         * modules/obstack-printf-tests: Likewise.
94450         * modules/obstack-printf-posix-tests: Likewise.
94452 2008-06-11  Bruno Haible  <bruno@clisp.org>
94454         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
94455         * lib/open.c: Include errno.h.
94456         (open): Fail when attempting to write to a file that has a trailing
94457         slash.
94458         * tests/test-open.c (main): Test against trailing slash bug.
94459         * doc/posix-functions/open.texi: Mention the trailing slash bug.
94461 2008-06-10  Bruno Haible  <bruno@clisp.org>
94463         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
94464         for $? to work inside the trap command, with various /bin/sh-s.
94465         * tests/test-vc-list-files-cvs.sh: Likewise.
94467 2008-06-10  Bruno Haible  <bruno@clisp.org>
94469         * lib/acl-internal.h: Don't include gettext.h here.
94470         * lib/set-mode-acl.c: Include gettext.h here.
94471         * lib/copy-acl.c: Likewise.
94473 2008-06-10  Bruno Haible  <bruno@clisp.org>
94475         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
94476         * lib/wait-process.c (wait_subprocess): Likewise.
94477         * lib/execute.h (execute): Add termsigp argument.
94478         * lib/execute.c (execute): Likewise.
94479         * lib/csharpcomp.c (compile_csharp_using_pnet,
94480         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
94481         * lib/csharpexec.c (execute_csharp_using_pnet,
94482         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
94483         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
94484         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
94485         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
94486         is_jikes_present): Update.
94487         * lib/javaexec.c (execute_java_class): Update.
94488         * lib/javaversion.c (execute_and_read_line): Update.
94489         * NEWS: Document the changes.
94490         Reported by Eric Blake.
94492 2008-06-10  Eric Blake  <ebb9@byu.net>
94494         Add missing include.
94495         * tests/test-strstr.c (includes): Add <signal.h>.
94496         * tests/test-strcasestr.c (includes): Likewise.
94497         * tests/test-memmem.c (includes): Likewise.
94499 2008-06-10  Bruno Haible  <bruno@clisp.org>
94501         * lib/wait-process.c (wait_subprocess): Add an assertion.
94503 2008-06-10  Bruno Haible  <bruno@clisp.org>
94505         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
94507 2008-06-10  Bruno Haible  <bruno@clisp.org>
94509         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
94510         using alarm().
94511         * tests/test-strcasestr.c (main): Likewise.
94512         * tests/test-strstr.c (main): Likewise.
94514 2008-06-09  Bruno Haible  <bruno@clisp.org>
94516         Work around the Solaris 10 ACE ACLs ABI change.
94517         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
94518         declare if ACL_NO_TRIVIAL is present.
94519         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
94520         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
94521         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
94522         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
94523         define if ACL_NO_TRIVIAL is present.
94524         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
94525         and use the current ABI.
94526         (file_has_acl): Use same #if condition as elsewhere.
94527         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
94528         in use, and use the current ABI.
94529         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
94530         Reported by Jim Meyering.
94532 2008-06-09  Eric Blake  <ebb9@byu.net>
94534         Work around environments that (stupidly) ignore SIGALRM.
94535         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
94536         before using alarm().
94537         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
94538         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
94539         Reported by Ian Beckwith <ianb@erislabs.net>.
94541         Produce autobuild blurb earlier in log.
94542         * modules/autobuild (configure.ac-early): Move AB_INIT here.
94544 2008-06-09  Jim Meyering  <meyering@redhat.com>
94545         and Ondřej Vašík  <ovasik@redhat.com>
94547         utimens.c: correct kernel bug work-around
94548         Ondřej Vašík found that the invalid return value of 280 indicates
94549         failure, not success, and the kernel bug we're trying to work
94550         around affects not just the utimensat call, but also the fallback
94551         futimens call.
94552         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
94553         not success.
94554         [HAVE_FUTIMENS]: Use the same work-around, here.
94556 2008-06-09  Jim Meyering  <meyering@redhat.com>
94558         add more guards around definition of ACE_-related code
94559         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
94560         ALLOW and ACE_OWNER are also defined.
94562 2008-06-08  Bruno Haible  <bruno@clisp.org>
94564         * lib/acl-internal.h: Add me as co-author.
94565         * lib/file-has-acl.c: Likewise.
94566         * lib/set-mode-acl.c: Likewise.
94567         * lib/copy-acl.c: Likewise.
94569 2008-06-08  Bruno Haible  <bruno@clisp.org>
94571         Add support for AIX ACLs.
94572         * lib/acl-internal.h (acl_nontrivial): New declaration.
94573         * lib/file-has-acl.c (acl_nontrivial): New function.
94574         (file_has_acl): Add implementation using AIX 4 ACL API.
94575         * lib/set-mode-acl.c (qset_acl): Likewise.
94576         * lib/copy-acl.c (qcopy_acl): Likewise.
94578 2008-06-08  Bruno Haible  <bruno@clisp.org>
94580         Add support for HP-UX ACLs.
94581         * lib/acl-internal.h (acl_nontrivial): New declaration.
94582         * lib/file-has-acl.c (acl_nontrivial): New function.
94583         (file_has_acl): Add implementation using HP-UX 11 ACL API.
94584         * lib/set-mode-acl.c (qset_acl): Likewise.
94585         * lib/copy-acl.c (qcopy_acl): Likewise.
94587 2008-06-08  Bruno Haible  <bruno@clisp.org>
94589         Add support for Cygwin ACLs.
94590         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
94591         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
94592         the chmod_or_fchmod call.
94593         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
94595 2008-06-08  Bruno Haible  <bruno@clisp.org>
94597         Fix bug with setuid modes in Solaris 10+ code.
94598         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
94599         succeeded, when the mode contains some special bits.
94601 2008-06-08  Bruno Haible  <bruno@clisp.org>
94603         Add support for Solaris 7..10 ACLs.
94604         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
94605         declarations.
94606         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
94607         functions.
94608         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
94609         * lib/set-mode-acl.c (qset_acl): Likewise.
94610         * lib/copy-acl.c (qcopy_acl): Likewise.
94612 2008-06-08  Bruno Haible  <bruno@clisp.org>
94614         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
94615         declaration.
94616         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
94617         (acl_access_nontrivial): Remove MacOS X case.
94618         (file_has_acl): Use acl_extended_nontrivial.
94619         * lib/copy-acl.c (qcopy_acl): Likewise.
94621 2008-06-08  Bruno Haible  <bruno@clisp.org>
94623         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
94625 2008-06-08  Jim Meyering  <meyering@redhat.com>
94627         * modules/acl (Maintainer): Add Bruno Haible.
94629 2008-06-07  Bruno Haible  <bruno@clisp.org>
94631         Improve support for Tru64 ACLs.
94632         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
94633         ACL on OSF/1.
94635 2008-06-07  Bruno Haible  <bruno@clisp.org>
94637         Add support for MacOS X ACLs.
94638         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
94639         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
94640         * lib/set-mode-acl.c (qset_acl): Likewise.
94641         * lib/copy-acl.c (qcopy_acl): Likewise.
94643 2008-06-07  Bruno Haible  <bruno@clisp.org>
94645         Fix memory leak introduced on 2008-05-22.
94646         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
94647         use.
94649 2008-06-07  Bruno Haible  <bruno@clisp.org>
94651         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
94652         to construct an empty ACL.
94654 2008-06-07  Bruno Haible  <bruno@clisp.org>
94656         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
94657         precisely.
94658         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
94660 2008-06-07  Bruno Haible  <bruno@clisp.org>
94662         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
94663         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
94665 2008-06-07  Bruno Haible  <bruno@clisp.org>
94667         * doc/posix-functions/_setjmp.texi: Explain the use of this function
94668         regardless of POSIX.
94669         * doc/posix-functions/_longjmp.texi: Likewise.
94670         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
94671         SystemV platform in this case.
94673 2008-06-06  Eric Blake  <ebb9@byu.net>
94675         Document abort() bugs.
94676         * doc/posix-functions/abort.texi (abort): Mention anomalies.
94678         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
94679         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
94680         sigsetjmp.
94681         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
94682         siglongjmp, but only as a macro.
94683         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
94684         is obsolete.
94685         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
94687         Tweak documentation to cover cygwin argz bugs.
94688         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
94689         argz bug fix; no code change needed since no cygwin releases
94690         occurred between the last fix and the bug being tested.
94691         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
94692         module and recently fixed cygwin bugs.
94693         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
94694         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
94695         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
94696         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
94697         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
94698         Likewise.
94699         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
94700         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
94701         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
94702         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
94703         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
94704         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
94705         Likewise.
94707         Avoid gcc warning on cygwin.
94708         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
94709         !ACL_NO_TRIVIAL]: Avoid unused variable.
94711 2008-06-05  Eric Blake  <ebb9@byu.net>
94713         Be tolerant of UNKNOWN version in gnulib-tool test dir.
94714         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
94715         git-version-gen fails to come up with a version.
94716         Reported by Simon Josefsson.
94718 2008-06-05  Jim Meyering  <meyering@redhat.com>
94719             Paul Eggert  <eggert@cs.ucla.edu>
94721         utimens.c: work around a probable Linux kernel bug
94722         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
94723         appears to be a kernel bug that causes utimensat to return 280
94724         instead of 0, indicating success.
94726 2008-06-04  Bruno Haible  <bruno@clisp.org>
94728         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
94729         2008-06-01 commit.
94731 2008-06-04  Bruno Haible  <bruno@clisp.org>
94733         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
94734         * lib/file-has-acl.c (acl_access_nontrivial): New function.
94735         (file_has_acl): Use it. Save errno afterwards.
94736         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
94738 2008-06-03  Bruno Haible  <bruno@clisp.org>
94740         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
94741         draft code. Simplify #ifs.
94742         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
94743         Put Solaris code after POSIX-draft code. Fix comments regarding
94744         Solaris 10, HP-UX. Mention Cygwin.
94745         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
94747 2008-06-03  Eric Blake  <ebb9@byu.net>
94749         Provide fallback for older kernels.
94750         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
94751         Provide runtime fallback if kernel lacks support.
94752         Reported by Mike Frysinger.
94754 2008-06-02  Bruno Haible  <bruno@clisp.org>
94756         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
94757         it exists.
94759 2008-06-02  Bruno Haible  <bruno@clisp.org>
94761         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
94762         * lib/copy-acl.c (qcopy_acl): Update comment.
94764 2008-06-02  Bruno Haible  <bruno@clisp.org>
94766         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
94767         like ACL APIs.
94769 2008-06-02  Bruno Haible  <bruno@clisp.org>
94771         * tests/test-file-has-acl.sh: Use different code for Cygwin.
94772         * tests/test-set-mode-acl.sh: Likewise.
94773         * tests/test-copy-acl.sh: Likewise.
94774         * tests/test-copy-file.sh: Likewise.
94776 2008-06-02  Bruno Haible  <bruno@clisp.org>
94778         * tests/test-file-has-acl.sh: Remove unused code.
94780 2008-06-01  Bruno Haible  <bruno@clisp.org>
94782         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
94783         (copy_acl): Just a wrapper around qcopy_acl that emits the error
94784         messages.
94785         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
94787 2008-06-01  Bruno Haible  <bruno@clisp.org>
94789         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
94790         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
94791         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
94792         APIs.
94793         * modules/acl-tests (configure.ac): Remove tests now contained in
94794         m4/acl.m4.
94796 2008-06-02  Jim Meyering  <meyering@redhat.com>
94798         announce-gen: use a better key-server host name
94799         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
94800         it may be more consistently reliable.  Suggested by Werner Koch
94801         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
94803 2008-06-01  Bruno Haible  <bruno@clisp.org>
94805         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
94806         Reported by Voroskoi Andras <voroskoi@gmail.com>.
94808 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
94810         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
94812 2008-06-01  Bruno Haible  <bruno@clisp.org>
94814         New ACL tests.
94815         * tests/test-file-has-acl.sh: New file.
94816         * tests/test-file-has-acl.c: New file.
94817         * tests/test-set-mode-acl.sh: New file.
94818         * tests/test-set-mode-acl.c: New file.
94819         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
94820         * tests/test-copy-acl.c: New file.
94821         * modules/acl-tests: New file, based on modules/copy-file-tests.
94822         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
94823         (Depends-on): Add acl-tests.
94824         (configure.ac): Remove checks.
94825         (Makefile.am): Don't create test-sameacls program here any more.
94827 2008-06-01  Bruno Haible  <bruno@clisp.org>
94829         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
94830         * tests/test-sameacls.c: Include progname.h.
94831         (main): Invoke set_program_name. Portability fixes for MacOS X,
94832         Solaris, HP-UX.
94834 2008-06-01  Bruno Haible  <bruno@clisp.org>
94836         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
94837         function.
94838         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
94840 2008-06-01  Bruno Haible  <bruno@clisp.org>
94842         * modules/rpmatch (Depends-on): Add strdup.
94844 2008-06-01  Bruno Haible  <bruno@clisp.org>
94846         * lib/pipe.c: Include unistd-safer.h.
94847         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
94848         * modules/pipe (Depends-on): Add unistd-safer.
94850 2008-05-30  Simon Josefsson  <simon@josefsson.org>
94852         * modules/autobuild (configure.ac): Call AB_INIT.
94854 2008-05-30  Simon Josefsson  <simon@josefsson.org>
94856         * tests/test-getaddrinfo.c: Don't print debug messages by default.
94857         Suggested by Bruno Haible <bruno@clisp.org>.
94859 2008-05-30  Simon Josefsson  <simon@josefsson.org>
94861         * tests/test-base64.c: Cast size_t to unsigned long when invoking
94862         printf.  Use %lu instead of %d.  Reported by Bruno Haible
94863         <bruno@clisp.org>.
94865 2008-05-29  Eric Blake  <ebb9@byu.net>
94867         Prefer new POSIX 200x interfaces over futimesat.
94868         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
94869         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
94870         when available.
94871         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
94873 2008-05-28  Bruno Haible  <bruno@clisp.org>
94875         * modules/stpcpy (License): Change to LGPLv2+.
94876         Requested by David Lutterkort <dlutter@redhat.com>.
94878 2008-05-27  Bruno Haible  <bruno@clisp.org>
94880         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
94881         current mingw.
94882         Reported by Jose E. Marchesi <jemarch@gnu.org>.
94884 2008-05-27  Bruno Haible  <bruno@clisp.org>
94886         * modules/iconv_open (Link): New section, from module 'iconv'.
94887         * modules/striconv (Link): Likewise.
94888         * modules/striconveh (Link): Likewise.
94889         * modules/xstriconv (Link): Likewise.
94890         * modules/unicodeio (Link): Likewise.
94891         * modules/propername (Link): Likewise.
94892         Reported by Jim Meyering.
94894 2008-05-26  Jim Meyering  <meyering@redhat.com>
94896         sha256: do not artificially restrict buffer length to be < 2^32
94897         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
94898         uint32_t to size_t.
94899         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
94900         to match.
94902         avoid unaligned access errors, e.g., on sparc
94903         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
94904         direct access through a possibly-unaligned uint64* pointer.
94905         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
94906         direct access through a possibly-unaligned uint32* pointer.
94907         Prompted by this patch from Tom "spot" Callaway:
94908         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
94910         sha512.c: fix typo in comment
94911         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
94913 2008-05-25  Bruno Haible  <bruno@clisp.org>
94915         * lib/set-mode-acl.c: Renamed from lib/acl.c.
94916         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
94917         (Makefile.am): Update lib_SOURCES.
94919 2008-05-25  Bruno Haible  <bruno@clisp.org>
94921         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
94923 2008-05-25  Jim Meyering  <meyering@redhat.com>
94925         useless-if-before-free: freed expr may have white-space differences
94926         * build-aux/useless-if-before-free: Recognize cases in which the
94927         freed expression differs from the tested one in embedded white
94928         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
94929         $1 was used, so we can't make any regexp shy.  Improved tests now
94930         detect this.
94932         useless-if-before-free: accept white space in the expression.
94933         * build-aux/useless-if-before-free: For now, any white space
94934         in the expression must be identical in the free argument.
94936         useless-if-before-free: efficiency tweak
94937         * build-aux/useless-if-before-free: Make the expression-matching
94938         regexp "shy".
94939         Make the *outer* regexp shy, not the expr-matching one.
94941         update code-in-comment to accept cast of free arg
94942         * build-aux/useless-if-before-free: Update regexp.
94944 2008-05-25  Bruno Haible  <bruno@clisp.org>
94946         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
94947         * modules/copy-file-tests (Files, Makefile.am): Update.
94948         * tests/test-copy-file.c (func_test_copy): Update.
94950 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
94952         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
94954 2008-05-23  Bruno Haible  <bruno@clisp.org>
94956         Improve support for ACLs on OSF/1.
94957         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
94958         Remove fallback for unknown flavors of ACLs.
94960 2008-05-22  Bruno Haible  <bruno@clisp.org>
94962         Add support for ACLs on OSF/1.
94963         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
94964         replacements.
94965         (acl_free_text): New macro fallback.
94966         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
94967         acl_free.
94968         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
94969         acl_free_text function. Require AC_C_INLINE.
94971 2008-05-22  Bruno Haible  <bruno@clisp.org>
94973         Make copy_acl work on MacOS X 10.5.
94974         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
94975         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
94976         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
94977         If MODE_INSIDE_ACL, don't assume that every system has the same text
94978         representation for ACLs as FreeBSD.
94979         * lib/copy-acl.c (copy_acl): Add support for platforms with
94980         !MODE_INSIDE_ACL.
94981         * lib/file-has-acl.c (file_has_acl): Likewise.
94982         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
94983         FreeBSD, MacOS X, or IRIX, respectively.
94985 2008-05-22  Bruno Haible  <bruno@clisp.org>
94987         * lib/acl.h: Don't include <sys/acl.h>.
94988         (GETACLCNT): Move fallback to lib/acl-internal.h.
94989         * lib/acl-internal.h: Include <sys/acl.h> here.
94990         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
94992 2008-05-22  Bruno Haible  <bruno@clisp.org>
94994         Split off copy_acl function to separate file.
94995         * lib/copy-acl.c: New file, extracted from lib/acl.c.
94996         * lib/acl.c (copy_acl): Moved function to separate file.
94997         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
94998         * modules/acl (Files): Add lib/copy-acl.c.
94999         (Makefiles.am): Augment lib_SOURCES.
95001 2008-05-22  Bruno Haible  <bruno@clisp.org>
95003         * modules/copy-file-tests: New file.
95004         * tests/test-copy-file.sh: New file.
95005         * tests/test-copy-file.c: New file.
95006         * tests/test-copy-file-sameacls.c: New file.
95008 2008-05-22  Eric Blake  <ebb9@byu.net>
95010         Avoid gcc warning.
95011         * tests/test-memcmp.c (main): Pass NULL indirectly.
95013 2008-05-21  Bruno Haible  <bruno@clisp.org>
95015         Add reference doc about ACLs.
95016         * doc/acl-resources.txt: New file.
95017         * doc/acl-cygwin.txt: New file.
95019 2008-05-21  Bruno Haible  <bruno@clisp.org>
95021         Avoid one more warning from gcc.
95022         * lib/vasnprintf.c (IF_LINT): Update comments.
95023         (VASNPRINTF): Use it also for the 'prefix' array initializer.
95025 2008-05-21  Jim Meyering  <meyering@redhat.com>
95027         avoid a warning from gcc
95028         * lib/vasnprintf.c (IF_LINT): Define.
95029         (scale10_round_decimal_long_double):
95030         Use it to avoid a "may be used uninitialized" warning.
95031         (scale10_round_decimal_double): Likewise.
95033 2008-05-21  Simon Josefsson  <simon@josefsson.org>
95035         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
95036         declared.
95038 2008-05-20  Bruno Haible  <bruno@clisp.org>
95040         * tests/test-memcmp.c (main): Test also the sign of the result. Test
95041         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
95043 2008-05-20  Simon Josefsson  <simon@josefsson.org>
95045         * modules/memcmp-tests: New file.
95046         * tests/test-memcmp.c: New file.
95048 2008-05-19  Bruno Haible  <bruno@clisp.org>
95050         * modules/propername (Notice, configure.ac): Put quoted "..." into
95051         --keyword option.
95052         * lib/propername.h: Update comments accordingly.
95053         Reported by Eric Blake.
95055 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
95057         * modules/getpass-gnu (Depends-on): Add fseeko.
95059 2008-05-19  Simon Josefsson  <simon@josefsson.org>
95061         * modules/base64-tests: New file.
95063 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
95065         * lib/base64.c (base64_decode_ctx): If a decode context structure
95066         was passed in use it to ignore newlines.  If a context structure
95067         was _not_ passed in, continue to treat newlines as garbage (this
95068         is the historical behavior).  Formerly base64_decode.
95069         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
95070         takes a decode context structure.
95071         * lib/base64.h (base64_decode): Macro for four-argument calls.
95072         (base64_decode_alloc): Likewise.
95073         * lib/base64.c (base64_decode_ctx): If a decode context structure
95074         was passed in use it to ignore newlines.  If a context structure
95075         was _not_ passed in, continue to treat newlines as garbage (this
95076         is the historical behavior).  Formerly base64_decode.
95077         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
95078         takes a decode context structure.
95079         * lib/base64.h (base64_decode): Macro for four-argument calls.
95080         (base64_decode_alloc): Likewise.
95082 2008-05-19  Jim Meyering  <meyering@redhat.com>
95084         avoid a warning from gcc
95085         * lib/trim.c (IF_LINT): Define.
95086         (trim2): Use it to avoid a "may be used uninitialized" warning.
95088         Fix doc typo.
95089         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
95091 2008-05-19  Bruno Haible  <bruno@clisp.org>
95093         * doc/glibc-functions/getpass.texi: Document limits of other
95094         implementations.
95096 2008-05-19  Simon Josefsson  <simon@josefsson.org>
95097             Bruno Haible <bruno@clisp.org>
95099         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
95101 2008-05-18  Bruno Haible  <bruno@clisp.org>
95103         * modules/propername: New file, from GNU gettext.
95104         * lib/propername.h: New file, from GNU gettext.
95105         * lib/propername.c: New file, from GNU gettext.
95106         * MODULES.html.sh (Internationalization functions): Add propername.
95108 2008-05-16  Jim Meyering  <meyering@redhat.com>
95109             Bruno Haible  <bruno@clisp.org>
95111         Avoid some warnings from "gcc -Wshadow".
95112         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
95114 2008-05-15  Eric Blake  <ebb9@byu.net>
95116         Extend previous patch to cygwin 1.7.0.
95117         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
95118         fast implementation in cygwin >= 1.7.0.
95119         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
95120         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
95122 2008-05-15  Bruno Haible  <bruno@clisp.org>
95124         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
95125         implementation in glibc >= 2.9.
95126         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
95127         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
95129 2008-05-15  Bruno Haible  <bruno@clisp.org>
95131         * MODULES.html.sh (Internationalization functions): Remove linebreak.
95132         (Unicode string functions): Add unilbrk/*.
95133         Reported by Karl Berry.
95135 2008-05-15  Eric Blake  <ebb9@byu.net>
95137         Fix violation of <stdbool.h> replacement in regex.
95138         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
95139         * lib/regexec.c (re_search_internal): Likewise.
95140         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
95142 2008-05-15  Jim Meyering  <meyering@redhat.com>
95144         avoid distracting test output when git or cvs is not found
95145         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
95146         * tests/test-vc-list-files-git.sh: Likewise.
95148 2008-05-15  Eric Blake  <ebb9@byu.net>
95150         Glibc finally accepted the memmem speedup code, bugzilla #5514.
95151         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
95152         glibc version.
95153         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
95154         * doc/posix-functions/strstr.texi (strstr): Likewise.
95155         * lib/str-two-way.h (MAX): Sychronize with glibc.
95157 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
95159         * lib/regcomp.c (optimize_utf8): Add a note on why we test
95160         opr.ctx_type.
95161         (calc_first): Initialize constraint field.
95162         (duplicate_node_closure): Use it instead of special casing ANCHORS.
95163         Fix grammar.
95164         (duplicate_node): Merge constraint field for all node types.
95165         (calc_eclosure_iter): Look at constraint field for all node types.
95166         * lib/regex_internal.c (create_cd_newstate): Don't look at
95167         opr.ctx_type.
95169 2008-05-14  Bruno Haible  <bruno@clisp.org>
95171         Help GCC to do better code generation.
95172         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
95173         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
95174         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
95175         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
95176         Declare with attribute 'malloc' if supported.
95178 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
95180         use "echo STR|wc -c" rather than unportable "expr length STR"
95181         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
95182         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
95184 2008-05-14  Jim Meyering  <meyering@redhat.com>
95186         use dd ibs=$n count=1 ... rather than less-portable head -c$n
95187         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
95188         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
95189         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
95190         via Collin Lasse.
95192 2008-05-14  Eric Blake  <ebb9@byu.net>
95194         Avoid quadratic growth in gl_LIBSOURCES.
95195         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
95196         Suggested by Bruno Haible.
95198         Test xmemdup0.
95199         * modules/xmemdup0-tests: New file.
95200         * tests/test-xmemdup0.c: Likewise.
95202 2008-05-13  Eric Blake  <ebb9@byu.net>
95204         Split xmemdup0 into its own module.
95205         * modules/xmemdup0: New file.
95206         * lib/xmemdup0.h: Likewise.
95207         * lib/xmemdup0.c: Likewise.
95208         * MODULES.html.sh (Memory management functions): Add xmemdup0.
95209         * lib/xalloc.h (xmemdup0): Remove.
95210         * lib/xmalloc.c (xmemdup0): Likewise.
95212 2008-05-13  Eric Blake  <ebb9@byu.net>
95213             Bruno Haible  <bruno@clisp.org>
95215         Reduce number of forks required during autoconf.
95216         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
95217         and gl_LIBSOURCES_DIR.
95218         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
95219         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
95220         m4_syscmd per file.
95221         <m4_foreach_w>: Move...
95222         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
95224 2008-05-13  Eric Blake  <ebb9@byu.net>
95226         * gnulib-tool: Fix various comment typos.
95228 2008-05-12  Bruno Haible  <bruno@clisp.org>
95230         Tailor the linebreaking algorithm.
95231         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
95233 2008-05-12  Bruno Haible  <bruno@clisp.org>
95235         Update to Unicode 5.0.0.
95236         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
95237         LBP_JV, LBP_JT. Redistribute values.
95238         (unilbrk_table): Change size.
95239         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
95240         Unicode TR#14 rev. 22.
95241         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
95242         LBP_JV, LBP_JT. Redistribute values.
95243         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
95244         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
95245         Update.
95246         * lib/unilbrk/lbrkprop1.h: Regenerated.
95247         * lib/unilbrk/lbrkprop2.h: Regenerated.
95248         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
95249         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
95250         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
95251         Likewise.
95252         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
95253         Likewise.
95254         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
95255         result.
95256         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
95257         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
95258         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
95259         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
95260         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
95261         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
95263 2008-05-11  Bruno Haible  <bruno@clisp.org>
95265         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
95267 2008-05-11  Bruno Haible  <bruno@clisp.org>
95269         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
95270         * modules/unilbrk/gen-lbrk: New file.
95272 2008-05-11  Bruno Haible  <bruno@clisp.org>
95274         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
95275         * m4/sha512.m4 (gl_SHA512): Likewise.
95277 2008-05-11  Jim Meyering  <meyering@redhat.com>
95279         New modules: crypto/sha256, crypto/sha512 (from coreutils)
95280         * modules/crypto/sha256: New file.
95281         * modules/crypto/sha512: Likewise.
95282         * lib/sha256.c: Likewise.
95283         * lib/sha256.h: Likewise.
95284         * lib/sha512.c: Likewise.
95285         * lib/sha512.h: Likewise.
95286         * lib/u64.h: Likewise.
95287         * m4/sha256.m4: Likewise.
95288         * m4/sha512.m4: Likewise.
95289         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
95291 2008-05-10  Bruno Haible  <bruno@clisp.org>
95293         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
95294         (Input/Output <stdio.h>): Add xprintf.
95295         (Signal handling <signal.h>): Add strsignal.
95296         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
95297         (Core language properties): Add func.
95298         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
95299         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
95300         strings.
95301         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
95302         (Input/output): New section.
95303         (File system functions): Add openat-die, stat-macros.
95304         (Networking functions): Add sockets.
95305         (Unicode string functions): Add unictype/*.
95306         (Support for building libraries and executables): Add gperf.
95307         (Support for building documentation): Add agpl-3.0.
95308         (Misc): Add nocrash.
95310 2008-05-10  Bruno Haible  <bruno@clisp.org>
95312         * modules/unictype/gen-ctype: New file.
95314 2008-05-10  Jim Meyering  <meyering@redhat.com>
95316         Make chdir-safer.c more efficient on a system with no symlinks.
95317         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
95318         also if ELOOP is zero.  Suggested by Bruno Haible.
95320         Make chdir-safer.c slightly safer.
95321         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
95322         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
95324         Avoid compile failure on systems without ELOOP (like mingw).
95325         * lib/chdir-safer.c (ELOOP): Define if not already defined.
95326         Reported by Bruno Haible.
95328 2008-05-10  Bruno Haible  <bruno@clisp.org>
95330         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
95331         (is_utf8_encoding): Use a case-insensitive comparison.
95332         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
95333         streq.
95335 2008-05-10  Bruno Haible  <bruno@clisp.org>
95337         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
95338         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
95339         * lib/unilbrk/ulc-common.h (iconv_string_length,
95340         iconv_string_keeping_offsets): Remove declarations.
95341         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
95342         Don't include <iconv.h>, streq.h, xsize.h.
95343         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
95344         conversion.
95345         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
95346         <iconv.h>, streq.h, xsize.h.
95347         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
95348         conversion.
95349         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
95350         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
95351         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
95352         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
95354 2008-05-10  Bruno Haible  <bruno@clisp.org>
95356         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
95357         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
95359         * modules/unilbrk/u32-width-linebreaks-tests: New file.
95360         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
95362         * modules/unilbrk/u16-width-linebreaks-tests: New file.
95363         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
95365         * modules/unilbrk/u8-width-linebreaks-tests: New file.
95366         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
95368         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
95369         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
95371         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
95372         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
95374         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
95375         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
95377         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
95378         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
95380 2008-05-10  Bruno Haible  <bruno@clisp.org>
95382         Split up 'linebreak' module.
95383         * lib/unilbrk.h: New file, based on lib/linebreak.h.
95384         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
95385         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
95386         modifications.
95387         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
95388         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
95389         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
95390         lib/linebreak.c.
95391         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
95392         lib/linebreak.c.
95393         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
95394         lib/linebreak.c.
95395         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
95396         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
95397         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
95398         lib/linebreak.c.
95399         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
95400         lib/linebreak.c.
95401         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
95402         lib/linebreak.c.
95403         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
95404         lib/linebreak.c.
95405         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
95406         lib/linebreak.c.
95407         * modules/unilbrk/base: New file.
95408         * modules/unilbrk/tables: New file.
95409         * modules/unilbrk/u8-possible-linebreaks: New file.
95410         * modules/unilbrk/u16-possible-linebreaks: New file.
95411         * modules/unilbrk/u32-possible-linebreaks: New file.
95412         * modules/unilbrk/ulc-common: New file.
95413         * modules/unilbrk/ulc-possible-linebreaks: New file.
95414         * modules/unilbrk/u8-width-linebreaks: New file.
95415         * modules/unilbrk/u16-width-linebreaks: New file.
95416         * modules/unilbrk/u32-width-linebreaks: New file.
95417         * modules/unilbrk/ulc-width-linebreaks: New file.
95418         * lib/linebreak.h: Remove file.
95419         * lib/linebreak.c: Remove file.
95420         * m4/linebreak.m4: Remove file.
95421         * modules/linebreak: Remove file.
95422         * NEWS: Mention the changes.
95424 2008-05-09  Eric Blake  <ebb9@byu.net>
95426         Add xmemdup0.
95427         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
95428         implementation.
95429         * lib/xmalloc.c (xmemdup0): New C implementation.
95431 2008-05-08  Bruno Haible  <bruno@clisp.org>
95433         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
95435 2008-05-07  Eric Blake  <ebb9@byu.net>
95437         Support cross-compilation of <wctype.h>.
95438         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
95439         AC_CACHE_CHECK.
95441 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
95443         * build-aux/vc-list-files: Add support for bzr.
95445 2008-05-03  Jim Meyering  <meyering@redhat.com>
95447         avoid failed assertion with tight malloc
95448         * tests/test-getndelim2.c: Correct an off-by-one assertion.
95450 2008-05-03  Simon Josefsson  <simon@josefsson.org>
95452         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
95453         are needed from arpa/inet.h.
95454         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
95455         Reported by Bruno Haible.
95457 2008-05-02  Jim Meyering  <meyering@redhat.com>
95459         avoid compilation error on FreeBSD 6
95460         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
95462 2008-05-01  Jim Meyering  <meyering@redhat.com>
95464         useless-if-before-free: correct --help's exit status description
95465         * build-aux/useless-if-before-free (usage): Like grep, exit 0
95466         for one or more matches, etc.  Reported by Bruno Haible.
95468         vc-list-files: make the stand-alone gnulib test work
95469         * modules/vc-list-files-tests (configure.ac):
95470         Define and AC_SUBST abs_aux_dir.
95471         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
95472         $(abs_top_srcdir) to each script and having each of them
95473         duplicate the work of setting PATH, set PATH here, using
95474         the new variable, abs_aux_dir instead.
95475         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
95476         * tests/test-vc-list-files-git.sh: Likewise.
95477         Reported by Bruno Haible.
95479 2008-05-01  Bruno Haible  <bruno@clisp.org>
95481         * lib/getndelim2.c (getndelim2): Fix newsize computation during
95482         reallocation. Rename 'done' to 'found_delimiter'.
95484 2008-05-01  Jim Meyering  <meyering@redhat.com>
95486         vc-list-files: accommodate /bin/sh like the one from Solaris 10
95487         * build-aux/vc-list-files: Use `...`, not $(...).
95489 2008-04-30  Jim Meyering  <meyering@redhat.com>
95491         add tests for vc-list-files
95492         * modules/vc-list-files-tests: New module.
95493         * tests/test-vc-list-files-cvs.sh: New file.
95494         * tests/test-vc-list-files-git.sh: New file.
95496         avoid a warning from gcc
95497         * lib/getndelim2.c (IF_LINT): Define.
95498         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
95500         vc-list-files: work properly with build-aux/cvsu, too
95501         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
95502         to all cvs-based clauses.
95504         vc-list-files: work properly in the CVS+awk case, too
95505         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
95507         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
95508         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
95509         take more than one file argument, so .  Add quotes, just in case $dir
95510         ever contains a shell meta-character.  Prompted by Soren Hansen in
95511         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
95513 2008-04-29  Eric Blake  <ebb9@byu.net>
95515         Optimize getndelim2 to use block operations when possible.
95516         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
95517         freadseek, and memchr2.
95518         * lib/getndelim2.c (getndelim2): Use them for block reads.
95520 2008-04-29  Bruno Haible  <bruno@clisp.org>
95522         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
95523         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
95524         * modules/inet_ntop (Depends-on): Add extensions.
95525         * modules/inet_pton (Depends-on): Likewise.
95526         Reported by Simon Josefsson.
95528 2008-04-29  Jim Meyering  <meyering@redhat.com>
95530         When the is more than one match in a block, match all of them.
95531         * build-aux/useless-if-before-free: Iterate through each block
95532         until there are no more matches.
95534         Fix broken useless-if-before-free script.
95535         * build-aux/useless-if-before-free: Fix typo: missing "?" after
95536         the expression to match cast of argument to free-like function.
95538 2008-04-29  Eric Blake  <ebb9@byu.net>
95540         Use new header.
95541         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
95543 2008-04-29  Jim Meyering  <meyering@redhat.com>
95545         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
95546         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
95547         by gnulib to exist and to declare e.g., inet_ntop.
95548         Don't include "inet_ntop.h", now removed.
95550         * m4/arpa_inet_h.m4: Remove trailing blanks.
95552 2008-04-29  Eric Blake  <ebb9@byu.net>
95554         Silence valgrind on safe reads beyond potential array bounds.
95555         * lib/rawmemchr.valgrind: New file.
95556         * lib/strchrnul.valgrind: Likewise.
95557         * modules/rawmemchr (Files): Distribute new file.
95558         * modules/strchrnul (Files): Likewise.
95559         Suggested by Bruno Haible.
95561 2008-04-29  Bruno Haible  <bruno@clisp.org>
95563         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
95564         (inet_ntop, inet_pton): Change portability warning's wording.
95565         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
95566         Invoke gl_CHECK_NEXT_HEADERS.
95567         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
95568         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
95569         set ARPA_INET_H.
95570         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
95571         * modules/arpa_inet (Description): No longer only for systems that
95572         lack it.
95573         (Depends-on): Add include_next.
95574         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
95575         HAVE_ARPA_INET_H.
95577 2008-04-29  Jim Meyering  <meyering@redhat.com>
95579         * modules/mkdir (License): Re-license as LGPLv2+.
95581 2008-04-29  Bruno Haible  <bruno@clisp.org>
95583         * modules/rawmemchr (Maintainer): Set to Eric.
95584         * modules/strchrnul (Maintainer): Likewise.
95586 2008-04-29  Simon Josefsson  <simon@josefsson.org>
95588         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
95589         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
95591         * modules/arpa_inet (arpa/inet.h): Use them.
95593 2008-04-28  Eric Blake  <ebb9@byu.net>
95595         Test getndelim2.
95596         * modules/getndelim2-tests: New file.
95597         * tests/test-getndelim2.c: Likewise.
95598         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
95599         stream.
95600         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
95602         * MODULES.html.sh: Document new module.
95604 2008-04-20  Bruno Haible  <bruno@clisp.org>
95606         * lib/c-stack.c (die): Use raise.
95607         * modules/c-stack (Depends-on): Add raise.
95609 2008-04-28  Bruno Haible  <bruno@clisp.org>
95611         Expect rpmatch to be declared.
95612         * lib/yesno.c (rpmatch): Remove declaration.
95614         Declare rpmatch.
95615         * lib/stdlib.in.h (rpmatch): New declaration.
95616         * lib/rpmatch.c: Include <stdlib.h> first.
95617         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
95618         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
95619         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
95620         HAVE_RPMATCH.
95621         * modules/rpmatch (Depends-on): Add stdlib, extensions.
95622         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
95623         (Include): Set to <stdlib.h>.
95624         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
95625         HAVE_RPMATCH.
95626         * NEWS: Document the change.
95628 2008-04-28  Bruno Haible  <bruno@clisp.org>
95630         Change rpmatch to use nl_langinfo when appropriate.
95631         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
95632         (N_): New macro.
95633         (localized_pattern): New function/macro.
95634         (try): Remove match, nomatch arguments. Copy the pattern into safe
95635         memory before caching it.
95636         (rpmatch): Use localized_pattern. Add translator comments.
95637         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
95638         Suggested by Eric Blake.
95639         * modules/rpmatch (Depends-on): Add stdbool.
95641 2008-04-28  Eric Blake  <ebb9@byu.net>
95643         Add rawmemchr module, matching glibc.
95644         * modules/string (Makefile.am): New indicator.
95645         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
95646         * lib/string.in.h (rawmemchr): Declare when appropriate.
95647         * modules/rawmemchr: New file.
95648         * m4/rawmemchr.m4: Likewise.
95649         * lib/rawmemchr.c: Likewise.
95650         * modules/rawmemchr-tests: Likewise.
95651         * tests/test-rawmemchr.c: Likewise.
95652         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
95653         module.
95654         * modules/strchrnul (Depends-on): Add rawmemchr.
95655         * lib/strchrnul.c (strchrnul): Optimize a corner case.
95657         Whitespace cleanup.
95658         * tests/test-strchrnul.c: Reindent.
95659         * lib/strchrnul.c: Likewise.
95661         Optimize and test strchrnul.
95662         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
95663         * modules/strchrnul-tests: New file.
95664         * tests/test-strchrnul.c: Likewise.
95666         Remove intprops dependency.
95667         * modules/memchr (Depends-on): Remove intprops.
95668         * modules/memrchr (Depends-on): Likewise.
95669         * modules/memchr2 (Depends-on): Likewise.
95670         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
95671         * lib/memrchr.c (__memrchr): Likewise.
95672         * lib/memrchr2.c (memchr2): Likewise.
95673         Reported by Simon Josefsson.
95675 2008-04-28  Simon Josefsson  <simon@josefsson.org>
95677         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
95678         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
95680 2008-04-28  Simon Josefsson  <simon@josefsson.org>
95682         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
95684         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
95686         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
95688         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
95689         declarations.
95690         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
95692         * m4/inet_pton.m4: Don't check for header files.
95694         * m4/inet_ntop.m4: Don't check for header files.
95696 2008-04-28  Simon Josefsson  <simon@josefsson.org>
95698         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
95699         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
95700         trigger for cygwin).
95701         Reported by Bruno Haible  <bruno@clisp.org>.
95703 2008-04-28  Bruno Haible  <bruno@clisp.org>
95705         * doc/posix-functions/strdup.texi: Mention mingw problem.
95707 2008-04-27  Bruno Haible  <bruno@clisp.org>
95709         * modules/stat-time-tests (Depends-on): Add sleep.
95710         * tests/test-stat-time.c (force_unlink): New function.
95711         (cleanup): Use it.
95712         (test_mtime): Remove the ctime related tests.
95713         (test_ctime): New function, containing the ctime related tests.
95714         (main): Call test_ctime, except on native Windows platforms.
95716 2008-04-27  Bruno Haible  <bruno@clisp.org>
95718         * lib/rpmatch.c (rpmatch): Add some comments.
95719         Reported by James Youngman <jay@gnu.org>.
95721 2008-04-27  Bruno Haible  <bruno@clisp.org>
95723         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
95724         quiet NaNs.
95726 2008-04-27  Bruno Haible  <bruno@clisp.org>
95728         Make test-yesno.sh work on mingw.
95729         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
95730         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
95731         (main): Set stdin to binary mode.
95732         * modules/yesno-tests (Depends-on): Add binary-io.
95734 2008-04-27  Bruno Haible  <bruno@clisp.org>
95736         Fix 'isfinite' on x86, x86_64, ia64 platforms.
95737         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
95738         argument that lie outside the IEEE 854 domain.
95739         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
95740         (gl_ISFINITE): Use it.
95741         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
95743 2008-04-27  Bruno Haible  <bruno@clisp.org>
95745         Allow local renaming in config.h.
95746         * lib/memrchr.c (memrchr): Don't undefine outside libc.
95748 2008-04-27  Bruno Haible  <bruno@clisp.org>
95750         * lib/memchr.c (__memchr): Change type of 'i'.
95751         * lib/memchr2.c (memchr2): Likewise.
95753 2008-04-26  Eric Blake  <ebb9@byu.net>
95754         and Bruno Haible  <bruno@clisp.org>
95756         Optimize and test memrchr.
95757         * modules/memrchr (Depends-on): Add intprops.
95758         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
95759         * modules/memrchr-tests: New file.
95760         * tests/test-memrchr.c: New file.
95762 2008-04-26  Bruno Haible  <bruno@clisp.org>
95764         Add tentative support for DragonFly BSD.
95765         * lib/stdio-impl.h: Add macros for DragonFly BSD.
95766         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
95767         fp.
95768         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
95769         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
95770         * lib/fpurge.c (fpurge): Likewise.
95771         * lib/freadable.c (freaadable): Likewise.
95772         * lib/freadahead.c (freadahead): Likewise.
95773         * lib/freading.c (freading): Likewise.
95774         * lib/freadptr.c (freadptr): Likewise.
95775         * lib/freadseek.c (freadptrinc): Likewise.
95776         * lib/fseeko.c (fseeko): Likewise.
95777         * lib/fseterr.c (fseterr): Likewise.
95778         * lib/fwritable.c (fwritable): Likewise.
95779         * lib/fwriting.c (fwriting): Likewise.
95781 2008-04-26  Bruno Haible  <bruno@clisp.org>
95783         * lib/stdio-impl.h: New file.
95784         * lib/fbufmode.c: Include stdio-impl.h.
95785         (fbufmode): Use fp_, remove redundant #defines.
95786         * lib/fflush.c: Include stdio-impl.h.
95787         (clear_ungetc_buffer): Remove redundant #defines.
95788         * lib/fpurge.c: Include stdio-impl.h.
95789         (fpurge): Remove redundant #defines.
95790         * lib/freadable.c: Include stdio-impl.h.
95791         (freadable): Remove redundant #defines.
95792         * lib/freadahead.c: Include stdio-impl.h.
95793         (freadahead): Remove redundant #defines.
95794         * lib/freading.c: Include stdio-impl.h.
95795         (freading): Remove redundant #defines.
95796         * lib/freadptr.c: Include stdio-impl.h.
95797         (freadptr): Remove redundant #defines.
95798         * lib/freadseek.c: Include stdio-impl.h.
95799         (freadptrinc): Remove redundant #defines.
95800         * lib/fseeko.c: Include stdio-impl.h.
95801         (rpl_fseeko): Remove redundant #defines.
95802         * lib/fseterr.c: Include stdio-impl.h.
95803         (fseterr): Remove redundant #defines.
95804         * lib/fwritable.c: Include stdio-impl.h.
95805         (fwritable: Remove redundant #defines.
95806         * lib/fwriting.c: Include stdio-impl.h.
95807         (fwriting): Remove redundant #defines.
95808         * modules/fbufmode (Files): Add lib/stdio-impl.h.
95809         * modules/fflush (Files): Likewise.
95810         * modules/fpurge (Files): Likewise.
95811         * modules/freadable (Files): Likewise.
95812         * modules/freadahead (Files): Likewise.
95813         * modules/freading (Files): Likewise.
95814         * modules/freadptr (Files): Likewise.
95815         * modules/freadseek (Files): Likewise.
95816         * modules/fseeko (Files): Likewise.
95817         * modules/fseterr (Files): Likewise.
95818         * modules/fwritable (Files): Likewise.
95819         * modules/fwriting (Files): Likewise.
95821 2008-04-26  Bruno Haible  <bruno@clisp.org>
95823         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
95824         restore_seek_optimization, update_fpos_cache): New functions, extracted
95825         from rpl_fflush.
95826         (rpl_fflush): Use them.
95827         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
95828         (gl_REPLACE_FFLUSH): Use it.
95830 2008-04-26  Bruno Haible  <bruno@clisp.org>
95832         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
95833         on Solaris.
95834         * tests/test-xstrtoimax.sh: Likewise.
95835         * tests/test-xstrtoumax.sh: Likewise.
95836         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
95838 2008-04-26  Bruno Haible  <bruno@clisp.org>
95840         * modules/memchr-tests: New file.
95841         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
95843 2008-04-26  Eric Blake  <ebb9@byu.net>
95844             Bruno Haible  <bruno@clisp.org>
95846         * lib/memchr.c: Include intprops.h.
95847         (__memchr): Optimize parallel detection of matching bytes. Rename local
95848         variables. Add explanatory comments.
95850 2008-04-26  Bruno Haible  <bruno@clisp.org>
95852         Fix module 'memchr', broken since 2000-10-28.
95853         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
95855 2008-04-26  Bruno Haible  <bruno@clisp.org>
95857         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
95858         comments.
95860 2008-04-25  Eric Blake  <ebb9@byu.net>
95862         Use native fstatat on cygwin 1.7.0.
95863         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
95864         first.
95866 2008-04-23  Eric Blake  <ebb9@byu.net>
95868         Improve memchr2 performance.
95869         * lib/memchr2.c (memchr2): Further optimize parallel detection of
95870         NUL bytes.
95871         * modules/memchr2 (Depends-on): Use intprops.h.
95873 2008-04-23  Simon Josefsson  <simon@josefsson.org>
95875         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
95876         an inline function instead of a CPP macro.  Patch by Ben Pfaff
95877         <blp@cs.stanford.edu>.
95879 2008-04-23  Simon Josefsson  <simon@josefsson.org>
95881         * lib/arpa_inet.in.h: New file.
95883         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
95884         (Makefile.am): Sed in substitute header file.
95886         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
95887         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
95889         * modules/inet_ntop (configure.ac): Use
95890         gl_ARPA_INET_MODULE_INDICATOR.
95892         * modules/inet_pton (configure.ac): Use
95893         gl_ARPA_INET_MODULE_INDICATOR.
95895 2008-04-22  Jim Meyering  <meyering@redhat.com>
95897         * modules/verify (License): Re-license as LGPLv2+.
95899 2008-04-22  Simon Josefsson  <simon@josefsson.org>
95901         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
95902         parameter to void* as per POSIX standard (MinGW uses char*).
95904 2008-04-21  Bruno Haible  <bruno@clisp.org>
95906         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
95907         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
95908         Define to replacements if REPLACE_ISWCNTRL is 1.
95909         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
95910         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
95911         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
95912         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
95913         what it fixes.
95914         * doc/posix-functions/iswalpha.texi: Likewise.
95915         * doc/posix-functions/iswblank.texi: Likewise.
95916         * doc/posix-functions/iswcntrl.texi: Likewise.
95917         * doc/posix-functions/iswdigit.texi: Likewise.
95918         * doc/posix-functions/iswgraph.texi: Likewise.
95919         * doc/posix-functions/iswlower.texi: Likewise.
95920         * doc/posix-functions/iswprint.texi: Likewise.
95921         * doc/posix-functions/iswpunct.texi: Likewise.
95922         * doc/posix-functions/iswspace.texi: Likewise.
95923         * doc/posix-functions/iswupper.texi: Likewise.
95924         * doc/posix-functions/iswxdigit.texi: Likewise.
95925         Reported by Alain Guibert.
95927 2008-04-21  Bruno Haible  <bruno@clisp.org>
95929         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
95930         Patch by Alain Guibert.
95932 2008-04-21  Bruno Haible  <bruno@clisp.org>
95934         Fix test failures on mingw.
95935         * tests/test-xstrtol.c (print_no_progname): New function.
95936         (main): Install it in error_print_progname hook.
95937         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
95938         * tests/test-xstrtoimax.sh: Likewise.
95939         * tests/test-xstrtoumax.sh: Likewise.
95941 2008-04-21  Bruno Haible  <bruno@clisp.org>
95943         Fix test failure on mingw.
95944         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
95946 2008-04-21  Bruno Haible  <bruno@clisp.org>
95948         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
95949         Actually assign a value.
95951 2008-04-20  Bruno Haible  <bruno@clisp.org>
95953         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
95954         take 2.
95955         * lib/canonicalize.c (canonicalize_file_name): Elide if the
95956         'canonicalize-lgpl' module is also used.
95957         * lib/canonicalize-lgpl.c: Undo last change.
95958         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
95960 2008-04-20  Bruno Haible  <bruno@clisp.org>
95962         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
95963         config.h. Provide _mkdir based fallback for mingw.
95964         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
95965         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
95966         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
95967         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
95968         rather than defining mkdir in config.h.
95969         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
95970         (gl_SYS_STAT_H_DEFAULTS): New macro.
95971         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
95972         HAVE_IO_H any more.
95973         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
95974         HAVE_DECL_MKDIR and HAVE_IO_H.
95976 2008-04-20  Bruno Haible  <bruno@clisp.org>
95978         * lib/isapipe.c: Port to native Windows platforms.
95980 2008-04-20  Bruno Haible  <bruno@clisp.org>
95982         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
95984 2008-04-21  Eric Blake  <ebb9@byu.net>
95986         Work around preprocessors that don't handle UINTMAX_MAX.
95987         * lib/memchr2.c (memchr2): Avoid embedded #if.
95988         Reported by Alain Guibert, fix suggested by Bruno Haible.
95990 2008-04-21  Simon Josefsson  <simon@josefsson.org>
95992         * doc/posix-functions/strftime.texi (strftime): Explain better
95993         Windows incompatibility.  Suggested by Micah Cowan
95994         <micah@cowan.name>.
95996 2008-04-20  Bruno Haible  <bruno@clisp.org>
95998         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
95999         unistr/u8-mblen.
96001 2008-04-20  Bruno Haible  <bruno@clisp.org>
96003         Fix test failure on platforms with non-GNU iconv.
96004         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
96005         (U_TO_U8): Use it, rather than u16_to_u8.
96006         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
96007         units at the end of the input string.
96008         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
96010 2008-04-20  Bruno Haible  <bruno@clisp.org>
96012         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
96013         when the resulting length is 0.
96014         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
96016 2008-04-20  Bruno Haible  <bruno@clisp.org>
96018         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
96019         works.
96020         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
96022 2008-04-20  Bruno Haible  <bruno@clisp.org>
96024         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
96025         * modules/tsearch-tests (configure.ac): Test for initstate function.
96027 2008-04-20  Bruno Haible  <bruno@clisp.org>
96029         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
96030         for nlink_t if missing.
96031         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
96033 2008-04-19  Bruno Haible  <bruno@clisp.org>
96035         Work around snprintf bug on Linux libc5.
96036         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
96037         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
96038         gl_SNPRINTF_SIZE1.
96039         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
96040         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
96041         that test failed.
96042         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
96043         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
96044         * modules/snprintf (Files): Add m4/printf.m4.
96045         * modules/vsnprintf (Files): Likewise.
96046         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
96047         * doc/posix-functions/vsnprintf.texi: Likewise.
96049 2008-04-19  Bruno Haible  <bruno@clisp.org>
96051         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
96052         from 0.0058 to less than 10^-7.
96054 2008-04-19  Bruno Haible  <bruno@clisp.org>
96056         Fix rounding when a precision is given.
96057         * lib/vasnprintf.c (is_borderline): New function.
96058         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
96059         9...9x.
96060         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
96061         %e, %g.
96062         * tests/test-vasprintf-posix.c (test_function): Likewise.
96063         * tests/test-snprintf-posix.h (test_function): Likewise.
96064         * tests/test-sprintf-posix.h (test_function): Likewise.
96065         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
96066         * tests/test-printf-posix.h (test_function): Likewise.
96067         * tests/test-printf-posix.output: Update.
96068         Reported by John Darrington <john@darrington.wattle.id.au> via
96069         Ben Pfaff <blp@cs.stanford.edu>.
96071 2008-04-18  Simon Josefsson  <simon@josefsson.org>
96073         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
96074         Suggested by Bruno Haible <bruno@clisp.org>.
96076 2008-04-17  Bruno Haible  <bruno@clisp.org>
96078         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
96079         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
96080         implementation.
96081         Patch by Bruce Merry <bmerry@gmail.com>.
96083 2008-04-17  Simon Josefsson  <simon@josefsson.org>
96085         * doc/posix-functions/strftime.texi (strftime): Mention that %e
96086         doesn't work under Windows.
96088 2008-04-16  Bruno Haible  <bruno@clisp.org>
96090         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
96091         New macros.
96092         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
96093         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
96094         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
96095         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
96096         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
96097         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
96098         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
96099         macros.
96100         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
96101         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
96102         Northern Sotho, Uighur.
96104 2008-04-16  Bruno Haible  <bruno@clisp.org>
96106         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
96107         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
96108         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
96109         Reported by Daniel Bergström <daniel@octocode.com>.
96111 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
96112             Bruno Haible  <bruno@clisp.org>
96114         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
96115         function.
96116         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
96117         New functions, mostly extracted from gl_locale_name_default.
96118         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
96120 2008-04-16  Eric Blake  <ebb9@byu.net>
96122         Adjust strtod detection to catch glibc 2.7 bug.
96123         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
96124         Reported by John Gatewood Ham.
96126 2008-04-16  Bruno Haible  <bruno@clisp.org>
96128         Add tentative support for Linux libc5.
96129         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
96130         * lib/fpurge.c (fpurge): Likewise.
96131         * lib/freadable.c (freadable): Likewise.
96132         * lib/freadahead.c (freadahead): Likewise.
96133         * lib/freading.c (freading): Likewise.
96134         * lib/freadptr.c (freadptr): Likewise.
96135         * lib/freadseek.c (freadptrinc): Likewise.
96136         * lib/fseeko.c (rpl_fseeko): Likewise.
96137         * lib/fseterr.c (fseterr): Likewise.
96138         * lib/fwritable.c (fwritable): Likewise.
96139         * lib/fwriting.c (fwriting): Likewise.
96140         Reported by Alain Guibert <alguibert+bts@free.fr>.
96142 2008-04-15  Bruno Haible  <bruno@clisp.org>
96144         * modules/mathl (configure.ac): Define module indicator.
96146 2008-04-15  Bruno Haible  <bruno@clisp.org>
96148         * lib/logl.c (logl): Remove unused variables.
96150 2008-04-15  Bruno Haible  <bruno@clisp.org>
96152         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
96153         fails.
96155 2008-04-15  Bruno Haible  <bruno@clisp.org>
96157         * lib/trim.c (trim2): Fix argument of isspace() macro.
96159 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
96161         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
96162         to 0.
96163         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
96165 2008-04-14  Bruno Haible  <bruno@clisp.org>
96167         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
96168         AC_LANG_PROGRAM argument.
96169         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
96170         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
96171         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
96172         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
96173         * m4/math_h.m4 (gl_MATH_H): Likewise.
96174         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
96175         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
96176         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
96177         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
96178         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
96179         * m4/regex.m4 (gl_REGEX): Likewise.
96180         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
96181         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
96182         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
96183         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
96184         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
96185         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
96186         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
96187         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
96189 2008-04-14  Jim Meyering  <meyering@redhat.com>
96191         test-strtod: fix typos: s/abs/fabs/
96192         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
96194 2008-04-13  Bruno Haible  <bruno@clisp.org>
96196         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
96197         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
96198         module is also used and while not building the reloc-wrapper.
96200 2008-04-13  Bruno Haible  <bruno@clisp.org>
96202         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
96204 2008-04-13  Bruno Haible  <bruno@clisp.org>
96206         Fix AIX compilation failure introduced on 2008-04-02.
96207         * tests/test-frexp.c (exp): Undefine before redefining.
96208         * tests/test-frexpl.c (exp): Likewise.
96210 2008-04-13  Bruno Haible  <bruno@clisp.org>
96212         Work around a HP-UX stdio bug.
96213         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
96214         * tests/test-ftello.c (main): Likewise.
96215         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
96216         * doc/posix-functions/ftello.texi: Likewise.
96218 2008-04-13  Bruno Haible  <bruno@clisp.org>
96220         Make test-signbit pass on HP-UX/hppa.
96221         * tests/test-signbit.c (minus_zerol): New variable.
96222         (test_signbitl): Use it.
96224 2008-04-13  Bruno Haible  <bruno@clisp.org>
96226         Make truncl work on OSF/1 4.0.
96227         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
96228         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
96229         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
96230         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
96231         HAVE_DECL_TRUNCL.
96232         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
96233         HAVE_DECL_TRUNCL.
96234         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
96236 2008-04-13  Bruno Haible  <bruno@clisp.org>
96238         * lib/unictype.h: Remove trailing comma from enumeration definitions.
96240 2008-04-13  Bruno Haible  <bruno@clisp.org>
96242         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
96243         expression, so as to avoid HP-UX 11 cc compiler bug.
96245 2008-04-13  Bruno Haible  <bruno@clisp.org>
96247         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
96249 2008-04-13  Bruno Haible  <bruno@clisp.org>
96251         * lib/git-merge-changelog.c: Remove empty declaration outside of
96252         functions.
96254 2008-04-13  Bruno Haible  <bruno@clisp.org>
96256         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
96258 2008-04-13  Bruno Haible  <bruno@clisp.org>
96260         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
96261         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
96262         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
96263         also if it exists but lacks definitions of the SHUT_* macros.
96264         * modules/sys_socket (Description): Update.
96265         Reported by Elbert Pol <e.pol@chello.nl>.
96267 2008-04-13  Bruno Haible  <bruno@clisp.org>
96269         * lib/localcharset.c (OS2): Don't redefine if already defined.
96270         Reported by Elbert Pol <e.pol@chello.nl>.
96272 2008-04-13  Bruno Haible  <bruno@clisp.org>
96274         * lib/binary-io.h [__EMX__]: Include <io.h>.
96275         Reported by Elbert Pol <e.pol@chello.nl>.
96277 2008-04-12  Bruno Haible  <bruno@clisp.org>
96279         * lib/fpucw.h: Enable the definitions also for x86_64.
96280         Needed for NetBSD/x86_64.
96281         Reported by Thomas Klausner <tk@giga.or.at>.
96283 2008-04-12  Bruno Haible  <bruno@clisp.org>
96285         * tests/test-strtod.c: Include isnand.h.
96286         (main): Use isnand instead of isnan.
96287         Reported by Jim Meyering.
96289 2008-04-12  Bruno Haible  <bruno@clisp.org>
96291         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
96292         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
96294 2008-04-12  Jim Meyering  <meyering@redhat.com>
96296         * m4/math_h.m4 (gl_MATH_H): Fix typos.
96298 2008-04-12  Bruno Haible  <bruno@clisp.org>
96300         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
96301         Reported by Elbert Pol <e.pol@chello.nl>.
96303 2008-04-12  Eric Blake  <ebb9@byu.net>
96305         Work around Solaris 10 math.h bug.
96306         * m4/math_h.m4 (gl_MATH_H): Check for bug.
96307         (gl_MATH_H_DEFAULTS): Set up default.
96308         * modules/math (Makefile.am): Replace new indicators.
96309         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
96310         * tests/test-math.c (main): Test this.
96311         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
96312         * doc/posix-headers/math.texi (math.h): Mention bug.
96313         Reported by Nelson H. F. Beebe and Jim Meyering.
96315 2008-04-11  Bruno Haible  <bruno@clisp.org>
96317         Adapt to future versions of Apple GCC.
96318         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
96319         Reported by Peter O'Gorman <peter@pogma.com>.
96321 2008-04-11  Bruno Haible  <bruno@clisp.org>
96323         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
96325 2008-04-11  Bruno Haible  <bruno@clisp.org>
96327         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
96329         * modules/getaddrinfo-tests (Makefile.am): Define
96330         test_getaddrinfo_LDADD.
96332 2008-04-11  Bruno Haible  <bruno@clisp.org>
96334         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
96335         (init): Fix syntax error.
96336         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
96337         is declared.
96339 2008-04-11  Bruno Haible  <bruno@clisp.org>
96341         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
96342         * modules/glob (Depends-on): Add stdbool.
96344 2008-04-11  Bruno Haible  <bruno@clisp.org>
96346         * lib/trim.c: Include <string.h>.
96348 2008-04-11  Eric Blake  <ebb9@byu.net>
96350         Avoid compile failure on OS/2.
96351         * lib/regex_internal.h (internal_function): Disable optimization
96352         on OS/2 (__EMX__), where it caused compiler error.
96353         Reported by Elbert Pol.
96355 2008-04-11  Bruno Haible  <bruno@clisp.org>
96357         Flush the standard error stream before aborting. Needed on mingw.
96358         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
96359         * tests/test-array_list.c (ASSERT): Likewise.
96360         * tests/test-array_oset.c (ASSERT): Likewise.
96361         * tests/test-avltree_list.c (ASSERT): Likewise.
96362         * tests/test-avltree_oset.c (ASSERT): Likewise.
96363         * tests/test-avltreehash_list.c (ASSERT): Likewise.
96364         * tests/test-binary-io.c (ASSERT): Likewise.
96365         * tests/test-byteswap.c (ASSERT): Likewise.
96366         * tests/test-c-ctype.c (ASSERT): Likewise.
96367         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
96368         * tests/test-c-strcasestr.c (ASSERT): Likewise.
96369         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
96370         * tests/test-c-strstr.c (ASSERT): Likewise.
96371         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
96372         * tests/test-canonicalize.c (ASSERT): Likewise.
96373         * tests/test-carray_list.c (ASSERT): Likewise.
96374         * tests/test-ceilf1.c (ASSERT): Likewise.
96375         * tests/test-ceilf2.c (ASSERT): Likewise.
96376         * tests/test-ceill.c (ASSERT): Likewise.
96377         * tests/test-count-one-bits.c (ASSERT): Likewise.
96378         * tests/test-fbufmode.c (ASSERT): Likewise.
96379         * tests/test-fflush2.c (ASSERT): Likewise.
96380         * tests/test-floorf1.c (ASSERT): Likewise.
96381         * tests/test-floorf2.c (ASSERT): Likewise.
96382         * tests/test-floorl.c (ASSERT): Likewise.
96383         * tests/test-fopen.c (ASSERT): Likewise.
96384         * tests/test-fpending.c (ASSERT): Likewise.
96385         * tests/test-fprintf-posix.c (ASSERT): Likewise.
96386         * tests/test-fpurge.c (ASSERT): Likewise.
96387         * tests/test-freadable.c (ASSERT): Likewise.
96388         * tests/test-freadahead.c (ASSERT): Likewise.
96389         * tests/test-freading.c (ASSERT): Likewise.
96390         * tests/test-freadptr.c (ASSERT): Likewise.
96391         * tests/test-freadptr2.c (ASSERT): Likewise.
96392         * tests/test-freadseek.c (ASSERT): Likewise.
96393         * tests/test-freopen.c (ASSERT): Likewise.
96394         * tests/test-frexp.c (ASSERT): Likewise.
96395         * tests/test-frexpl.c (ASSERT): Likewise.
96396         * tests/test-fseek.c (ASSERT): Likewise.
96397         * tests/test-fseeko.c (ASSERT): Likewise.
96398         * tests/test-fstrcmp.c (ASSERT): Likewise.
96399         * tests/test-ftell.c (ASSERT): Likewise.
96400         * tests/test-ftello.c (ASSERT): Likewise.
96401         * tests/test-func.c (ASSERT): Likewise.
96402         * tests/test-fwritable.c (ASSERT): Likewise.
96403         * tests/test-fwriting.c (ASSERT): Likewise.
96404         * tests/test-getdelim.c (ASSERT): Likewise.
96405         * tests/test-getline.c (ASSERT): Likewise.
96406         * tests/test-i-ring.c (ASSERT): Likewise.
96407         * tests/test-iconv-utf.c (ASSERT): Likewise.
96408         * tests/test-iconv.c (ASSERT): Likewise.
96409         * tests/test-isfinite.c (ASSERT): Likewise.
96410         * tests/test-isnand.c (ASSERT): Likewise.
96411         * tests/test-isnanf.c (ASSERT): Likewise.
96412         * tests/test-isnanl.h (ASSERT): Likewise.
96413         * tests/test-ldexpl.c (ASSERT): Likewise.
96414         * tests/test-linked_list.c (ASSERT): Likewise.
96415         * tests/test-linkedhash_list.c (ASSERT): Likewise.
96416         * tests/test-localename.c (ASSERT): Likewise.
96417         * tests/test-lseek.c (ASSERT): Likewise.
96418         * tests/test-mbscasecmp.c (ASSERT): Likewise.
96419         * tests/test-mbscasestr1.c (ASSERT): Likewise.
96420         * tests/test-mbscasestr2.c (ASSERT): Likewise.
96421         * tests/test-mbscasestr3.c (ASSERT): Likewise.
96422         * tests/test-mbscasestr4.c (ASSERT): Likewise.
96423         * tests/test-mbschr.c (ASSERT): Likewise.
96424         * tests/test-mbscspn.c (ASSERT): Likewise.
96425         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
96426         * tests/test-mbspbrk.c (ASSERT): Likewise.
96427         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
96428         * tests/test-mbsrchr.c (ASSERT): Likewise.
96429         * tests/test-mbsspn.c (ASSERT): Likewise.
96430         * tests/test-mbsstr1.c (ASSERT): Likewise.
96431         * tests/test-mbsstr2.c (ASSERT): Likewise.
96432         * tests/test-mbsstr3.c (ASSERT): Likewise.
96433         * tests/test-memchr2.c (ASSERT): Likewise.
96434         * tests/test-memmem.c (ASSERT): Likewise.
96435         * tests/test-open.c (ASSERT): Likewise.
96436         * tests/test-printf-frexp.c (ASSERT): Likewise.
96437         * tests/test-printf-frexpl.c (ASSERT): Likewise.
96438         * tests/test-printf-posix.c (ASSERT): Likewise.
96439         * tests/test-quotearg.c (ASSERT): Likewise.
96440         * tests/test-rbtree_list.c (ASSERT): Likewise.
96441         * tests/test-rbtree_oset.c (ASSERT): Likewise.
96442         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
96443         * tests/test-round1.c (ASSERT): Likewise.
96444         * tests/test-roundf1.c (ASSERT): Likewise.
96445         * tests/test-roundl.c (ASSERT): Likewise.
96446         * tests/test-signbit.c (ASSERT): Likewise.
96447         * tests/test-sleep.c (ASSERT): Likewise.
96448         * tests/test-snprintf-posix.c (ASSERT): Likewise.
96449         * tests/test-snprintf.c (ASSERT): Likewise.
96450         * tests/test-sprintf-posix.c (ASSERT): Likewise.
96451         * tests/test-stat-time.c (ASSERT): Likewise.
96452         * tests/test-strcasestr.c (ASSERT): Likewise.
96453         * tests/test-strerror.c (ASSERT): Likewise.
96454         * tests/test-striconv.c (ASSERT): Likewise.
96455         * tests/test-striconveh.c (ASSERT): Likewise.
96456         * tests/test-striconveha.c (ASSERT): Likewise.
96457         * tests/test-strsignal.c (ASSERT): Likewise.
96458         * tests/test-strstr.c (ASSERT): Likewise.
96459         * tests/test-strtod.c (ASSERT): Likewise.
96460         * tests/test-trunc1.c (ASSERT): Likewise.
96461         * tests/test-trunc2.c (ASSERT): Likewise.
96462         * tests/test-truncf1.c (ASSERT): Likewise.
96463         * tests/test-truncf2.c (ASSERT): Likewise.
96464         * tests/test-truncl.c (ASSERT): Likewise.
96465         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
96466         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
96467         * tests/test-vasnprintf.c (ASSERT): Likewise.
96468         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
96469         * tests/test-vasprintf.c (ASSERT): Likewise.
96470         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
96471         * tests/test-vprintf-posix.c (ASSERT): Likewise.
96472         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
96473         * tests/test-vsnprintf.c (ASSERT): Likewise.
96474         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
96475         * tests/test-wcwidth.c (ASSERT): Likewise.
96476         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
96477         * tests/test-xprintf-posix.c (ASSERT): Likewise.
96478         * tests/test-xvasprintf.c (ASSERT): Likewise.
96479         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
96480         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
96481         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
96482         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
96483         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
96484         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
96485         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
96486         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
96487         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
96488         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
96489         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
96490         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
96491         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
96492         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
96493         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
96494         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
96495         * tests/unictype/test-block_list.c (ASSERT): Likewise.
96496         * tests/unictype/test-block_of.c (ASSERT): Likewise.
96497         * tests/unictype/test-block_test.c (ASSERT): Likewise.
96498         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
96499         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
96500         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
96501         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
96502         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
96503         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
96504         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
96505         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
96506         * tests/unictype/test-combining.c (ASSERT): Likewise.
96507         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
96508         * tests/unictype/test-digit.c (ASSERT): Likewise.
96509         * tests/unictype/test-mirror.c (ASSERT): Likewise.
96510         * tests/unictype/test-numeric.c (ASSERT): Likewise.
96511         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
96512         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
96513         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
96514         * tests/unictype/test-scripts.c (ASSERT): Likewise.
96515         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
96516         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
96517         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
96518         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
96519         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
96520         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
96521         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
96522         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
96523         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
96524         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
96525         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
96526         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
96527         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
96528         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
96529         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
96530         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
96531         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
96532         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
96533         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
96534         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
96535         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
96536         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
96537         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
96538         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
96539         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
96540         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
96541         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
96542         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
96543         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
96544         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
96545         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
96546         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
96547         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
96548         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
96549         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
96550         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
96551         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
96552         Reported by Eric Blake.
96554 2008-04-11  Bruno Haible  <bruno@clisp.org>
96556         * lib/wchar.in.h: Tweak comment.
96558 2008-04-11  Bruno Haible  <bruno@clisp.org>
96560         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
96561         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
96562         gl_COMMON.
96563         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
96565 2008-04-11  Bruno Haible  <bruno@clisp.org>
96567         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
96569 2008-04-11  Simon Josefsson  <simon@josefsson.org>
96571         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
96572         of attempting to use non-existing /dev/*random.  Based on patch
96573         from Adam Strzelecki <ono@java.pl> in
96574         <http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.
96576 2008-04-08  Bruno Haible  <bruno@clisp.org>
96578         Add tentative support for emx+gcc.
96579         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
96580         * lib/fpurge.c (fpurge): Likewise.
96581         * lib/freadable.c (freadable): Likewise.
96582         * lib/freadahead.c (freadahead): Likewise.
96583         * lib/freading.c (freading): Likewise.
96584         * lib/freadptr.c (freadptr): Likewise.
96585         * lib/freadseek.c (freadptrinc): Likewise.
96586         * lib/fseeko.c (rpl_fseeko): Likewise.
96587         * lib/fseterr.c (fseterr): Likewise.
96588         * lib/fwritable.c (fwritable): Likewise.
96589         * lib/fwriting.c (fwriting): Likewise.
96590         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
96592 2008-04-09  Eric Blake  <ebb9@byu.net>
96594         Avoid some autoconf warnings.
96595         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
96596         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
96597         * m4/afs.m4 (gl_AFS): Likewise.
96598         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
96599         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
96600         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
96601         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
96602         (gl_INTEGER_TYPE_SUFFIX): Likewise.
96603         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
96604         (AC_CHECK_DECLS_ONCE): Likewise.
96605         Rename file...
96606         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
96607         gnulib-tool requires autoconf 2.59 or better.
96608         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
96610 2008-04-08  Eric Blake  <ebb9@byu.net>
96612         Use 'git describe --match' if present (added in git 1.5.5).
96613         * build-aux/git-version-gen: Limit result to tags that match 'v*'
96614         if possible.
96616 2008-04-08  Bruno Haible  <bruno@clisp.org>
96618         Add tentative support for OpenServer.
96619         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
96620         _ptr, _cnt.
96621         * lib/fpurge.c (fpurge): Likewise.
96622         * lib/freadable.c (freadable): Likewise.
96623         * lib/freadahead.c (freadahead): Likewise.
96624         * lib/freading.c (freading): Likewise.
96625         * lib/freadptr.c (freadptr): Likewise.
96626         * lib/freadseek.c (freadptrinc): Likewise.
96627         * lib/fseeko.c (rpl_fseeko): Likewise.
96628         * lib/fseterr.c (fseterr): Likewise.
96629         * lib/fwritable.c (fwritable): Likewise.
96630         * lib/fwriting.c (fwriting): Likewise.
96631         Reported by Roger Cornelius <rac@tenzing.org> and
96632         Brian K. White <brian@aljex.com>.
96634 2008-04-06  Jim Meyering  <meyering@redhat.com>
96636         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
96638 2008-04-06  Bruno Haible  <bruno@clisp.org>
96640         Avoid possible error with non-ASCII bytes in UTF-8 locales.
96641         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
96642         * tests/test-printf-posix.sh: Likewise.
96643         * tests/test-vfprintf-posix.sh: Likewise.
96644         * tests/test-vprintf-posix.sh: Likewise.
96645         * tests/test-xprintf-posix.sh: Likewise.
96647 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96649         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
96650         hide error from 'ls', needed on OS/2.
96651         Report by Elbert Pol <elbert.pol@gmail.com>.
96653 2008-04-04  Eric Blake  <ebb9@byu.net>
96655         Make test-fseeko.c failures meaningful.
96656         * tests/test-fseeko.c: Print line number on failure.
96657         * tests/test-fseek.c: Likewise.
96658         Reported by Nelson H. F. Beebe.
96660         Improve strtod bug detection check.
96661         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
96662         required for Solaris 10.
96663         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
96665 2008-04-04  Bruno Haible  <bruno@clisp.org>
96667         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
96668         by m4/setenv.m4.
96670 2008-04-03  Eric Blake  <ebb9@byu.net>
96672         Ensure sane .version contents.
96673         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
96674         version string.
96675         * build-aux/git-version-gen: Improve documentation.
96677         Make GNU make output nicer.
96678         * top/GNUmakefile [!_have-Makefile]: Add dependency on
96679         MAKECMDGOALS to enforce message for all command line targets.  Set
96680         srcdir for use in maint.mk.
96682         Another maintainer tweak.
96683         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
96684         a target that regenerates version.
96686 2008-04-03  Jim Meyering  <meyering@redhat.com>
96688         vc-list-files: don't cause coreutils "make po-check" failure
96689         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
96691 2008-04-03  Eric Blake  <ebb9@byu.net>
96693         Allow VPATH usage of vc-list-files.
96694         * build-aux/vc-list-files (scriptversion): Add timestamp.
96695         (options): Add --help, --version, -C.
96696         (CVS): Support installed cvsu.
96698 2008-04-02  Bruno Haible  <bruno@clisp.org>
96700         Avoid some "statement with no effect" warnings from gcc.
96701         * tests/test-wctype.c (main): Explicitly ignore unused values.
96702         Reported by Jim Meyering.
96704 2008-04-02  Jim Meyering  <meyering@redhat.com>
96706         Avoid some warnings from "gcc -Wshadow".
96707         * tests/test-frexp.c (exp): Define to a different identifier.
96708         * tests/test-frexpl.c (exp): Likewise.
96710 2008-04-03  Jim Meyering  <meyering@redhat.com>
96712         bootstrap: remove dangling *.[ch] symlinks from lib
96713         * build-aux/bootstrap [dangling symlink removal]: Move find's
96714         -depth option to precede all others, to avoid a warning.
96715         Remove *.[ch] files too, and from "$source_base" (usually lib/).
96717 2008-04-02  Bruno Haible  <bruno@clisp.org>
96719         Avoid some warnings from "gcc -Wshadow".
96720         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
96721         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
96722         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
96723         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
96724         Reported by Jim Meyering.
96726 2008-04-01  Bruno Haible  <bruno@clisp.org>
96728         Fix test to work on IRIX 6.5 with cc.
96729         * tests/test-math.c (numeric_equal): New function.
96730         (main): Use it.
96732 2008-04-01  Bruno Haible  <bruno@clisp.org>
96734         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
96736 2008-04-01  Bruno Haible  <bruno@clisp.org>
96738         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
96739         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96740         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
96741         (Depends-on): Remove math.
96743         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
96744         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96745         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
96746         (Depends-on): Remove math.
96748         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
96749         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96750         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
96751         (Depends-on): Remove math.
96752         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
96753         (Depends-on): Remove math.
96755         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
96756         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96757         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
96758         (Depends-on): Remove math.
96759         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
96760         (Depends-on): Remove math.
96762         * tests/test-round1.c: Include nan.h.
96763         (main): Use NaNd instead of NAN.
96764         * modules/round-tests (Files): Add tests/nan.h.
96766         * tests/test-trunc1.c: Include nan.h.
96767         (main): Use NaNd instead of NAN.
96768         * modules/trunc-tests (Files): Add tests/nan.h.
96770         * tests/test-roundf1.c: Include nan.h.
96771         (main): Use NaNf instead of NAN.
96772         * modules/roundf-tests (Files): Add tests/nan.h.
96774         * tests/test-truncf1.c: Include nan.h.
96775         (main): Use NaNf instead of NAN.
96776         * modules/truncf-tests (Files): Add tests/nan.h.
96778         * tests/test-ceilf1.c: Include nan.h.
96779         (main): Use NaNf instead of NAN.
96780         * modules/ceilf-tests (Files): Add tests/nan.h.
96782         * tests/test-floorf1.c: Include nan.h.
96783         (main): Use NaNf instead of NAN.
96784         * modules/floorf-tests (Files): Add tests/nan.h.
96786         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
96787         (main): Use NaNf instead of NAN.
96788         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
96790         * tests/test-isnand.c: Include nan.h instead of <math.h>.
96791         (main): Use NaNd instead of NAN.
96792         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
96794         * tests/test-frexp.c: Include nan.h.
96795         (main): Use NaNd instead of NAN.
96796         * modules/frexp-tests (Files): Add tests/nan.h.
96798         * lib/isnan.c: Don't include <math.h>.
96799         (FUNC): Don't use NAN macro.
96800         * modules/isnand-nolibm (Depends-on): Remove math.
96801         * modules/isnanf-nolibm (Depends-on): Remove math.
96802         * modules/isnanl (Depends-on): Remove math.
96803         * modules/isnanl-nolibm (Depends-on): Remove math.
96805         * tests/nan.h: New file.
96807 2008-04-01  Eric Blake  <ebb9@byu.net>
96809         Fix typos.
96810         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
96811         values to be the right type.
96813         For now, cater to gnulib strtod inaccuracies.
96814         * tests/test-strtod.c (main): Allow 1-ulp error on expected
96815         fractional results.  While not as nice from a QoI perspective, it
96816         is a quicker patch than correctly implementing decimal to binary
96817         rounding.
96819 2008-03-31  Eric Blake  <ebb9@byu.net>
96821         Guarantee a definition of NAN.
96822         * lib/math.in.h (NAN): Define if missing.
96823         * tests/test-math.c (main): Test it.
96824         * doc/posix-headers/math.texi (math.h): Document this.
96825         * lib/isnan.c (rpl_isnand): Use it.
96826         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
96827         * tests/test-floorf1.c (NaN): Likewise.
96828         * tests/test-frexp.c (NaN): Likewise.
96829         * tests/test-isnand.c (NaN): Likewise.
96830         * tests/test-isnanf.c (NaN): Likewise.
96831         * tests/test-round1.c (NaN): Likewise.
96832         * tests/test-roundf1.c (NaN): Likewise.
96833         * tests/test-snprintf-posix.h (NaN): Likewise.
96834         * tests/test-sprintf-posix.h (NaN): Likewise.
96835         * tests/test-trunc1.c (NaN): Likewise.
96836         * tests/test-truncf1.c (NaN): Likewise.
96837         * tests/test-vasnprintf-posix.c (NaN): Likewise.
96838         * tests/test-vasprintf-posix.c (NaN): Likewise.
96839         * modules/isnand-nolibm (Depends-on): Add math.
96840         * modules/isnanf-nolibm (Depends-on): Likewise.
96841         * modules/isnanl (Depends-on): Likewise.
96842         * modules/isnanl-nolibm (Depends-on): Likewise.
96843         * modules/snprintf-posix-tests (Depends-on): Likewise.
96844         * modules/sprintf-posix-tests (Depends-on): Likewise.
96845         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
96846         * modules/vsprintf-posix-tests (Depends-on): Likewise.
96847         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
96848         * modules/vasprintf-posix-tests (Depends-on): Likewise.
96850 2008-03-31  Bruno Haible  <bruno@clisp.org>
96852         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
96853         * doc/posix-functions/strtod.texi: Likewise.
96855 2008-03-31  Bruno Haible  <bruno@clisp.org>
96857         * tests/test-strtod.c (main): Don't use C99 syntax.
96859 2008-03-31  Bruno Haible  <bruno@clisp.org>
96861         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
96862         Reported by Eric Blake.
96864 2008-03-31  Jim Meyering  <meyering@redhat.com>
96866         Don't compare actual signbit return values.
96867         * tests/test-strtod.c (main): Rather, compare only their
96868         zero/non-zero nature.
96870 2008-03-31  Eric Blake  <ebb9@byu.net>
96872         More strtod documentation.
96873         * doc/posix-functions/strtod.texi (strtod): Interpret more test
96874         failures as distinct bugs.
96876 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
96878         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
96879         Problem reported by Erik Benada in
96880         <http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.
96882 2008-03-30  Bruno Haible  <bruno@clisp.org>
96884         * tests/test-strtod.c: Add comments about which assertion fails on which
96885         platform.
96886         * doc/posix-functions/strtod.texi: Add info about many more platforms.
96888 2008-03-30  Eric Blake  <ebb9@byu.net>
96890         Test signbit behavior on zeros.
96891         * tests/test-signbit.c (test_signbitf): Add tests for zero.
96892         (test_signbitd, test_signbitl): Likewise.
96894         More strtod touchups.
96895         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
96896         sign of negative underflow, for now.  Use .5, not .1.
96897         * doc/posix-functions/strtod.texi (strtod): Mention these
96898         limitations.
96899         Reported by Jim Meyering.
96901 2008-03-30  Bruno Haible  <bruno@clisp.org>
96903         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
96904         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
96906 2008-03-30  Bruno Haible  <bruno@clisp.org>
96908         Avoid failure when attempting to return empty iconv results on some
96909         platforms.
96910         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
96911         allocation, don't report ENOMEM when the resulting string is empty.
96913 2008-03-30  Bruno Haible  <bruno@clisp.org>
96915         Fix buffer overrun.
96916         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
96917         Don't consider the width for tmp_length. Check count against tmp_length
96918         before doing the padding. Ensure enough allocation during padding.
96920 2008-03-30  Eric Blake  <ebb9@byu.net>
96922         strtod touchups.
96923         * lib/strtod.c (strtod): Avoid compiler warnings.
96924         Reported by Jim Meyering.
96926 2008-03-30  Bruno Haible  <bruno@clisp.org>
96928         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
96929         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
96930         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
96931         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
96932         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
96933         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
96934         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
96935         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
96937         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
96938         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
96939         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
96940         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
96941         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
96942         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
96943         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
96944         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
96946         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
96947         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
96948         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
96949         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
96950         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
96951         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
96952         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
96953         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
96955         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
96956         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
96958         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
96959         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
96961         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
96962         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
96964         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
96965         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
96966         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
96968         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
96969         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
96970         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
96972         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
96973         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
96974         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
96976         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
96977         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
96978         * modules/vasprintf (Depends-on): Add EOVERFLOW.
96980         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
96981         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
96982         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
96983         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
96984         (Depends-on): Add EOVERFLOW.
96985         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
96986         (Depends-on): Add EOVERFLOW.
96987         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
96988         (Depends-on): Add EOVERFLOW.
96989         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
96990         (Depends-on): Add EOVERFLOW.
96991         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
96992         (Depends-on): Add EOVERFLOW.
96993         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
96994         (Depends-on): Add EOVERFLOW.
96995         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
96996         (Depends-on): Add EOVERFLOW.
96997         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
96998         (Depends-on): Add EOVERFLOW.
97000         * lib/sprintf.c (EOVERFLOW): Remove fallback.
97001         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
97002         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
97004         * lib/snprintf.c (EOVERFLOW): Remove fallback.
97005         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
97006         * modules/snprintf (Depends-on): Add EOVERFLOW.
97008         * lib/poll.c (EOVERFLOW): Remove fallback.
97009         * modules/poll (Depends-on): Add EOVERFLOW.
97011         * lib/getugroups.c (EOVERFLOW): Remove fallback.
97012         * modules/getugroups (Depends-on): Add EOVERFLOW.
97014         * lib/getdelim.c (EOVERFLOW): Remove fallback.
97015         * modules/getdelim (Depends-on): Add EOVERFLOW.
97017         * lib/ftell.c (EOVERFLOW): Remove fallback.
97018         * modules/ftell (Depends-on): Add EOVERFLOW.
97020         * lib/fprintf.c (EOVERFLOW): Remove fallback.
97021         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
97022         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
97024         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
97026         * modules/EOVERFLOW-tests: New file.
97027         * tests/test-EOVERFLOW.c: New file.
97029         * modules/EOVERFLOW: New file.
97030         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
97032 2008-03-30  Bruno Haible  <bruno@clisp.org>
97034         Fix bug introduced on 2007-06-10.
97035         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
97036         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
97038 2008-03-30  Bruno Haible  <bruno@clisp.org>
97040         Improve freadseek's efficiency after ungetc.
97041         * lib/freadseek.c: Include freadahead.h.
97042         (freadptrinc): New function, extracted from freadseek.
97043         (freadseek): Use it in a loop. Use freadahead to determine the number
97044         of loop iterations.
97045         * modules/freadseek (Depends-on): Add freadahead.
97046         (configure.ac): Require AC_C_INLINE.
97048 2008-03-30  Bruno Haible  <bruno@clisp.org>
97050         * lib/freadseek.c (freadseek): Don't ignore the return value of
97051         freadptr.
97053 2008-03-29  Eric Blake  <ebb9@byu.net>
97055         Add hex float support.
97056         * modules/strtod (Depends-on): Add c-ctype.
97057         (Link): Mention POW_LIB.
97058         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
97059         whitespace between 'e' and exponent.
97060         * tests/test-strtod.c (main): Enable hex float tests.
97061         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
97062         now provides.
97064         Document various strtod bugs, with some fixes.
97065         * doc/posix-functions/strtod.texi (strtod): Document bugs with
97066         "-0x", "inf", "nan", and hex constants.
97067         * doc/posix-functions/atof.texi (atof): Likewise.
97068         * modules/stdlib (Makefile.am): Support strtod.
97069         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
97070         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
97071         detect additional strtod bugs.
97072         * lib/stdlib.in.h (rpl_strtod): Add declarations.
97073         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
97074         bool where appropriate.  Parse 'inf' and 'nan'.
97075         * tests/test-strtod.c: New file.
97076         * modules/strtod (Depends-on): Add stdbool, stdlib.
97077         (configure.ac): Turn on module indicator.
97078         * modules/strtod-tests: New module.
97080 2008-03-29  Eric Blake  <ebb9@byu.net>
97082         Fix ftell on mingw.
97083         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
97084         * modules/ftell-tests (Depends-on): Add binary-io.
97085         * modules/ftello-tests (Depends-on): Likewise.
97086         * tests/test-ftell.c (main): Enhance test to cover behavior after
97087         ungetc.  Enforce binary mode.
97088         * tests/test-ftello.c (main): Likewise.
97090         Pass test-freadseek on cygwin.
97091         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
97092         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
97093         ungetc buffer.
97095         * tests/test-fflush2.c (main): Fix typo.
97097 2008-03-29  Bruno Haible  <bruno@clisp.org>
97099         * tests/test-fflush2.c (main): Temporarily disable the contents of
97100         this test.
97101         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
97102         Reported by Eric Blake.
97104 2008-03-28  Simon Josefsson  <simon@josefsson.org>
97106         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
97107         (GC_SHA224_DIGEST_SIZE): Add.
97109         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
97110         (gc_hash_digest_length): Likewise.
97111         (gc_hash_buffer): Likewise.
97113 2008-03-25  Bruno Haible  <bruno@clisp.org>
97115         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
97116         detail which gettext release to use.
97117         Reported by Simon Josefsson.
97119 2008-03-26  Jim Meyering  <meyering@redhat.com>
97121         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
97122         * modules/gnumakefile (clean-GNUmakefile): Also, use
97123         test ... && ... || : syntax rather than if-then ... fi.
97125         gnumakefile: Don't double-quote-expand $(VPATH) value.
97126         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
97128 2008-03-24  Eric Blake  <ebb9@byu.net>
97130         Alter GNUmakefile to install into top directory.
97131         * modules/maintainer-makefile: Split, and add dependency...
97132         * modules/gnumakefile: to this new module.
97133         * build-aux/GNUmakefile: Move...
97134         * top/GNUmakefile: ...here.
97135         * build-aux/maint.mk: Move...
97136         * top/maint.mk: ...here.
97137         * MODULES.html.sh (Support for maintaining...): Document new
97138         module.
97140 2008-03-23  Bruno Haible  <bruno@clisp.org>
97142         * gnulib-tool: New options --vc-files, --no-vc-files.
97143         (func_usage): Document them.
97144         (vc_files): New variable.
97145         (func_import): Consider vc_files.
97146         (func_create_testdir): Set vc_files to empty.
97147         Suggested by Jim Meyering and Karl Berry.
97149 2008-03-23  Bruno Haible  <bruno@clisp.org>
97151         Fix regex compilation error on HP-UX 11.
97152         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
97153         * modules/regex (Files): Add m4/mbstate_t.m4.
97154         Reported by Ton Voon <ton.voon@altinity.com>.
97156 2008-03-23  Bruno Haible  <bruno@clisp.org>
97158         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
97160 2008-03-23  Eric Blake  <ebb9@byu.net>
97161             Bruno Haible  <bruno@clisp.org>
97163         Install files from top/ in the destination directory.
97164         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
97165         augmentation also for the files from top/.
97166         (func_import, func_create_testdir): Rewrite file names:
97167         top/filename -> filename.
97169 2008-03-23  Bruno Haible  <bruno@clisp.org>
97171         Tweak "gnulib --version" output.
97172         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
97174 2008-03-23  Bruno Haible  <bruno@clisp.org>
97176         Tweak "gnulib --version" output.
97177         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
97178         rather than contents of ChangeLog, when possible.
97180 2008-03-21  Eric Blake  <ebb9@byu.net>
97182         More --version tweaks.
97183         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
97184         date of last ChangeLog entry.
97186 2008-03-21  Jim Meyering  <meyering@redhat.com>
97188         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
97190 2008-03-20  Eric Blake  <ebb9@byu.net>
97192         VPATH fix.
97193         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
97195 2008-03-20  Simon Josefsson  <simon@josefsson.org>
97197         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
97198         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
97200 2008-03-20  Eric Blake  <ebb9@byu.net>
97202         Sync GNUmakefile with coreutils.
97203         * build-aux/GNUmakefile (have-Makefile): Rename...
97204         (_have-Makefile): ...to this, for namespace consideration.
97205         (GNUmakefile.cfg): Include, if present.
97206         (_autoreconf): Define a default.
97207         (_is-dist-target): New rule for rebuilds to pick up intra-release
97208         version.
97209         (maint-cfg.mk): Rename...
97210         (cfg.mk): ...to this.
97212 2008-03-18  Jim Meyering  <meyering@redhat.com>
97214         New script and module: mktempd
97215         * MODULES.html.sh (maint+release support): Add mktempd.
97216         * build-aux/mktempd: New file.
97217         * modules/mktempd: New file.
97219 2008-03-15  Jim Meyering  <meyering@redhat.com>
97221         Undo last change.
97222         * lib/sha1.c, lib/md5.c: 63 != ~63.
97223         Reported by Andreas Schwab.
97225         sha1.c, md5.c: Hoist a redundant expression.
97226         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
97227         "ctx->buflen" only once, before calling *_process_block.
97228         * lib/md5.c (md5_process_bytes): Likewise.
97230 2008-03-14  Eric Blake  <ebb9@byu.net>
97232         Bump copyright year in files generated by gnulib-tool.
97233         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
97234         gnulib-tool, rather than hard-coding it.
97236         Fix 'gnulib-tool --version' output to work with git.
97237         * gnulib-tool (func_gnulib_dir): New function, extracted from...
97238         (startup): ...here.
97239         (func_version): Use it to invoke git-version-gen, rather than
97240         relying on CVS keyword expansion.  Modernize wording.
97241         (cvsdatestamp, last_checkin_date, version): Kill unused
97242         variables.
97244 2008-03-12  Jim Meyering  <meyering@redhat.com>
97246         Recognize optional cast of the argument to free.
97247         * build-aux/useless-if-before-free: Update regexps.
97249         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
97251 2008-03-11  Bruno Haible  <bruno@clisp.org>
97253         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
97254         by a single package.
97255         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
97256         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
97257         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
97258         Reported by Sam Steingold <sds@gnu.org>.
97260 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
97262         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
97263         repositories.
97265 2008-03-11  Bruno Haible  <bruno@clisp.org>
97267         Avoid conflicts between local macro definitions.
97268         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
97269         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
97271 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
97272             Bruno Haible  <bruno@clisp.org>
97274         Make va_copy work with some version of xlc on AIX 5.1.
97275         * lib/stdarg.in.h: New file.
97276         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
97277         On AIX, use a <stdarg.h> file substitute.
97278         * modules/stdarg (Files): Add lib/stdarg.in.h.
97279         (Depends-on): Add include_next.
97280         (Makefile.am): Build a stdarg.h substitute if requested.
97281         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
97283 2008-03-10  Bruno Haible  <bruno@clisp.org>
97285         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
97286         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
97287         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
97289 2008-03-10  Bruno Haible  <bruno@clisp.org>
97291         * modules/stdlib (Depends-on): Add include_next, remove
97292         absolute-header.
97294 2008-03-09  Bruno Haible  <bruno@clisp.org>
97296         * lib/freadahead.h (freadahead): Document more precisely.
97297         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
97298         the sum of both buffer sizes.
97299         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
97300         * NEWS: Document the change.
97302 2008-03-09  Bruno Haible  <bruno@clisp.org>
97304         Extend freadptr to return also the buffer size.
97305         * lib/freadptr.h (freadptr): Add sizep argument.
97306         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
97307         (freadptr): Add sizep argument. Determine buffer size like freadahead
97308         does.
97309         * tests/test-freadptr.c: Don't include freadahead.h.
97310         (main): Adapt for new calling convention of freadptr.
97311         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
97312         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
97313         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
97314         tests/test-freadptr2.sh.
97315         (Depends): Remove freadahead.
97316         (TESTS): Add test-freadptr2.sh.
97317         (check_PROGRAMS): Add test-freadptr2.
97319 2008-03-09  Bruno Haible  <bruno@clisp.org>
97321         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
97322         Report and solution by Simon Josefsson.
97324 2008-03-06  Bruno Haible  <bruno@clisp.org>
97326         Make fflush after ungetc work on BSD platforms.
97327         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
97328         * tests/test-fflush2.c: New file.
97329         * tests/test-fflush2.sh: New file.
97330         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
97331         tests/test-fflush2.c.
97332         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
97333         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
97335 2008-03-06  Eric Blake  <ebb9@byu.net>
97337         Likewise for ftello.
97338         * modules/ftello (Dependencies): Add extensions.
97339         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
97341 2008-03-06  Bruno Haible  <bruno@clisp.org>
97343         * modules/fseeko (Dependencies): Add extensions.
97344         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
97345         Needed on glibc systems.
97347 2008-03-06  Bruno Haible  <bruno@clisp.org>
97349         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
97350         email address.
97351         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
97353 2008-03-06  Bruno Haible  <bruno@clisp.org>
97355         * users.txt: Add libgnupdf.
97357 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
97359         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
97360         (Header File Substitutes, Function Substitutes,
97361         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
97362         (Build robot for gnulib): Fix typo.
97364 2008-03-06  Bruno Haible  <bruno@clisp.org>
97366         * doc/gnulib-tool.texi (VCS Issues): Small updates.
97367         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
97369 2008-03-06  Bruno Haible  <bruno@clisp.org>
97371         * doc/func.texi: New file, extracted from doc/gnulib.texi.
97372         * doc/gnulib.texi: Include it.
97374 2008-03-06  Simon Josefsson  <simon@josefsson.org>
97376         * modules/func (License): Change license to unlimited; there was
97377         no LGPL parts in the module anyway.
97379 2008-03-06  Simon Josefsson  <simon@josefsson.org>
97381         * modules/__func__: Renamed to modules/func.
97382         * modules/__func__-tests: Renamed to modules/func-tests.
97383         * tests/test-__func__.c: Renamed to tests/test-func.c.
97384         * m4/__func__.m4: Renamed to m4/func.m4.
97385         * doc/gnulib.texi (__func__): Section renamed to func.
97386         Suggested by Eric Blake <ebb9@byu.net>.
97388 2008-03-06  Simon Josefsson  <simon@josefsson.org>
97390         * doc/gnulib.texi (__func__): Use C99 terminology when talking
97391         about __func__.  Make example self-contained.  Suggested by Eric
97392         Blake <ebb9@byu.net>.
97394         * tests/test-__func__.c (main): Avoid extraneous () around __func.
97395         Suggested by Eric Blake <ebb9@byu.net>.
97397 2008-03-06  Simon Josefsson  <simon@josefsson.org>
97399         * modules/__func__: New file.
97400         * modules/__func__-tests: New file.
97401         * tests/test-__func__.c: New file.
97402         * m4/__func__.m4: New file.
97403         * doc/gnulib.texi (__func__): Document __func__ module.
97405 2008-03-05  Simon Josefsson  <simon@josefsson.org>
97407         * modules/byteswap (License): Re-license as LGPLv2+.
97409 2008-03-05  Simon Josefsson  <simon@josefsson.org>
97411         * doc/Makefile: Add pdf target.
97413 2008-03-05  Simon Josefsson  <simon@josefsson.org>
97415         * modules/inline (License): Use 'unlimited', since there are only
97416         *.m4 files in this module.
97418 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
97419             Bruno Haible  <bruno@clisp.org>
97421         Add support for HP C 7.1 on OpenVMS 8.3.
97422         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
97424 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
97426         Update VMS specifics.
97427         * lib/getopt.c [VMS]: Remove include of unixlib.h.
97429 2008-03-02  Jim Meyering  <meyering@redhat.com>
97431         Remove the last dependency on the "free" module.
97432         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
97433         Reported by Bob Proulx.
97435         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
97437         Remove useless "if" tests before free.  Deprecate "free" module.
97438         * doc/posix-functions/free.texi: Mention that this
97439         module is no longer useful.
97440         * modules/free (Notice): Say this module is obsolete.
97441         * modules/readutmp (Depends-on): Remove free.
97442         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
97443         * lib/putenv.c (putenv): Likewise.
97444         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
97445         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
97446         * tests/test-c-strcasestr.c (main): Likewise.
97447         * tests/test-c-strstr.c (main): Likewise.
97448         * tests/test-mbscasestr1.c (main): Likewise.
97449         * tests/test-mbscasestr2.c (main): Likewise.
97450         * tests/test-mbsstr1.c (main): Likewise.
97451         * tests/test-mbsstr2.c (main): Likewise.
97452         * tests/test-memmem.c (main): Likewise.
97453         * tests/test-strcasestr.c (main): Likewise.
97454         * tests/test-striconv.c (main): Likewise.
97455         * tests/test-striconveh.c (main): Likewise.
97456         * tests/test-striconveha.c (main): Likewise.
97457         * tests/test-strstr.c (main): Likewise.
97459         * build-aux/git-version-gen: Adjust a comment and the Usage string.
97461         bootstrap: sync from coreutils again
97462         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
97464 2008-03-01  Jim Meyering  <meyering@redhat.com>
97466         bootstrap: sync from coreutils
97467         * build-aux/bootstrap (update_po_files): Copy a .po file into place
97468         also when the target doesn't exist.
97470 2008-03-01  Eric Blake  <ebb9@byu.net>
97472         Fix bugs in last patch.
97473         * lib/memchr2.c (memchr2): Fix typo.
97474         * tests/test-memchr2.c: Test previous bug, and don't use GNU
97475         extension.
97476         Reported by Bruce Korb.
97478         New module 'memchr2'.
97479         * modules/memchr2: New file.
97480         * modules/memchr2-tests: Likewise.
97481         * lib/memchr2.h: Likewise.
97482         * lib/memchr2.c: Likewise, based on memchr.c.
97483         * tests/test-memchr2.c: New test.
97484         * MODULES.html.sh (String handling): Add memchr2.
97486 2008-02-29  Bruno Haible  <bruno@clisp.org>
97488         * modules/freadseek-tests: New file.
97489         * tests/test-freadseek.sh: New file.
97490         * tests/test-freadseek.c: New file.
97492         New module 'freadseek'.
97493         * modules/freadseek: New file.
97494         * lib/freadseek.h: New file.
97495         * lib/freadseek.c: New file.
97496         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
97498 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
97500         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
97501         wydawca.
97503         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
97504         program_invocation_name and program_invocation_short_name are
97505         present.
97507 2008-02-28  Bruno Haible  <bruno@clisp.org>
97509         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
97510         * tests/test-freadptr.sh: Also test non-seekable stdin.
97512 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
97514         * build-aux/bootstrap (source_base, m4_base)
97515         (doc_base, tests_base): New variables.
97516         (gnulib_tool_options): Do not hardcode base directories, use
97517         the above variables instead.
97519 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
97521         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
97523 2008-02-28  Bruno Haible  <bruno@clisp.org>
97525         * modules/freadptr-tests: New file.
97526         * tests/test-freadptr.sh: New file.
97527         * tests/test-freadptr.c: New file.
97529         New module 'freadptr'.
97530         * modules/freadptr: New file.
97531         * lib/freadptr.h: New file.
97532         * lib/freadptr.c: New file.
97533         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
97535 2008-02-26  Karl Berry  <karl@freefriends.org>
97537         Sync from Libtool:
97538         * libltdl/argz.c (argz_add, argz_count): New functions.
97539         * libltdl/argz.in.h: Declare them.
97540         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
97542 2008-02-22  Bruno Haible  <bruno@clisp.org>
97544         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
97545         is a pointer type.  Needed for HP-UX 10.
97546         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
97547         * doc/posix-functions/gmtime_r.texi: Likewise.
97548         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
97550 2008-02-24  Bruno Haible  <bruno@clisp.org>
97552         * modules/environ-tests: New file.
97553         * tests/test-environ.c: New file.
97555         New module 'environ'.
97556         * modules/environ: New file.
97557         * lib/unistd.in.h (environ): New declaration.
97558         * m4/environ.m4: New file.
97559         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
97560         after use.
97561         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
97562         HAVE_DECL_ENVIRON.
97563         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
97564         HAVE_DECL_ENVIRON.
97565         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
97566         wrong claim that 'environ' is missing on some systems.
97567         * modules/execute (Depends-on): Add environ.
97568         * lib/execute.c (environ): Remove fallback declaration.
97569         * modules/pipe (Depends-on): Add environ.
97570         * lib/pipe.c (environ): Remove fallback declaration.
97571         * modules/setenv (Depends-on): Add environ.
97572         * lib/setenv.c (environ): Remove fallback declaration.
97573         * modules/unsetenv (Depends-on): Add environ.
97574         * lib/unsetenv.c (environ): Remove fallback declaration.
97575         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
97576         m4/environ.m4.
97577         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
97578         (gl_PREREQ_UNSETENV): Likewise.
97580 2008-02-24  Bruno Haible  <bruno@clisp.org>
97582         * doc/posix-functions/environ.texi: Document the MacOS X problem.
97584 2008-02-20  Bob Proulx  <bob@proulx.com>
97586         Enable use of older two part flavor 'git describe'.
97587         * build-aux/git-version-gen: If using the older two part flavor of
97588         git version then recreate the third part now present in the
97589         newer three part flavor of git describe.
97591 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
97593         * lib/fts.c (fts_build): Typo correction to comment.
97595 2008-02-17  Bruno Haible  <bruno@clisp.org>
97597         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
97598         generating no-op conflicts.
97600 2008-02-17  Bruno Haible  <bruno@clisp.org>
97602         Speed up by 10%.
97603         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
97604         result_entries, rather than an index-based loop.
97606 2008-02-17  Bruno Haible  <bruno@clisp.org>
97608         Speed up by 25%.
97609         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
97610         'hashcode_cached'.
97611         (entry_create): New function.
97612         (entry_hashcode): Use the cached hashcode if possible.
97613         (read_changelog_file, try_split_merged_entry): Use entry_create.
97615 2008-02-17  Bruno Haible  <bruno@clisp.org>
97617         Speed up from O(n^2) to O(n) for long ChangeLog files.
97618         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
97619         (read_changelog_file): Change implementation of entries_reversed list
97620         to rbtreehash.
97621         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
97623 2008-02-17  Bruno Haible  <bruno@clisp.org>
97625         New option --split-merged-entry.
97626         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
97627         (find_paragraph_end, try_split_merged_entry): New functions.
97628         (long_options): Add option --split-merged-entry.
97629         (usage): Document option --split-merged-entry.
97630         (main): Implement option --split-merged-entry.
97631         Reported by Eric Blake.
97633 2008-02-17  Bruno Haible  <bruno@clisp.org>
97635         * lib/git-merge-changelog.c: Include c-strstr.h.
97636         (main): Support the "git pull --rebase" situation.
97637         * modules/git-merge-changelog (Depends-on): Add c-strstr.
97638         Reported by Eric Blake.
97640 2008-02-16  Eric Blake  <ebb9@byu.net>
97642         Avoid doubling \ in common case of "c-maybe" quoting style.
97643         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
97644         eliding outer quotes.
97645         * lib/quotearg.h: Document this.
97646         * tests/test-quotearg.c (result_strings, inputs, results_g)
97647         (flag_results, locale_results): Test it by adding a new string to
97648         each test group.
97649         (compare_strings): Test new string.
97651 2008-02-13  Eric Blake  <ebb9@byu.net>
97653         Avoid trigraph quoting in default output.
97654         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
97655         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
97656         unless explicitly requested.
97657         * tests/test-quotearg.c (flag_results, main): Add additional tests.
97659 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
97661         Don't rely on signed integer overflowing to negative value.
97662         * lib/getugroups.c (getugroups): Include <limits.h>.
97663         Instead, compare against INT_MAX, and increment only if the test passes.
97665 2008-02-13  Jim Meyering  <meyering@redhat.com>
97666         and Eric Blake  <ebb9@byu.net>
97668         Avoid shadowing warning and compile errors on Linux.
97669         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
97670         forwarding macros on Linux.
97671         (dcgettext): Define a stub, for Linux.
97672         (results_g, main): Avoid warnings.
97674 2008-02-12  Eric Blake  <ebb9@byu.net>
97676         Silence warning in last patch.
97677         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
97679         Quotearg part 4: add tests, fix c-maybe colon quoting.
97680         * lib/quotearg.h: Improve documentation.
97681         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
97682         escapes when adding outer quotes.  When quoting trigraphs, use
97683         valid C notation.  When quoting NUL, omit extra characters if next
97684         character is not digit.  Alter prototype.
97685         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
97686         callers.
97687         * modules/quotearg-tests: New module.
97688         * tests/test-quotearg.c: New test.
97690 2008-02-07  Eric Blake  <ebb9@byu.net>
97692         Quotearg part 3: add flag to control outer quote elision.
97693         * lib/quotearg.h (c_maybe_quoting_style): New style.
97694         (enum quoting_flags): Better documentation of flags.
97695         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
97696         c-maybe style.
97697         (quotearg_buffer_restyled): Handle new flag to elide outer
97698         quotes.
97700         Quotearg part 2: add flag that can control NUL elision.
97701         * lib/quotearg.h (set_quoting_flags): New prototype.
97702         * lib/quotearg.c (struct quoting_options): Add flag field.
97703         (set_quoting_flags): New function.
97704         (quotearg_buffer_restyled): Add flags parameter.
97705         (quotearg_alloc_mem): Set the flag if length cannot be returned.
97706         (quotearg_n_options): Set the flag, since length cannot be
97707         returned.
97708         (quoting_options_from_style): Default flags correctly.
97710         Quotearg part 1: more wrappers, restore quotearg_char state.
97711         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
97712         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
97713         (quotearg_colon_mem): New wrappers.
97714         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
97715         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
97716         functions.
97717         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
97718         (quotearg_colon_mem): New functions.
97720 2008-02-11  Bruno Haible  <bruno@clisp.org>
97722         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
97723         library in the current directory: it does not work with parallel make.
97724         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
97726 2008-02-11  Bruno Haible  <bruno@clisp.org>
97728         * .gitattributes: New file.
97730 2008-02-11  Jim Meyering  <meyering@redhat.com>
97732         useless-if-before-free: Fix reversed exit values.
97733         * build-aux/useless-if-before-free: Use correct values
97734         for EXIT_MATCH and EXIT_NO_MATCH.
97736         * build-aux/useless-if-before-free: Close stdout carefully.
97738 2008-02-10  Bruno Haible  <bruno@clisp.org>
97740         New module 'git-merge-changelog'.
97741         * modules/git-merge-changelog: New file.
97742         * lib/git-merge-changelog.c: New file.
97744 2008-02-10  Jim Meyering  <meyering@redhat.com>
97746         useless-if-before-free: New option: --list (-l).
97748         useless-if-before-free: Don't exit immediately upon open failure.
97749         * build-aux/useless-if-before-free: Exit 2 for errors.
97750         Upon failure to open a file, don't exit immediately.
97751         Rather, just warn and continue with any remaining files.
97753 2008-02-10  Bruno Haible  <bruno@clisp.org>
97755         New abstract list operation 'node_set_value'.
97756         * lib/gl_list.h (gl_list_node_set_value): New function.
97757         (struct gl_list_implementation): New field node_set_value.
97758         * lib/gl_list.c (gl_list_node_set_value): New function.
97759         * lib/gl_array_list.c (gl_array_node_set_value): New function.
97760         (gl_array_list_implementation): Update.
97761         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
97762         (gl_carray_list_implementation): Update.
97763         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
97764         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
97765         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
97766         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
97767         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
97768         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
97769         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
97770         Update.
97771         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
97772         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
97773         (gl_sublist_list_implementation): Update.
97775 2008-02-10  Bruno Haible  <bruno@clisp.org>
97777         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
97778         Needed when ELEMENT is #defined to 'some_type *'.
97780 2008-02-10  Jim Meyering  <meyering@redhat.com>
97782         New script and module: useless-if-before-free
97783         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
97784         * build-aux/useless-if-before-free: New file.
97785         * modules/useless-if-before-free: New file.
97787         * build-aux/gitlog-to-changelog: Use committer date, not author date.
97789         xstrtol_error: Fix typo.
97790         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
97791         s/exit_failure/exit_status/.
97793 2008-02-09  Jim Meyering  <meyering@redhat.com>
97795         New script and module: gitlog-to-changelog
97796         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
97797         * modules/gitlog-to-changelog: New file.
97798         * build-aux/gitlog-to-changelog: New file.
97800 2008-02-08  Jim Meyering  <meyering@redhat.com>
97802         Avoid two "parameter unused" warnings.
97803         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
97804         Mark "st" as used.
97806         Use "git COMMAND", not "git-COMMAND".
97807         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
97808         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
97809         * build-aux/git-version-gen: Use "git status", not "git-status".
97811 2008-02-07  Bruno Haible  <bruno@clisp.org>
97813         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
97814         Avoids a crash on Windows Vista.
97815         Reported by Adam Strzelecki <ono@java.pl> via
97816         Simon Josefsson <simon@josefsson.org>.
97818 2008-02-06  Bruno Haible  <bruno@clisp.org>
97820         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
97821         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
97822         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
97823         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
97824         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
97825         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
97826         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
97827         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
97828         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
97829         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
97830         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
97831         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
97832         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
97833         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
97834         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
97835         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
97836         left-adjust flag.
97837         * tests/test-snprintf-posix.h (test_function): Likewise.
97838         * tests/test-sprintf-posix.h (test_function): Likewise.
97839         * tests/test-vasprintf-posix.c (test_function): Likewise.
97840         * doc/posix-functions/fprintf.texi: Update.
97841         * doc/posix-functions/printf.texi: Update.
97842         * doc/posix-functions/snprintf.texi: Update.
97843         * doc/posix-functions/sprintf.texi: Update.
97844         * doc/posix-functions/vfprintf.texi: Update.
97845         * doc/posix-functions/vprintf.texi: Update.
97846         * doc/posix-functions/vsnprintf.texi: Update.
97847         * doc/posix-functions/vsprintf.texi: Update.
97848         Reported by Peter Fales <psfales@alcatel-lucent.com>.
97850 2008-02-06  Bruno Haible  <bruno@clisp.org>
97852         Fix bug introduced on 2008-01-26.
97853         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
97855 2008-02-06  Bruno Haible  <bruno@clisp.org>
97857         Fix bug introduced on 2007-06-10.
97858         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
97859         !NEED_PRINTF_FLAG_ZERO.
97861 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
97863         getloadavg: use libperfstat on AIX5
97864         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
97866 2008-02-03  Bruno Haible  <bruno@clisp.org>
97868         * lib/diffseq.h: Add comments about required #includes.
97869         Reported by Michael Biggs <gnulib@doubleplum.net>.
97871 2008-02-01  Bruno Haible  <bruno@clisp.org>
97873         * users.txt: Add gnuit.
97875 2008-01-31  Bruno Haible  <bruno@clisp.org>
97877         * lib/md4.c (set_uint32): Mark as inline.
97878         * lib/md5.c (set_uint32): Likewise.
97879         * lib/sha1.c (set_uint32): Likewise.
97880         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
97881         * m4/md5.m4 (gl_MD5): Likewise.
97882         * m4/sha1.m4 (gl_SHA1): Likewise.
97884 2008-01-31  Jim Meyering  <meyering@redhat.com>
97886         Use "sizeof VAR", rather than a literal "4".
97887         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
97888         * lib/md4.c (md4_read_ctx): Likewise.
97889         * lib/sha1.c (sha1_read_ctx): Likewise.
97891 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97893         * tests/test-sha1.c: New file, based on test-md5.c.
97895         * modules/crypto/sha1-tests: New file.
97897 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97899         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
97901 2008-01-31  Jim Meyering  <meyering@redhat.com>
97903         Prefer "sizeof v" over the equivalent "4".
97904         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
97905         * lib/md5.c (set_uint32): Likewise.
97906         * lib/sha1.c (set_uint32): Likewise.
97908 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97910         * lib/sha1.c (set_uint32): Mark function as static.
97912 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97914         md2: clarify comments to say that alignment is not required.
97915         * lib/md2.h: Remove warning about alignment in comment.
97916         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
97917         never been required.
97919 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97921         md4: adapt alignment constraint fix from sha1.
97922         * lib/md4.c (set_uint32): New function, from sha1.c
97923         (md4_read_ctx): Use it.
97924         (md4_finish_ctx): Doc fix.
97925         * lib/md4.h: Doc fix.
97927 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97929         md5: adapt alignment constraint fix from sha1.
97930         * lib/md5.c (set_uint32): New function, from sha1.c
97931         (md5_read_ctx): Use it.
97932         (md5_finish_ctx): Doc fix.
97933         * lib/md5.h: Doc fix.
97935 2008-01-30  Peter Palfrader  <weasel@debian.org>
97937         sha1: remove the result buffer alignment constraint
97938         * lib/sha1.c (set_uint32): New function.
97939         (sha1_read_ctx): Rewrite to remove the result buffer alignment
97940         constraint.
97941         (sha1_finish_ctx): Remove comment warning about alignment constraint.
97942         * lib/sha1.h: Likewise.
97944 2008-01-30  Andreas Schwab  <schwab@suse.de>
97945             Bruno Haible  <bruno@clisp.org>
97947         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
97948         correct definition of LDBL_MIN_EXP.
97950 2008-01-30  Karl Berry  <karl@gnu.org>
97952         * config/srclist-update: try to preserve x bit on updates.
97953         * config/srclistvars.sh: update for karl.
97955 2008-01-29  Jim Meyering  <meyering@redhat.com>
97957         vasnprintf.c: Avoid warning about unused label
97958         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
97959         "overflow" label definition and associated code with the
97960         same cpp condition that guards the sole use of that label.
97962 2008-01-26  Bruno Haible  <bruno@clisp.org>
97964         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
97965         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
97966         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
97967         * lib/isnanl-nolibm.h (isnanl): Likewise.
97968         Reported by Paul Eggert <eggert@cs.ucla.edu>.
97970 2008-01-26  Bruno Haible  <bruno@clisp.org>
97972         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
97973         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
97975 2008-01-26  Bruno Haible  <bruno@clisp.org>
97977         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
97978         GCC >= 4.0 built-in.
97979         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
97981 2008-01-26  Bruno Haible  <bruno@clisp.org>
97983         Rename isnan, applicable to 'double' only, to isnand.
97984         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
97985         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
97986         (configure.ac): Update.
97987         (Include): Replace "isnan.h" with "isnand.h".
97988         * m4/isnand.m4: Renamed from m4/isnan.m4.
97989         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
97990         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
97991         instead of isnan.c.
97992         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
97993         instead of HAVE_ISNAN_IN_LIBC.
97994         (isnand): Renamed from isnan.
97995         * lib/isnand.c: New file.
97996         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
97997         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
97998         (Makefile.am): Update.
97999         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
98000         Include isnand.h instead of isnan.h.
98001         (main): Test isnand instead of isnan.
98002         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
98003         isnan-nolibm.
98004         * modules/frexp (Depends-on): Likewise.
98005         * modules/frexp-tests (Depends-on): Likewise.
98006         * modules/frexp-nolibm (Depends-on): Likewise.
98007         * modules/frexp-nolibm-tests (Depends-on): Likewise.
98008         * modules/isfinite (Depends-on): Likewise.
98009         * modules/round-tests (Depends-on): Likewise.
98010         * modules/signbit (Depends-on): Likewise.
98011         * modules/signbit-tests (Depends-on): Likewise.
98012         * modules/snprintf-posix (Depends-on): Likewise.
98013         * modules/sprintf-posix (Depends-on): Likewise.
98014         * modules/trunc-tests (Depends-on): Likewise.
98015         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
98016         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
98017         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
98018         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
98019         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
98020         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
98021         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
98022         * modules/vasnprintf-posix (Depends-on): Likewise.
98023         * modules/vasprintf-posix (Depends-on): Likewise.
98024         * modules/vfprintf-posix (Depends-on): Likewise.
98025         * modules/vsnprintf-posix (Depends-on): Likewise.
98026         * modules/vsprintf-posix (Depends-on): Likewise.
98027         * lib/frexp.c: Include isnand.h instead of isnan.h.
98028         (ISNAN): Set to isnand instead of isnan.
98029         * lib/isfinite.c: Include isnand.h instead of isnan.h.
98030         (gl_isfinited): Use isnand instead of isnan.
98031         * lib/signbitd.c: Include isnand.h instead of isnan.h.
98032         (gl_signbitd): Use isnand instead of isnan.
98033         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
98034         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
98035         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
98036         (main): Use isnand instead of isnan.
98037         * tests/test-round1.c: Include isnand.h.
98038         (main): Use isnand instead of isnan.
98039         * tests/test-round2.c: Include isnand.h instead of isnan.h.
98040         (ISNAN): Set to isnand instead of isnan.
98041         * tests/test-trunc1.c: Include isnand.h.
98042         (main): Use isnand instead of isnan.
98043         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
98044         (equal): Use isnand instead of isnan.
98045         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
98046         isnand-nolibm.
98047         * NEWS: Mention the change.
98049 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
98050             Bruno Haible  <bruno@clisp.org>
98052         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
98053         the GCC builtins for signbits are present and set
98054         REPLACE_SIGNBIT_USING_GCC if so.
98055         * lib/math.in.h (signbit): Define using GCC builtins if
98056         REPLACE_SIGNBIT_USING_GCC is set.
98057         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
98058         REPLACE_SIGNBIT_USING_GCC.
98059         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
98061 2008-01-25  Jim Meyering  <meyering@redhat.com>
98063         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
98064         * lib/poll.c: Include <config.h>, not "config.h".
98065         * tests/test-getaddrinfo.c: Likewise.
98067 2008-01-25  Simon Josefsson  <simon@josefsson.org>
98069         * modules/sockets-tests: New file.
98071 2008-01-24  Simon Josefsson  <simon@josefsson.org>
98073         * modules/sockets: New module, can be used to call WSA_Startup and
98074         WSA_Cleanup when needed.
98076         * lib/sockets.h, lib/sockets.c: New files.
98078         * m4/sockets.m4: New file.
98080         * tests/test-sockets.c: New file.
98082 2008-01-19  Bruno Haible  <bruno@clisp.org>
98084         * doc/posix-headers: Renamed from doc/headers.
98085         * doc/posix-functions: Renamed from doc/functions.
98086         * doc/gnulib.texi: Update.
98088 2008-01-19  Bruno Haible  <bruno@clisp.org>
98090         * doc/glibc-functions/strcasestr.texi: Include contents of
98091         doc/functions/strcasestr.texi, fixing the list of platforms.
98092         * doc/functions/strcasestr.texi: Remove file.
98094 2008-01-19  Bruno Haible  <bruno@clisp.org>
98096         * doc/glibc-functions/memmem.texi: Include contents of
98097         doc/functions/memmem.texi.
98098         * doc/functions/memmem.texi: Remove file.
98100 2008-01-18  Bruno Haible  <bruno@clisp.org>
98102         * doc/glibc-functions/*.texi: New files.
98103         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
98104         to use the new files.
98106 2008-01-17  Bruno Haible  <bruno@clisp.org>
98108         * tests/test-gethostname.c (main): Fix printf statement.
98110 2008-01-17  Simon Josefsson  <simon@josefsson.org>
98112         * modules/gethostname-tests: New file.
98114         * tests/test-gethostname.c: New file.
98116 2008-01-17  Simon Josefsson  <simon@josefsson.org>
98118         * lib/gethostname.c: Include string.h unconditionally, strncpy is
98119         used by the UNAME case.  Reported by Bruno Haible
98120         <bruno@clisp.org>.
98122 2008-01-17  Eric Blake  <ebb9@byu.net>
98124         Convert c-strcasestr to be more efficient.
98125         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
98126         (Depends-on): Add c-strcase, remove malloca, strnlen.
98127         * tests/test-c-strcasestr.c (main): Enhance test.
98128         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
98130 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
98132         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
98133         Use it in creating po/Makevars.
98135 2008-01-15  Simon Josefsson  <simon@josefsson.org>
98137         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
98138         Applications that requires it should initialize libgcrypt
98139         manually.
98141 2008-01-16  Simon Josefsson  <simon@josefsson.org>
98143         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
98145 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
98147         Fix problem with getdate on mingw32 reported by Simon Josefsson
98148         in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
98149         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
98150         tzname", when deciding whether to declare tzname.
98151         * lib/strftime.c (tzname): Likewise.
98153 2008-01-15  Bruno Haible  <bruno@clisp.org>
98155         Work around a MacOS X 10.5 bug in frexpl().
98156         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
98157         * doc/functions/frexpl.texi: Document the bug.
98158         Reported by Elias Pipping <pipping@gentoo.org>.
98160 2008-01-14  Eric Blake  <ebb9@byu.net>
98162         Touch up previous patch.
98163         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
98164         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
98166         Convert strcasestr module to use Two-Way algorithm.
98167         * modules/strcasestr-simple: New module, based on the old
98168         strcasestr, but with Two-Way rather than KMP.
98169         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
98170         * lib/string.in.h (rpl_strcasestr): Declare.
98171         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
98172         performance.
98173         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
98174         * modules/string (Makefile.am): Support strcasestr.
98175         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
98176         * modules/strcasestr-tests (Depends-on): Check for alarm.
98177         * tests/test-strcasestr.c: Augment test.
98178         * lib/str-two-way.h: Clean up stray macro.
98179         * NEWS: Document new module.
98180         * MODULES.html.sh (string handling): Likewise.
98181         * doc/functions/strcasestr.texi: New file.
98182         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
98183         here, since it is not a POSIX function.
98185 2008-01-14  Colin Watson  <cjwatson@debian.org>
98186             Bruno Haible  <bruno@clisp.org>
98188         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
98189         works fine; if not, set REPLACE_STRSIGNAL.
98190         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
98191         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
98192         REPLACE_STRSIGNAL.
98193         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
98194         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
98195         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
98197 2008-01-14  Bruno Haible  <bruno@clisp.org>
98199         * modules/strsignal (Include): Change to <string.h>.
98201 2008-01-14  Colin Watson  <cjwatson@debian.org>
98203         * modules/argp (Notice): Add a notice recommending to change
98204         XGETTEXT_OPTIONS.
98205         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
98207 2008-01-13  Colin Watson  <cjwatson@debian.org>
98209         * modules/strsignal-tests: New file.
98210         * tests/test-strsignal.c: New file.
98212         * lib/strsignal.c: New file, from glibc with modifications.
98213         * lib/siglist.h: New file, from glibc with modifications.
98214         * lib/string.in.h (strsignal): New declaration.
98215         * m4/strsignal.m4: New file.
98216         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
98217         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
98218         * modules/strsignal: New file.
98219         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
98220         HAVE_DECL_STRSIGNAL.
98222 2008-01-13  Bruno Haible  <bruno@clisp.org>
98224         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
98225         locale encoding is not ASCII. Needed for OpenBSD 4.0.
98226         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
98227         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
98229 2008-01-13  Bruno Haible  <bruno@clisp.org>
98231         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
98232         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
98233         * lib/argp.h (__attribute__): Likewise.
98234         * lib/c-stack.c (__attribute__): Likewise.
98235         * lib/error.h (__attribute__): Likewise.
98236         * lib/fts.c (__attribute__): Likewise.
98237         * lib/openat.h (__attribute__): Likewise.
98238         * lib/stdio.in.h (__attribute__): Likewise.
98239         * lib/string.in.h (__attribute__): Likewise.
98240         * lib/utimens.c (__attribute__): Likewise.
98241         * lib/vasnprintf.h (__attribute__): Likewise.
98242         * lib/xalloc.h (__attribute__): Likewise.
98243         * lib/xprintf.h (__attribute__): Likewise.
98244         * lib/xstrtol.h (__attribute__): Likewise.
98245         * lib/xvasprintf.h (__attribute__): Likewise.
98247 2008-01-12  Bruno Haible  <bruno@clisp.org>
98249         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
98250         * doc/glibc-headers/a.out.texi: New file.
98251         * doc/glibc-headers/aliases.texi: New file.
98252         * doc/glibc-headers/alloca.texi: New file.
98253         * doc/glibc-headers/ar.texi: New file.
98254         * doc/glibc-headers/argp.texi: New file.
98255         * doc/glibc-headers/argz.texi: New file.
98256         * doc/glibc-headers/byteswap.texi: New file.
98257         * doc/glibc-headers/crypt.texi: New file.
98258         * doc/glibc-headers/endian.texi: New file.
98259         * doc/glibc-headers/envz.texi: New file.
98260         * doc/glibc-headers/err.texi: New file.
98261         * doc/glibc-headers/error.texi: New file.
98262         * doc/glibc-headers/execinfo.texi: New file.
98263         * doc/glibc-headers/fpu_control.texi: New file.
98264         * doc/glibc-headers/fstab.texi: New file.
98265         * doc/glibc-headers/fts.texi: New file.
98266         * doc/glibc-headers/getopt.texi: New file.
98267         * doc/glibc-headers/ieee754.texi: New file.
98268         * doc/glibc-headers/ifaddrs.texi: New file.
98269         * doc/glibc-headers/libintl.texi: New file.
98270         * doc/glibc-headers/mcheck.texi: New file.
98271         * doc/glibc-headers/mntent.texi: New file.
98272         * doc/glibc-headers/obstack.texi: New file.
98273         * doc/glibc-headers/paths.texi: New file.
98274         * doc/glibc-headers/printf.texi: New file.
98275         * doc/glibc-headers/pty.texi: New file.
98276         * doc/glibc-headers/resolv.texi: New file.
98277         * doc/glibc-headers/shadow.texi: New file.
98278         * doc/glibc-headers/sysexits.texi: New file.
98279         * doc/glibc-headers/ttyent.texi: New file.
98281 2008-01-12  Jim Meyering  <meyering@redhat.com>
98283         announce-gen: emit Gnulib's git-based version string.
98284         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
98285         New option --gnulib-version=V, where V is expected to be
98286         the output of running git describe in the gnulib directory.
98287         (get_tool_versions): Request feedback on xdelta.  I suspect it's
98288         not useful, and plan to stop publishing an xdelta file with each
98289         coreutils release.
98291         * build-aux/announce-gen: Also check for lzma-compressed files.
98293 2008-01-11  Bruno Haible  <bruno@clisp.org>
98295         * tests/test-memmem.c (main): Increase maximum allowed time.
98296         * tests/test-strstr.c (main): Likewise.
98298 2008-01-11  Bruno Haible  <bruno@clisp.org>
98300         * doc/functions/memmem.texi: Add more precisions about platforms.
98301         * doc/functions/strstr.texi: Likewise.
98303 2008-01-10  Eric Blake  <ebb9@byu.net>
98305         * m4/strstr.m4: Delete cruft from copy-n-paste.
98306         Reported by Bruno Haible.
98308 2008-01-10  Bruno Haible  <bruno@clisp.org>
98310         Make c-strstr rely on strstr.
98311         * lib/c-strstr.c: Don't include str-kmp.h.
98312         (c_strstr): Define in terms of strstr.
98313         * modules/c-strstr (Files): Remove lib/str-kmp.h.
98314         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
98316 2008-01-10  Bruno Haible  <bruno@clisp.org>
98318         * doc/gnulib.texi (String Functions in C Locale): New section.
98319         * doc/c-ctype.texi: New file.
98320         * doc/c-strcase.texi: New file.
98321         * doc/c-strcaseeq.texi: New file.
98322         * doc/c-strcasestr.texi: New file.
98323         * doc/c-strstr.texi: New file.
98324         * doc/c-strtod.texi: New file.
98325         * doc/c-strtold.texi: New file.
98327 2008-01-10  Eric Blake  <ebb9@byu.net>
98329         * lib/relocatable.h: Fix a comment.
98331 2008-01-10  Eric Blake  <ebb9@byu.net>
98333         Share two-way algorithm.
98334         * lib/str-two-way.h: New file, merged from...
98335         * lib/memmem.c: ...here...
98336         * lib/strstr.c: ...and here.
98337         * modules/memmem (Files): Use it.
98338         * modules/strstr (Files): Likewise.
98340         Avoid quadratic strstr implementations.
98341         * lib/strstr.c: New file.
98342         * m4/strstr.m4: Likewise.
98343         * modules/strstr: Likewise.
98344         * modules/strstr-tests: Likewise.
98345         * tests/test-strstr.c: Likewise.
98346         * lib/string.in.h (rpl_strstr): Declare.
98347         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
98348         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
98349         * modules/string (Makefile.am): Likewise.
98350         * MODULES.html.sh (string handling): Mention new module.
98351         * doc/functions/strstr.texi (strstr): Document the bug.
98353 2008-01-10  Bruno Haible  <bruno@clisp.org>
98355         * lib/relocatable.h (relocate): State whether result is freshly
98356         allocated or not.
98357         * lib/relocatable.c (relocate): Return a freshly allocated string
98358         instead of a pointer to a privately held string.
98359         Reported by Sylvain Beucler <beuc@gnu.org>.
98361 2008-01-10  Colin Watson  <cjwatson@debian.org>
98363         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
98364         s/S_ISNLK/S_ISLNK/.
98366 2008-01-09  Bruno Haible  <bruno@clisp.org>
98368         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
98369         and other files.
98370         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
98371         if it's only a guess.
98372         * modules/memmem: Simplify by depending on memmem-simple.
98374 2008-01-09  Bruno Haible  <bruno@clisp.org>
98376         Work around OpenBSD 4.0 tdelete() bug.
98377         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
98378         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
98379         macros and don't redefine the enum values.
98380         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
98381         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
98382         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
98384 2008-01-09  Bruno Haible  <bruno@clisp.org>
98386         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
98387         (main): Don't perform the tests if setlocale did not install a UTF-8
98388         locale. Needed on OpenBSD 4.0.
98389         * modules/wcwidth-tests (Depends-on): Add localcharset.
98391 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
98393         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
98394         See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
98395         * NEWS: announce this.
98396         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
98398 2008-01-09  Simon Josefsson  <simon@josefsson.org>
98399         and Eric Blake  <ebb9@byu.net>
98401         Add memmem-simple module.
98402         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
98403         (gl_FUNC_MEMMEM): Separate performance from presence checks.
98404         * modules/memmem-simple: New file.
98405         * modules/memmem (Description): Tweak.
98406         * MODULES.html.sh (string handling): Mention new module.
98407         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
98408         addressed by memmem-simple.
98409         * NEWS: Document the difference.
98411 2008-01-09  Eric Blake  <ebb9@byu.net>
98413         Give gcc some memmem optimization hints.
98414         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
98415         (strcasestr): Declare as pure.
98416         * modules/memmem (Maintainer): Claim my implementation.
98418 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98420         Support AIX 6.1 and higher.
98421         * build-aux/config.libpath: Likewise.
98422         * build-aux/config.rpath: Likewise.
98424 2008-01-08  Jim Meyering  <meyering@redhat.com>
98425             Bruno Haible  <bruno@clisp.org>
98427         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
98428         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
98429         Reported by Peter Fales in
98430         <http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.
98432 2008-01-08  Bruno Haible  <bruno@clisp.org>
98434         * modules/unictype/category-of (Depends-on): Add
98435         unictype/category-none.
98436         * modules/unictype/category-and-tests (Depends-on): Add
98437         unictype/category-{L,N,Lu,Nd}.
98438         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
98439         * modules/unictype/category-or-tests (Depends-on): Add
98440         unictype/category-{L,N}.
98441         * modules/unictype/category-name-tests (Depends-on): Add
98442         unictype/category-{Z,Nl}.
98443         Reported by Simon Josefsson.
98445 2008-01-08  Bruno Haible  <bruno@clisp.org>
98447         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
98448         convention better.
98449         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
98450         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
98451         Reported by Peter Miller <millerp@canb.auug.org.au>.
98453 2008-01-08  Eric Blake  <ebb9@byu.net>
98455         Rewrite memmem to guarantee linear complexity without malloc.
98456         * lib/memmem.c (memmem): Use Two-Way rather than
98457         Knuth-Morris-Pratt, to allow O(1) space usage.
98458         (critical_factorization, two_way_short_needle)
98459         (two_way_long_needle): New functions.
98460         (knuth_morris_pratt): Delete.
98461         * modules/memmem (Depends-on): No longer need malloca or stdbool.
98462         Add stdint.
98463         * tests/test-memmem.c (main): Add tests for periodic needle and
98464         sublinear performance.
98465         * doc/functions/memmem.texi (memmem): Document other deficiencies
98466         in cygwin and older glibc.
98468 2008-01-08  Bruno Haible  <bruno@clisp.org>
98470         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
98471         augmentation.
98473 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
98475         Add a configure time option: --disable-acl.
98476         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
98477         AC_ARG_ENABLE(acl).
98479 2008-01-06  Simon Josefsson  <simon@josefsson.org>
98481         * tests/test-localename.c: Don't include obsolete "setenv.h".
98483         * modules/localename-tests (Depends-on): Need unsetenv.
98485 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98487         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
98489 2008-01-06  Colin Watson  <cjwatson@debian.org>
98491         * users.txt: Add man-db.
98493 2008-01-07  Bruno Haible  <bruno@clisp.org>
98495         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
98496         previous section name.
98498 2008-01-07  Bruno Haible  <bruno@clisp.org>
98500         * lib/progname.c (set_program_name): Don't strip off a leading
98501         "lt-" prefix outside a .libs directory.
98502         Suggested by Paul Eggert.
98504 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
98505             Bruno Haible  <bruno@clisp.org>
98507         Improve memory cleanup in 'relocatable' module.
98508         * lib/relocatable.h (compute_curr_prefix): Change return type to
98509         'char *'.
98510         * lib/relocatable.c (compute_curr_prefix): Change return type to
98511         'char *'. Free curr_installdir after use.
98512         (relocate): Free curr_prefix_better after use.
98513         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
98515 2008-01-01  Bruno Haible  <bruno@clisp.org>
98517         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
98518         failure on older glibc systems.
98519         Reported by Peter Fales <psfales@alcatel-lucent.com>.
98521 2008-01-05  Eric Blake  <ebb9@byu.net>
98523         Avoid quadratic system memmem.
98524         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
98525         Reported by Ralf Wildenhues.
98527         Fix memmem test for mingw.
98528         * modules/memmem-tests (configure.ac): Check for alarm.
98529         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
98530         it.
98531         * doc/functions/memmem.texi: New file.
98532         * doc/gnulib.texi (Function Substitutes): Add memmem.
98533         Reported by Bruno Haible.
98535 2008-01-04  Bruno Haible  <bruno@clisp.org>
98537         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
98538         Require gl_HEADER_STRINGS_H_DEFAULTS, not
98539         gl_HEADER_STRING_H_DEFAULTS.
98541 2008-01-04  Eric Blake  <ebb9@byu.net>
98543         Shorten duration of memmem test.
98544         * tests/test-memmem.c (main): Use alarm to declare failure if test
98545         is taking too long.
98546         Reported by Ralf Wildenhues.
98548 2007-12-21  Simon Josefsson  <simon@josefsson.org>
98550         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
98551         string, needed by strerror.
98553 2008-01-03  Colin Watson  <cjwatson@debian.org>
98554             Bruno Haible  <bruno@clisp.org>
98556         * doc/gnulib-tool.texi (Localization): New section.
98558 2008-01-02  Bruno Haible  <bruno@clisp.org>
98560         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
98561         variables to 'unsigned char *' type.
98562         Reported by Paul Eggert.
98564 2008-01-02  Jim Meyering  <jim@meyering.net>
98566         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
98568 2007-12-31  Jim Meyering  <jim@meyering.net>
98570         Avoid use of private FTS type name.
98571         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
98573 2007-12-30  Karl Berry  <karl@gnu.org>
98575         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
98576         work around defect in Texinfo and/or the standalone Info browser.
98578 2007-12-30  Bruno Haible  <bruno@clisp.org>
98580         Unify 5 copies of the KMP code.
98581         * lib/str-kmp.h: New file.
98582         * lib/c-strcasestr.c: Include str-kmp.h.
98583         (knuth_morris_pratt): Remove function.
98584         (c_strcasestr): Update.
98585         * lib/c-strstr.c: Include str-kmp.h.
98586         (knuth_morris_pratt): Remove function.
98587         (c_strcasestr): Update.
98588         * lib/mbscasestr.c: Include str-kmp.h.
98589         (knuth_morris_pratt_unibyte): Remove function.
98590         * lib/mbsstr.c: Include str-kmp.h.
98591         (knuth_morris_pratt_unibyte): Remove function.
98592         * lib/strcasestr.c: Include str-kmp.h.
98593         (knuth_morris_pratt): Remove function.
98594         (strcasestr): Update.
98595         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
98596         * modules/c-strstr (Files): Likewise.
98597         * modules/mbscasestr (Files): Likewise.
98598         * modules/mbsstr (Files): Likewise.
98599         * modules/strcasestr (Files): Likewise.
98600         Suggested by Paul Eggert.
98602 2007-12-30  Bruno Haible  <bruno@clisp.org>
98604         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
98605         defined.
98607 2007-12-30  Bruno Haible  <bruno@clisp.org>
98609         * lib/xmalloca.h: Include xalloc.h.
98610         (xnmalloca): New macro.
98612 2007-12-30  Bruno Haible  <bruno@clisp.org>
98614         * lib/malloca.h (nmalloca): New macro.
98615         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
98616         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
98617         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
98618         knuth_morris_pratt_multibyte): Likewise.
98619         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
98620         knuth_morris_pratt_multibyte): Likewise.
98621         * lib/memmem.c (knuth_morris_pratt): Likewise.
98622         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
98624 2007-12-25  Bruno Haible  <bruno@clisp.org>
98626         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
98627         * lib/glob.c: Don't include openat.h.
98628         (link_exists2_p): Add back the code that deals with the
98629         !GLOB_ALTDIRFUNC case.
98630         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
98631         let it do the filename concatenation.
98632         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
98633         * modules/glob (Depends-on): Remove openat.
98635 2007-12-31  Bruno Haible  <bruno@clisp.org>
98637         * modules/dirfd (License): Change to LGPLv2+.
98638         Approved by Jim Meyering.
98640 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
98642         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
98643         when multiplying M by sizeof (size_t).
98645 2007-12-10  Martin Lambers  <marlam@marlam.de>
98647         Override getpagesize on mingw.
98648         * lib/getpagesize.c: New file.
98649         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
98650         * modules/getpagesize (Files): Add lib/getpagesize.c.
98651         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
98652         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
98653         REPLACE_GETPAGESIZE.
98654         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
98656 2007-12-25  Bruno Haible  <bruno@clisp.org>
98658         * modules/localcharset (Notice): New field.
98659         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
98660         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
98662 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
98663             Bruno Haible  <bruno@clisp.org>
98665         Avoid using the syntax symbol() in formatted documentation.
98666         * MODULES.html.sh (func_module): When replacing symbol() with a
98667         hyperlink, remove the parentheses. Show an error if some remain.
98668         Recognize and render the '...' syntax.
98669         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
98670         Rework. Add paragraph about GCC's inlining.
98671         * doc/alloca.texi: Likewise.
98672         * doc/error.texi: Remove parentheses from symbol reference.
98673         * doc/gnulib-intro.texi: Likewise.
98674         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
98675         * modules/fnmatch (Description): Reword to say "the ... function".
98676         * modules/full-read (Description): Likewise.
98677         * modules/full-write (Description): Likewise.
98678         * modules/safe-read (Description): Likewise.
98679         * modules/safe-write (Description): Likewise.
98680         * modules/strchrnul (Description): Likewise.
98681         * modules/trim (Description): Likewise.
98682         * modules/error (Description): Remove parentheses from symbol
98683         references.
98684         * modules/verror (Description): Likewise.
98685         Reported by Karl Berry.
98687 2007-12-25  Bruno Haible  <bruno@clisp.org>
98689         Fixup after 2007-10-16 commit.
98690         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
98692 2007-12-24  Bruno Haible  <bruno@clisp.org>
98694         Make --enable-relocatable work with DESTDIR.
98695         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
98696         to compute installdir from destprog.
98697         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
98698         also set the RELOC_DESTDIR variable.
98699         Reported by Левашев Иван <octagram@bluebottle.com>.
98701 2007-12-24  Bruno Haible  <bruno@clisp.org>
98703         Fix link error due to xalloc_die().
98704         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
98705         of xreadlink.
98706         * lib/relocwrapper.c: Update comments.
98707         * build-aux/install-reloc: Remove xreadlink.c from file list.
98708         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
98709         xreadlink.c.
98710         Reported by Левашев Иван <octagram@bluebottle.com>.
98712 2007-12-24  Bruno Haible  <bruno@clisp.org>
98714         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
98715         * lib/setenv.h: Remove file.
98716         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
98717         lib/setenv.h.
98718         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
98719         (Depends-on): Add stdlib.
98720         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
98721         gl_FUNC_UNSETENV.
98722         (Include): Replace setenv.h with <stdlib.h>.
98723         * modules/unsetenv: New file.
98724         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
98725         * lib/unsetenv.c: Include <stdlib.h> first.
98726         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
98727         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
98728         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
98729         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
98730         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
98731         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
98732         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
98733         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
98734         * doc/functions/unsetenv.texi: Update.
98735         * modules/xsetenv (Depends-on): Add unsetenv.
98736         * modules/getdate (Depends-on): Likewise.
98737         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
98738         * lib/xsetenv.c: Don't include setenv.h.
98739         * lib/getdate.y: Likewise.
98740         * lib/relocwrapper.c: Likewise.
98741         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
98742         (Depends-on): Add stdlib.
98743         * NEWS: Mention the changes.
98744         Reported by Левашев Иван <octagram@bluebottle.com>.
98746 2007-12-23  Bruno Haible  <bruno@clisp.org>
98748         * lib/memmem.c (memmem): Use lowercase variable names. Tab
98749         indentation.
98751 2007-12-23  Bruno Haible  <bruno@clisp.org>
98753         * lib/c-strcasestr.c: Add more comments.
98754         * lib/c-strstr.c: Likewise.
98755         * lib/mbscasestr.c: Likewise.
98756         * lib/mbsstr.c: Likewise.
98757         * lib/strcasestr.c: Likewise.
98758         * lib/memmem.c: Likewise.
98760 2007-12-23  Bruno Haible  <bruno@clisp.org>
98762         * tests/test-memmem.c: Include <string.h> first.
98764 2007-12-22  Bruno Haible  <bruno@clisp.org>
98766         * gnulib-tool (func_create_testdir): Change $auxdir while generating
98767         the contents of $testsbase.
98768         Reported by Ralf Wildenhues.
98770 2007-12-22  Bruno Haible  <bruno@clisp.org>
98772         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
98773         two variables local_ldadd_before, local_ldadd_last.
98775 2007-12-20  Eric Blake  <ebb9@byu.net>
98777         Work around circular library issue when cross-compiling.
98778         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
98779         that progname.o does not need to pull in rpl_memcmp.
98781 2007-12-19  Eric Blake  <ebb9@byu.net>
98783         Fix memmem to avoid O(n^2) worst-case complexity.
98784         * lib/memmem.c (knuth_morris_pratt): New function.
98785         (memmem): Use it if first few naive iterations fail.
98786         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
98787         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
98788         * modules/memchr (License): Likewise.
98789         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
98790         malloca.
98791         * tests/test-memmem.c: Rewrite, borrowing ideas from
98792         test-mbsstr1.c; the old version wouldn't even compile!
98793         * modules/memmem-tests: New file.
98794         * lib/string.in.h (rpl_memmem): Add declaration.
98795         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
98796         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
98797         REPLACE_MEMMEM.
98799 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
98801         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
98802         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
98803         before any system include files, and undef after them all.  This
98804         should fix a problem on VMS reported by John E. Malmberg in
98805         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.
98807 2007-12-17  Eric Blake  <ebb9@byu.net>
98809         Revert addition of verify, for BSD/OS.
98810         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
98811         can't handle large files, for the sake of obsolete platforms.
98812         * modules/fseeko (Depends-on): Remove verify.
98813         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
98814         * doc/functions/ftello.texi (ftello): Likewise.
98815         * doc/functions/fgetpos.texi (fgetpos): Likewise.
98816         Reported by Larry Jones.
98818 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
98820         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
98821         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
98823 2007-12-17  Jim Meyering  <meyering@redhat.com>
98825         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
98826         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
98827         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
98828         * modules/getcwd (Depends-on): Add openat.
98829         Reported by Petr Salinger.
98831 2007-12-17  Bruno Haible  <bruno@clisp.org>
98833         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
98834         avoid a segmentation fault of the configure test on x86_64 systems.
98836 2007-12-15  Jim Meyering  <meyering@redhat.com>
98838         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
98840 2007-12-13  Eric Blake  <ebb9@byu.net>
98842         Another fseek test.
98843         * tests/test-fseek.c (main): Also test ungetc handling.
98844         * tests/test-fseeko.c (main): Likewise.
98845         * modules/fseeko (Depends-on): Add verify.
98846         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
98847         large.
98848         Reported by Larry Jones.
98850         Fix fseeko on mingw.
98851         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
98852         seek.
98854         Beef up fseek tests.
98855         * tests/test-fseek.c (main): Also test eof handling.
98856         * tests/test-fseeko.c (main): Likewise.
98857         Reported by Larry Jones.
98859 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
98861         Fix fseeko on BSD-based platforms.
98862         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
98863         successful seek.
98865 2007-12-12  Eric Blake  <ebb9@byu.net>
98867         Allow circular dependency of separate libtests.a
98868         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
98869         when use_libtests.
98871 2007-12-11  Eric Blake  <ebb9@byu.net>
98873         Fix bug with -0.0L in previous patch.
98874         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
98875         * tests/test-isnan.c (main): Also test on zeroes.
98876         * tests/test-isnanf.c (main): Likewise.
98877         * tests/test-isnanl.h (main): Likewise.
98879         Detect pseudo-denormals on x86 even when cross-compiling.
98880         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
98881         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
98882         invalid bit patterns that happen to satisfy ==.
98884         Avoid link failures with separate libtests.a.
98885         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
98886         last, to satisfy circular dependencies.
98888 2007-12-11  Eric Blake  <ebb9@byu.net>
98889         and Bruno Haible  <bruno@clisp.org>
98891         Fix OpenBSD 4.0 <float.h> handling of long double.
98892         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
98893         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
98894         * doc/headers/float.texi (float.h): Document OpenBSD bug.
98896 2007-12-11  Jim Meyering  <meyering@redhat.com>
98898         * users.txt: Add libvirt.
98900         Support versions of autoconf prior to 2.59c.
98901         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
98902         if it is not already defined.
98904 2007-12-09  Bruno Haible  <bruno@clisp.org>
98906         Let 'gnulib-tool --import' collect sources needed for the tests in
98907         tests/ rather than in lib/.
98908         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
98909         argument. If true, add rules to generate libtests.a, and put libtests.a
98910         into $(LDADD). Consider source files in subdirectories and set
98911         uses_subdirs.
98912         (func_emit_initmacro_start, func_emit_initmacro_end,
98913         func_emit_initmacro_done): Pass all arguments explicitly.
98914         (func_import): Determine two module lists main_modules,
98915         testsrelated_modules. Determine use_libtests. Determine two variables
98916         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
98917         instead of just sed_transform_lib_file. Determine two variables
98918         main_files and testsrelated_files. Compute 'files' as the union of
98919         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
98920         func_add_or_update. In the generated gnulib-comp.m4, collect the
98921         object files for tests/ in different variables than those for lib/.
98922         Substitute LIBTESTS_LIBDEPS.
98923         (func_create_testdir): Combine the uses_subdirs results from
98924         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
98926 2007-12-09  Bruno Haible  <bruno@clisp.org>
98928         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
98929         the build-aux directory.
98931 2007-12-09  Bruno Haible  <bruno@clisp.org>
98933         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
98934         introduced on 2006-09-09.
98936 2007-12-07  Jim Meyering  <meyering@redhat.com>
98938         Let these macros work also with autoconf-2.59.
98939         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
98940         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
98941         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
98943 2007-12-06  Jim Meyering  <meyering@redhat.com>
98945         Avoid a configure-time syntax error in gl_FUNC_ACL.
98946         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
98947         function in each branch, before testing the cache variable.
98949 2007-12-04  Eric Blake  <ebb9@byu.net>
98951         Make scripts executable.
98952         * build-aux/config.guess: Add execute permissions.
98953         * build-aux/config.sub: Likewise.
98954         * build-aux/gendocs.sh: Likewise.
98956         Fix frexp on mingw.
98957         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
98958         cross-compiling.
98959         * doc/functions/frexp.texi (frexp): Document the bug.
98961         Make cygwin fseeko check more reliable.
98962         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
98963         version numbers, rather than unrelated feature check.
98964         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
98965         * doc/functions/ftello.texi (ftello): Likewise.
98966         Reported by Bruno Haible.
98968         * m4/strerror.m4: Bump version number.
98970 2007-12-03  Bruno Haible  <bruno@clisp.org>
98972         * doc/functions/mprotect.texi: Mention the mingw problem.
98974 2007-12-03  Eric Blake  <ebb9@byu.net>
98976         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
98977         REPLACE_STRERROR is initialized before this macro.
98979 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
98981         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
98982         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
98983         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
98984         put -lsec in even for programs other than 'ls'.  This fixes a problem
98985         for gettext reported by Bruno Haible in
98986         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
98987         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
98988         Add support for Solaris 10.  This isn't efficient, but should get the
98989         job done for now.
98991 2007-12-03  James Youngman  <jay@gnu.org>
98993         * doc/regexprops-generic.texi: change "an close-group" to "a
98994         close-group" and "illegal" to "not allowed".
98996 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98998         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
98999         pr_byname.h. Needed for the rare case when the maintainer has done
99000         "make maintainer-clean" in the source directory and then attempts a
99001         build outside the source directory.
99002         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
99003         scripts_byname.h.
99005 2007-12-02  Martin Lambers  <marlam@marlam.de>
99006             Bruno Haible  <bruno@clisp.org>
99008         * lib/getpagesize.h: Remove file.
99009         * lib/unistd.in.h: Include declaration of getpagesize here.
99010         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
99011         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
99012         HAVE_SYS_PARAM_H.
99013         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
99014         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
99015         * modules/getpagesize (Files): Remove lib/getpagesize.h.
99016         (Depends-on): Add unistd.
99017         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
99018         (Include): Use <unistd.h> instead of getpagesize.h.
99019         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
99020         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
99021         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
99022         gl_GETPAGESIZE invocation, already handled by module dependency.
99023         * lib/pagealign_alloc.c: Don't include getpagesize.h.
99025 2007-12-02  Bruno Haible  <bruno@clisp.org>
99027         * modules/strings-tests: New file.
99028         * tests/test-strings.c: New file.
99030         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
99031         * lib/strings.in.h: New file.
99032         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
99033         * m4/strings_h.m4: New file.
99034         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
99035         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
99036         * modules/strings: New file.
99037         * modules/string (Makefile.am): Update.
99038         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
99039         Reported by Karl Berry.
99041 2007-12-01  Eric Blake  <ebb9@byu.net>
99043         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
99044         accommodate fix in cygwin 1.5.25.
99046 2007-12-01  Jim Meyering  <meyering@redhat.com>
99048         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
99049         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
99050         that would inhibit utf8-optimization of a regexp containing line-
99051         or buffer-anchors, e.g., `^', `$'.
99053 2007-11-30  Bruno Haible  <bruno@clisp.org>
99055         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
99056         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
99057         glthread_recursive_lock_init.
99058         * lib/lock.c (glthread_recursive_lock_init)
99059         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
99060         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
99062 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
99064         New function qset_acl, like set_acl but with syscall semantics.
99065         * lib/acl.h (qset_acl): New decl.
99066         * lib/acl.c (qset_acl): New function.
99067         (set_acl): Use new function.  Use more-consistent diagnostics.
99069 2007-11-28  Jim Meyering  <meyering@redhat.com>
99071         * modules/physmem (License): Change from GPL to LGPLv2+.
99073 2007-11-26  Bruno Haible  <bruno@clisp.org>
99075         * lib/vasnprintf.c (decode_long_double): Don't abort if the
99076         'long double' type has excess precision.
99077         Reported by Jim Meyering in
99078         <http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.
99080 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99082         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
99083         Sync from <http://gnu.org/licenses>.
99084         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
99085         with license text from same location.
99086         * doc/maintain.texi, doc/standards.texi:  Sync from
99087         <http://savannah.gnu.org/projects/gnustandards>.
99089 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
99090         and Jim Meyering  <meyering@redhat.com>
99092         Adjust getdate' grammar to accept a slightly more regular language.
99093         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
99094         Before, the former was rejected.
99095         * lib/getdate.y (digits_to_date_time): New function, factored
99096         out of ...
99097         (number): ...here.  Just call digits_to_date_time.
99098         (hybrid): New non-terminal to handle an <unsigned number,
99099         signed relative offset> sequence consistently.
99101 2007-11-18  Jim Meyering  <meyering@redhat.com>
99103         Pull my changes from coreutils:
99104         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
99105         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
99106         use of $gnulib_tool_option_extras, so that it's separated from the
99107         preceding argument.
99109         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
99110         * build-aux/bootstrap (cp_mark_as_generated): Create any required
99111         parent destination directories before copying a file into place.
99113 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
99115         bootstrap: work also with 4-argument variant of AC_INIT
99116         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
99118 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
99120         Port test-getaddrinfo to Solaris.
99121         Problem reported by Bruno Haible in
99122         <http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
99123         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
99124         explanation of setting 'hints'.
99125         Don't reject an implementation merely because it returns EAI_SERVICE.
99126         (EAI_SERVICE): Define to 0 if not defined.
99128 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
99130         The license of gnu-make and posix-shell is now "GPLed build tool".
99131         * modules/gnu-make (License): Likewise.
99132         * modules/posix-shell (License): Likewise.
99134         New module posix-shell, for determining a POSIX shell
99135         or perhaps something that is close enough to a POSIX shell.
99136         * m4/posix-shell.m4: New file.
99137         * modules/posix-shell: New file.
99139         * MODULES.html.sh: Mention new module.
99141         New module gnu-make, for determining whether we're using GNU Make.
99142         * m4/gnu-make.m4: New file.
99143         * modules/gnu-make: New file.
99144         * MODULES.html.sh: Mention new module.
99146 2007-11-14  Jim Meyering  <meyering@redhat.com>
99148         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
99149         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
99150         use this macro to create a function _definition_.
99151         Remove useless "#undef ARGMATCH_DIE".
99153 2007-11-14  Bruno Haible  <bruno@clisp.org>
99155         * lib/config.charset: Update for OpenBSD 4.1.
99156         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
99158 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
99160         Document 64-bit #if problems in stdint.texi.
99161         * doc/headers/stdint.texi (stdint.h): Mention problems with
99162         64-bit-#if, and how to work around them.
99164         Don't insist on 'long long int' support in the preprocessor.  It
99165         breaks too many things.  For example, PRIdMAX still uses a 'long
99166         long int' format with the latest Sun compiler, even though
99167         HAVE_LONG_LONG_INT isn't defined due to that compiler's
99168         preprocessor problem.  This causes the latest coreutils to dump
99169         core on Solaris 10 sparc with the Sun C compiler.
99170         Instead, fix the 2007-10-16 problem in a different way, by evaluating
99171         the troublesome expressions at configure-time, not at #if-time.
99172         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
99173         preprocessor.
99174         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
99175         compile-time C checks, done at 'configure'-time.
99176         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
99177         * modules/inttypes (Makefile): Substitute the new symbols that
99178         gl_INTTYPES_H now generates.
99179         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
99181 2007-11-12  Bruno Haible  <bruno@clisp.org>
99183         Tests for Unicode character classification functions.
99185         * modules/unictype/bidicategory-byname-tests: New file.
99186         * modules/unictype/bidicategory-name-tests: New file.
99187         * modules/unictype/bidicategory-of-tests: New file.
99188         * modules/unictype/bidicategory-test-tests: New file.
99189         * modules/unictype/block-list-tests: New file.
99190         * modules/unictype/block-of-tests: New file.
99191         * modules/unictype/block-test-tests: New file.
99192         * modules/unictype/category-C-tests: New file.
99193         * modules/unictype/category-Cc-tests: New file.
99194         * modules/unictype/category-Cf-tests: New file.
99195         * modules/unictype/category-Cn-tests: New file.
99196         * modules/unictype/category-Co-tests: New file.
99197         * modules/unictype/category-Cs-tests: New file.
99198         * modules/unictype/category-L-tests: New file.
99199         * modules/unictype/category-Ll-tests: New file.
99200         * modules/unictype/category-Lm-tests: New file.
99201         * modules/unictype/category-Lo-tests: New file.
99202         * modules/unictype/category-Lt-tests: New file.
99203         * modules/unictype/category-Lu-tests: New file.
99204         * modules/unictype/category-M-tests: New file.
99205         * modules/unictype/category-Mc-tests: New file.
99206         * modules/unictype/category-Me-tests: New file.
99207         * modules/unictype/category-Mn-tests: New file.
99208         * modules/unictype/category-N-tests: New file.
99209         * modules/unictype/category-Nd-tests: New file.
99210         * modules/unictype/category-Nl-tests: New file.
99211         * modules/unictype/category-No-tests: New file.
99212         * modules/unictype/category-P-tests: New file.
99213         * modules/unictype/category-Pc-tests: New file.
99214         * modules/unictype/category-Pd-tests: New file.
99215         * modules/unictype/category-Pe-tests: New file.
99216         * modules/unictype/category-Pf-tests: New file.
99217         * modules/unictype/category-Pi-tests: New file.
99218         * modules/unictype/category-Po-tests: New file.
99219         * modules/unictype/category-Ps-tests: New file.
99220         * modules/unictype/category-S-tests: New file.
99221         * modules/unictype/category-Sc-tests: New file.
99222         * modules/unictype/category-Sk-tests: New file.
99223         * modules/unictype/category-Sm-tests: New file.
99224         * modules/unictype/category-So-tests: New file.
99225         * modules/unictype/category-Z-tests: New file.
99226         * modules/unictype/category-Zl-tests: New file.
99227         * modules/unictype/category-Zp-tests: New file.
99228         * modules/unictype/category-Zs-tests: New file.
99229         * modules/unictype/category-and-not-tests: New file.
99230         * modules/unictype/category-and-tests: New file.
99231         * modules/unictype/category-byname-tests: New file.
99232         * modules/unictype/category-name-tests: New file.
99233         * modules/unictype/category-none-tests: New file.
99234         * modules/unictype/category-of-tests: New file.
99235         * modules/unictype/category-or-tests: New file.
99236         * modules/unictype/category-test-withtable-tests: New file.
99237         * modules/unictype/combining-class-tests: New file.
99238         * modules/unictype/ctype-alnum-tests: New file.
99239         * modules/unictype/ctype-alpha-tests: New file.
99240         * modules/unictype/ctype-blank-tests: New file.
99241         * modules/unictype/ctype-cntrl-tests: New file.
99242         * modules/unictype/ctype-digit-tests: New file.
99243         * modules/unictype/ctype-graph-tests: New file.
99244         * modules/unictype/ctype-lower-tests: New file.
99245         * modules/unictype/ctype-print-tests: New file.
99246         * modules/unictype/ctype-punct-tests: New file.
99247         * modules/unictype/ctype-space-tests: New file.
99248         * modules/unictype/ctype-upper-tests: New file.
99249         * modules/unictype/ctype-xdigit-tests: New file.
99250         * modules/unictype/decimal-digit-tests: New file.
99251         * modules/unictype/digit-tests: New file.
99252         * modules/unictype/mirror-tests: New file.
99253         * modules/unictype/numeric-tests: New file.
99254         * modules/unictype/property-alphabetic-tests: New file.
99255         * modules/unictype/property-ascii-hex-digit-tests: New file.
99256         * modules/unictype/property-bidi-arabic-digit-tests: New file.
99257         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
99258         * modules/unictype/property-bidi-block-separator-tests: New file.
99259         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
99260         * modules/unictype/property-bidi-common-separator-tests: New file.
99261         * modules/unictype/property-bidi-control-tests: New file.
99262         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
99263         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
99264         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
99265         * modules/unictype/property-bidi-european-digit-tests: New file.
99266         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
99267         * modules/unictype/property-bidi-left-to-right-tests: New file.
99268         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
99269         * modules/unictype/property-bidi-other-neutral-tests: New file.
99270         * modules/unictype/property-bidi-pdf-tests: New file.
99271         * modules/unictype/property-bidi-segment-separator-tests: New file.
99272         * modules/unictype/property-bidi-whitespace-tests: New file.
99273         * modules/unictype/property-byname-tests: New file.
99274         * modules/unictype/property-combining-tests: New file.
99275         * modules/unictype/property-composite-tests: New file.
99276         * modules/unictype/property-currency-symbol-tests: New file.
99277         * modules/unictype/property-dash-tests: New file.
99278         * modules/unictype/property-decimal-digit-tests: New file.
99279         * modules/unictype/property-default-ignorable-code-point-tests: New file.
99280         * modules/unictype/property-deprecated-tests: New file.
99281         * modules/unictype/property-diacritic-tests: New file.
99282         * modules/unictype/property-extender-tests: New file.
99283         * modules/unictype/property-format-control-tests: New file.
99284         * modules/unictype/property-grapheme-base-tests: New file.
99285         * modules/unictype/property-grapheme-extend-tests: New file.
99286         * modules/unictype/property-grapheme-link-tests: New file.
99287         * modules/unictype/property-hex-digit-tests: New file.
99288         * modules/unictype/property-hyphen-tests: New file.
99289         * modules/unictype/property-id-continue-tests: New file.
99290         * modules/unictype/property-id-start-tests: New file.
99291         * modules/unictype/property-ideographic-tests: New file.
99292         * modules/unictype/property-ids-binary-operator-tests: New file.
99293         * modules/unictype/property-ids-trinary-operator-tests: New file.
99294         * modules/unictype/property-ignorable-control-tests: New file.
99295         * modules/unictype/property-iso-control-tests: New file.
99296         * modules/unictype/property-join-control-tests: New file.
99297         * modules/unictype/property-left-of-pair-tests: New file.
99298         * modules/unictype/property-line-separator-tests: New file.
99299         * modules/unictype/property-logical-order-exception-tests: New file.
99300         * modules/unictype/property-lowercase-tests: New file.
99301         * modules/unictype/property-math-tests: New file.
99302         * modules/unictype/property-non-break-tests: New file.
99303         * modules/unictype/property-not-a-character-tests: New file.
99304         * modules/unictype/property-numeric-tests: New file.
99305         * modules/unictype/property-other-alphabetic-tests: New file.
99306         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
99307         * modules/unictype/property-other-grapheme-extend-tests: New file.
99308         * modules/unictype/property-other-id-continue-tests: New file.
99309         * modules/unictype/property-other-id-start-tests: New file.
99310         * modules/unictype/property-other-lowercase-tests: New file.
99311         * modules/unictype/property-other-math-tests: New file.
99312         * modules/unictype/property-other-uppercase-tests: New file.
99313         * modules/unictype/property-paired-punctuation-tests: New file.
99314         * modules/unictype/property-paragraph-separator-tests: New file.
99315         * modules/unictype/property-pattern-syntax-tests: New file.
99316         * modules/unictype/property-pattern-white-space-tests: New file.
99317         * modules/unictype/property-private-use-tests: New file.
99318         * modules/unictype/property-punctuation-tests: New file.
99319         * modules/unictype/property-quotation-mark-tests: New file.
99320         * modules/unictype/property-radical-tests: New file.
99321         * modules/unictype/property-sentence-terminal-tests: New file.
99322         * modules/unictype/property-soft-dotted-tests: New file.
99323         * modules/unictype/property-space-tests: New file.
99324         * modules/unictype/property-terminal-punctuation-tests: New file.
99325         * modules/unictype/property-test-tests: New file.
99326         * modules/unictype/property-titlecase-tests: New file.
99327         * modules/unictype/property-unassigned-code-value-tests: New file.
99328         * modules/unictype/property-unified-ideograph-tests: New file.
99329         * modules/unictype/property-uppercase-tests: New file.
99330         * modules/unictype/property-variation-selector-tests: New file.
99331         * modules/unictype/property-white-space-tests: New file.
99332         * modules/unictype/property-xid-continue-tests: New file.
99333         * modules/unictype/property-xid-start-tests: New file.
99334         * modules/unictype/property-zero-width-tests: New file.
99335         * modules/unictype/scripts-tests: New file.
99336         * modules/unictype/syntax-c-ident-tests: New file.
99337         * modules/unictype/syntax-c-whitespace-tests: New file.
99338         * modules/unictype/syntax-java-ident-tests: New file.
99339         * modules/unictype/syntax-java-whitespace-tests: New file.
99340         * tests/unictype/test-bidi_byname.c: New file.
99341         * tests/unictype/test-bidi_name.c: New file.
99342         * tests/unictype/test-bidi_of.c: New file.
99343         * tests/unictype/test-bidi_test.c: New file.
99344         * tests/unictype/test-block_list.c: New file.
99345         * tests/unictype/test-block_of.c: New file.
99346         * tests/unictype/test-block_test.c: New file.
99347         * tests/unictype/test-categ_and.c: New file.
99348         * tests/unictype/test-categ_and_not.c: New file.
99349         * tests/unictype/test-categ_byname.c: New file.
99350         * tests/unictype/test-categ_name.c: New file.
99351         * tests/unictype/test-categ_none.c: New file.
99352         * tests/unictype/test-categ_of.c: New file.
99353         * tests/unictype/test-categ_or.c: New file.
99354         * tests/unictype/test-categ_test_withtable.c: New file.
99355         * tests/unictype/test-combining.c: New file.
99356         * tests/unictype/test-decdigit.c: New file.
99357         * tests/unictype/test-digit.c: New file.
99358         * tests/unictype/test-mirror.c: New file.
99359         * tests/unictype/test-numeric.c: New file.
99360         * tests/unictype/test-pr_byname.c: New file.
99361         * tests/unictype/test-pr_test.c: New file.
99362         * tests/unictype/test-predicate-part1.h: New file.
99363         * tests/unictype/test-predicate-part2.h: New file.
99364         * tests/unictype/test-scripts.c: New file.
99365         * tests/unictype/test-sy_c_ident.c: New file.
99366         * tests/unictype/test-sy_java_ident.c: New file.
99368         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
99369         for Unicode 5.0.0.
99370         * tests/unictype/test-categ_Cc.c: Likewise.
99371         * tests/unictype/test-categ_Cf.c: Likewise.
99372         * tests/unictype/test-categ_Cn.c: Likewise.
99373         * tests/unictype/test-categ_Co.c: Likewise.
99374         * tests/unictype/test-categ_Cs.c: Likewise.
99375         * tests/unictype/test-categ_L.c: Likewise.
99376         * tests/unictype/test-categ_Ll.c: Likewise.
99377         * tests/unictype/test-categ_Lm.c: Likewise.
99378         * tests/unictype/test-categ_Lo.c: Likewise.
99379         * tests/unictype/test-categ_Lt.c: Likewise.
99380         * tests/unictype/test-categ_Lu.c: Likewise.
99381         * tests/unictype/test-categ_M.c: Likewise.
99382         * tests/unictype/test-categ_Mc.c: Likewise.
99383         * tests/unictype/test-categ_Me.c: Likewise.
99384         * tests/unictype/test-categ_Mn.c: Likewise.
99385         * tests/unictype/test-categ_N.c: Likewise.
99386         * tests/unictype/test-categ_Nd.c: Likewise.
99387         * tests/unictype/test-categ_Nl.c: Likewise.
99388         * tests/unictype/test-categ_No.c: Likewise.
99389         * tests/unictype/test-categ_P.c: Likewise.
99390         * tests/unictype/test-categ_Pc.c: Likewise.
99391         * tests/unictype/test-categ_Pd.c: Likewise.
99392         * tests/unictype/test-categ_Pe.c: Likewise.
99393         * tests/unictype/test-categ_Pf.c: Likewise.
99394         * tests/unictype/test-categ_Pi.c: Likewise.
99395         * tests/unictype/test-categ_Po.c: Likewise.
99396         * tests/unictype/test-categ_Ps.c: Likewise.
99397         * tests/unictype/test-categ_S.c: Likewise.
99398         * tests/unictype/test-categ_Sc.c: Likewise.
99399         * tests/unictype/test-categ_Sk.c: Likewise.
99400         * tests/unictype/test-categ_Sm.c: Likewise.
99401         * tests/unictype/test-categ_So.c: Likewise.
99402         * tests/unictype/test-categ_Z.c: Likewise.
99403         * tests/unictype/test-categ_Zl.c: Likewise.
99404         * tests/unictype/test-categ_Zp.c: Likewise.
99405         * tests/unictype/test-categ_Zs.c: Likewise.
99406         * tests/unictype/test-ctype_alnum.c: Likewise.
99407         * tests/unictype/test-ctype_alpha.c: Likewise.
99408         * tests/unictype/test-ctype_blank.c: Likewise.
99409         * tests/unictype/test-ctype_cntrl.c: Likewise.
99410         * tests/unictype/test-ctype_digit.c: Likewise.
99411         * tests/unictype/test-ctype_graph.c: Likewise.
99412         * tests/unictype/test-ctype_lower.c: Likewise.
99413         * tests/unictype/test-ctype_print.c: Likewise.
99414         * tests/unictype/test-ctype_punct.c: Likewise.
99415         * tests/unictype/test-ctype_space.c: Likewise.
99416         * tests/unictype/test-ctype_upper.c: Likewise.
99417         * tests/unictype/test-ctype_xdigit.c: Likewise.
99418         * tests/unictype/test-decdigit.h: Likewise.
99419         * tests/unictype/test-digit.h: Likewise.
99420         * tests/unictype/test-numeric.h: Likewise.
99421         * tests/unictype/test-pr_alphabetic.c: Likewise.
99422         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
99423         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
99424         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
99425         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
99426         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
99427         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
99428         * tests/unictype/test-pr_bidi_control.c: Likewise.
99429         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
99430         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
99431         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
99432         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
99433         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
99434         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
99435         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
99436         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
99437         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
99438         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
99439         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
99440         * tests/unictype/test-pr_combining.c: Likewise.
99441         * tests/unictype/test-pr_composite.c: Likewise.
99442         * tests/unictype/test-pr_currency_symbol.c: Likewise.
99443         * tests/unictype/test-pr_dash.c: Likewise.
99444         * tests/unictype/test-pr_decimal_digit.c: Likewise.
99445         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
99446         * tests/unictype/test-pr_deprecated.c: Likewise.
99447         * tests/unictype/test-pr_diacritic.c: Likewise.
99448         * tests/unictype/test-pr_extender.c: Likewise.
99449         * tests/unictype/test-pr_format_control.c: Likewise.
99450         * tests/unictype/test-pr_grapheme_base.c: Likewise.
99451         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
99452         * tests/unictype/test-pr_grapheme_link.c: Likewise.
99453         * tests/unictype/test-pr_hex_digit.c: Likewise.
99454         * tests/unictype/test-pr_hyphen.c: Likewise.
99455         * tests/unictype/test-pr_id_continue.c: Likewise.
99456         * tests/unictype/test-pr_id_start.c: Likewise.
99457         * tests/unictype/test-pr_ideographic.c: Likewise.
99458         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
99459         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
99460         * tests/unictype/test-pr_ignorable_control.c: Likewise.
99461         * tests/unictype/test-pr_iso_control.c: Likewise.
99462         * tests/unictype/test-pr_join_control.c: Likewise.
99463         * tests/unictype/test-pr_left_of_pair.c: Likewise.
99464         * tests/unictype/test-pr_line_separator.c: Likewise.
99465         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
99466         * tests/unictype/test-pr_lowercase.c: Likewise.
99467         * tests/unictype/test-pr_math.c: Likewise.
99468         * tests/unictype/test-pr_non_break.c: Likewise.
99469         * tests/unictype/test-pr_not_a_character.c: Likewise.
99470         * tests/unictype/test-pr_numeric.c: Likewise.
99471         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
99472         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
99473         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
99474         * tests/unictype/test-pr_other_id_continue.c: Likewise.
99475         * tests/unictype/test-pr_other_id_start.c: Likewise.
99476         * tests/unictype/test-pr_other_lowercase.c: Likewise.
99477         * tests/unictype/test-pr_other_math.c: Likewise.
99478         * tests/unictype/test-pr_other_uppercase.c: Likewise.
99479         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
99480         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
99481         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
99482         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
99483         * tests/unictype/test-pr_private_use.c: Likewise.
99484         * tests/unictype/test-pr_punctuation.c: Likewise.
99485         * tests/unictype/test-pr_quotation_mark.c: Likewise.
99486         * tests/unictype/test-pr_radical.c: Likewise.
99487         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
99488         * tests/unictype/test-pr_soft_dotted.c: Likewise.
99489         * tests/unictype/test-pr_space.c: Likewise.
99490         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
99491         * tests/unictype/test-pr_titlecase.c: Likewise.
99492         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
99493         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
99494         * tests/unictype/test-pr_uppercase.c: Likewise.
99495         * tests/unictype/test-pr_variation_selector.c: Likewise.
99496         * tests/unictype/test-pr_white_space.c: Likewise.
99497         * tests/unictype/test-pr_xid_continue.c: Likewise.
99498         * tests/unictype/test-pr_xid_start.c: Likewise.
99499         * tests/unictype/test-pr_zero_width.c: Likewise.
99500         * tests/unictype/test-sy_c_whitespace.c: Likewise.
99501         * tests/unictype/test-sy_java_whitespace.c: Likewise.
99503 2007-11-12  Bruno Haible  <bruno@clisp.org>
99505         Unicode character classification functions.
99506         * lib/unictype.h: New file.
99507         * modules/unictype/base: New file.
99508         * modules/unictype/category-L: New file.
99509         * modules/unictype/category-Lu: New file.
99510         * modules/unictype/category-Ll: New file.
99511         * modules/unictype/category-Lt: New file.
99512         * modules/unictype/category-Lm: New file.
99513         * modules/unictype/category-Lo: New file.
99514         * modules/unictype/category-M: New file.
99515         * modules/unictype/category-Mn: New file.
99516         * modules/unictype/category-Mc: New file.
99517         * modules/unictype/category-Me: New file.
99518         * modules/unictype/category-N: New file.
99519         * modules/unictype/category-Nd: New file.
99520         * modules/unictype/category-Nl: New file.
99521         * modules/unictype/category-No: New file.
99522         * modules/unictype/category-P: New file.
99523         * modules/unictype/category-Pc: New file.
99524         * modules/unictype/category-Pd: New file.
99525         * modules/unictype/category-Ps: New file.
99526         * modules/unictype/category-Pe: New file.
99527         * modules/unictype/category-Pi: New file.
99528         * modules/unictype/category-Pf: New file.
99529         * modules/unictype/category-Po: New file.
99530         * modules/unictype/category-S: New file.
99531         * modules/unictype/category-Sm: New file.
99532         * modules/unictype/category-Sc: New file.
99533         * modules/unictype/category-Sk: New file.
99534         * modules/unictype/category-So: New file.
99535         * modules/unictype/category-Z: New file.
99536         * modules/unictype/category-Zs: New file.
99537         * modules/unictype/category-Zl: New file.
99538         * modules/unictype/category-Zp: New file.
99539         * modules/unictype/category-C: New file.
99540         * modules/unictype/category-Cc: New file.
99541         * modules/unictype/category-Cf: New file.
99542         * modules/unictype/category-Cs: New file.
99543         * modules/unictype/category-Co: New file.
99544         * modules/unictype/category-Cn: New file.
99545         * modules/unictype/category-or: New file.
99546         * modules/unictype/category-of: New file.
99547         * modules/unictype/category-test: New file.
99548         * modules/unictype/category-test-withtable: New file.
99549         * modules/unictype/category-byname: New file.
99550         * modules/unictype/category-none: New file.
99551         * modules/unictype/category-and: New file.
99552         * modules/unictype/category-and-not: New file.
99553         * modules/unictype/category-name: New file.
99554         * modules/unictype/combining-class: New file.
99555         * modules/unictype/category-all: New file.
99556         * modules/unictype/bidicategory-all: New file.
99557         * modules/unictype/bidicategory-byname: New file.
99558         * modules/unictype/bidicategory-name: New file.
99559         * modules/unictype/bidicategory-of: New file.
99560         * modules/unictype/bidicategory-test: New file.
99561         * modules/unictype/decimal-digit: New file.
99562         * modules/unictype/digit: New file.
99563         * modules/unictype/numeric: New file.
99564         * modules/unictype/mirror: New file.
99565         * modules/unictype/property-white-space: New file.
99566         * modules/unictype/property-alphabetic: New file.
99567         * modules/unictype/property-other-alphabetic: New file.
99568         * modules/unictype/property-not-a-character: New file.
99569         * modules/unictype/property-default-ignorable-code-point: New file.
99570         * modules/unictype/property-other-default-ignorable-code-point: New
99571         file.
99572         * modules/unictype/property-deprecated: New file.
99573         * modules/unictype/property-logical-order-exception: New file.
99574         * modules/unictype/property-variation-selector: New file.
99575         * modules/unictype/property-private-use: New file.
99576         * modules/unictype/property-unassigned-code-value: New file.
99577         * modules/unictype/property-uppercase: New file.
99578         * modules/unictype/property-other-uppercase: New file.
99579         * modules/unictype/property-lowercase: New file.
99580         * modules/unictype/property-other-lowercase: New file.
99581         * modules/unictype/property-titlecase: New file.
99582         * modules/unictype/property-soft-dotted: New file.
99583         * modules/unictype/property-id-start: New file.
99584         * modules/unictype/property-other-id-start: New file.
99585         * modules/unictype/property-id-continue: New file.
99586         * modules/unictype/property-other-id-continue: New file.
99587         * modules/unictype/property-xid-start: New file.
99588         * modules/unictype/property-xid-continue: New file.
99589         * modules/unictype/property-pattern-white-space: New file.
99590         * modules/unictype/property-pattern-syntax: New file.
99591         * modules/unictype/property-join-control: New file.
99592         * modules/unictype/property-grapheme-base: New file.
99593         * modules/unictype/property-grapheme-extend: New file.
99594         * modules/unictype/property-other-grapheme-extend: New file.
99595         * modules/unictype/property-grapheme-link: New file.
99596         * modules/unictype/property-bidi-control: New file.
99597         * modules/unictype/property-bidi-left-to-right: New file.
99598         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
99599         * modules/unictype/property-bidi-arabic-right-to-left: New file.
99600         * modules/unictype/property-bidi-european-digit: New file.
99601         * modules/unictype/property-bidi-eur-num-separator: New file.
99602         * modules/unictype/property-bidi-eur-num-terminator: New file.
99603         * modules/unictype/property-bidi-arabic-digit: New file.
99604         * modules/unictype/property-bidi-common-separator: New file.
99605         * modules/unictype/property-bidi-block-separator: New file.
99606         * modules/unictype/property-bidi-segment-separator: New file.
99607         * modules/unictype/property-bidi-whitespace: New file.
99608         * modules/unictype/property-bidi-non-spacing-mark: New file.
99609         * modules/unictype/property-bidi-boundary-neutral: New file.
99610         * modules/unictype/property-bidi-pdf: New file.
99611         * modules/unictype/property-bidi-embedding-or-override: New file.
99612         * modules/unictype/property-bidi-other-neutral: New file.
99613         * modules/unictype/property-hex-digit: New file.
99614         * modules/unictype/property-ascii-hex-digit: New file.
99615         * modules/unictype/property-ideographic: New file.
99616         * modules/unictype/property-unified-ideograph: New file.
99617         * modules/unictype/property-radical: New file.
99618         * modules/unictype/property-ids-binary-operator: New file.
99619         * modules/unictype/property-ids-trinary-operator: New file.
99620         * modules/unictype/property-zero-width: New file.
99621         * modules/unictype/property-space: New file.
99622         * modules/unictype/property-non-break: New file.
99623         * modules/unictype/property-iso-control: New file.
99624         * modules/unictype/property-format-control: New file.
99625         * modules/unictype/property-dash: New file.
99626         * modules/unictype/property-hyphen: New file.
99627         * modules/unictype/property-punctuation: New file.
99628         * modules/unictype/property-line-separator: New file.
99629         * modules/unictype/property-paragraph-separator: New file.
99630         * modules/unictype/property-quotation-mark: New file.
99631         * modules/unictype/property-sentence-terminal: New file.
99632         * modules/unictype/property-terminal-punctuation: New file.
99633         * modules/unictype/property-currency-symbol: New file.
99634         * modules/unictype/property-math: New file.
99635         * modules/unictype/property-other-math: New file.
99636         * modules/unictype/property-paired-punctuation: New file.
99637         * modules/unictype/property-left-of-pair: New file.
99638         * modules/unictype/property-combining: New file.
99639         * modules/unictype/property-composite: New file.
99640         * modules/unictype/property-decimal-digit: New file.
99641         * modules/unictype/property-numeric: New file.
99642         * modules/unictype/property-diacritic: New file.
99643         * modules/unictype/property-extender: New file.
99644         * modules/unictype/property-ignorable-control: New file.
99645         * modules/unictype/property-test: New file.
99646         * modules/unictype/property-byname: New file.
99647         * modules/unictype/property-all: New file.
99648         * modules/unictype/scripts: New file.
99649         * modules/unictype/scripts-all: New file.
99650         * modules/unictype/block-of: New file.
99651         * modules/unictype/block-test: New file.
99652         * modules/unictype/block-list: New file.
99653         * modules/unictype/block-all: New file.
99654         * modules/unictype/syntax-c-whitespace: New file.
99655         * modules/unictype/syntax-java-whitespace: New file.
99656         * modules/unictype/syntax-c-ident: New file.
99657         * modules/unictype/syntax-java-ident: New file.
99658         * modules/unictype/ctype-alnum: New file.
99659         * modules/unictype/ctype-alpha: New file.
99660         * modules/unictype/ctype-cntrl: New file.
99661         * modules/unictype/ctype-digit: New file.
99662         * modules/unictype/ctype-graph: New file.
99663         * modules/unictype/ctype-lower: New file.
99664         * modules/unictype/ctype-print: New file.
99665         * modules/unictype/ctype-punct: New file.
99666         * modules/unictype/ctype-space: New file.
99667         * modules/unictype/ctype-upper: New file.
99668         * modules/unictype/ctype-xdigit: New file.
99669         * modules/unictype/ctype-blank: New file.
99670         * lib/unictype/bidi_byname.c: New file.
99671         * lib/unictype/bidi_name.c: New file.
99672         * lib/unictype/bidi_of.c: New file.
99673         * lib/unictype/bidi_test.c: New file.
99674         * lib/unictype/bitmap.h: New file.
99675         * lib/unictype/block_test.c: New file.
99676         * lib/unictype/blocks.c: New file.
99677         * lib/unictype/categ_C.c: New file.
99678         * lib/unictype/categ_Cc.c: New file.
99679         * lib/unictype/categ_Cf.c: New file.
99680         * lib/unictype/categ_Cn.c: New file.
99681         * lib/unictype/categ_Co.c: New file.
99682         * lib/unictype/categ_Cs.c: New file.
99683         * lib/unictype/categ_L.c: New file.
99684         * lib/unictype/categ_Ll.c: New file.
99685         * lib/unictype/categ_Lm.c: New file.
99686         * lib/unictype/categ_Lo.c: New file.
99687         * lib/unictype/categ_Lt.c: New file.
99688         * lib/unictype/categ_Lu.c: New file.
99689         * lib/unictype/categ_M.c: New file.
99690         * lib/unictype/categ_Mc.c: New file.
99691         * lib/unictype/categ_Me.c: New file.
99692         * lib/unictype/categ_Mn.c: New file.
99693         * lib/unictype/categ_N.c: New file.
99694         * lib/unictype/categ_Nd.c: New file.
99695         * lib/unictype/categ_Nl.c: New file.
99696         * lib/unictype/categ_No.c: New file.
99697         * lib/unictype/categ_P.c: New file.
99698         * lib/unictype/categ_Pc.c: New file.
99699         * lib/unictype/categ_Pd.c: New file.
99700         * lib/unictype/categ_Pe.c: New file.
99701         * lib/unictype/categ_Pf.c: New file.
99702         * lib/unictype/categ_Pi.c: New file.
99703         * lib/unictype/categ_Po.c: New file.
99704         * lib/unictype/categ_Ps.c: New file.
99705         * lib/unictype/categ_S.c: New file.
99706         * lib/unictype/categ_Sc.c: New file.
99707         * lib/unictype/categ_Sk.c: New file.
99708         * lib/unictype/categ_Sm.c: New file.
99709         * lib/unictype/categ_So.c: New file.
99710         * lib/unictype/categ_Z.c: New file.
99711         * lib/unictype/categ_Zl.c: New file.
99712         * lib/unictype/categ_Zp.c: New file.
99713         * lib/unictype/categ_Zs.c: New file.
99714         * lib/unictype/categ_and.c: New file.
99715         * lib/unictype/categ_and_not.c: New file.
99716         * lib/unictype/categ_byname.c: New file.
99717         * lib/unictype/categ_name.c: New file.
99718         * lib/unictype/categ_none.c: New file.
99719         * lib/unictype/categ_of.c: New file.
99720         * lib/unictype/categ_or.c: New file.
99721         * lib/unictype/categ_test.c: New file.
99722         * lib/unictype/combining.c: New file.
99723         * lib/unictype/ctype_alnum.c: New file.
99724         * lib/unictype/ctype_alpha.c: New file.
99725         * lib/unictype/ctype_blank.c: New file.
99726         * lib/unictype/ctype_cntrl.c: New file.
99727         * lib/unictype/ctype_digit.c: New file.
99728         * lib/unictype/ctype_graph.c: New file.
99729         * lib/unictype/ctype_lower.c: New file.
99730         * lib/unictype/ctype_print.c: New file.
99731         * lib/unictype/ctype_punct.c: New file.
99732         * lib/unictype/ctype_space.c: New file.
99733         * lib/unictype/ctype_upper.c: New file.
99734         * lib/unictype/ctype_xdigit.c: New file.
99735         * lib/unictype/decdigit.c: New file.
99736         * lib/unictype/digit.c: New file.
99737         * lib/unictype/identsyntaxmap.h: New file.
99738         * lib/unictype/mirror.c: New file.
99739         * lib/unictype/numeric.c: New file.
99740         * lib/unictype/pr_alphabetic.c: New file.
99741         * lib/unictype/pr_ascii_hex_digit.c: New file.
99742         * lib/unictype/pr_bidi_arabic_digit.c: New file.
99743         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
99744         * lib/unictype/pr_bidi_block_separator.c: New file.
99745         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
99746         * lib/unictype/pr_bidi_common_separator.c: New file.
99747         * lib/unictype/pr_bidi_control.c: New file.
99748         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
99749         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
99750         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
99751         * lib/unictype/pr_bidi_european_digit.c: New file.
99752         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
99753         * lib/unictype/pr_bidi_left_to_right.c: New file.
99754         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
99755         * lib/unictype/pr_bidi_other_neutral.c: New file.
99756         * lib/unictype/pr_bidi_pdf.c: New file.
99757         * lib/unictype/pr_bidi_segment_separator.c: New file.
99758         * lib/unictype/pr_bidi_whitespace.c: New file.
99759         * lib/unictype/pr_byname.c: New file.
99760         * lib/unictype/pr_byname.gperf: New file.
99761         * lib/unictype/pr_combining.c: New file.
99762         * lib/unictype/pr_composite.c: New file.
99763         * lib/unictype/pr_currency_symbol.c: New file.
99764         * lib/unictype/pr_dash.c: New file.
99765         * lib/unictype/pr_decimal_digit.c: New file.
99766         * lib/unictype/pr_default_ignorable_code_point.c: New file.
99767         * lib/unictype/pr_deprecated.c: New file.
99768         * lib/unictype/pr_diacritic.c: New file.
99769         * lib/unictype/pr_extender.c: New file.
99770         * lib/unictype/pr_format_control.c: New file.
99771         * lib/unictype/pr_grapheme_base.c: New file.
99772         * lib/unictype/pr_grapheme_extend.c: New file.
99773         * lib/unictype/pr_grapheme_link.c: New file.
99774         * lib/unictype/pr_hex_digit.c: New file.
99775         * lib/unictype/pr_hyphen.c: New file.
99776         * lib/unictype/pr_id_continue.c: New file.
99777         * lib/unictype/pr_id_start.c: New file.
99778         * lib/unictype/pr_ideographic.c: New file.
99779         * lib/unictype/pr_ids_binary_operator.c: New file.
99780         * lib/unictype/pr_ids_trinary_operator.c: New file.
99781         * lib/unictype/pr_ignorable_control.c: New file.
99782         * lib/unictype/pr_iso_control.c: New file.
99783         * lib/unictype/pr_join_control.c: New file.
99784         * lib/unictype/pr_left_of_pair.c: New file.
99785         * lib/unictype/pr_line_separator.c: New file.
99786         * lib/unictype/pr_logical_order_exception.c: New file.
99787         * lib/unictype/pr_lowercase.c: New file.
99788         * lib/unictype/pr_math.c: New file.
99789         * lib/unictype/pr_non_break.c: New file.
99790         * lib/unictype/pr_not_a_character.c: New file.
99791         * lib/unictype/pr_numeric.c: New file.
99792         * lib/unictype/pr_other_alphabetic.c: New file.
99793         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
99794         * lib/unictype/pr_other_grapheme_extend.c: New file.
99795         * lib/unictype/pr_other_id_continue.c: New file.
99796         * lib/unictype/pr_other_id_start.c: New file.
99797         * lib/unictype/pr_other_lowercase.c: New file.
99798         * lib/unictype/pr_other_math.c: New file.
99799         * lib/unictype/pr_other_uppercase.c: New file.
99800         * lib/unictype/pr_paired_punctuation.c: New file.
99801         * lib/unictype/pr_paragraph_separator.c: New file.
99802         * lib/unictype/pr_pattern_syntax.c: New file.
99803         * lib/unictype/pr_pattern_white_space.c: New file.
99804         * lib/unictype/pr_private_use.c: New file.
99805         * lib/unictype/pr_punctuation.c: New file.
99806         * lib/unictype/pr_quotation_mark.c: New file.
99807         * lib/unictype/pr_radical.c: New file.
99808         * lib/unictype/pr_sentence_terminal.c: New file.
99809         * lib/unictype/pr_soft_dotted.c: New file.
99810         * lib/unictype/pr_space.c: New file.
99811         * lib/unictype/pr_terminal_punctuation.c: New file.
99812         * lib/unictype/pr_test.c: New file.
99813         * lib/unictype/pr_titlecase.c: New file.
99814         * lib/unictype/pr_unassigned_code_value.c: New file.
99815         * lib/unictype/pr_unified_ideograph.c: New file.
99816         * lib/unictype/pr_uppercase.c: New file.
99817         * lib/unictype/pr_variation_selector.c: New file.
99818         * lib/unictype/pr_white_space.c: New file.
99819         * lib/unictype/pr_xid_continue.c: New file.
99820         * lib/unictype/pr_xid_start.c: New file.
99821         * lib/unictype/pr_zero_width.c: New file.
99822         * lib/unictype/scripts.c: New file.
99823         * lib/unictype/sy_c_ident.c: New file.
99824         * lib/unictype/sy_c_whitespace.c: New file.
99825         * lib/unictype/sy_java_ident.c: New file.
99826         * lib/unictype/sy_java_whitespace.c: New file.
99828         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
99829         Unicode 5.0.0.
99830         * lib/unictype/blocks.h: Likewise.
99831         * lib/unictype/categ_C.h: Likewise.
99832         * lib/unictype/categ_Cc.h: Likewise.
99833         * lib/unictype/categ_Cf.h: Likewise.
99834         * lib/unictype/categ_Cn.h: Likewise.
99835         * lib/unictype/categ_Co.h: Likewise.
99836         * lib/unictype/categ_Cs.h: Likewise.
99837         * lib/unictype/categ_L.h: Likewise.
99838         * lib/unictype/categ_Ll.h: Likewise.
99839         * lib/unictype/categ_Lm.h: Likewise.
99840         * lib/unictype/categ_Lo.h: Likewise.
99841         * lib/unictype/categ_Lt.h: Likewise.
99842         * lib/unictype/categ_Lu.h: Likewise.
99843         * lib/unictype/categ_M.h: Likewise.
99844         * lib/unictype/categ_Mc.h: Likewise.
99845         * lib/unictype/categ_Me.h: Likewise.
99846         * lib/unictype/categ_Mn.h: Likewise.
99847         * lib/unictype/categ_N.h: Likewise.
99848         * lib/unictype/categ_Nd.h: Likewise.
99849         * lib/unictype/categ_Nl.h: Likewise.
99850         * lib/unictype/categ_No.h: Likewise.
99851         * lib/unictype/categ_P.h: Likewise.
99852         * lib/unictype/categ_Pc.h: Likewise.
99853         * lib/unictype/categ_Pd.h: Likewise.
99854         * lib/unictype/categ_Pe.h: Likewise.
99855         * lib/unictype/categ_Pf.h: Likewise.
99856         * lib/unictype/categ_Pi.h: Likewise.
99857         * lib/unictype/categ_Po.h: Likewise.
99858         * lib/unictype/categ_Ps.h: Likewise.
99859         * lib/unictype/categ_S.h: Likewise.
99860         * lib/unictype/categ_Sc.h: Likewise.
99861         * lib/unictype/categ_Sk.h: Likewise.
99862         * lib/unictype/categ_Sm.h: Likewise.
99863         * lib/unictype/categ_So.h: Likewise.
99864         * lib/unictype/categ_Z.h: Likewise.
99865         * lib/unictype/categ_Zl.h: Likewise.
99866         * lib/unictype/categ_Zp.h: Likewise.
99867         * lib/unictype/categ_Zs.h: Likewise.
99868         * lib/unictype/categ_of.h: Likewise.
99869         * lib/unictype/combining.h: Likewise.
99870         * lib/unictype/ctype_alnum.h: Likewise.
99871         * lib/unictype/ctype_alpha.h: Likewise.
99872         * lib/unictype/ctype_blank.h: Likewise.
99873         * lib/unictype/ctype_cntrl.h: Likewise.
99874         * lib/unictype/ctype_digit.h: Likewise.
99875         * lib/unictype/ctype_graph.h: Likewise.
99876         * lib/unictype/ctype_lower.h: Likewise.
99877         * lib/unictype/ctype_print.h: Likewise.
99878         * lib/unictype/ctype_punct.h: Likewise.
99879         * lib/unictype/ctype_space.h: Likewise.
99880         * lib/unictype/ctype_upper.h: Likewise.
99881         * lib/unictype/ctype_xdigit.h: Likewise.
99882         * lib/unictype/decdigit.h: Likewise.
99883         * lib/unictype/digit.h: Likewise.
99884         * lib/unictype/mirror.h: Likewise.
99885         * lib/unictype/numeric.h: Likewise.
99886         * lib/unictype/pr_alphabetic.h: Likewise.
99887         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
99888         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
99889         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
99890         * lib/unictype/pr_bidi_block_separator.h: Likewise.
99891         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
99892         * lib/unictype/pr_bidi_common_separator.h: Likewise.
99893         * lib/unictype/pr_bidi_control.h: Likewise.
99894         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
99895         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
99896         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
99897         * lib/unictype/pr_bidi_european_digit.h: Likewise.
99898         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
99899         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
99900         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
99901         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
99902         * lib/unictype/pr_bidi_pdf.h: Likewise.
99903         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
99904         * lib/unictype/pr_bidi_whitespace.h: Likewise.
99905         * lib/unictype/pr_combining.h: Likewise.
99906         * lib/unictype/pr_composite.h: Likewise.
99907         * lib/unictype/pr_currency_symbol.h: Likewise.
99908         * lib/unictype/pr_dash.h: Likewise.
99909         * lib/unictype/pr_decimal_digit.h: Likewise.
99910         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
99911         * lib/unictype/pr_deprecated.h: Likewise.
99912         * lib/unictype/pr_diacritic.h: Likewise.
99913         * lib/unictype/pr_extender.h: Likewise.
99914         * lib/unictype/pr_format_control.h: Likewise.
99915         * lib/unictype/pr_grapheme_base.h: Likewise.
99916         * lib/unictype/pr_grapheme_extend.h: Likewise.
99917         * lib/unictype/pr_grapheme_link.h: Likewise.
99918         * lib/unictype/pr_hex_digit.h: Likewise.
99919         * lib/unictype/pr_hyphen.h: Likewise.
99920         * lib/unictype/pr_id_continue.h: Likewise.
99921         * lib/unictype/pr_id_start.h: Likewise.
99922         * lib/unictype/pr_ideographic.h: Likewise.
99923         * lib/unictype/pr_ids_binary_operator.h: Likewise.
99924         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
99925         * lib/unictype/pr_ignorable_control.h: Likewise.
99926         * lib/unictype/pr_iso_control.h: Likewise.
99927         * lib/unictype/pr_join_control.h: Likewise.
99928         * lib/unictype/pr_left_of_pair.h: Likewise.
99929         * lib/unictype/pr_line_separator.h: Likewise.
99930         * lib/unictype/pr_logical_order_exception.h: Likewise.
99931         * lib/unictype/pr_lowercase.h: Likewise.
99932         * lib/unictype/pr_math.h: Likewise.
99933         * lib/unictype/pr_non_break.h: Likewise.
99934         * lib/unictype/pr_not_a_character.h: Likewise.
99935         * lib/unictype/pr_numeric.h: Likewise.
99936         * lib/unictype/pr_other_alphabetic.h: Likewise.
99937         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
99938         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
99939         * lib/unictype/pr_other_id_continue.h: Likewise.
99940         * lib/unictype/pr_other_id_start.h: Likewise.
99941         * lib/unictype/pr_other_lowercase.h: Likewise.
99942         * lib/unictype/pr_other_math.h: Likewise.
99943         * lib/unictype/pr_other_uppercase.h: Likewise.
99944         * lib/unictype/pr_paired_punctuation.h: Likewise.
99945         * lib/unictype/pr_paragraph_separator.h: Likewise.
99946         * lib/unictype/pr_pattern_syntax.h: Likewise.
99947         * lib/unictype/pr_pattern_white_space.h: Likewise.
99948         * lib/unictype/pr_private_use.h: Likewise.
99949         * lib/unictype/pr_punctuation.h: Likewise.
99950         * lib/unictype/pr_quotation_mark.h: Likewise.
99951         * lib/unictype/pr_radical.h: Likewise.
99952         * lib/unictype/pr_sentence_terminal.h: Likewise.
99953         * lib/unictype/pr_soft_dotted.h: Likewise.
99954         * lib/unictype/pr_space.h: Likewise.
99955         * lib/unictype/pr_terminal_punctuation.h: Likewise.
99956         * lib/unictype/pr_titlecase.h: Likewise.
99957         * lib/unictype/pr_unassigned_code_value.h: Likewise.
99958         * lib/unictype/pr_unified_ideograph.h: Likewise.
99959         * lib/unictype/pr_uppercase.h: Likewise.
99960         * lib/unictype/pr_variation_selector.h: Likewise.
99961         * lib/unictype/pr_white_space.h: Likewise.
99962         * lib/unictype/pr_xid_continue.h: Likewise.
99963         * lib/unictype/pr_xid_start.h: Likewise.
99964         * lib/unictype/pr_zero_width.h: Likewise.
99965         * lib/unictype/scripts.h: Likewise.
99966         * lib/unictype/scripts_byname.gperf: Likewise.
99967         * lib/unictype/sy_c_ident.h: Likewise.
99968         * lib/unictype/sy_c_whitespace.h: Likewise.
99969         * lib/unictype/sy_java_ident.h: Likewise.
99970         * lib/unictype/sy_java_whitespace.h: Likewise.
99972         * lib/unictype/Makefile: New file.
99973         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
99974         glibc.
99975         * lib/unictype/3level.h: New file, copied from glibc.
99976         * lib/unictype/3levelbit.h: New file.
99978 2007-11-11  Bruno Haible  <bruno@clisp.org>
99980         * modules/gperf: New file.
99981         * modules/iconv_open (Depends-on): Add it.
99982         (Makefile.am): Remove the GPERF definition.
99984 2007-11-11  Bruno Haible  <bruno@clisp.org>
99986         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
99987         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
99989 2007-11-11  Bruno Haible  <bruno@clisp.org>
99991         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
99992         (usage): Remove function.
99994 2007-11-11  Bruno Haible  <bruno@clisp.org>
99996         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
99997         gl_FUNC_CEILF_LIBS.
99998         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
99999         gl_FUNC_CEIL_LIBS.
100000         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
100001         gl_FUNC_CEILL_LIBS.
100002         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
100003         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
100004         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
100006 2007-11-11  Bruno Haible  <bruno@clisp.org>
100008         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
100009         roundf were declared but do not exist on functions.
100010         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
100011         roundl were declared but do not exist on functions.
100012         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
100013         HAVE_FLOORL_AND_CEILL, respectively.
100014         Needed for Sun C on Solaris 10.
100016 2007-11-11  Bruno Haible  <bruno@clisp.org>
100018         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
100019         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
100020         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
100021         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
100022         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
100023         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
100024         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
100025         HAVE_DECL_ROUNDF.
100026         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
100027         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
100028         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
100029         of HAVE_DECL_ROUND*.
100030         * modules/math (Makefile.am): Update.
100032 2007-11-10  Bruno Haible  <bruno@clisp.org>
100034         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
100035         ptrdiff_t as m4/intl.m4.
100037 2007-11-10  Jim Meyering  <meyering@redhat.com>
100039         Avoid link failure for the argmatch test.
100040         * tests/test-argmatch.c (usage): Define function to avoid a link
100041         failure: argmatch_die requires a usage function.
100043 2007-11-09  Bruno Haible  <bruno@clisp.org>
100045         * doc/functions/snprintf.texi: Mention BeOS deficiency.
100046         * doc/functions/vsnprintf.texi: Likewise.
100047         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
100048         with a size argument < 2.
100050 2007-11-09  Bruno Haible  <bruno@clisp.org>
100052         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
100053         buffer. Fixes an inefficiency introduced on 2007-11-03.
100055 2007-11-09  Bruno Haible  <bruno@clisp.org>
100057         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
100058         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
100060 2007-11-08  Jim Meyering  <meyering@redhat.com>
100062         Change cache variable name prefix "jm_" to "gl_" everywhere.
100063         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
100064         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
100065         * m4/uptime.m4: s/gl_/jm_/
100067 2007-11-07  Bruno Haible  <bruno@clisp.org>
100069         Update to GNU gettext 0.17.
100070         * m4/intl.m4: Update to GNU gettext 0.17.
100071         * m4/po.m4: Likewise.
100072         * modules/gettext (Files): Remove m4/ulonglong.m4.
100073         (configure.ac): Require gettext infrastructure from version 0.17.
100075 2007-11-06  Bruno Haible  <bruno@clisp.org>
100077         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
100078         symbolic values are not defined in a public header.
100079         * lib/freadable.c (freadable) [QNX]: Likewise.
100080         * lib/freadahead.c (freadahead) [QNX]: Likewise.
100081         * lib/freading.c (freading) [QNX]: Likewise.
100082         * lib/fseterr.c (fseterr) [QNX]: Likewise.
100083         * lib/fwritable.c (fwritable) [QNX]: Likewise.
100084         * lib/fwriting.c (fwriting) [QNX]: Likewise.
100085         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
100086         Reported by Alain Magloire.
100088         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
100090 2007-11-05  Bruno Haible  <bruno@clisp.org>
100092         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
100093         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
100094         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
100095         Reported by Eric Blake.
100097 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100098             Bruno Haible  <bruno@clisp.org>
100100         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
100101         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
100102         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
100103         (malloc): Undefine also before including <stdlib.h>.
100104         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
100105         Needed on OSF/1 4.0.
100107 2007-11-05  Jim Meyering  <meyering@redhat.com>
100109         git-version-gen: sync from coreutils.
100110         * build-aux/git-version-gen: Add comments.
100111         Change the first '-' to '.' in the snapshot version string,
100112         e.g., 6.9-377-08144 -> 6.9.377-08144
100113         Remove first parameter.
100114         Don't declare a version "-dirty" merely because a time
100115         stamp has changed.
100117 2007-11-04  Bruno Haible  <bruno@clisp.org>
100119         * lib/lock.h: Protect all macro definitions containing an 'if'
100120         statement through a "do { ... } while (0)".
100121         * lib/tls.h: Likewise.
100123 2007-11-04  Bruno Haible  <bruno@clisp.org>
100125         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
100127 2007-11-04  Bruno Haible  <bruno@clisp.org>
100129         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
100130         * modules/fprintf-posix (Depends-on): Add nocrash.
100131         * modules/snprintf-posix (Depends-on): Likewise.
100132         * modules/sprintf-posix (Depends-on): Likewise.
100133         * modules/vasnprintf-posix (Depends-on): Likewise.
100134         * modules/vasprintf-posix (Depends-on): Likewise.
100135         * modules/vfprintf-posix (Depends-on): Likewise.
100136         * modules/vsnprintf-posix (Depends-on): Likewise.
100137         * modules/vsprintf-posix (Depends-on): Likewise.
100138         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
100139         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
100140         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
100141         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
100142         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
100143         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
100144         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
100146 2007-11-04  Bruno Haible  <bruno@clisp.org>
100148         * modules/nocrash: New file.
100149         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
100150         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
100152 2007-11-04  Bruno Haible  <bruno@clisp.org>
100154         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
100155         precision handling.
100156         * tests/test-vasprintf-posix.c (test_function): Likewise.
100157         * tests/test-snprintf-posix.h (test_function): Likewise.
100158         * tests/test-sprintf-posix.h (test_function): Likewise.
100160         Fix *printf behaviour for large precisions on mingw and BeOS.
100161         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
100162         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
100163         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
100164         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
100165         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
100166         gl_PRINTF_PRECISION and test its result. Invoke
100167         gl_PREREQ_VASNPRINTF_PRECISION.
100168         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
100169         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
100170         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
100171         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
100172         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
100173         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
100174         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
100175         * doc/functions/fprintf.texi: Update.
100176         * doc/functions/printf.texi: Update.
100177         * doc/functions/snprintf.texi: Update.
100178         * doc/functions/sprintf.texi: Update.
100179         * doc/functions/vfprintf.texi: Update.
100180         * doc/functions/vprintf.texi: Update.
100181         * doc/functions/vsnprintf.texi: Update.
100182         * doc/functions/vsprintf.texi: Update.
100184 2007-11-04  Bruno Haible  <bruno@clisp.org>
100186         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
100188 2007-11-04  Bruno Haible  <bruno@clisp.org>
100190         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
100191         Reported by Sylvain Beucler <beuc@gnu.org>.
100193 2007-11-03  Bruno Haible  <bruno@clisp.org>
100195         * tests/test-fprintf-posix2.sh: New file.
100196         * tests/test-fprintf-posix2.c: New file.
100197         * modules/fprintf-posix-tests (Files): Add them.
100198         (TESTS): Add test-fprintf-posix2.sh.
100199         (configure.ac): Check for getrlimit and setrlimit.
100200         (check_PROGRAMS): Add test-fprintf-posix2.
100202         * tests/test-printf-posix2.sh: New file.
100203         * tests/test-printf-posix2.c: New file.
100204         * modules/printf-posix-tests (Files): Add them.
100205         (TESTS): Add test-printf-posix2.sh.
100206         (configure.ac): Check for getrlimit and setrlimit.
100207         (check_PROGRAMS): Add test-printf-posix2.
100209         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
100210         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
100211         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
100212         (decode_double): New function, copied from decode_long_double.
100213         (scale10_round_decimal_decoded): New function, extracted from
100214         scale10_round_decimal_long_double.
100215         (scale10_round_decimal_long_double): Use it.
100216         (scale10_round_decimal_double): New function.
100217         (floorlog10): New function.
100218         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
100219         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
100220         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
100221         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
100222         gl_PRINTF_ENOMEM and test its result. Invoke
100223         gl_PREREQ_VASNPRINTF_ENOMEM.
100224         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
100225         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
100226         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
100227         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
100228         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
100229         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
100230         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
100231         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
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         * doc/functions/fprintf.texi: Update.
100240         * doc/functions/printf.texi: Update.
100241         * doc/functions/snprintf.texi: Update.
100242         * doc/functions/sprintf.texi: Update.
100243         * doc/functions/vfprintf.texi: Update.
100244         * doc/functions/vprintf.texi: Update.
100245         * doc/functions/vsnprintf.texi: Update.
100246         * doc/functions/vsprintf.texi: Update.
100248 2007-11-03  Bruno Haible  <bruno@clisp.org>
100250         * modules/frexp-nolibm-tests: New file.
100252         * modules/frexp-nolibm: New file.
100253         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
100255 2007-11-03  Bruno Haible  <bruno@clisp.org>
100257         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
100258         value is C99 compliant.
100259         Needed for OSF/1 5.1.
100261 2007-11-03  Bruno Haible  <bruno@clisp.org>
100263         Fix out-of-memory handling of vasnprintf.
100264         * lib/printf-parse.c: Include <errno.h>.
100265         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
100266         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
100267         is already set.
100269 2007-11-02  Eric Blake  <ebb9@byu.net>
100271         Fix tests on cygwin.
100272         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
100274 2007-11-01  Bruno Haible  <bruno@clisp.org>
100276         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
100277         warning.
100278         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
100279         needed for POSIX compatibility.
100281 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
100283         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
100284         for compatibility with GNU.
100286 2007-11-01  Bruno Haible  <bruno@clisp.org>
100288         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
100289         (putenv): Renamed from rpl_putenv. Change argument type from
100290         'const char *' to 'char *'.
100291         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
100292         of defining putenv in config.h, just set REPLACE_PUTENV.
100293         * modules/putenv (Depends-on): Add stdlib.
100294         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
100295         (Include): Use <stdlib.h>.
100296         * lib/stdlib.in.h (putenv): New declaration.
100297         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
100298         REPLACE_PUTENV.
100299         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
100300         REPLACE_PUTENV.
100301         Needed for MacOS X 10.5.0.
100302         Reported by Peter O'Gorman <peter@pogma.com>.
100304 2007-11-01  Jim Meyering  <meyering@redhat.com>
100306         Treat an empty date string exactly like "0".
100307         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
100308         if the remaining date string (to be parsed) is empty, use "0".
100309         Reported by Mischa Molhoek and discussed in this thread:
100310         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
100312 2007-10-31  Bruno Haible  <bruno@clisp.org>
100314         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
100315         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
100316         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
100317         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
100318         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
100319         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
100321 2007-10-31  Bruno Haible  <bruno@clisp.org>
100323         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
100324         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
100325         (AC_TYPE_LONG_LONG_INT): Use it.
100326         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
100327         it as well.
100328         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
100329         to m4/longlong.m4.
100330         * modules/stdint (Files): Remove m4/ulonglong.m4.
100331         * modules/strtoull (Files): Use m4/longlong.m4 instead of
100332         m4/ulonglong.m4.
100333         * modules/strtoumax (Files): Likewise.
100335 2007-10-30  Bruno Haible  <bruno@clisp.org>
100337         * modules/xvasprintf-posix: New file.
100338         Suggested by Eric Blake.
100340 2007-10-30  Bruno Haible  <bruno@clisp.org>
100342         * modules/xprintf-posix-tests: New file.
100343         * tests/test-xprintf-posix.sh: New file.
100344         * tests/test-xprintf-posix.c: New file.
100345         * tests/test-xfprintf-posix.c: New file.
100347         * modules/xprintf-posix: New file.
100349 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100351         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
100352         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
100353         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
100355 2007-10-29  Bruno Haible  <bruno@clisp.org>
100357         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
100358         contain the special marker '_cv_'.
100359         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
100360         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
100361         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
100362         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
100363         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
100364         Reported by Ralf Wildenhues.
100366 2007-10-29  Bruno Haible  <bruno@clisp.org>
100368         * gnulib-tool (func_import): When --lgpl is not specified, set
100369         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
100370         GPLv3.
100371         Reported by Simon Josefsson.
100373 2007-10-28  Bruno Haible  <bruno@clisp.org>
100375         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
100376         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
100377         HAVE_DECL_ISFINITE.
100378         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
100379         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
100380         HAVE_DECL_ISFINITE.
100382 2007-10-28  Bruno Haible  <bruno@clisp.org>
100384         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
100385         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
100387 2007-10-28  Bruno Haible  <bruno@clisp.org>
100389         Fix link errors with Sun C 5.0 on Solaris 10.
100390         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
100391         function is declared but not present in the compiler's libm.
100392         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
100393         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
100394         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
100395         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
100396         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
100397         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
100398         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
100399         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
100400         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
100401         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
100402         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
100403         HAVE_DECL_FLOORL.
100405 2007-10-28  Bruno Haible  <bruno@clisp.org>
100407         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
100408         gl_FUNC_FLOORL. Cache the result.
100409         (gl_FUNC_FLOORL): Use it.
100410         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
100411         gl_FUNC_CEILL. Cache the result.
100412         (gl_FUNC_CEILL): Use it.
100414         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
100415         gl_FUNC_FLOOR. Cache the result.
100416         (gl_FUNC_FLOOR): Use it.
100417         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
100418         gl_FUNC_CEIL. Cache the result.
100419         (gl_FUNC_CEIL): Use it.
100421         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
100422         gl_FUNC_FLOORF. Cache the result.
100423         (gl_FUNC_FLOORF): Use it.
100424         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
100425         gl_FUNC_CEILF. Cache the result.
100426         (gl_FUNC_CEILF): Use it.
100428 2007-10-28  Bruno Haible  <bruno@clisp.org>
100430         * gnulib-tool: Allow specifying the LGPL version number through
100431         --lgpl=2 or --lgpl=3.
100432         (func_usage): Document --lgpl with argument.
100433         Handle --lgpl=... arguments.
100434         (func_import): Recognize also gl_LGPL calls with an argument. When
100435         --lgpl=2 is used and the module's license is just LGPL, report an
100436         error. Set sed_transform_lib_file according to the lgpl variable. In
100437         the generated files, use --lgpl or gl_LGPL invocations with argument,
100438         if necessary.
100439         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
100440         an LGPv2+ license.
100441         * doc/gnulib-tool.texi (Modified imports): Update explanation of
100442         gl_LGPL macro.
100444 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100445             Bruno Haible  <bruno@clisp.org>
100447         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
100448         (u16_uctomb_aux): Likewise.
100449         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
100450         !HAVE_INLINE.
100451         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
100453 2007-10-28  Bruno Haible  <bruno@clisp.org>
100455         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
100456         Invoke AM_GETTEXT_OPTION if it exists.
100457         * modules/vasprintf: Likewise.
100458         * modules/verror: Likewise.
100459         * modules/xprintf: Likewise.
100460         * modules/xvasprintf: Likewise.
100462 2007-10-27  Ben Pfaff  <blp@gnu.org>
100464         * lib/math.in.h: Define isfinite macro and prototypes for
100465         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
100466         implementations.
100467         * m4/math_h.m4: New substitutions for isfinite module.
100468         * lib/isfinite.c: New file.
100469         * m4/isfinite.m4: New file.
100470         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
100471         * modules/isfinite: New file.
100472         * modules/isfinite-tests: New file.
100473         * tests/tests-isfinite.c: New file.
100474         * doc/functions/isfinite.texi: Mention isfinite module.
100475         * MODULES.html.sh: Mention new module.
100477 2007-10-27  Ben Pfaff  <blp@gnu.org>
100479         Ralf Wildenhues reported that Tru64 4.0D declares the round
100480         functions but does not have definitions.
100481         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
100482         cannot be found in any library, set the output variable to
100483         "missing" instead of "".
100484         * m4/round.m4: Also use our substitute if we cannot find round in
100485         any library, even if it is declared.
100486         * m4/roundf.m4: Likewise for roundf.
100487         * m4/roundl.m4: Likewise for roundl.
100488         * lib/math.in.h: Undefine roundf, round, roundl before defining
100489         their replacements, to allow for hypothetical systems where these
100490         may be defined as macros but not available in libraries.
100492 2007-10-27  Bruno Haible  <bruno@clisp.org>
100494         * doc/gnulib.texi: Invoke @firstparagraphindent.
100495         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
100496         changes in gnulib.
100497         (Source changes): New section.
100499 2007-10-26  Bruno Haible  <bruno@clisp.org>
100501         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
100502         borrowed from autoconf.
100504 2007-10-26  Bruno Haible  <bruno@clisp.org>
100506         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
100507         strerror returned the empty string. Needed on HP-UX 11.00.
100509 2007-10-24  Micah Cowan  <micah@cowan.name>
100511         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
100512         * build-aux/bootstrap: Remove support for now-unnecessary option,
100513         --cvs-user, and envvars CVS_USER, CVS_RSH.
100515 2007-10-24  Jim Meyering  <meyering@redhat.com>
100517         Avoid diagnostics from sha1sum when there is no cached checksum.
100518         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
100519         if the po.s1 file hasn't been created yet.
100521         * build-aux/bootstrap: Sync from coreutils:
100522         2007-10-24  Jim Meyering  <meyering@redhat.com>
100523         Get gnulib from the git repository, not from an obsolete cvs one.
100524         * build-aux/bootstrap: Suggestion from Micah Cowan.
100525         2007-10-04  Jim Meyering  <jim@meyering.net>
100526         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
100527         (update_po_files): Work also when there are no .po files in po/.
100529 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
100531         * README: Append ".git" to git and cg examples.
100532         Problem reported by Benoit Sigoure.
100534 2007-10-23  Micah Cowan  <micah@cowan.name>
100536         * users.txt: Add wget.
100538 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100540         Fix linking of some unistdio tests on FreeBSD.
100541         * modules/unistdio/u16-vsnprintf-tests
100542         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
100543         * modules/unistdio/u16-vsprintf-tests
100544         (test_u16_vsnprintf1_LDADD): Likewise.
100545         * modules/unistdio/u32-vsnprintf-tests
100546         (test_u32_vsnprintf1_LDADD): Likewise.
100547         * modules/unistdio/u32-vsprintf-tests
100548         (test_u32_vsprintf1_LDADD): Likewise.
100549         * modules/unistdio/u8-vsnprintf-tests
100550         (test_u8_vsnprintf1_LDADD): Likewise.
100551         * modules/unistdio/u8-vsprintf-tests
100552         (test_u8_vsprintf1_LDADD): Likewise.
100553         * modules/unistdio/ulc-vsnprintf-tests
100554         (test_ulc_vsnprintf1_LDADD): Likewise.
100555         * modules/unistdio/ulc-vsprintf-tests
100556         (test_ulc_vsprintf1_LDADD): Likewise.
100558         Fix linking of some uniconv tests on FreeBSD.
100559         * modules/uniconv/u16-conv-from-enc-tests
100560         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
100561         * modules/uniconv/u16-conv-to-enc-tests
100562         (test_u16_conv_to_enc_LDADD): Likewise.
100563         * modules/uniconv/u16-strconv-from-enc-tests
100564         (test_u16_strconv_from_enc_LDADD): Likewise.
100565         * modules/uniconv/u16-strconv-to-enc-tests
100566         (test_u16_strconv_to_enc_LDADD): Likewise.
100567         * modules/uniconv/u32-conv-from-enc-tests
100568         (test_u32_conv_from_enc_LDADD): Likewise.
100569         * modules/uniconv/u32-conv-to-enc-tests
100570         (test_u32_conv_to_enc_LDADD): Likewise.
100571         * modules/uniconv/u32-strconv-from-enc-tests
100572         (test_u32_strconv_from_enc_LDADD): Likewise.
100573         * modules/uniconv/u32-strconv-to-enc-tests
100574         (test_u32_strconv_to_enc_LDADD): Likewise.
100575         * modules/uniconv/u8-conv-from-enc-tests
100576         (test_u8_conv_from_enc_LDADD): Likewise.
100577         * modules/uniconv/u8-conv-to-enc-tests
100578         (test_u8_conv_to_enc_LDADD): Likewise.
100579         * modules/uniconv/u8-strconv-from-enc-tests
100580         (test_u8_strconv_from_enc_LDADD): Likewise.
100581         * modules/uniconv/u8-strconv-to-enc-tests
100582         (test_u8_strconv_to_enc_LDADD): Likewise.
100584 2007-10-22  Bruno Haible  <bruno@clisp.org>
100586         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
100587         size.
100589 2007-10-22  Eric Blake  <ebb9@byu.net>
100591         Tweak x*printf documentation.
100592         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
100593         variable name and comments.
100594         Suggested by Bruno Haible.
100596 2007-10-22  Bruno Haible  <bruno@clisp.org>
100598         * lib/acl.c (copy_acl): Fix file name in comment.
100600 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
100602         Fix Tru64 problem with stdbool.h.
100603         * lib/stdbool.in.h (false, true):
100604         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
100605         Don't declare as an enum in this situation; it runs afoul of Tru64.
100606         Problem reported by Steven M. Schweda in
100607         <http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.
100609 2007-10-22  Eric Blake  <ebb9@byu.net>
100611         Also wrap vf?printf.
100612         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
100613         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
100614         (xvprintf, xvfprintf): New functions.
100616 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100618         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
100619         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
100621         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
100622         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
100624 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
100626         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
100627         by Bruno Haible.
100629 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100631         * lib/getloadavg.c
100632         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
100633         Undef `sys' after including sys/table.h, for Tru64 4.0D.
100635         * tests/test-i-ring.c: Work for C89.
100637 2007-10-22  Bruno Haible  <bruno@clisp.org>
100639         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
100640         -1u, in preprocessor expression, so that we don't test for the bug
100641         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
100642         <http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.
100644 2007-10-22  Eric Blake  <ebb9@byu.net>
100646         * tests/test-yesno.sh: Silence stderr during test.
100648 2007-10-22  Simon Josefsson  <simon@josefsson.org>
100650         * modules/crypto/gc-camellia: New file.
100652         * m4/gc-camellia.m4: New file.
100654         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
100656         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
100658 2007-10-22  Simon Josefsson  <simon@josefsson.org>
100660         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
100661         --help to stdout.  Reported by sms@antinode.org (Steven
100662         M. Schweda).
100664 2007-10-22  Simon Josefsson  <simon@josefsson.org>
100666         * users.txt: Fix link to libksba.
100668 2007-10-21  Ben Pfaff  <blp@gnu.org>
100670         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
100671         round.c roundf implementation that depends on floorf and ceilf to
100672         be tested unconditionally.
100674 2007-10-21  Ben Pfaff  <blp@gnu.org>
100676         * m4/check-libm-func.m4: Removed.
100677         * m4/check-math-lib.m4: New file.
100678         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
100679         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
100680         definition and lack of AC_LIBOBJ([roundf]).
100681         * m4/roundl.m4: Ditto, and similarly for roundl.
100682         * modules/round: Reference new m4 file.
100683         * modules/roundf: Ditto.
100684         * modules/roundl: Ditto.
100685         * tests/test-round2.c (main): Use ROUND instead of round.
100686         Bug report from Bruno Haible.
100688 2007-10-21  Bruno Haible  <bruno@clisp.org>
100690         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
100691         context.
100693 2007-10-21  Bruno Haible  <bruno@clisp.org>
100695         * tests/test-wcwidth.c (main): Allow negative result for some control
100696         characters.
100698         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
100699         Needed on OSF/1 5.1.
100701 2007-10-21  Bruno Haible  <bruno@clisp.org>
100703         * tests/test-floorf1.c: Include isnanf.h.
100704         (main): Use isnanf() instead of isnan().
100705         * tests/test-ceilf1.c: Include isnanf.h.
100706         (main): Use isnanf() instead of isnan().
100707         * tests/test-truncf1.c: Include isnanf.h.
100708         (main): Use isnanf() instead of isnan().
100709         * tests/test-roundf1.c: Include isnanf.h.
100710         (main): Use isnanf() instead of isnan().
100712 2007-10-21  Eric Blake  <ebb9@byu.net>
100714         * users.txt: Update URL for m4.
100716 2007-10-21  Bruno Haible  <bruno@clisp.org>
100718         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
100720 2007-10-21  Bruno Haible  <bruno@clisp.org>
100722         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
100723         Git's management files if the CVS files are not present.
100725 2007-10-20  Bruno Haible  <bruno@clisp.org>
100727         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
100728         gcc-3.4.x.
100730 2007-10-20  Ben Pfaff  <blp@gnu.org>
100732         * lib/math.in.h: Declare round, roundf, roundl if we are providing
100733         implementations.
100734         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
100735         * lib/round.c: New file.
100736         * lib/roundf.c: New file.
100737         * lib/roundl.c: New file.
100738         * m4/round.m4: New file.
100739         * m4/roundf.m4: New file.
100740         * m4/roundl.m4: New file.
100741         * m4/check-libm-func-m4: New file.
100742         * modules/math: Replace round, roundf, roundl related @VARS@ in
100743         math.in.h.
100744         * modules/round: New file.
100745         * modules/round-tests: New file.
100746         * modules/roundf: New file.
100747         * modules/roundf-tests: New file.
100748         * modules/roundl: New file.
100749         * modules/roundl-tests: New file.
100750         * tests/test-round1.c: New file.
100751         * tests/test-round2.c: New file.
100752         * tests/test-roundf1.c: New file.
100753         * tests/test-roundf2.c: New file.
100754         * tests/test-roundl.c: New file.
100755         * doc/functions/round.texi: Mention round module.
100756         * doc/functions/roundf.texi: Mention roundf module.
100757         * doc/functions/roundl.texi: Mention roundl module.
100758         * MODULES.html.sh: Mention new modules.
100759         Thanks to Bruno Haible for suggestions.
100761 2007-10-20  Jim Meyering  <meyering@redhat.com>
100763         * lib/xprintf.c: Include <config.h> unconditionally.
100765         Change xprintf's license to GPL.
100766         * modules/xprintf (License): s/LGPL/GPL/, since this module
100767         depends on modules (exit and exitfail) which are GPL.
100768         Suggestion from Bruno Haible.
100770         xprintf fixes.
100771         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
100772         Use a clearer diagnostic.
100773         Patch from Bruno Haible.
100775 2007-10-20  Bruno Haible  <bruno@clisp.org>
100777         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
100778         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
100779         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100781 2007-10-20  Bruno Haible  <bruno@clisp.org>
100783         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
100784         precision in the comparison result > x - 1 or similar.
100785         * tests/test-ceilf2.c (correct_result_p): Likewise.
100786         * tests/test-truncf2.c (correct_result_p): Likewise.
100787         * tests/test-trunc2.c (correct_result_p): Likewise.
100788         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100790 2007-10-20  Bruno Haible  <bruno@clisp.org>
100792         * modules/ceil: New file.
100793         * m4/ceil.m4: New file.
100794         * doc/functions/ceil.texi: Mention the 'ceil' module.
100796 2007-10-20  Bruno Haible  <bruno@clisp.org>
100798         * modules/floor: New file.
100799         * m4/floor.m4: New file.
100800         * doc/functions/floor.texi: Mention the 'floor' module.
100802 2007-10-20  Bruno Haible  <bruno@clisp.org>
100804         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
100805         of %a.
100806         * modules/floorf-tests (Depends-on): Likewise.
100807         * modules/truncf-tests (Depends-on): Likewise.
100808         * modules/trunc-tests (Depends-on): Likewise.
100809         Reported by Ben Pfaff.
100811 2007-10-19  Jim Meyering  <meyering@redhat.com>
100813         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
100814         Don't bother testing specific errno values.  Just test ferror.
100816         New module: xprintf
100817         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
100819 2007-10-19  Bruno Haible  <bruno@clisp.org>
100821         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
100822         syntax.
100823         * modules/javaexec (Makefile.am): Likewise.
100824         * modules/relocatable-prog (Makefile.am): Likewise.
100825         Suggested by Jim Meyering.
100827 2007-10-18  Bruno Haible  <bruno@clisp.org>
100829         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
100830         Reported by Jim Meyering.
100832 2007-10-18  Eric Blake  <ebb9@byu.net>
100834         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
100836 2007-10-18  Bruno Haible  <bruno@clisp.org>
100838         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
100839         the format string into writable memory. Needed in Fortify conditions.
100841 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
100842             Bruno Haible  <bruno@clisp.org>
100844         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
100845         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
100846         * modules/trim (Depends-on): Add mbchar.
100847         (configure.ac): Add gl_FUNC_MBRTOWC.
100848         (Makefile.am): Augment lib_SOURCES.
100850 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
100852         Modify glob.c to use fstatat and dirfd, to simplify it.
100853         Suggested by Eric Blake.
100854         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
100855         Don't include <stdbool.h>; not used.
100856         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
100857         (link_exists_p): Simplify implementation, since we can now assume
100858         dirfd and fstatat.
100859         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
100861 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100863         * gnulib-tool (func_get_dependencies): Fix sed script to
100864         match only tests.
100866 2007-10-17  Bruno Haible  <bruno@clisp.org>
100868         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
100869         allow locale names without encoding suffix.
100870         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
100871         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
100873 2007-10-16  Bruno Haible  <bruno@clisp.org>
100875         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
100876         * lib/getgroups.c (getgroups): Likewise.
100877         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
100879 2007-10-16  Bruno Haible  <bruno@clisp.org>
100881         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
100882         * modules/malloc-posix (License): Likewise.
100883         * modules/realloc-posix (License): Likewise.
100884         * modules/calloc-posix (License): Likewise.
100885         * modules/intprops (License): Change from GPL to LGPL, with
100886         Paul Eggert's approval.
100888 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
100890         Merge glibc changes into lib/glob.c.
100892         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
100893         2007-10-15 04:59:03 UTC.  Here are the changes:
100895         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
100897         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
100899         * lib/glob.c: Add some branch prediction throughout.
100901         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
100903         [BZ #5103]
100904         * lib/glob.c (glob): Recognize patterns starting \/.
100906         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
100908         [BZ #3996]
100909         * lib/glob.c (attribute_hidden): Define if not defined.
100910         (glob): Unescape dirname, filename or username when needed and not
100911         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
100912         is NULL.  Handle unescaped [ in pattern without closing ].
100913         Don't pass GLOB_CHECK down to recursive glob for directories.
100914         (__glob_pattern_type): New function.
100915         (__glob_pattern_p): Implement using __glob_pattern_type.
100916         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
100917         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
100918         Remove unreachable code.
100920         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
100922         * lib/glob.c (glob_in_dir): Add some comments and asserts to
100923         explain why there are no leaks.
100925         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
100927         [BZ #3253]
100928         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
100929         time, rather allocate increasingly bigger arrays of pointers, if
100930         possible with alloca, if too large with malloc.
100932 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
100934         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
100935         Problem reported by H.Merijn Brand in
100936         <http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
100937         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
100938         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
100940 2007-10-15  Bruno Haible  <bruno@clisp.org>
100942         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
100943         with explicit rpl_ prefix.
100944         * lib/fopen.c (fopen): Likewise.
100945         * lib/freopen.c (freopen): Likewise.
100946         * lib/iconv.c (iconv): Likewise.
100947         * lib/iconv_close.c (iconv_close): Likewise.
100949 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100951         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
100953 2007-10-15  Bruno Haible  <bruno@clisp.org>
100955         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
100956         <stddef.h> instead of <stdlib.h> since we only need NULL.
100957         Reported by Ben Pfaff <blp@cs.stanford.edu>.
100959 2007-10-15  Bruno Haible  <bruno@clisp.org>
100961         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
100962         Replace paragraph talking about LIBOBJS.
100963         Reported by Colin Watson <cjwatson@debian.org>.
100965 2007-10-15  Bruno Haible  <bruno@clisp.org>
100967         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
100968         <stdlib.h> before using NULL.
100970 2007-10-15  Simon Josefsson  <simon@josefsson.org>
100972         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
100973         Reported by Albert Chin <china@thewrittenword.com>.
100975 2007-10-14  Bruno Haible  <bruno@clisp.org>
100977         * modules/iconv_open-utf-tests: New file.
100978         * tests/test-iconv-utf.c: New file.
100980         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
100981         * modules/iconv_open-utf: New file.
100982         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
100983         (iconv, iconv_close): New declarations.
100984         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
100985         be defined.
100986         (iconv_open): Add special handling of conversion between UTF-8 and
100987         UTF-{16,32}{BE,LE}.
100988         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
100989         * lib/iconv_close.c: New file.
100990         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
100991         gl_FUNC_ICONV_OPEN.
100992         (gl_FUNC_ICONV_OPEN): Use it.
100993         (gl_FUNC_ICONV_OPEN_UTF): New macro.
100994         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
100995         and REPLACE_ICONV_UTF.
100996         * modules/iconv_open (Depends-on): Add c-strcase.
100997         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
100998         ICONV_CONST.
100999         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
101001 2007-10-13  Albert Chin  <china@thewrittenword.com>
101002             Bruno Haible  <bruno@clisp.org>
101004         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
101005         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
101007 2007-10-13  Bruno Haible  <bruno@clisp.org>
101009         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
101010         defined, use the ISO C99 inline semantics.
101011         * lib/argp.h (ARGP_EI): Likewise.
101013 2007-10-13  Bruno Haible  <bruno@clisp.org>
101015         Handle 'inline' change in gcc 4.3.0.
101016         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
101017         argp_fmtstream_write, argp_fmtstream_set_lmargin,
101018         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
101019         argp_fmtstream_point): Disable 'extern' declaration if the function
101020         definition is going to be provided inline.
101021         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
101022         semantics, not the ISO C99 inline semantics.
101023         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
101024         'extern' declaration if the function definition is going to be provided
101025         inline.
101026         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
101027         the GNU C inline semantics, not the ISO C99 inline semantics. With
101028         GCC 4.2, avoid a warning.
101030 2007-10-13  Bruno Haible  <bruno@clisp.org>
101032         * lib/freading.h (freading): Enable the use of __freading for
101033         glibc >= 2.7.
101034         * lib/freading.c (freading): Likewise.
101036 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
101038         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
101039         "warning: C99 inline functions are not supported; using GNU89".
101041 2007-10-12  Bruno Haible  <bruno@clisp.org>
101043         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
101044         of 2.
101045         * tests/test-ceilf2.c: New file.
101046         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
101048         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
101049         * modules/ceilf-tests: Update.
101051 2007-10-12  Bruno Haible  <bruno@clisp.org>
101053         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
101054         of 2.
101055         * tests/test-floorf2.c: New file.
101056         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
101058         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
101059         * modules/floorf-tests: Update.
101061 2007-10-12  Bruno Haible  <bruno@clisp.org>
101063         * tests/test-trunc2.c: New file.
101064         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
101066         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
101067         * modules/trunc-tests: Update.
101069 2007-10-12  Bruno Haible  <bruno@clisp.org>
101071         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
101072         of 2.
101073         * tests/test-truncf2.c: New file.
101074         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
101076         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
101077         * modules/truncf-tests: Update.
101079 2007-10-11  Eric Blake  <ebb9@byu.net>
101081         Don't claim strerror is broken on Interix.
101082         * doc/functions/strerror.texi (strerror): Known broken systems are
101083         now Solaris 8, and not Interix.
101084         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
101085         Interix on cross-compile.
101086         Reported by Martin Koeppe in
101087         http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.
101089 2007-10-11  Bruno Haible  <bruno@clisp.org>
101091         * modules/i-ring-tests: New file.
101092         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
101093         instead of assert.
101095 2007-10-11  Bruno Haible  <bruno@clisp.org>
101097         * modules/filenamecat-tests: New file.
101098         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
101099         * lib/filenamecat.c: Remove test code.
101101 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
101103         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
101105         * lib/strerror.c: Include <string.h> always, to test interface,
101106         and to remove the need for the dummy.
101107         Include intprops.h to compute width instead of doing it ourselves
101108         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
101109         (strerror): Define it to return NULL if there's no system strerror.
101110         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
101111         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
101112         ancient pre-strerror Unix systems well any more.  Saying "unknown
101113         system error" is enough.
101114         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
101115         simpler strerror.c implementation.
101116         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
101117         Simplify the tests to reflect the simpler strerror implementation.
101118         * modules/strerror (Depends-on): Add intprops.
101120 2007-10-09  Eric Blake  <ebb9@byu.net>
101122         Silence test-fpending.
101123         * modules/fpending-tests (Files): Add wrapper script.
101124         * tests/test-fpending.sh: New file.
101126 2007-10-09  Bruno Haible  <bruno@clisp.org>
101128         * MODULES.html.sh (func_module): Don't create a hyperlink for
101129         function names like 'printf_frexp'.
101130         (Misc): Add crc, memxor.
101131         (Characteristics of floating types): New section.
101132         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
101133         isnanf-nolibm, signbit, trunc, truncf, truncl.
101134         (Enhancements for ISO C 99 functions): New subsection Input/output.
101135         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
101136         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
101137         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
101138         (Compatibility checks for POSIX:2001 functions): Add clock-time.
101139         (Enhancements for POSIX:2001 functions): Add chdir-long.
101140         (File system functions): Add areadlink, chdir-safer, read-file.
101141         Remove cycle-check.
101142         (File system as inode set): New section.
101143         (Date and time): Add gethrxtime.
101144         (Multithreading): Add openmp.
101145         (Internationalization functions): Add localename.
101146         (Unicode string functions): Add unistr/u*-mbsnlen.
101147         (Support for maintaining and releasing projects): Add git-version-gen.
101148         (Lone files): Remove directories.
101150 2007-10-08  Ben Pfaff  <blp@gnu.org>
101152         * lib/xmalloca.h: Fix typo in comment.
101154 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
101156         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
101157         when avoiding problems with integer overflow.  Use a portable test
101158         instead.
101160 2007-10-08  Simon Josefsson  <simon@josefsson.org>
101162         * modules/dummy (License): Change to LGPLv2+.
101163         * modules/float (License): Likewise
101164         * modules/realloc (License): Likewise
101165         * modules/stdlib (License): Likewise
101167 2007-10-07  Bruno Haible  <bruno@clisp.org>
101169         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
101170         * floor.c (TWO_MANT_DIG): Likewise.
101171         * ceil.c (TWO_MANT_DIG): Likewise.
101172         Reported by Ben Pfaff.
101174 2007-10-07  Bruno Haible  <bruno@clisp.org>
101176         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
101177         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
101178         * lib/frexp.c (FUNC): Likewise.
101179         * lib/printf-frexp.h (printf_frexp): Likewise.
101180         * lib/printf-frexpl.h (printf_frexpl): Likewise.
101181         * lib/printf-frexp.c (FUNC): Likewise.
101182         Suggested by Jim Meyering.
101184 2007-10-07  Jim Meyering  <meyering@redhat.com>
101186         Make xnanosleep's integer overflow test more robust.
101187         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
101188         so that gcc-4.3.0 doesn't optimize away this test for overflow.
101190 2007-10-07  Bruno Haible  <bruno@clisp.org>
101192         * NEWS: Mention the license change.
101194         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
101195         abbreviations in the modules files.
101197         Change copyright notice from GPLv2+ to GPLv3+.
101198         * README: Change copyright notice.
101199         * MODULES.html.sh: Likewise.
101200         * build-aux/bootstrap.conf: Likewise.
101201         * build-aux/config.libpath: Likewise.
101202         * build-aux/csharpcomp.sh.in: Likewise.
101203         * build-aux/csharpexec.sh.in: Likewise.
101204         * build-aux/install-reloc: Likewise.
101205         * build-aux/javacomp.sh.in: Likewise.
101206         * build-aux/javaexec.sh.in: Likewise.
101207         * build-aux/ldd.sh.in: Likewise.
101208         * build-aux/reloc-ldflags: Likewise.
101209         * build-aux/relocatable.sh.in: Likewise.
101210         * build-aux/x-to-1.in: Likewise.
101211         * check-module: Likewise.
101212         * config/srclistvars.sh: Likewise.
101213         * gnulib-tool: Likewise.
101214         * lib/acl-internal.h: Likewise.
101215         * lib/acl.c: Likewise.
101216         * lib/acl.h: Likewise.
101217         * lib/acl_entries.c: Likewise.
101218         * lib/areadlink-with-size.c: Likewise.
101219         * lib/areadlink.c: Likewise.
101220         * lib/areadlink.h: Likewise.
101221         * lib/argmatch.c: Likewise.
101222         * lib/argmatch.h: Likewise.
101223         * lib/argp-ba.c: Likewise.
101224         * lib/argp-eexst.c: Likewise.
101225         * lib/argp-fmtstream.c: Likewise.
101226         * lib/argp-fmtstream.h: Likewise.
101227         * lib/argp-fs-xinl.c: Likewise.
101228         * lib/argp-help.c: Likewise.
101229         * lib/argp-namefrob.h: Likewise.
101230         * lib/argp-parse.c: Likewise.
101231         * lib/argp-pin.c: Likewise.
101232         * lib/argp-pv.c: Likewise.
101233         * lib/argp-pvh.c: Likewise.
101234         * lib/argp-xinl.c: Likewise.
101235         * lib/argp.h: Likewise.
101236         * lib/at-func.c: Likewise.
101237         * lib/atanl.c: Likewise.
101238         * lib/backupfile.c: Likewise.
101239         * lib/backupfile.h: Likewise.
101240         * lib/basename.c: Likewise.
101241         * lib/binary-io.h: Likewise.
101242         * lib/byteswap.in.h: Likewise.
101243         * lib/c-stack.c: Likewise.
101244         * lib/c-stack.h: Likewise.
101245         * lib/c-strcasestr.c: Likewise.
101246         * lib/c-strcasestr.h: Likewise.
101247         * lib/c-strstr.c: Likewise.
101248         * lib/c-strstr.h: Likewise.
101249         * lib/c-strtod.c: Likewise.
101250         * lib/calloc.c: Likewise.
101251         * lib/canon-host.c: Likewise.
101252         * lib/canon-host.h: Likewise.
101253         * lib/canonicalize-lgpl.c: Likewise.
101254         * lib/canonicalize.c: Likewise.
101255         * lib/canonicalize.h: Likewise.
101256         * lib/ceil.c: Likewise.
101257         * lib/ceilf.c: Likewise.
101258         * lib/ceill.c: Likewise.
101259         * lib/chdir-long.c: Likewise.
101260         * lib/chdir-long.h: Likewise.
101261         * lib/chdir-safer.c: Likewise.
101262         * lib/chdir-safer.h: Likewise.
101263         * lib/chown.c: Likewise.
101264         * lib/classpath.c: Likewise.
101265         * lib/classpath.h: Likewise.
101266         * lib/clean-temp.c: Likewise.
101267         * lib/clean-temp.h: Likewise.
101268         * lib/cloexec.c: Likewise.
101269         * lib/close-stream.c: Likewise.
101270         * lib/closein.c: Likewise.
101271         * lib/closein.h: Likewise.
101272         * lib/closeout.c: Likewise.
101273         * lib/closeout.h: Likewise.
101274         * lib/concat-filename.c: Likewise.
101275         * lib/copy-file.c: Likewise.
101276         * lib/copy-file.h: Likewise.
101277         * lib/count-one-bits.h: Likewise.
101278         * lib/crc.c: Likewise.
101279         * lib/crc.h: Likewise.
101280         * lib/creat-safer.c: Likewise.
101281         * lib/csharpcomp.c: Likewise.
101282         * lib/csharpcomp.h: Likewise.
101283         * lib/csharpexec.c: Likewise.
101284         * lib/csharpexec.h: Likewise.
101285         * lib/cycle-check.c: Likewise.
101286         * lib/cycle-check.h: Likewise.
101287         * lib/diacrit.c: Likewise.
101288         * lib/diacrit.h: Likewise.
101289         * lib/diffseq.h: Likewise.
101290         * lib/dirchownmod.c: Likewise.
101291         * lib/dirent.in.h: Likewise.
101292         * lib/dirfd.c: Likewise.
101293         * lib/dirfd.h: Likewise.
101294         * lib/dirname.c: Likewise.
101295         * lib/dirname.h: Likewise.
101296         * lib/dummy.c: Likewise.
101297         * lib/dup-safer.c: Likewise.
101298         * lib/dup2.c: Likewise.
101299         * lib/eealloc.h: Likewise.
101300         * lib/error.c: Likewise.
101301         * lib/error.h: Likewise.
101302         * lib/euidaccess.c: Likewise.
101303         * lib/exclude.c: Likewise.
101304         * lib/exclude.h: Likewise.
101305         * lib/execute.c: Likewise.
101306         * lib/execute.h: Likewise.
101307         * lib/exitfail.c: Likewise.
101308         * lib/exitfail.h: Likewise.
101309         * lib/expl.c: Likewise.
101310         * lib/fatal-signal.c: Likewise.
101311         * lib/fatal-signal.h: Likewise.
101312         * lib/fbufmode.c: Likewise.
101313         * lib/fbufmode.h: Likewise.
101314         * lib/fchdir.c: Likewise.
101315         * lib/fchmodat.c: Likewise.
101316         * lib/fchownat.c: Likewise.
101317         * lib/fcntl--.h: Likewise.
101318         * lib/fcntl-safer.h: Likewise.
101319         * lib/fcntl.in.h: Likewise.
101320         * lib/fd-safer.c: Likewise.
101321         * lib/fflush.c: Likewise.
101322         * lib/file-has-acl.c: Likewise.
101323         * lib/file-set.c: Likewise.
101324         * lib/file-type.c: Likewise.
101325         * lib/file-type.h: Likewise.
101326         * lib/fileblocks.c: Likewise.
101327         * lib/filemode.c: Likewise.
101328         * lib/filemode.h: Likewise.
101329         * lib/filename.h: Likewise.
101330         * lib/filenamecat.c: Likewise.
101331         * lib/filenamecat.h: Likewise.
101332         * lib/findprog.c: Likewise.
101333         * lib/findprog.h: Likewise.
101334         * lib/float.in.h: Likewise.
101335         * lib/floor.c: Likewise.
101336         * lib/floorf.c: Likewise.
101337         * lib/floorl.c: Likewise.
101338         * lib/fopen-safer.c: Likewise.
101339         * lib/fopen.c: Likewise.
101340         * lib/fpending.c: Likewise.
101341         * lib/fpending.h: Likewise.
101342         * lib/fprintf.c: Likewise.
101343         * lib/fprintftime.h: Likewise.
101344         * lib/fpucw.h: Likewise.
101345         * lib/fpurge.c: Likewise.
101346         * lib/fpurge.h: Likewise.
101347         * lib/freadable.c: Likewise.
101348         * lib/freadable.h: Likewise.
101349         * lib/freadahead.c: Likewise.
101350         * lib/freadahead.h: Likewise.
101351         * lib/freading.c: Likewise.
101352         * lib/freading.h: Likewise.
101353         * lib/free.c: Likewise.
101354         * lib/freopen.c: Likewise.
101355         * lib/frexp.c: Likewise.
101356         * lib/frexpl.c: Likewise.
101357         * lib/fseek.c: Likewise.
101358         * lib/fseterr.c: Likewise.
101359         * lib/fseterr.h: Likewise.
101360         * lib/fstatat.c: Likewise.
101361         * lib/fstrcmp.c: Likewise.
101362         * lib/fstrcmp.h: Likewise.
101363         * lib/fsusage.c: Likewise.
101364         * lib/fsusage.h: Likewise.
101365         * lib/ftell.c: Likewise.
101366         * lib/ftello.c: Likewise.
101367         * lib/fts-cycle.c: Likewise.
101368         * lib/fts.c: Likewise.
101369         * lib/fts_.h: Likewise.
101370         * lib/full-read.c: Likewise.
101371         * lib/full-read.h: Likewise.
101372         * lib/full-write.c: Likewise.
101373         * lib/full-write.h: Likewise.
101374         * lib/fwritable.c: Likewise.
101375         * lib/fwritable.h: Likewise.
101376         * lib/fwriteerror.c: Likewise.
101377         * lib/fwriteerror.h: Likewise.
101378         * lib/fwriting.c: Likewise.
101379         * lib/fwriting.h: Likewise.
101380         * lib/gcd.c: Likewise.
101381         * lib/gcd.h: Likewise.
101382         * lib/getcwd.c: Likewise.
101383         * lib/getdate.h: Likewise.
101384         * lib/getdate.y: Likewise.
101385         * lib/getdomainname.c: Likewise.
101386         * lib/getdomainname.h: Likewise.
101387         * lib/getgroups.c: Likewise.
101388         * lib/gethostname.c: Likewise.
101389         * lib/gethrxtime.c: Likewise.
101390         * lib/gethrxtime.h: Likewise.
101391         * lib/getloadavg.c: Likewise.
101392         * lib/getndelim2.c: Likewise.
101393         * lib/getndelim2.h: Likewise.
101394         * lib/getnline.c: Likewise.
101395         * lib/getnline.h: Likewise.
101396         * lib/getopt.c: Likewise.
101397         * lib/getopt.in.h: Likewise.
101398         * lib/getopt1.c: Likewise.
101399         * lib/getopt_int.h: Likewise.
101400         * lib/getpagesize.h: Likewise.
101401         * lib/getsubopt.c: Likewise.
101402         * lib/gettime.c: Likewise.
101403         * lib/getugroups.c: Likewise.
101404         * lib/getugroups.h: Likewise.
101405         * lib/getusershell.c: Likewise.
101406         * lib/gl_anyavltree_list1.h: Likewise.
101407         * lib/gl_anyavltree_list2.h: Likewise.
101408         * lib/gl_anyhash_list1.h: Likewise.
101409         * lib/gl_anyhash_list2.h: Likewise.
101410         * lib/gl_anylinked_list1.h: Likewise.
101411         * lib/gl_anylinked_list2.h: Likewise.
101412         * lib/gl_anyrbtree_list1.h: Likewise.
101413         * lib/gl_anyrbtree_list2.h: Likewise.
101414         * lib/gl_anytree_list1.h: Likewise.
101415         * lib/gl_anytree_list2.h: Likewise.
101416         * lib/gl_anytree_oset.h: Likewise.
101417         * lib/gl_anytreehash_list1.h: Likewise.
101418         * lib/gl_anytreehash_list2.h: Likewise.
101419         * lib/gl_array_list.c: Likewise.
101420         * lib/gl_array_list.h: Likewise.
101421         * lib/gl_array_oset.c: Likewise.
101422         * lib/gl_array_oset.h: Likewise.
101423         * lib/gl_avltree_list.c: Likewise.
101424         * lib/gl_avltree_list.h: Likewise.
101425         * lib/gl_avltree_oset.c: Likewise.
101426         * lib/gl_avltree_oset.h: Likewise.
101427         * lib/gl_avltreehash_list.c: Likewise.
101428         * lib/gl_avltreehash_list.h: Likewise.
101429         * lib/gl_carray_list.c: Likewise.
101430         * lib/gl_carray_list.h: Likewise.
101431         * lib/gl_linked_list.c: Likewise.
101432         * lib/gl_linked_list.h: Likewise.
101433         * lib/gl_linkedhash_list.c: Likewise.
101434         * lib/gl_linkedhash_list.h: Likewise.
101435         * lib/gl_list.c: Likewise.
101436         * lib/gl_list.h: Likewise.
101437         * lib/gl_oset.c: Likewise.
101438         * lib/gl_oset.h: Likewise.
101439         * lib/gl_rbtree_list.c: Likewise.
101440         * lib/gl_rbtree_list.h: Likewise.
101441         * lib/gl_rbtree_oset.c: Likewise.
101442         * lib/gl_rbtree_oset.h: Likewise.
101443         * lib/gl_rbtreehash_list.c: Likewise.
101444         * lib/gl_rbtreehash_list.h: Likewise.
101445         * lib/gl_sublist.c: Likewise.
101446         * lib/gl_sublist.h: Likewise.
101447         * lib/group-member.c: Likewise.
101448         * lib/group-member.h: Likewise.
101449         * lib/hard-locale.c: Likewise.
101450         * lib/hard-locale.h: Likewise.
101451         * lib/hash-pjw.c: Likewise.
101452         * lib/hash-pjw.h: Likewise.
101453         * lib/hash-triple.c: Likewise.
101454         * lib/hash.c: Likewise.
101455         * lib/hash.h: Likewise.
101456         * lib/human.c: Likewise.
101457         * lib/human.h: Likewise.
101458         * lib/i-ring.c: Likewise.
101459         * lib/i-ring.h: Likewise.
101460         * lib/idcache.c: Likewise.
101461         * lib/imaxabs.c: Likewise.
101462         * lib/imaxdiv.c: Likewise.
101463         * lib/inet_pton.c: Likewise.
101464         * lib/inet_pton.h: Likewise.
101465         * lib/intprops.h: Likewise.
101466         * lib/inttostr.c: Likewise.
101467         * lib/inttostr.h: Likewise.
101468         * lib/inttypes.in.h: Likewise.
101469         * lib/isapipe.c: Likewise.
101470         * lib/isdir.c: Likewise.
101471         * lib/isnan.c: Likewise.
101472         * lib/isnan.h: Likewise.
101473         * lib/isnanf.c: Likewise.
101474         * lib/isnanf.h: Likewise.
101475         * lib/isnanl-nolibm.h: Likewise.
101476         * lib/isnanl.c: Likewise.
101477         * lib/isnanl.h: Likewise.
101478         * lib/javacomp.c: Likewise.
101479         * lib/javacomp.h: Likewise.
101480         * lib/javaexec.c: Likewise.
101481         * lib/javaexec.h: Likewise.
101482         * lib/javaversion.c: Likewise.
101483         * lib/javaversion.h: Likewise.
101484         * lib/javaversion.java: Likewise.
101485         * lib/lbrkprop.h: Likewise.
101486         * lib/lchmod.h: Likewise.
101487         * lib/lchown.c: Likewise.
101488         * lib/ldexpl.c: Likewise.
101489         * lib/linebreak.c: Likewise.
101490         * lib/linebreak.h: Likewise.
101491         * lib/linebuffer.c: Likewise.
101492         * lib/linebuffer.h: Likewise.
101493         * lib/locale.in.h: Likewise.
101494         * lib/logl.c: Likewise.
101495         * lib/long-options.c: Likewise.
101496         * lib/long-options.h: Likewise.
101497         * lib/lstat.c: Likewise.
101498         * lib/lstat.h: Likewise.
101499         * lib/math.in.h: Likewise.
101500         * lib/mbchar.c: Likewise.
101501         * lib/mbchar.h: Likewise.
101502         * lib/mbfile.h: Likewise.
101503         * lib/mbiter.h: Likewise.
101504         * lib/mbscasecmp.c: Likewise.
101505         * lib/mbscasestr.c: Likewise.
101506         * lib/mbschr.c: Likewise.
101507         * lib/mbscspn.c: Likewise.
101508         * lib/mbslen.c: Likewise.
101509         * lib/mbsncasecmp.c: Likewise.
101510         * lib/mbsnlen.c: Likewise.
101511         * lib/mbspbrk.c: Likewise.
101512         * lib/mbspcasecmp.c: Likewise.
101513         * lib/mbsrchr.c: Likewise.
101514         * lib/mbssep.c: Likewise.
101515         * lib/mbsspn.c: Likewise.
101516         * lib/mbsstr.c: Likewise.
101517         * lib/mbstok_r.c: Likewise.
101518         * lib/mbswidth.c: Likewise.
101519         * lib/mbswidth.h: Likewise.
101520         * lib/mbuiter.h: Likewise.
101521         * lib/memcasecmp.c: Likewise.
101522         * lib/memcasecmp.h: Likewise.
101523         * lib/memchr.c: Likewise.
101524         * lib/memcmp.c: Likewise.
101525         * lib/memcoll.c: Likewise.
101526         * lib/memcoll.h: Likewise.
101527         * lib/memcpy.c: Likewise.
101528         * lib/memrchr.c: Likewise.
101529         * lib/mkancesdirs.c: Likewise.
101530         * lib/mkdir-p.c: Likewise.
101531         * lib/mkdir-p.h: Likewise.
101532         * lib/mkdir.c: Likewise.
101533         * lib/mkdirat.c: Likewise.
101534         * lib/mkdtemp.c: Likewise.
101535         * lib/mkstemp-safer.c: Likewise.
101536         * lib/mkstemp.c: Likewise.
101537         * lib/modechange.c: Likewise.
101538         * lib/modechange.h: Likewise.
101539         * lib/mountlist.c: Likewise.
101540         * lib/mountlist.h: Likewise.
101541         * lib/mpsort.c: Likewise.
101542         * lib/nanosleep.c: Likewise.
101543         * lib/obstack.c: Likewise.
101544         * lib/obstack.h: Likewise.
101545         * lib/open-safer.c: Likewise.
101546         * lib/open.c: Likewise.
101547         * lib/openat-die.c: Likewise.
101548         * lib/openat-priv.h: Likewise.
101549         * lib/openat-proc.c: Likewise.
101550         * lib/openat.c: Likewise.
101551         * lib/openat.h: Likewise.
101552         * lib/pagealign_alloc.c: Likewise.
101553         * lib/pagealign_alloc.h: Likewise.
101554         * lib/physmem.c: Likewise.
101555         * lib/physmem.h: Likewise.
101556         * lib/pipe-safer.c: Likewise.
101557         * lib/pipe.c: Likewise.
101558         * lib/pipe.h: Likewise.
101559         * lib/posixtm.c: Likewise.
101560         * lib/posixtm.h: Likewise.
101561         * lib/posixver.c: Likewise.
101562         * lib/printf-frexp.c: Likewise.
101563         * lib/printf-frexp.h: Likewise.
101564         * lib/printf-frexpl.c: Likewise.
101565         * lib/printf-frexpl.h: Likewise.
101566         * lib/printf.c: Likewise.
101567         * lib/progname.c: Likewise.
101568         * lib/progname.h: Likewise.
101569         * lib/progreloc.c: Likewise.
101570         * lib/putenv.c: Likewise.
101571         * lib/quote.c: Likewise.
101572         * lib/quote.h: Likewise.
101573         * lib/quotearg.c: Likewise.
101574         * lib/quotearg.h: Likewise.
101575         * lib/raise.c: Likewise.
101576         * lib/readline.c: Likewise.
101577         * lib/readline.h: Likewise.
101578         * lib/readlink.c: Likewise.
101579         * lib/readtokens.c: Likewise.
101580         * lib/readtokens.h: Likewise.
101581         * lib/readtokens0.c: Likewise.
101582         * lib/readtokens0.h: Likewise.
101583         * lib/readutmp.c: Likewise.
101584         * lib/readutmp.h: Likewise.
101585         * lib/realloc.c: Likewise.
101586         * lib/relocwrapper.c: Likewise.
101587         * lib/rename-dest-slash.c: Likewise.
101588         * lib/rename.c: Likewise.
101589         * lib/rmdir.c: Likewise.
101590         * lib/rpmatch.c: Likewise.
101591         * lib/safe-read.c: Likewise.
101592         * lib/safe-read.h: Likewise.
101593         * lib/safe-write.c: Likewise.
101594         * lib/safe-write.h: Likewise.
101595         * lib/same-inode.h: Likewise.
101596         * lib/same.c: Likewise.
101597         * lib/same.h: Likewise.
101598         * lib/save-cwd.c: Likewise.
101599         * lib/save-cwd.h: Likewise.
101600         * lib/savedir.c: Likewise.
101601         * lib/savedir.h: Likewise.
101602         * lib/savewd.c: Likewise.
101603         * lib/savewd.h: Likewise.
101604         * lib/search.in.h: Likewise.
101605         * lib/setenv.c: Likewise.
101606         * lib/setenv.h: Likewise.
101607         * lib/settime.c: Likewise.
101608         * lib/sh-quote.c: Likewise.
101609         * lib/sh-quote.h: Likewise.
101610         * lib/sig2str.c: Likewise.
101611         * lib/sig2str.h: Likewise.
101612         * lib/signal.in.h: Likewise.
101613         * lib/signbitd.c: Likewise.
101614         * lib/signbitf.c: Likewise.
101615         * lib/signbitl.c: Likewise.
101616         * lib/sigprocmask.c: Likewise.
101617         * lib/sincosl.c: Likewise.
101618         * lib/sleep.c: Likewise.
101619         * lib/sprintf.c: Likewise.
101620         * lib/sqrtl.c: Likewise.
101621         * lib/stat-time.h: Likewise.
101622         * lib/stdio--.h: Likewise.
101623         * lib/stdio-safer.h: Likewise.
101624         * lib/stdlib--.h: Likewise.
101625         * lib/stdlib-safer.h: Likewise.
101626         * lib/stdlib.in.h: Likewise.
101627         * lib/stpcpy.c: Likewise.
101628         * lib/stpncpy.c: Likewise.
101629         * lib/strchrnul.c: Likewise.
101630         * lib/strcspn.c: Likewise.
101631         * lib/strerror.c: Likewise.
101632         * lib/strftime.c: Likewise.
101633         * lib/strftime.h: Likewise.
101634         * lib/striconveh.c: Likewise.
101635         * lib/striconveh.h: Likewise.
101636         * lib/striconveha.c: Likewise.
101637         * lib/striconveha.h: Likewise.
101638         * lib/stripslash.c: Likewise.
101639         * lib/strnlen1.c: Likewise.
101640         * lib/strnlen1.h: Likewise.
101641         * lib/strtod.c: Likewise.
101642         * lib/strtoimax.c: Likewise.
101643         * lib/strtok_r.c: Likewise.
101644         * lib/strtol.c: Likewise.
101645         * lib/strtoll.c: Likewise.
101646         * lib/strtoul.c: Likewise.
101647         * lib/strtoull.c: Likewise.
101648         * lib/sysexits.in.h: Likewise.
101649         * lib/tempname.c: Likewise.
101650         * lib/tempname.h: Likewise.
101651         * lib/timespec.h: Likewise.
101652         * lib/tls.c: Likewise.
101653         * lib/tls.h: Likewise.
101654         * lib/tmpdir.c: Likewise.
101655         * lib/tmpdir.h: Likewise.
101656         * lib/tmpfile-safer.c: Likewise.
101657         * lib/tmpfile.c: Likewise.
101658         * lib/trigl.c: Likewise.
101659         * lib/trigl.h: Likewise.
101660         * lib/trim.c: Likewise.
101661         * lib/trim.h: Likewise.
101662         * lib/trunc.c: Likewise.
101663         * lib/truncf.c: Likewise.
101664         * lib/truncl.c: Likewise.
101665         * lib/tsearch.c: Likewise.
101666         * lib/unicodeio.c: Likewise.
101667         * lib/unicodeio.h: Likewise.
101668         * lib/unistd--.h: Likewise.
101669         * lib/unistd-safer.h: Likewise.
101670         * lib/unistdio/ulc-fprintf.c: Likewise.
101671         * lib/unistdio/ulc-vfprintf.c: Likewise.
101672         * lib/unlinkdir.c: Likewise.
101673         * lib/unlinkdir.h: Likewise.
101674         * lib/unlocked-io.h: Likewise.
101675         * lib/unsetenv.c: Likewise.
101676         * lib/userspec.c: Likewise.
101677         * lib/utime.c: Likewise.
101678         * lib/utimecmp.c: Likewise.
101679         * lib/utimecmp.h: Likewise.
101680         * lib/utimens.c: Likewise.
101681         * lib/verify.h: Likewise.
101682         * lib/verror.c: Likewise.
101683         * lib/verror.h: Likewise.
101684         * lib/version-etc-fsf.c: Likewise.
101685         * lib/version-etc.c: Likewise.
101686         * lib/version-etc.h: Likewise.
101687         * lib/vfprintf.c: Likewise.
101688         * lib/vprintf.c: Likewise.
101689         * lib/vsprintf.c: Likewise.
101690         * lib/w32spawn.h: Likewise.
101691         * lib/wait-process.c: Likewise.
101692         * lib/wait-process.h: Likewise.
101693         * lib/wcwidth.c: Likewise.
101694         * lib/write-any-file.c: Likewise.
101695         * lib/xalloc-die.c: Likewise.
101696         * lib/xalloc.h: Likewise.
101697         * lib/xasprintf.c: Likewise.
101698         * lib/xgetcwd.c: Likewise.
101699         * lib/xgetcwd.h: Likewise.
101700         * lib/xgetdomainname.c: Likewise.
101701         * lib/xgetdomainname.h: Likewise.
101702         * lib/xgethostname.c: Likewise.
101703         * lib/xmalloc.c: Likewise.
101704         * lib/xmalloca.c: Likewise.
101705         * lib/xmalloca.h: Likewise.
101706         * lib/xmemcoll.c: Likewise.
101707         * lib/xnanosleep.c: Likewise.
101708         * lib/xreadlink.c: Likewise.
101709         * lib/xreadlink.h: Likewise.
101710         * lib/xsetenv.c: Likewise.
101711         * lib/xsetenv.h: Likewise.
101712         * lib/xstriconv.c: Likewise.
101713         * lib/xstriconv.h: Likewise.
101714         * lib/xstrndup.c: Likewise.
101715         * lib/xstrndup.h: Likewise.
101716         * lib/xstrtod.c: Likewise.
101717         * lib/xstrtod.h: Likewise.
101718         * lib/xstrtol-error.c: Likewise.
101719         * lib/xstrtol.c: Likewise.
101720         * lib/xstrtol.h: Likewise.
101721         * lib/xtime.h: Likewise.
101722         * lib/xvasprintf.c: Likewise.
101723         * lib/xvasprintf.h: Likewise.
101724         * lib/yesno.c: Likewise.
101725         * lib/yesno.h: Likewise.
101726         * posix-modules: Likewise.
101727         * tests/test-alloca-opt.c: Likewise.
101728         * tests/test-arcfour.c: Likewise.
101729         * tests/test-arctwo.c: Likewise.
101730         * tests/test-argmatch.c: Likewise.
101731         * tests/test-argp-2.sh: Likewise.
101732         * tests/test-argp.c: Likewise.
101733         * tests/test-arpa_inet.c: Likewise.
101734         * tests/test-array_list.c: Likewise.
101735         * tests/test-array_oset.c: Likewise.
101736         * tests/test-atexit.c: Likewise.
101737         * tests/test-avltree_list.c: Likewise.
101738         * tests/test-avltree_oset.c: Likewise.
101739         * tests/test-avltreehash_list.c: Likewise.
101740         * tests/test-base64.c: Likewise.
101741         * tests/test-binary-io.c: Likewise.
101742         * tests/test-byteswap.c: Likewise.
101743         * tests/test-c-ctype.c: Likewise.
101744         * tests/test-c-strcasecmp.c: Likewise.
101745         * tests/test-c-strcasestr.c: Likewise.
101746         * tests/test-c-strncasecmp.c: Likewise.
101747         * tests/test-c-strstr.c: Likewise.
101748         * tests/test-canonicalize-lgpl.c: Likewise.
101749         * tests/test-canonicalize.c: Likewise.
101750         * tests/test-carray_list.c: Likewise.
101751         * tests/test-ceilf.c: Likewise.
101752         * tests/test-ceill.c: Likewise.
101753         * tests/test-count-one-bits.c: Likewise.
101754         * tests/test-crc.c: Likewise.
101755         * tests/test-dirname.c: Likewise.
101756         * tests/test-fbufmode.c: Likewise.
101757         * tests/test-fcntl.c: Likewise.
101758         * tests/test-fflush.c: Likewise.
101759         * tests/test-floorf.c: Likewise.
101760         * tests/test-floorl.c: Likewise.
101761         * tests/test-fopen.c: Likewise.
101762         * tests/test-fprintf-posix.c: Likewise.
101763         * tests/test-fprintf-posix.h: Likewise.
101764         * tests/test-fpurge.c: Likewise.
101765         * tests/test-freadable.c: Likewise.
101766         * tests/test-freadahead.c: Likewise.
101767         * tests/test-freading.c: Likewise.
101768         * tests/test-freopen.c: Likewise.
101769         * tests/test-frexp.c: Likewise.
101770         * tests/test-frexpl.c: Likewise.
101771         * tests/test-fseek.c: Likewise.
101772         * tests/test-fseeko.c: Likewise.
101773         * tests/test-fseterr.c: Likewise.
101774         * tests/test-fstrcmp.c: Likewise.
101775         * tests/test-ftell.c: Likewise.
101776         * tests/test-ftello.c: Likewise.
101777         * tests/test-fwritable.c: Likewise.
101778         * tests/test-fwriting.c: Likewise.
101779         * tests/test-getaddrinfo.c: Likewise.
101780         * tests/test-getpass.c: Likewise.
101781         * tests/test-gettimeofday.c: Likewise.
101782         * tests/test-hmac-md5.c: Likewise.
101783         * tests/test-hmac-sha1.c: Likewise.
101784         * tests/test-iconv.c: Likewise.
101785         * tests/test-iconvme.c: Likewise.
101786         * tests/test-inttypes.c: Likewise.
101787         * tests/test-isnan.c: Likewise.
101788         * tests/test-isnanf.c: Likewise.
101789         * tests/test-isnanl-nolibm.c: Likewise.
101790         * tests/test-isnanl.c: Likewise.
101791         * tests/test-isnanl.h: Likewise.
101792         * tests/test-ldexpl.c: Likewise.
101793         * tests/test-linked_list.c: Likewise.
101794         * tests/test-linkedhash_list.c: Likewise.
101795         * tests/test-locale.c: Likewise.
101796         * tests/test-localename.c: Likewise.
101797         * tests/test-lock.c: Likewise.
101798         * tests/test-lseek.c: Likewise.
101799         * tests/test-malloca.c: Likewise.
101800         * tests/test-math.c: Likewise.
101801         * tests/test-mbscasecmp.c: Likewise.
101802         * tests/test-mbscasestr1.c: Likewise.
101803         * tests/test-mbscasestr2.c: Likewise.
101804         * tests/test-mbscasestr3.c: Likewise.
101805         * tests/test-mbscasestr4.c: Likewise.
101806         * tests/test-mbschr.c: Likewise.
101807         * tests/test-mbscspn.c: Likewise.
101808         * tests/test-mbsncasecmp.c: Likewise.
101809         * tests/test-mbspbrk.c: Likewise.
101810         * tests/test-mbspcasecmp.c: Likewise.
101811         * tests/test-mbsrchr.c: Likewise.
101812         * tests/test-mbsspn.c: Likewise.
101813         * tests/test-mbsstr1.c: Likewise.
101814         * tests/test-mbsstr2.c: Likewise.
101815         * tests/test-mbsstr3.c: Likewise.
101816         * tests/test-md5.c: Likewise.
101817         * tests/test-memmem.c: Likewise.
101818         * tests/test-netinet_in.c: Likewise.
101819         * tests/test-open.c: Likewise.
101820         * tests/test-printf-frexp.c: Likewise.
101821         * tests/test-printf-frexpl.c: Likewise.
101822         * tests/test-printf-posix.c: Likewise.
101823         * tests/test-printf-posix.h: Likewise.
101824         * tests/test-rbtree_list.c: Likewise.
101825         * tests/test-rbtree_oset.c: Likewise.
101826         * tests/test-rbtreehash_list.c: Likewise.
101827         * tests/test-read-file.c: Likewise.
101828         * tests/test-rijndael.c: Likewise.
101829         * tests/test-search.c: Likewise.
101830         * tests/test-signbit.c: Likewise.
101831         * tests/test-sleep.c: Likewise.
101832         * tests/test-snprintf-posix.c: Likewise.
101833         * tests/test-snprintf-posix.h: Likewise.
101834         * tests/test-snprintf.c: Likewise.
101835         * tests/test-sprintf-posix.c: Likewise.
101836         * tests/test-sprintf-posix.h: Likewise.
101837         * tests/test-stat-time.c: Likewise.
101838         * tests/test-stdbool.c: Likewise.
101839         * tests/test-stdint.c: Likewise.
101840         * tests/test-stdio.c: Likewise.
101841         * tests/test-stdlib.c: Likewise.
101842         * tests/test-stpncpy.c: Likewise.
101843         * tests/test-strcasestr.c: Likewise.
101844         * tests/test-striconv.c: Likewise.
101845         * tests/test-striconveh.c: Likewise.
101846         * tests/test-striconveha.c: Likewise.
101847         * tests/test-string.c: Likewise.
101848         * tests/test-sys_select.c: Likewise.
101849         * tests/test-sys_socket.c: Likewise.
101850         * tests/test-sys_stat.c: Likewise.
101851         * tests/test-sys_time.c: Likewise.
101852         * tests/test-sysexits.c: Likewise.
101853         * tests/test-time.c: Likewise.
101854         * tests/test-tls.c: Likewise.
101855         * tests/test-trunc.c: Likewise.
101856         * tests/test-truncf.c: Likewise.
101857         * tests/test-truncl.c: Likewise.
101858         * tests/test-unistd.c: Likewise.
101859         * tests/test-vasnprintf-posix.c: Likewise.
101860         * tests/test-vasnprintf-posix2.c: Likewise.
101861         * tests/test-vasnprintf.c: Likewise.
101862         * tests/test-vasprintf-posix.c: Likewise.
101863         * tests/test-vasprintf.c: Likewise.
101864         * tests/test-verify.c: Likewise.
101865         * tests/test-vfprintf-posix.c: Likewise.
101866         * tests/test-vprintf-posix.c: Likewise.
101867         * tests/test-vsnprintf-posix.c: Likewise.
101868         * tests/test-vsnprintf.c: Likewise.
101869         * tests/test-vsprintf-posix.c: Likewise.
101870         * tests/test-wchar.c: Likewise.
101871         * tests/test-wctype.c: Likewise.
101872         * tests/test-wcwidth.c: Likewise.
101873         * tests/test-xstrtol.c: Likewise.
101874         * tests/test-xvasprintf.c: Likewise.
101875         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
101876         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
101877         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
101878         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
101879         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
101880         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
101881         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
101882         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
101883         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
101884         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
101885         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
101886         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
101887         * tests/uniname/test-uninames.c: Likewise.
101888         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
101889         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
101890         * tests/unistdio/test-u16-printf1.h: Likewise.
101891         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
101892         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
101893         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
101894         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
101895         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
101896         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
101897         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
101898         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
101899         * tests/unistdio/test-u32-printf1.h: Likewise.
101900         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
101901         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
101902         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
101903         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
101904         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
101905         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
101906         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
101907         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
101908         * tests/unistdio/test-u8-printf1.h: Likewise.
101909         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
101910         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
101911         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
101912         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
101913         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
101914         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
101915         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
101916         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
101917         * tests/unistdio/test-ulc-printf1.h: Likewise.
101918         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
101919         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
101920         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
101921         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
101922         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
101923         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
101924         * tests/uniwidth/test-u16-strwidth.c: Likewise.
101925         * tests/uniwidth/test-u16-width.c: Likewise.
101926         * tests/uniwidth/test-u32-strwidth.c: Likewise.
101927         * tests/uniwidth/test-u32-width.c: Likewise.
101928         * tests/uniwidth/test-u8-strwidth.c: Likewise.
101929         * tests/uniwidth/test-u8-width.c: Likewise.
101930         * tests/uniwidth/test-uc_width.c: Likewise.
101931         * config/srclist-update: Likewise.
101932         (fixlicense): Update to GPLv3+.
101934         Change copyright notice from LGPLv2.1+ to LGPLv3+.
101935         * tests/test-tsearch.c: Change copyright notice.
101937         Change copyright notice from LGPLv2.0+ to LGPLv3+.
101938         * lib/c-strcaseeq.h: Change copyright notice.
101939         * lib/streq.h: Likewise.
101940         * lib/uniconv.h: Likewise.
101941         * lib/uniconv/u-conv-from-enc.h: Likewise.
101942         * lib/uniconv/u-conv-to-enc.h: Likewise.
101943         * lib/uniconv/u-strconv-from-enc.h: Likewise.
101944         * lib/uniconv/u-strconv-to-enc.h: Likewise.
101945         * lib/uniconv/u16-conv-from-enc.c: Likewise.
101946         * lib/uniconv/u16-conv-to-enc.c: Likewise.
101947         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
101948         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
101949         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
101950         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
101951         * lib/uniconv/u32-conv-from-enc.c: Likewise.
101952         * lib/uniconv/u32-conv-to-enc.c: Likewise.
101953         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
101954         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
101955         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
101956         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
101957         * lib/uniconv/u8-conv-from-enc.c: Likewise.
101958         * lib/uniconv/u8-conv-to-enc.c: Likewise.
101959         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
101960         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
101961         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
101962         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
101963         * lib/uniname.h: Likewise.
101964         * lib/uniname/uniname.c: Likewise.
101965         * lib/unistdio.h: Likewise.
101966         * lib/unistdio/u-asnprintf.h: Likewise.
101967         * lib/unistdio/u-asprintf.h: Likewise.
101968         * lib/unistdio/u-printf-args.c: Likewise.
101969         * lib/unistdio/u-printf-args.h: Likewise.
101970         * lib/unistdio/u-printf-parse.h: Likewise.
101971         * lib/unistdio/u-snprintf.h: Likewise.
101972         * lib/unistdio/u-sprintf.h: Likewise.
101973         * lib/unistdio/u-vasprintf.h: Likewise.
101974         * lib/unistdio/u-vsnprintf.h: Likewise.
101975         * lib/unistdio/u-vsprintf.h: Likewise.
101976         * lib/unistdio/u16-asnprintf.c: Likewise.
101977         * lib/unistdio/u16-asprintf.c: Likewise.
101978         * lib/unistdio/u16-printf-parse.c: Likewise.
101979         * lib/unistdio/u16-snprintf.c: Likewise.
101980         * lib/unistdio/u16-sprintf.c: Likewise.
101981         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
101982         * lib/unistdio/u16-u16-asprintf.c: Likewise.
101983         * lib/unistdio/u16-u16-snprintf.c: Likewise.
101984         * lib/unistdio/u16-u16-sprintf.c: Likewise.
101985         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
101986         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
101987         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
101988         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
101989         * lib/unistdio/u16-vasnprintf.c: Likewise.
101990         * lib/unistdio/u16-vasprintf.c: Likewise.
101991         * lib/unistdio/u16-vsnprintf.c: Likewise.
101992         * lib/unistdio/u16-vsprintf.c: Likewise.
101993         * lib/unistdio/u32-asnprintf.c: Likewise.
101994         * lib/unistdio/u32-asprintf.c: Likewise.
101995         * lib/unistdio/u32-printf-parse.c: Likewise.
101996         * lib/unistdio/u32-snprintf.c: Likewise.
101997         * lib/unistdio/u32-sprintf.c: Likewise.
101998         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
101999         * lib/unistdio/u32-u32-asprintf.c: Likewise.
102000         * lib/unistdio/u32-u32-snprintf.c: Likewise.
102001         * lib/unistdio/u32-u32-sprintf.c: Likewise.
102002         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
102003         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
102004         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
102005         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
102006         * lib/unistdio/u32-vasnprintf.c: Likewise.
102007         * lib/unistdio/u32-vasprintf.c: Likewise.
102008         * lib/unistdio/u32-vsnprintf.c: Likewise.
102009         * lib/unistdio/u32-vsprintf.c: Likewise.
102010         * lib/unistdio/u8-asnprintf.c: Likewise.
102011         * lib/unistdio/u8-asprintf.c: Likewise.
102012         * lib/unistdio/u8-printf-parse.c: Likewise.
102013         * lib/unistdio/u8-snprintf.c: Likewise.
102014         * lib/unistdio/u8-sprintf.c: Likewise.
102015         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
102016         * lib/unistdio/u8-u8-asprintf.c: Likewise.
102017         * lib/unistdio/u8-u8-snprintf.c: Likewise.
102018         * lib/unistdio/u8-u8-sprintf.c: Likewise.
102019         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
102020         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
102021         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
102022         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
102023         * lib/unistdio/u8-vasnprintf.c: Likewise.
102024         * lib/unistdio/u8-vasprintf.c: Likewise.
102025         * lib/unistdio/u8-vsnprintf.c: Likewise.
102026         * lib/unistdio/u8-vsprintf.c: Likewise.
102027         * lib/unistdio/ulc-asnprintf.c: Likewise.
102028         * lib/unistdio/ulc-asprintf.c: Likewise.
102029         * lib/unistdio/ulc-printf-parse.c: Likewise.
102030         * lib/unistdio/ulc-snprintf.c: Likewise.
102031         * lib/unistdio/ulc-sprintf.c: Likewise.
102032         * lib/unistdio/ulc-vasnprintf.c: Likewise.
102033         * lib/unistdio/ulc-vasprintf.c: Likewise.
102034         * lib/unistdio/ulc-vsnprintf.c: Likewise.
102035         * lib/unistdio/ulc-vsprintf.c: Likewise.
102036         * lib/unistr.h: Likewise.
102037         * lib/unistr/u-cpy-alloc.h: Likewise.
102038         * lib/unistr/u-cpy.h: Likewise.
102039         * lib/unistr/u-endswith.h: Likewise.
102040         * lib/unistr/u-move.h: Likewise.
102041         * lib/unistr/u-set.h: Likewise.
102042         * lib/unistr/u-startswith.h: Likewise.
102043         * lib/unistr/u-stpcpy.h: Likewise.
102044         * lib/unistr/u-stpncpy.h: Likewise.
102045         * lib/unistr/u-strcat.h: Likewise.
102046         * lib/unistr/u-strcpy.h: Likewise.
102047         * lib/unistr/u-strcspn.h: Likewise.
102048         * lib/unistr/u-strdup.h: Likewise.
102049         * lib/unistr/u-strlen.h: Likewise.
102050         * lib/unistr/u-strncat.h: Likewise.
102051         * lib/unistr/u-strncpy.h: Likewise.
102052         * lib/unistr/u-strnlen.h: Likewise.
102053         * lib/unistr/u-strpbrk.h: Likewise.
102054         * lib/unistr/u-strspn.h: Likewise.
102055         * lib/unistr/u-strstr.h: Likewise.
102056         * lib/unistr/u-strtok.h: Likewise.
102057         * lib/unistr/u16-check.c: Likewise.
102058         * lib/unistr/u16-chr.c: Likewise.
102059         * lib/unistr/u16-cmp.c: Likewise.
102060         * lib/unistr/u16-cpy-alloc.c: Likewise.
102061         * lib/unistr/u16-cpy.c: Likewise.
102062         * lib/unistr/u16-endswith.c: Likewise.
102063         * lib/unistr/u16-mblen.c: Likewise.
102064         * lib/unistr/u16-mbsnlen.c: Likewise.
102065         * lib/unistr/u16-mbtouc-aux.c: Likewise.
102066         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
102067         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
102068         * lib/unistr/u16-mbtouc.c: Likewise.
102069         * lib/unistr/u16-mbtoucr.c: Likewise.
102070         * lib/unistr/u16-move.c: Likewise.
102071         * lib/unistr/u16-next.c: Likewise.
102072         * lib/unistr/u16-prev.c: Likewise.
102073         * lib/unistr/u16-set.c: Likewise.
102074         * lib/unistr/u16-startswith.c: Likewise.
102075         * lib/unistr/u16-stpcpy.c: Likewise.
102076         * lib/unistr/u16-stpncpy.c: Likewise.
102077         * lib/unistr/u16-strcat.c: Likewise.
102078         * lib/unistr/u16-strchr.c: Likewise.
102079         * lib/unistr/u16-strcmp.c: Likewise.
102080         * lib/unistr/u16-strcpy.c: Likewise.
102081         * lib/unistr/u16-strcspn.c: Likewise.
102082         * lib/unistr/u16-strdup.c: Likewise.
102083         * lib/unistr/u16-strlen.c: Likewise.
102084         * lib/unistr/u16-strmblen.c: Likewise.
102085         * lib/unistr/u16-strmbtouc.c: Likewise.
102086         * lib/unistr/u16-strncat.c: Likewise.
102087         * lib/unistr/u16-strncmp.c: Likewise.
102088         * lib/unistr/u16-strncpy.c: Likewise.
102089         * lib/unistr/u16-strnlen.c: Likewise.
102090         * lib/unistr/u16-strpbrk.c: Likewise.
102091         * lib/unistr/u16-strrchr.c: Likewise.
102092         * lib/unistr/u16-strspn.c: Likewise.
102093         * lib/unistr/u16-strstr.c: Likewise.
102094         * lib/unistr/u16-strtok.c: Likewise.
102095         * lib/unistr/u16-to-u32.c: Likewise.
102096         * lib/unistr/u16-to-u8.c: Likewise.
102097         * lib/unistr/u16-uctomb-aux.c: Likewise.
102098         * lib/unistr/u16-uctomb.c: Likewise.
102099         * lib/unistr/u32-check.c: Likewise.
102100         * lib/unistr/u32-chr.c: Likewise.
102101         * lib/unistr/u32-cmp.c: Likewise.
102102         * lib/unistr/u32-cpy-alloc.c: Likewise.
102103         * lib/unistr/u32-cpy.c: Likewise.
102104         * lib/unistr/u32-endswith.c: Likewise.
102105         * lib/unistr/u32-mblen.c: Likewise.
102106         * lib/unistr/u32-mbsnlen.c: Likewise.
102107         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
102108         * lib/unistr/u32-mbtouc.c: Likewise.
102109         * lib/unistr/u32-mbtoucr.c: Likewise.
102110         * lib/unistr/u32-move.c: Likewise.
102111         * lib/unistr/u32-next.c: Likewise.
102112         * lib/unistr/u32-prev.c: Likewise.
102113         * lib/unistr/u32-set.c: Likewise.
102114         * lib/unistr/u32-startswith.c: Likewise.
102115         * lib/unistr/u32-stpcpy.c: Likewise.
102116         * lib/unistr/u32-stpncpy.c: Likewise.
102117         * lib/unistr/u32-strcat.c: Likewise.
102118         * lib/unistr/u32-strchr.c: Likewise.
102119         * lib/unistr/u32-strcmp.c: Likewise.
102120         * lib/unistr/u32-strcpy.c: Likewise.
102121         * lib/unistr/u32-strcspn.c: Likewise.
102122         * lib/unistr/u32-strdup.c: Likewise.
102123         * lib/unistr/u32-strlen.c: Likewise.
102124         * lib/unistr/u32-strmblen.c: Likewise.
102125         * lib/unistr/u32-strmbtouc.c: Likewise.
102126         * lib/unistr/u32-strncat.c: Likewise.
102127         * lib/unistr/u32-strncmp.c: Likewise.
102128         * lib/unistr/u32-strncpy.c: Likewise.
102129         * lib/unistr/u32-strnlen.c: Likewise.
102130         * lib/unistr/u32-strpbrk.c: Likewise.
102131         * lib/unistr/u32-strrchr.c: Likewise.
102132         * lib/unistr/u32-strspn.c: Likewise.
102133         * lib/unistr/u32-strstr.c: Likewise.
102134         * lib/unistr/u32-strtok.c: Likewise.
102135         * lib/unistr/u32-to-u16.c: Likewise.
102136         * lib/unistr/u32-to-u8.c: Likewise.
102137         * lib/unistr/u32-uctomb.c: Likewise.
102138         * lib/unistr/u8-check.c: Likewise.
102139         * lib/unistr/u8-chr.c: Likewise.
102140         * lib/unistr/u8-cmp.c: Likewise.
102141         * lib/unistr/u8-cpy-alloc.c: Likewise.
102142         * lib/unistr/u8-cpy.c: Likewise.
102143         * lib/unistr/u8-endswith.c: Likewise.
102144         * lib/unistr/u8-mblen.c: Likewise.
102145         * lib/unistr/u8-mbsnlen.c: Likewise.
102146         * lib/unistr/u8-mbtouc-aux.c: Likewise.
102147         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
102148         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
102149         * lib/unistr/u8-mbtouc.c: Likewise.
102150         * lib/unistr/u8-mbtoucr.c: Likewise.
102151         * lib/unistr/u8-move.c: Likewise.
102152         * lib/unistr/u8-next.c: Likewise.
102153         * lib/unistr/u8-prev.c: Likewise.
102154         * lib/unistr/u8-set.c: Likewise.
102155         * lib/unistr/u8-startswith.c: Likewise.
102156         * lib/unistr/u8-stpcpy.c: Likewise.
102157         * lib/unistr/u8-stpncpy.c: Likewise.
102158         * lib/unistr/u8-strcat.c: Likewise.
102159         * lib/unistr/u8-strchr.c: Likewise.
102160         * lib/unistr/u8-strcmp.c: Likewise.
102161         * lib/unistr/u8-strcpy.c: Likewise.
102162         * lib/unistr/u8-strcspn.c: Likewise.
102163         * lib/unistr/u8-strdup.c: Likewise.
102164         * lib/unistr/u8-strlen.c: Likewise.
102165         * lib/unistr/u8-strmblen.c: Likewise.
102166         * lib/unistr/u8-strmbtouc.c: Likewise.
102167         * lib/unistr/u8-strncat.c: Likewise.
102168         * lib/unistr/u8-strncmp.c: Likewise.
102169         * lib/unistr/u8-strncpy.c: Likewise.
102170         * lib/unistr/u8-strnlen.c: Likewise.
102171         * lib/unistr/u8-strpbrk.c: Likewise.
102172         * lib/unistr/u8-strrchr.c: Likewise.
102173         * lib/unistr/u8-strspn.c: Likewise.
102174         * lib/unistr/u8-strstr.c: Likewise.
102175         * lib/unistr/u8-strtok.c: Likewise.
102176         * lib/unistr/u8-to-u16.c: Likewise.
102177         * lib/unistr/u8-to-u32.c: Likewise.
102178         * lib/unistr/u8-uctomb-aux.c: Likewise.
102179         * lib/unistr/u8-uctomb.c: Likewise.
102180         * lib/unitypes.h: Likewise.
102181         * lib/uniwidth.h: Likewise.
102182         * lib/uniwidth/cjk.h: Likewise.
102183         * lib/uniwidth/u16-strwidth.c: Likewise.
102184         * lib/uniwidth/u16-width.c: Likewise.
102185         * lib/uniwidth/u32-strwidth.c: Likewise.
102186         * lib/uniwidth/u32-width.c: Likewise.
102187         * lib/uniwidth/u8-strwidth.c: Likewise.
102188         * lib/uniwidth/u8-width.c: Likewise.
102189         * lib/uniwidth/width.c: Likewise.
102191 2007-10-07  Bruno Haible  <bruno@clisp.org>
102193         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
102194         The file is still under LGPL (see modules/inttypes).
102196 2007-10-06  Bruno Haible  <bruno@clisp.org>
102198         * modules/trunc (Dependencies): Add 'extensions'.
102199         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
102200         Reported by Ben Pfaff <blp@gnu.org>.
102202 2007-10-06  Bruno Haible  <bruno@clisp.org>
102204         * modules/freopen-tests: New file.
102205         * tests/test-freopen.c: New file.
102207         * modules/fopen-tests: New file.
102208         * tests/test-fopen.c: New file.
102210         * modules/fopen: New file.
102211         * lib/fopen.c: New file.
102212         * m4/fopen.m4: New file.
102213         * modules/freopen: New file.
102214         * lib/freopen.c: New file.
102215         * m4/freopen.m4: New file.
102216         * lib/stdio.in.h (fopen, freopen): New declarations.
102217         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
102218         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
102219         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
102220         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
102221         * doc/functions/fopen.texi: Mention the 'fopen' module.
102222         * doc/functions/freopen.texi: Mention the 'freopen' module.
102224 2007-10-06  Bruno Haible  <bruno@clisp.org>
102226         * modules/open-tests: New file.
102227         * tests/test-open.c: New file.
102229         * modules/open: New file.
102230         * lib/open.c: New file.
102231         * m4/open.m4: New file.
102232         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
102233         lib/open.c does.
102234         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
102235         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
102236         macros.
102237         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
102238         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
102239         REPLACE_OPEN.
102240         * doc/functions/open.texi: Mention the 'open' module.
102242 2007-10-04  Bruno Haible  <bruno@clisp.org>
102244         * modules/ceill-tests: New file.
102245         * tests/test-ceill.c: New file.
102247         * modules/ceill: New file.
102248         * lib/ceill.c: Replace entire file.
102249         * m4/ceill.m4: New file.
102250         * lib/math.in.h (ceill): Replace declaration.
102251         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
102252         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
102253         * doc/functions/ceill.texi: Mention the 'ceill' module.
102254         * modules/mathl (Files): Remove lib/ceill.c.
102255         (Depends-on): Add ceill.
102257 2007-10-04  Bruno Haible  <bruno@clisp.org>
102259         * modules/ceilf-tests: New file.
102260         * tests/test-ceilf.c: New file.
102262         * modules/ceilf: New file.
102263         * lib/ceil.c: New file.
102264         * lib/ceilf.c: New file.
102265         * m4/ceilf.m4: New file.
102266         * lib/math.in.h (ceilf): New declaration.
102267         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
102268         HAVE_DECL_CEILF.
102269         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
102270         HAVE_DECL_CEILF.
102271         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
102273 2007-10-04  Bruno Haible  <bruno@clisp.org>
102275         * modules/floorl-tests: New file.
102276         * tests/test-floorl.c: New file.
102278         * modules/floorl: New file.
102279         * lib/floorl.c: Replace entire file.
102280         * m4/floorl.m4: New file.
102281         * lib/math.in.h (floorl): Replace declaration.
102282         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
102283         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
102284         * doc/functions/floorl.texi: Mention the 'floorl' module.
102285         * modules/mathl (Files): Remove lib/floorl.c.
102286         (Depends-on): Add floorl.
102288 2007-10-04  Bruno Haible  <bruno@clisp.org>
102290         * modules/floorf-tests: New file.
102291         * tests/test-floorf.c: New file.
102293         * modules/floorf: New file.
102294         * lib/floor.c: New file.
102295         * lib/floorf.c: New file.
102296         * m4/floorf.m4: New file.
102297         * lib/math.in.h (floorf): New declaration.
102298         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
102299         HAVE_DECL_FLOORF.
102300         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
102301         HAVE_DECL_FLOORF.
102302         * doc/functions/floorf.texi: Mention the 'floorf' module.
102304 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
102305             Bruno Haible  <bruno@clisp.org>
102307         Advertise for the Git server instead of the CVS server.
102308         * doc/gnulib-intro.texi (Steady Development): Mention the Git
102309         repository instead of the CVS one.
102310         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
102311         about all VCS systems generically.
102312         * doc/gnulib.texi (Introduction): Capitalize `Git'.
102314 2007-10-04  Bruno Haible  <bruno@clisp.org>
102316         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
102317         means.
102318         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
102320 2007-10-04  Bruno Haible  <bruno@clisp.org>
102322         * modules/truncl-tests: New file.
102323         * tests/test-truncl.c: New file.
102325         * modules/truncl: New file.
102326         * lib/truncl.c: New file.
102327         * m4/truncl.m4: New file.
102328         * lib/math.in.h (truncl): New declaration.
102329         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
102330         HAVE_DECL_TRUNCL.
102331         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
102332         HAVE_DECL_TRUNCL.
102333         * doc/functions/truncl.texi: Mention the 'truncl' module.
102335 2007-10-04  Bruno Haible  <bruno@clisp.org>
102337         * modules/truncf-tests: New file.
102338         * tests/test-truncf.c: New file.
102340         * modules/truncf: New file.
102341         * lib/trunc.c: Make paramerizable through USE_* macros.
102342         * lib/truncf.c: New file.
102343         * m4/truncf.m4: New file.
102344         * lib/math.in.h (truncf): New declaration.
102345         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
102346         HAVE_DECL_TRUNCF.
102347         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
102348         HAVE_DECL_TRUNCF.
102349         * doc/functions/truncf.texi: Mention the 'truncf' module.
102351 2007-10-03  Bruno Haible  <bruno@clisp.org>
102353         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
102354         augmentation also for tests modules.
102355         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
102356         * modules/atexit-tests (Makefile.am): Likewise.
102357         * modules/binary-io-tests (Makefile.am): Likewise.
102358         * modules/c-strcase-tests (Makefile.am): Likewise.
102359         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
102360         * modules/canonicalize-tests (Makefile.am): Likewise.
102361         * modules/closein-tests (Makefile.am): Likewise.
102362         * modules/fprintf-posix-tests (Makefile.am): Likewise.
102363         * modules/freadahead-tests (Makefile.am): Likewise.
102364         * modules/fseek-tests (Makefile.am): Likewise.
102365         * modules/fseeko-tests (Makefile.am): Likewise.
102366         * modules/ftell-tests (Makefile.am): Likewise.
102367         * modules/ftello-tests (Makefile.am): Likewise.
102368         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
102369         * modules/isnanl-tests (Makefile.am): Likewise.
102370         * modules/lseek-tests (Makefile.am): Likewise.
102371         * modules/mbscasecmp-tests (Makefile.am): Likewise.
102372         * modules/mbscasestr-tests (Makefile.am): Likewise.
102373         * modules/mbschr-tests (Makefile.am): Likewise.
102374         * modules/mbscspn-tests (Makefile.am): Likewise.
102375         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
102376         * modules/mbspbrk-tests (Makefile.am): Likewise.
102377         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
102378         * modules/mbsrchr-tests (Makefile.am): Likewise.
102379         * modules/mbsspn-tests (Makefile.am): Likewise.
102380         * modules/mbsstr-tests (Makefile.am): Likewise.
102381         * modules/printf-posix-tests (Makefile.am): Likewise.
102382         * modules/snprintf-posix-tests (Makefile.am): Likewise.
102383         * modules/sprintf-posix-tests (Makefile.am): Likewise.
102384         * modules/tsearch-tests (Makefile.am): Likewise.
102385         * modules/uniname/uniname-tests (Makefile.am): Likewise.
102386         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
102387         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
102388         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
102389         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
102390         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
102391         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
102392         * modules/vprintf-posix-tests (Makefile.am): Likewise.
102393         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
102394         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
102395         * modules/xstrtoimax-tests (Makefile.am): Likewise.
102396         * modules/xstrtol-tests (Makefile.am): Likewise.
102397         * modules/xstrtoumax-tests (Makefile.am): Likewise.
102398         * modules/yesno-tests (Makefile.am): Likewise.
102400 2007-10-03  Bruno Haible  <bruno@clisp.org>
102402         * modules/trunc-tests: New file.
102403         * tests/test-trunc.c: New file.
102405         * modules/trunc: New file.
102406         * lib/trunc.c: New file.
102407         * m4/trunc.m4: New file.
102408         * lib/math.in.h (trunc): New declaration.
102409         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
102410         HAVE_DECL_TRUNC.
102411         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
102412         HAVE_DECL_TRUNC.
102413         * doc/functions/trunc.texi: Mention the 'trunc' module.
102415 2007-10-03  Bruno Haible  <bruno@clisp.org>
102417         * tests/test-fpending.c: New file, mostly copied
102418         from coreutils/lib/t-fpending.c.
102419         * modules/fpending-tests: New file.
102421 2007-10-03  Bruno Haible  <bruno@clisp.org>
102423         Port the stdio extensions to QNX (untested).
102424         * lib/fseterr.c (fseterr): Add support for QNX.
102425         * lib/fbufmode.c (fbufmode): Likewise.
102426         * lib/freadable.c (freadable): Likewise.
102427         * lib/fwritable.c (fwritable): Likewise.
102428         * lib/freading.c (freading): Likewise.
102429         * lib/fwriting.c (fwriting): Likewise.
102430         * lib/freadahead.c (freadahed): Likewise.
102431         * lib/fpurge.c (fpurge): Likewise.
102432         * lib/fseeko.c (rpl_fseeko): Likewise.
102434 2007-10-03  Bruno Haible  <bruno@clisp.org>
102435             Jim Meyering  <jim@meyering.net>
102436             Eric Blake  <ebb9@byu.net>
102438         * doc/relocatable.texi: Use @command instead of @program.
102440 2007-10-02  Jim Meyering  <jim@meyering.net>
102442         Perform one more "_.h" -> ".in.h" substitution.
102443         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
102444         instead of unistd_.h here, too.
102446 2007-10-01  Bruno Haible  <bruno@clisp.org>
102448         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
102449         Needed for the alloca-opt module.
102451 2007-09-30  Bruno Haible  <bruno@clisp.org>
102453         * lib/alloca.in.h: Renamed from lib/alloca_.h.
102454         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
102455         alloca_.h.
102456         * lib/argz.in.h: Renamed from lib/argz_.h.
102457         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
102458         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
102459         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
102460         byteswap_.h.
102461         * lib/dirent.in.h: Renamed from lib/dirent_.h.
102462         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
102463         dirent_.h.
102464         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
102465         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
102466         fcntl_.h.
102467         * lib/float.in.h: Renamed from lib/float_.h.
102468         * modules/float (Files, Makefile.am): Use float.in.h instead of
102469         float_.h.
102470         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
102471         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
102472         fnmatch_.h.
102473         * lib/getopt.in.h: Renamed from lib/getopt_.h.
102474         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
102475         getopt_.h.
102476         * lib/glob.in.h: Renamed from lib/glob_.h.
102477         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
102478         * lib/iconv.in.h: Renamed from lib/iconv_.h.
102479         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
102480         iconv_.h.
102481         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
102482         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
102483         inttypes_.h.
102484         * lib/locale.in.h: Renamed from lib/locale_.h.
102485         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
102486         locale_.h.
102487         * lib/math.in.h: Renamed from lib/math_.h.
102488         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
102489         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
102490         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
102491         of netinet_in_.h. Add dependency.
102492         * lib/poll.in.h: Renamed from lib/poll_.h.
102493         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
102494         * lib/search.in.h: Renamed from lib/search_.h.
102495         * modules/search (Files, Makefile.am): Use search.in.h instead of
102496         search_.h.
102497         * lib/signal.in.h: Renamed from lib/signal_.h.
102498         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
102499         _signal.h.
102500         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
102501         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
102502         stdbool_.h.
102503         * lib/stdint.in.h: Renamed from lib/stdint_.h.
102504         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
102505         stdint_.h.
102506         * lib/stdio.in.h: Renamed from lib/stdio_.h.
102507         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
102508         stdio_.h.
102509         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
102510         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
102511         stdlib_.h.
102512         * lib/string.in.h: Renamed from lib/string_.h.
102513         * modules/string (Files, Makefile.am): Use string.in.h instead of
102514         string_.h.
102515         * doc/gnulib-tool.texi (Initial import): Update.
102516         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
102517         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
102518         of sys_select_.h. Add dependency.
102519         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
102520         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
102521         of sys_socket_.h.
102522         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
102523         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
102524         sys_stat_.h.
102525         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
102526         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
102527         sys_time_.h.
102528         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
102529         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
102530         sysexits_.h.
102531         * lib/time.in.h: Renamed from lib/time_.h.
102532         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
102533         * lib/unistd.in.h: Renamed from lib/unistd_.h.
102534         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
102535         unistd_.h.
102536         * lib/wchar.in.h: Renamed from lib/wchar_.h.
102537         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
102538         wchar_.h.
102539         * lib/wctype.in.h: Renamed from lib/wctype_.h.
102540         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
102541         wctype_.h.
102542         * build-aux/bootstrap (slurp): Update.
102543         * lib/.cppi-disable: Update.
102545 2007-09-30  Bruno Haible  <bruno@clisp.org>
102547         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
102548         Needed on BeOS.
102550 2007-09-30  Bruno Haible  <bruno@clisp.org>
102552         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
102554 2007-09-29  Bruno Haible  <bruno@clisp.org>
102556         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
102558 2007-09-29  Bruno Haible  <bruno@clisp.org>
102560         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
102561         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
102562         * build-aux/install-reloc: Compile also areadlink.c.
102563         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
102565 2007-09-29  Bruno Haible  <bruno@clisp.org>
102567         * gnulib-tool (func_emit_initmacro_done): Indentation.
102569 2007-09-29  Bruno Haible  <bruno@clisp.org>
102571         * README: Add CVS checkout update instructions.
102572         Info from Bob Proulx <bob@proulx.com>.
102574 2007-09-28  Eric Blake  <ebb9@byu.net>
102576         Provide move-if-change.
102577         * build-aux/move-if-change: New file, based on best practice
102578         rather than any canonical upstream location.
102580 2007-09-28  Jim Meyering  <jim@meyering.net>
102582         Fix canonicalize loop-detection corner case.
102583         Do not attempt to stat the symlink values stored via seen_triple.
102584         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
102585         on linux-2.6.18, (but not 2.6.22).
102586         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
102587         triple_compare.  The former compares dev,ino,filename, while the latter
102588         would actually stat dirname(filename) when dev and ino were equal.
102589         * lib/hash-triple.c: Install <string.h>.
102590         (STREQ): Define.
102591         (triple_compare_ino_str): New function.
102592         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
102594 2007-09-28  Eric Blake  <ebb9@byu.net>
102596         Enforce that AC_REPLACE_FUNCS files exist.
102597         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
102598         override check for typos.
102600         Fix test-closein on Solaris 10.
102601         * tests/test-closein.c (main): Don't assume stdin can be inherited
102602         closed on all systems.
102603         * tests/test-closein.sh: Likewise.
102604         Reported by Piotr Tarnowski.
102606 2007-09-28  Jim Meyering  <jim@meyering.net>
102608         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
102610 2007-09-27  Jim Meyering  <jim@meyering.net>
102612         canonicalize: Avoid a false-positive cycle failure.
102613         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
102614         Sort.  Remove cycle-check.
102615         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
102616         not cycle-check.h.
102617         (seen_triple): New function.
102618         (canonicalize_filename_mode): Use it instead of cycle-check.
102619         * tests/test-canonicalize.c: Add a test for this bug.
102620         * tests/test-canonicalize.sh: Set up and run the test.
102622         New module, file-set, from coreutils.
102623         * modules/file-set: Define it.
102624         * lib/file-set.c, lib/file-set.h: Implement.
102626         New module, hash-triple, from coreutils.
102627         * modules/hash-triple: Define it.
102628         * lib/hash-triple.c, lib/hash-triple.h: Implement.
102630 2007-09-25  Eric Blake  <ebb9@byu.net>
102632         Fix strerror on Interix.
102633         * lib/string_.h (strerror): Declare replacement.
102634         * doc/functions/strerror.texi (strerror): Document the Interix
102635         shortcoming.
102636         * modules/string (Makefile.am): Support new hooks.
102637         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
102638         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
102639         gl_FUNC_STRERROR_SEPARATE.
102640         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
102641         * lib/strerror.c (rpl_strerror): Provide replacement.
102642         * modules/strerror (Depends-on): Add string.
102643         (configure.ac): Detect use of module.
102644         * tests/test-strerror.c: New file.
102645         * modules/strerror-tests: New test module.
102646         * modules/argp (Depends-on): Add strerror.
102647         * modules/error (Depends-on): Likewise.
102648         Reported by Martin Koeppe.
102650 2007-09-24  Bruno Haible  <bruno@clisp.org>
102652         * README: Update git instructions.
102654 2007-09-24  Eric Blake  <ebb9@byu.net>
102656         Revert fpending breakage from 2007-09-08.
102657         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
102658         __fpending.c.
102660 2007-09-24  Jim Meyering  <jim@meyering.net>
102662         filenamecat.c: Add a test.
102663         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
102664         showing how the function works when DIR is the empty string.
102666 2007-09-21  Simon Josefsson  <simon@josefsson.org>
102668         * tests/test-canonicalize.sh: Turn on executable bit.
102670 2007-09-19  Eric Blake  <ebb9@byu.net>
102672         * README: Update CVS instructions.
102674 2007-09-18  Bruno Haible  <bruno@clisp.org>
102676         * modules/areadlink: New file.
102677         * lib/areadlink.h (areadlink): New declaration.
102678         * lib/areadlink.c: New file, based on lib/xreadlink.c.
102680 2007-09-17  Jim Meyering  <jim@meyering.net>
102682         * lib/savewd.c (ESTALE) [!defined]: Define.
102683         Reported to be required on Interix by Martin Koeppe.
102685 2007-09-17  Bruno Haible  <bruno@clisp.org>
102687         * gnulib-tool (func_version): Use $version.
102689 2007-09-16  Bruno Haible  <bruno@clisp.org>
102691         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
102692         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
102693         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
102694         Reported by Greg Schafer <gschafer@zip.com.au>.
102696 2007-09-15  Bruno Haible  <bruno@clisp.org>
102698         * gnulib-tool (sed): Try a little harder to make bash understand the
102699         alias.
102700         Reported by Bruce Korb <bruce.korb@gmail.com>.
102702 2007-09-13  Eric Blake  <ebb9@byu.net>
102704         * ChangeLog: Remove conflict markers.
102706 2007-09-13  Simon Josefsson  <simon@josefsson.org>
102708         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
102709         Reported by Bruno Haible <bruno@clisp.org>.
102711 2007-09-12  Bruno Haible  <bruno@clisp.org>
102713         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
102714         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
102715         is not defined.
102717 2007-09-12  Eric Blake  <ebb9@byu.net>
102719         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
102720         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
102721         Autoconf definition.
102722         * modules/euidaccess (Depends-on): Add extensions, for
102723         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
102724         * modules/fnmatch (Depends-on): Likewise.
102725         * modules/getaddrinfo (Depends-on): Likewise.
102726         * modules/getdelim (Depends-on): Likewise.
102727         * modules/getline (Depends-on): Likewise.
102728         * modules/getsubopt (Depends-on): Likewise.
102729         * modules/gettext (Depends-on): Likewise.
102730         * modules/group-member (Depends-on): Likewise.
102731         * modules/mbchar (Depends-on): Likewise.
102732         * modules/memmem (Depends-on): Likewise.
102733         * modules/mempcpy (Depends-on): Likewise.
102734         * modules/memrchr (Depends-on): Likewise.
102735         * modules/pagealign_alloc (Depends-on): Likewise.
102736         * modules/readutmp (Depends-on): Likewise.
102737         * modules/stpcpy (Depends-on): Likewise.
102738         * modules/stpncpy (Depends-on): Likewise.
102739         * modules/strchrnul (Depends-on): Likewise.
102740         * modules/strndup (Depends-on): Likewise.
102741         * modules/strsep (Depends-on): Likewise.
102742         * modules/strverscmp (Depends-on): Likewise.
102743         * modules/vasprintf (Depends-on): Likewise.
102744         * modules/wcwidth (Depends-on): Likewise.
102745         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
102746         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
102747         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
102748         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
102749         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
102750         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
102751         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
102752         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
102753         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
102754         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
102755         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
102756         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
102757         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
102758         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
102759         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
102760         * m4/readutmp.m4 (gl_READUTMP): Likewise.
102761         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
102762         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
102763         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
102764         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
102765         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
102766         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
102767         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
102768         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
102769         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
102770         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
102771         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
102772         so that lock.m4 can be used in gettext without extensions module.
102774 2007-09-11  Bruno Haible  <bruno@clisp.org>
102776         * m4/isc-posix.m4: Remove file.
102777         Suggested by Eric Blake.
102779 2007-09-11  Eric Blake  <ebb9@byu.net>
102781         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
102783 2007-09-10  Bruno Haible  <bruno@clisp.org>
102785         * posix-modules: Fix typo in error message.
102786         Reported by Matt <mkraai@beckman.com>.
102788 2007-09-09  Bruno Haible  <bruno@clisp.org>
102790         * doc/functions/getdelim.texi: Update list of platforms lacking the
102791         function.
102792         * doc/functions/getline.texi: Likewise.
102794 2007-09-09  Jim Meyering  <jim@meyering.net>
102796         * lib/hash.c (hash_initialize): Detect calloc failure.
102797         Reported by Bruno Haible.
102799 2007-09-09  Bruno Haible  <bruno@clisp.org>
102801         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
102802         malloc or realloc fails.
102804 2007-09-09  Bruno Haible  <bruno@clisp.org>
102806         * modules/getcwd (Depends-on): Add malloc-posix.
102807         * modules/glob (Depends-on): Likewise.
102808         * modules/putenv (Depends-on): Likewise.
102809         * modules/strdup (Depends-on): Likewise.
102810         * modules/getdelim (Depends-on): Add realloc-posix.
102811         * modules/read-file (Depends-on): Likewise.
102813 2007-09-09  Bruno Haible  <bruno@clisp.org>
102815         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
102816         (gl_FUNC_MALLOC_POSIX): Require it.
102817         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
102818         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
102819         * modules/realloc (Files): Add m4/malloc.m4.
102820         * modules/calloc (Files): Likewise.
102822 2007-09-09  Bruno Haible  <bruno@clisp.org>
102824         * modules/malloc-posix: New file.
102825         * modules/malloc (Depends-on): Add malloc-posix.
102826         * lib/malloc.c: Include errno.h.
102827         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
102828         and a POSIX-compatible malloc into a single function. Set ENOMEM
102829         when returning NULL.
102830         * m4/malloc.m4: New file.
102831         * doc/functions/malloc.texi: Mention the malloc-posix module.
102832         * lib/stdlib_.h (malloc): New declaration.
102833         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
102834         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
102835         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
102836         and HAVE_MALLOC_POSIX.
102838 2007-09-09  Bruno Haible  <bruno@clisp.org>
102840         * modules/realloc-posix: New file.
102841         * modules/realloc (Depends-on): Add realloc-posix.
102842         * lib/realloc.c: Include errno.h.
102843         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
102844         and a POSIX-compatible realloc into a single function. Set ENOMEM
102845         when returning NULL.
102846         * m4/realloc.m4: New file.
102847         * doc/functions/realloc.texi: Mention the realloc-posix module.
102848         * lib/stdlib_.h (realloc): New declaration.
102849         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
102850         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
102851         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
102852         and HAVE_REALLOC_POSIX.
102854 2007-09-09  Bruno Haible  <bruno@clisp.org>
102856         * modules/calloc-posix: New file.
102857         * modules/calloc (Depends-on): Add calloc-posix.
102858         * lib/calloc.c: Include errno.h.
102859         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
102860         and a POSIX-compatible calloc into a single function. Set ENOMEM
102861         when returning NULL.
102862         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
102863         * doc/functions/calloc.texi: Mention the calloc-posix module.
102864         * lib/stdlib_.h (calloc): New declaration.
102865         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
102866         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
102867         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
102868         and HAVE_CALLOC_POSIX.
102870 2007-09-09  Bruno Haible  <bruno@clisp.org>
102872         Allow for modules to show an arbitrary notice.
102873         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
102874         * gnulib-tool: New option --extract-notice.
102875         (func_usage): Document it.
102876         (sed_extract_prog): Update.
102877         (func_get_notice): New function.
102878         (func_modules_notice): New function.
102879         (func_import, func_create_testdir): Invoke it.
102880         Suggested by Jim Meyering.
102882 2007-09-09  Bruno Haible  <bruno@clisp.org>
102884         * gnulib-tool: New options --verbose, --quiet.
102885         (func_usage): Document them.
102886         (verbose): New variable.
102887         (func_execute_command): New function.
102888         (func_import): Don't show the module list and the file list if
102889         $verbose < 0.
102890         (func_create_testdir): Likewise. Use func_execute_command.
102891         (func_create_megatestdir): Use func_execute_command.
102893 2007-09-08  Bruno Haible  <bruno@clisp.org>
102895         * gnulib-tool (func_import): Prefer rsync over wget when available,
102896         for fetching the PO files.
102898 2007-09-08  Bruno Haible  <bruno@clisp.org>
102900         * posix-modules: New file. Portions copied from gnulib-tool.
102901         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
102903 2007-09-08  Jim Meyering  <jim@meyering.net>
102905         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
102906         * lib/fpending.h: Rename from __fpending.h.
102907         * lib/fpending.c: Rename from __fpending.c.
102908         Include "fpending.h", not "__fpending.h".
102909         * lib/__fpending.h, lib/__fpending.c: Remove files.
102910         * modules/fpending (Files): Reflect new file names.
102911         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
102913 2007-09-08  Bruno Haible  <bruno@clisp.org>
102915         * m4/inttypes-h.m4: Remove stub file.
102917 2007-09-07  Simon Josefsson  <simon@josefsson.org>
102919         * doc/headers/stdint.texi: Discuss #include_next issue.
102921 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
102923         * build-aux/bootstrap: Remove obsolete comment about wget --help.
102925 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
102927         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
102928         in variable name.
102930 2007-09-03  Jim Meyering  <jim@meyering.net>
102932         New module: git-version-gen.
102933         * modules/git-version-gen: New file.
102935         Import changes from coreutils for bootstrap script.
102937         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
102939         bootstrap: uses rsync to download the .po files
102940         * build-aux/bootstrap (po_download_command_format): New global.
102941         (download_po_files): Use rsync.
102942         (update_po_files): Don't remove .po files after download,
102943         so future rsync runs can take advantage of the copies.
102945         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
102947         Solve the unnecessary-.po-file-regeneration problem once and for all.
102948         * build-aux/bootstrap (download_po_files): New function, renamed from
102949         get_translations.  Now, downloads, but doesn't update LINGUAS.
102950         (update_po_files): New function.
102952         bootstrap: Ignore more.
102953         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
102954         uniwidth to e.g., lib/.gitignore.
102955         (slurp): Handle the sys_stat_.h -> sys mapping, too.
102957         * build-aux/bootstrap: New setting: vc_ignore.
102958         (insert_sorted_if_absent): Create $file if absent.
102959         Adapt to new, possibly empty, list: $vc_ignore.
102961         bootstrap: generate more ignorable names
102962         * build-aux/bootstrap (slurp): When generating ignorable names,
102963         also map .sin to .sed, .gperf to .c, and .y to .c.
102965 2007-09-03  Jim Meyering  <jim@meyering.net>
102967         * build-aux/git-version-gen: New file, from coreutils.  For details, see
102968         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
102970 2007-09-02  Bruno Haible  <bruno@clisp.org>
102972         Fix mis-recognition of 'mcs' on QNX 6.
102973         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
102974         output contains the string "Mono".
102975         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
102976         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
102978 2007-09-01  Bruno Haible  <bruno@clisp.org>
102980         Fix collision between uniwidth/* and linebreak modules.
102981         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
102982         u32_width): Remove declarations.
102983         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
102984         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
102985         streq3, streq2, streq1, streq0): Remove functions.
102986         (STREQ): Remove macro.
102987         (is_cjk_encoding): Remove function.
102988         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
102989         (uc_width, u8_width, u16_width, u32_width): Remove functions.
102990         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
102991         * NEWS: Document the change.
102993 2007-09-01  Bruno Haible  <bruno@clisp.org>
102995         * lib/streq.h: Add double-inclusion guard.
102997 2007-09-01  Karl Berry  <karl@gnu.org>
102999         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
103001 2007-08-28  Jim Meyering  <jim@meyering.net>
103003         Rename mreadlink_with_size to areadlink_with_size.
103004         * NEWS: Document the change.
103005         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
103006         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
103007         * lib/mreadlink.h: Rename this to...
103008         * lib/areadlink.h: ...this.
103009         * modules/mreadlink-with-size: Rename this to...
103010         * modules/areadlink-with-size: ...this.
103011         * lib/canonicalize.c: Reflect the renaming.
103012         * modules/canonicalize: Likewise.
103014 2007-08-26  Bruno Haible  <bruno@clisp.org>
103016         * gnulib-tool (func_import): When deciding which files to remove,
103017         consider also dangling symbolic links.
103018         Reported by Eric Blake.
103020 2007-08-26  Bruno Haible  <bruno@clisp.org>
103022         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
103024 2007-08-23  Simon Josefsson  <simon@josefsson.org>
103026         * lib/readline.c: Don't include getline.h, the prototype is now
103027         found in stdio.h.
103029 2007-08-23  Jim Meyering  <jim@meyering.net>
103031         Getdelim touchup.
103032         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
103033         around the funlockfile call, since funlockfile never sets errno.
103034         Don't set errno upon failed realloc.
103036 2007-08-22  Eric Blake  <ebb9@byu.net>
103038         Getline touchups.
103039         * lib/getdelim.c (getdelim): Revert regression that required *n to
103040         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
103041         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
103042         getdelim, rather than whether implementation is missing.
103043         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
103044         * lib/stdio_.h (getline): Also declare if replacement is
103045         required.
103046         * doc/functions/getdelim.texi: New file.
103047         * doc/functions/getline.texi: Likewise.
103048         * doc/gnulib.texi (Function Substitutes): Add new files.
103049         Reported by Bruno Haible.
103051 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
103053         * users.txt: Add Guile.
103055 2007-08-22  Eric Blake  <ebb9@byu.net>
103057         * tests/test-getdelim.c (main): Use remove, not unlink.
103058         * tests/test-getline.c (main): Likewise.
103060         Move getline and getdelim into stdio.h, per POSIX 200x.
103061         * modules/getline (Files): Remove getline.h.
103062         (Depends-on): Add stdio.
103063         (configure.ac): Add module indicator.
103064         * modules/getdelim (Files): Remove getdelim.h.
103065         (Depends-on): Add stdio.
103066         (configure.ac): Add module indicator.
103067         * modules/stdio (Makefile.am): Work with new indicators.
103068         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
103069         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
103070         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
103071         * lib/getdelim.h: Delete.
103072         * lib/getline.h: Delete.
103073         * lib/stdio_.h (getdelim, getline): Declare.
103074         * modules/getdelim-tests: New module.
103075         * modules/getline-tests: Likewise.
103076         * tests/test-getdelim.c: New file.
103077         * tests/test-getline.c: Likewise.
103078         * NEWS: Document the change.
103079         * lib/getline.c: Update choice of header.
103080         * lib/csharpcomp.c: Likewise.
103081         * lib/getpass.c: Likewise.
103082         * lib/javacomp.c: Likewise.
103083         * lib/javaversion.c: Likewise.
103084         * lib/yesno.c: Likewise.
103085         * lib/getdelim.c: Likewise.
103086         (getdelim): Set errno on failure, and avoid memory leak.
103088 2007-08-19  Bruno Haible  <bruno@clisp.org>
103090         * modules/closein (Depends-on): Add freadahead.
103091         * lib/closein.c: Include freadahead.h.
103092         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
103093         is zero.
103095 2007-08-19  Bruno Haible  <bruno@clisp.org>
103097         * modules/freadahead-tests: New file.
103098         * tests/test-freadahead.sh: New file.
103099         * tests/test-freadahead.c: New file.
103101         * modules/freadahead: New file.
103102         * lib/freadahead.h: New file.
103103         * lib/freadahead.c: New file.
103104         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
103105         fbufmode, fpurge, freadable, fwritable.
103107 2007-08-19  Eric Blake  <ebb9@byu.net>
103109         Test yesno in combination with closein.
103110         * lib/yesno.c (yesno): Document use of stdin.
103111         * modules/yesno-tests (Files): New module.
103112         * tests/test-yesno.c (main): New file.
103113         * tests/test-yesno.sh: Likewise.
103115 2007-08-19  Bruno Haible  <bruno@clisp.org>
103117         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
103118         * lib/fseeko.c (rpl_fseeko): Likewise.
103119         * lib/fseterr.c (fseterr): Likewise.
103121 2007-08-19  Bruno Haible  <bruno@clisp.org>
103123         * tests/test-lseek.c (main): Disable a test for BeOS.
103124         * doc/functions/lseek.texi: Document the BeOS bug.
103126 2007-08-19  Bruno Haible  <bruno@clisp.org>
103127             Eric Blake  <ebb9@byu.net>
103129         * lib/lseek.c: Include <sys/stat.h>.
103130         (rpl_lseek): Add workaround code also for Unix platforms.
103131         Needed for BeOS.
103132         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
103133         * doc/functions/lseek.texi: Document BeOS definiency.
103135 2007-08-18  Bruno Haible  <bruno@clisp.org>
103137         * modules/fstrcmp-tests: New file.
103138         * tests/test-fstrcmp.c: New file.
103140 2007-08-18  Bruno Haible  <bruno@clisp.org>
103142         * modules/fstrcmp: New file, from GNU gettext with modifications.
103143         * lib/fstrcmp.h: New file, from GNU gettext.
103144         * lib/fstrcmp.c: New file, from GNU gettext.
103145         * MODULES.html.sh (String handling): Add fstrcmp.
103147 2007-08-18  Bruno Haible  <bruno@clisp.org>
103149         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
103150         'bool'.
103151         (diag, compareseq): Remove const from the ctxt argument.
103152         (USE_HEURISTIC): Undefine at the end.
103154 2007-08-18  Jim Meyering  <jim@meyering.net>
103156         New file: lib/idcache.h
103157         * NEWS: Mention the addition.
103158         * modules/idcache (Files): Add lib/idcache.h
103159         * lib/idcache.c: Include "idcache.h".
103160         Don't include <sys/types.h>.
103161         Add a FIXME comment.
103162         Move file-scoped "static" declarations to the top.
103163         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
103165 2007-08-17  Bruno Haible  <bruno@clisp.org>
103166         and Paul Eggert  <eggert@cs.ucla.edu>
103168         * MODULES.html.sh: Add diffseq.
103169         * modules/diffseq: New file.
103170         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
103171         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
103173 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
103175         Import changes from coreutils for bootstrap script.
103177         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
103179         * build-aux/bootstrap (slurp): Work even in environments where
103180         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
103181         current code does not slurp files whose names start with ".", and
103182         this looks like it might be a troublesome area.
103184         2007-07-11  Jim Meyering  <jim@meyering.net>
103186         If there's a GPL vN copyright comment, require that N == 3.
103188         2007-07-08  Jim Meyering  <jim@meyering.net>
103190         Run the coreutils-specific code only if tests/Makefile.am.in exists.
103191         * build-aux/bootstrap (mam_template): Move definition out of loop.
103193         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
103195         * build-aux/bootstrap (symlink_to_dir): Rename function from
103196         symlink_to_gnulib.  Add a directory parameter.  Update all
103197         callers.
103198         (cp_mark_as_generated): Also check for -- and link to -- files in
103199         gl/.
103201         2007-07-08  Jim Meyering  <jim@meyering.net>
103203         Adapt to deeper hierarchy in gnulib.
103204         * build-aux/bootstrap (symlink_to_dir): If the destination
103205         directory doesn't exist, create it. This is required at least for
103206         "lib/uniwidth/cjk.h".
103208         2007-05-15  Jim Meyering  <jim@meyering.net>
103210         * build-aux/bootstrap: Now that generated Makefile.am files
103211         are no longer under version control, they must be created at
103212         bootstrap time.
103214 2007-08-14  Ben Pfaff  <blp@gnu.org>
103216         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
103218 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
103220         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
103221         given the changes below.
103222         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
103223         even on hosts that have padding bits beyond the supported 64.
103225 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
103227         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
103228         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
103229         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
103230         depends on it.
103231         (xstrtol_error): Remove.
103232         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
103233         but with a different signature.
103234         (ATTRIBUTE_NORETURN, __attribute__): New macros.
103235         * lib/xstrtol-error.c: Include exitfail.h.
103236         (xstrtol_fatal): New function, with a different signature from the
103237         old xstrtol_error, so that the caller need not worry about passing
103238         in an exit status, or about storage management of the option argument.
103239         (xstrtol_error): Now a static function.  Redo signature to
103240         implement xstrtol_fatal.  Output the correct number of hyphens in
103241         front of the option so that the caller need not worry about
103242         storage management.
103243         (N_): New macro.
103244         (_): Remove; not used now.
103245         * modules/xstrtol: Depend on getopt.
103246         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
103247         of old STRTOL_FATAL_ERROR macro.
103248         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
103249         of test program.
103250         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
103251         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
103253 2007-08-08  Eric Blake  <ebb9@byu.net>
103255         * lib/xstrtol-error.c: Add missing include.
103257         Move xstrtol messages into gnulib domain, when --pobase is used.
103258         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
103259         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
103260         * modules/xstrtol (Files): Distribute new file.
103261         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
103262         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
103263         * tests/test-xstrtol.c: ...into new file.
103264         * tests/test-xstrtoul.c: Also test xstrtoul.
103265         * tests/test-xstrtoimax.c: Also test xstrtoimax.
103266         * tests/test-xstrtoumax.c: Also test xstrtoumax.
103267         * tests/test-xstrtol.sh: Drive the tests.
103268         * tests/test-xstrtoimax.sh: Likewise.
103269         * tests/test-xstrtoumax.sh: Likewise.
103270         * modules/xstrtol-tests: New module.
103271         * modules/xstrtoimax-tests: Likewise.
103272         * modules/xstrtoumax-tests: Likewise.
103274 2007-08-08  Jim Meyering  <jim@meyering.net>
103276         New function: mfile_name_concat.
103277         * lib/filenamecat.c (mfile_name_concat): New function, just like
103278         file_name_concat, but return NULL upon failure rather than exiting
103279         with a diagnostic.
103280         * lib/filenamecat.h: Declare it.
103282 2007-08-07  Bruno Haible  <bruno@clisp.org>
103284         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
103285         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
103286         warning from gcc.
103287         Reported by Eric Blake.
103289 2007-08-07  Simon Josefsson  <simon@josefsson.org>
103291         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
103292         * modules/crypto/arcfour (License): Likewise.
103293         * modules/crypto/des-tests (License): Likewise.
103294         * modules/crypto/gc-arctwo-tests (License): Likewise.
103295         * modules/crypto/gc-des-tests (License): Likewise.
103296         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
103297         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
103298         * modules/crypto/gc-md2-tests (License): Likewise.
103299         * modules/crypto/gc-md4-tests (License): Likewise.
103300         * modules/crypto/gc-md5-tests (License): Likewise.
103301         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
103302         * modules/crypto/gc-rijndael-tests (License): Likewise.
103303         * modules/crypto/gc-sha1-tests (License): Likewise.
103304         * modules/crypto/gc-tests (License): Likewise.
103305         * modules/crypto/hmac-md5 (License): Likewise.
103306         * modules/crypto/hmac-sha1 (License): Likewise.
103307         * modules/crypto/md2-tests (License): Likewise.
103308         * modules/crypto/md4-tests (License): Likewise.
103309         * modules/crypto/md5 (License): Likewise.
103310         * modules/crypto/rijndael (License): Likewise.
103311         * modules/crypto/sha1 (License): Likewise.
103312         * modules/memxor (License): Likewise.
103314 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
103315         and Bruno Haible  <bruno@clisp.org>
103317         * NEWS: Describe interface changes to human, xstrtol.
103318         * lib/human.h: Include <xstrtol.h>.
103319         (human_options): Return enum strtol_error, not int.  Remove
103320         bool arg; take int * instead.
103321         * lib/human.c: Don't include "gettext.h".
103322         (_): Remove; no longer used.
103323         Don't include <xstrtol.h>, since human.h does it.
103324         (human_options): Adjust to abovementioned interface changes.
103325         Do not report error to stderr; that's now the caller's
103326         responsibility.
103327         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
103328         interface change.
103329         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
103330         Str, Argument_type_string.  All uses changed.  Put " argument"
103331         in diagnostics to make them clearer.  Change wording of suffix
103332         message for clarity.
103333         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
103334         Argument_type_string.
103335         (STRTOL_FATAL_WARN): Remove; no longer used.
103336         * modules/human (Depends-on): Remove gettext-h.
103338 2007-08-06  Simon Josefsson  <simon@josefsson.org>
103340         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
103342 2007-07-31  Bruno Haible  <bruno@clisp.org>
103344         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
103345         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
103346         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
103348 2007-07-31  Bruno Haible  <bruno@clisp.org>
103350         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
103351         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
103353 2007-07-30  Bruno Haible  <bruno@clisp.org>
103355         * modules/base64 (License): Use the synonymous term "LGPLv2+".
103356         * modules/c-ctype (License): Likewise.
103357         * modules/c-strcase (License): Likewise.
103358         * modules/check-version (License): Likewise.
103359         * modules/iconv (License): Likewise.
103360         * modules/iconv_open (License): Likewise.
103361         * modules/read-file (License): Likewise.
103362         * modules/striconv (License): Likewise.
103363         * modules/strverscmp (License): Likewise.
103364         * modules/vasprintf (License): Likewise.
103365         * modules/crypto/des (License): Likewise.
103366         * modules/crypto/gc (License): Likewise.
103367         * modules/crypto/gc-arcfour (License): Likewise.
103368         * modules/crypto/gc-arctwo (License): Likewise.
103369         * modules/crypto/gc-des (License): Likewise.
103370         * modules/crypto/gc-hmac-md5 (License): Likewise.
103371         * modules/crypto/gc-hmac-sha1 (License): Likewise.
103372         * modules/crypto/gc-md2 (License): Likewise.
103373         * modules/crypto/gc-md4 (License): Likewise.
103374         * modules/crypto/gc-md5 (License): Likewise.
103375         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
103376         * modules/crypto/gc-random (License): Likewise.
103377         * modules/crypto/gc-rijndael (License): Likewise.
103378         * modules/crypto/gc-sha1 (License): Likewise.
103379         * modules/crypto/md2 (License): Likewise.
103380         * modules/crypto/md4 (License): Likewise.
103382 2007-07-30  Jim Meyering  <jim@meyering.net>
103384         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
103385         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
103386         it has valid stat data.  This bug would cause du not to count the
103387         sizes of inaccessible directories.
103388         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
103389         in <http://bugzilla.redhat.com/250077>.
103391 2007-07-25  Peter O'Gorman  <peter@pogma.com>
103392             Bruno Haible  <bruno@clisp.org>
103394         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
103395         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
103396         #include_next, gives a diagnostic about it, but reports no error in
103397         the exit code.
103398         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
103400 2007-07-24  Ben Pfaff  <blp@gnu.org>
103402         Improve name: "count-one-bits" is better than "popcount".
103403         * MODULES.html.sh: Update name.
103404         * lib/popcount.h: Renamed lib/count-one-bits.h.
103405         (popcount): Renamed count_one_bits.
103406         (popcountl): Renamed count_one_bits_l.
103407         (popcountll): Renamed count_one_bits_ll.
103408         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
103409         * modules/popcount: Renamed module/count-one-bits.
103410         * modules/popcount-tests: Renamed module/count-one-bits-tests.
103411         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
103413 2007-07-23  Ben Pfaff  <blp@gnu.org>
103415         * lib/popcount.h (popcount32): Reduce size of constants, to allow
103416         better code generation, and add U to large constants to avoid
103417         warnings, in non-GCC case.
103418         Suggested by Bruno Haible.
103420 2007-07-23  Ben Pfaff  <blp@gnu.org>
103422         * lib/popcount.h: Use verify_true instead of if...abort.
103423         * modules/popcount: Depend on verify module.
103424         Suggested by Jim Meyering.
103426 2007-07-23  Bruno Haible  <bruno@clisp.org>
103428         * gnulib-tool (func_import): Create a .cvsignore file also when the
103429         directory is not yet in CVS but the toplevel directory is. When
103430         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
103431         Reported by Karl Berry.
103433 2007-07-22  Ben Pfaff  <blp@gnu.org>
103435         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
103436         case.
103437         Suggested by Eric Blake.
103439 2007-07-22  Ben Pfaff  <blp@gnu.org>
103441         New module: popcount.
103442         * MODULES.html.sh: Add popcount.
103443         * modules/popcount: New file.
103444         * modules/popcount-tests: New file.
103445         * tests/test-popcount.c: New file.
103446         * lib/popcount.h: New file.
103447         * m4/popcount.m4: New file.
103449 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
103451         * build-aux/announce-gen: Update to GPLv3.
103453         * build-aux/config.guess: Update from config.
103455 2007-07-21  Bruno Haible  <bruno@clisp.org>
103457         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
103458         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
103460 2007-07-20  Jim Meyering  <jim@meyering.net>
103462         * check-module: Diagnose a self-dependency.
103464 2007-07-19  Bruno Haible  <bruno@clisp.org>
103466         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
103467         empty.
103468         Reported by Eric Blake.
103470 2007-07-18  Bruno Haible  <bruno@clisp.org>
103472         * gnulib-tool: New options --po-base, --po-domain.
103473         (func_usage): Document them.
103474         (pobase, po_domain): New variables.
103475         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
103476         DEFAULT_TEXT_DOMAIN.
103477         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
103478         (func_import): Consider pobase and po_domain. Create a po/ directory.
103479         (func_create_testdir): Set pobase and po_domain to empty.
103480         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
103481         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
103483 2007-07-18  Bruno Haible  <bruno@clisp.org>
103485         * gnulib-tool (func_get_automake_snippet): Synthesize also an
103486         EXTRA_DIST augmentation for files in build-aux/.
103488 2007-07-16  Bruno Haible  <bruno@clisp.org>
103490         * modules/lseek (License): Use the synonymous term "LGPLv2+".
103491         * modules/getdelim (License): Likewise.
103493 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
103495         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
103496         * modules/d-type (License): Likewise.
103497         * modules/extensions (License): Likewise.
103498         * modules/fnmatch (License): Likewise.
103499         * modules/fseeko (License): Likewise.
103500         * modules/getaddrinfo (License): Likewise.
103501         * modules/getline (License): Likewise.
103502         * modules/getlogin_r (License): Likewise.
103503         * modules/getpass (License): Likewise.
103504         * modules/gettimeofday (License): Likewise.
103505         * modules/glob (License): Likewise.
103506         * modules/inet_ntop (License): Likewise.
103507         * modules/malloc (License): Likewise.
103508         * modules/malloca (License): Likewise.
103509         * modules/memmem (License): Likewise.
103510         * modules/mempcpy (License): Likewise.
103511         * modules/memset (License): Likewise.
103512         * modules/minmax (License): Likewise.
103513         * modules/mktime (License): Likewise.
103514         * modules/netinet_in (License): Likewise.
103515         * modules/pathmax (License): Likewise.
103516         * modules/poll (License): Likewise.
103517         * modules/regex (License): Likewise.
103518         * modules/snprintf (License): Likewise.
103519         * modules/stdbool (License): Likewise.
103520         * modules/stdint (License): Likewise.
103521         * modules/stdio (License): Likewise.
103522         * modules/strcase (License): Likewise.
103523         * modules/strcasestr (License): Likewise.
103524         * modules/strdup (License): Likewise.
103525         * modules/string (License): Likewise.
103526         * modules/strndup (License): Likewise.
103527         * modules/strnlen (License): Likewise.
103528         * modules/strpbrk (License): Likewise.
103529         * modules/strptime (License): Likewise.
103530         * modules/strsep (License): Likewise.
103531         * modules/sys_select (License): Likewise.
103532         * modules/sys_socket (License): Likewise.
103533         * modules/sys_stat (License): Likewise.
103534         * modules/sys_time (License): Likewise.
103535         * modules/time (License): Likewise.
103536         * modules/time_r (License): Likewise.
103537         * modules/timegm (License): Likewise.
103538         * modules/unistd (License): Likewise.
103539         * modules/vsnprintf (License): Likewise.
103540         * modules/wctype (License): Likewise.
103542 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103544         * modules/argz (License): LGPLv2+.
103546 2007-07-15  Karl Berry  <karl@gnu.org>
103548         * doc/gnulib.texi: revise node structure per new fdl.texi.
103550 2007-07-14  Bruno Haible  <bruno@clisp.org>
103552         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
103553         the output file.
103554         * lib/uniname/uninames.h: Regenerated.
103556 2007-07-14  Karl Berry  <karl@gnu.org>
103558         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
103559         omitting sectioning and index commands.
103561 2007-07-13  Bruno Haible  <bruno@clisp.org>
103563         New gnulib-tool option --more-symlinks.
103564         * gnulib-tool (func_usage): Document --more-symlinks.
103565         (do_copyrights): New variable.
103566         Recognize option --more-symlinks.
103567         (func_import): Don't add a copyright notice transform to
103568         sed_transform_lib_file if do_copyrights is empty.
103570 2007-07-13  Bruno Haible  <bruno@clisp.org>
103572         * lib/vasnprintf.c (decimal_point_char): Define also if
103573         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
103574         && !NEED_PRINTF_DIRECTIVE_A.
103575         Reported by Clemens Koller <clemens.koller@anagramm.de> via
103576         Gary V. Vaughan <gary@gnu.org>.
103578 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
103580         * lib/inttypes_.h: Undo previous change, since it was fixed
103581         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
103583 2007-07-13  Bruno Haible  <bruno@clisp.org>
103585         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
103586         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
103588 2007-07-13  Jim Meyering  <jim@meyering.net>
103590         df: Don't fail for Tru64's "file-on-file mount".
103591         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
103592         so we fall through and use statfs instead.  Details here:
103593         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
103594         Reported by Albert Chin.
103596 2007-07-13  Bruno Haible  <bruno@clisp.org>
103598         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
103599         * modules/configmake (License): Likewise.
103600         * modules/gettext (License): Likewise.
103601         * modules/gettext-h (License): Likewise.
103602         * modules/include_next (License): Likewise.
103603         * modules/link-warning (License): Likewise.
103604         * modules/localcharset (License): Likewise.
103605         * modules/localename (License): Likewise.
103606         * modules/lock (License): Likewise.
103607         * modules/relocatable-lib-lgpl (License): Likewise.
103608         * modules/size_max (License): Likewise.
103609         * modules/vasnprintf (License): Likewise.
103610         * modules/wchar (License): Likewise.
103611         * modules/xsize (License): Likewise.
103613 2007-07-13  Bruno Haible  <bruno@clisp.org>
103615         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
103616         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
103618 2007-07-12  Bruno Haible  <bruno@clisp.org>
103620         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
103621         in the modules files.
103623 2007-07-11  Karl Berry  <karl@gnu.org>
103625         * MODULES.html.sh (func_module): use
103626          sed -e '\|^'"${includefile}"'$|d'
103627          instead of /.../d, to avoid errors on $includefile's containing /.
103629 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
103631         * gnulib-tool (func_import): Avoid duplication of --avoid
103632         statements
103633         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
103634         names to `_' in variable names.
103636 2007-07-10  Eric Blake  <ebb9@byu.net>
103638         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
103639         * NEWS: Document this change.
103641 2007-07-08  Bruno Haible  <bruno@clisp.org>
103643         Update to Unicode 5.0.
103644         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
103645         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
103646         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
103647         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
103648         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
103649         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
103650         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
103651         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
103652         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
103653         U+10A3F, U+1D242..U+1D244.
103654         (nonspacing_table_ind): Update.
103655         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
103656         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
103658 2007-07-08  Bruno Haible  <bruno@clisp.org>
103660         Update to Unicode 5.0.
103661         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
103662         code transform. Extend the name index field of unicode_name_to_code and
103663         unicode_code_to_name from 16 to 24 bits.
103664         * lib/uniname/uniname.c (unicode_character_name,
103665         unicode_name_character): Add the range 0x12xxx to the code transform.
103666         * lib/uniname/uninames.h: Regenerated.
103667         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
103669 2007-07-07  Bruno Haible  <bruno@clisp.org>
103671         * modules/wcwidth-tests: New file.
103672         * tests/test-wcwidth.c: New file.
103674         Work around MacOS X wcwidth() bug.
103675         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
103676         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
103677         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
103678         original wcwidth in non-UTF-8 locales.
103679         * modules/wcwidth (Depends-on): Add localcharset, streq,
103680         uniwidth/width.
103681         * doc/functions/wcwidth.texi: Update.
103683 2007-07-07  Bruno Haible  <bruno@clisp.org>
103685         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
103686         (wcwidth): New declaration.
103687         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
103688         macros.
103689         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
103690         here. Prepare for creating <wchar.h> unconditionally.
103691         * modules/wchar (Depends-on): Add link-warning.
103692         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
103693         REPLACE_WCWIDTH, and GL_LINK_WARNING.
103694         * lib/wcwidth.h: Remove file.
103695         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
103696         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
103697         * modules/wcwidth (Files): Remove lib/wcwidth.h.
103698         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
103699         (Include): Replace wcwidth.h with <wchar.h>.
103700         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
103701         * lib/mbchar.h: Don't include wcwidth.h.
103702         * lib/mbswidth.c: Likewise.
103703         * NEWS: Mention the change.
103705 2007-07-07  Bruno Haible  <bruno@clisp.org>
103707         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
103708         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
103709         definition with an external declaration.
103710         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
103711         defined as a function. Remove AC_C_INLINE requirement.
103712         * modules/wcwidth (Files): Add lib/wcwidth.c.
103713         (Makefile.am): Remove redundant statement.
103715 2007-07-07  Bruno Haible  <bruno@clisp.org>
103717         * MODULES.html.sh (Unicode string functions): Add the new modules.
103719         * tests/uniwidth/test-u32-strwidth.c: New file.
103720         * modules/uniwidth/u32-strwidth-tests: New file.
103722         * lib/uniwidth/u32-strwidth.c: New file.
103723         * modules/uniwidth/u32-strwidth: New file.
103725         * tests/uniwidth/test-u16-strwidth.c: New file.
103726         * modules/uniwidth/u16-strwidth-tests: New file.
103728         * lib/uniwidth/u16-strwidth.c: New file.
103729         * modules/uniwidth/u16-strwidth: New file.
103731         * tests/uniwidth/test-u8-strwidth.c: New file.
103732         * modules/uniwidth/u8-strwidth-tests: New file.
103734         * lib/uniwidth/u8-strwidth.c: New file.
103735         * modules/uniwidth/u8-strwidth: New file.
103737         * tests/uniwidth/test-u32-width.c: New file.
103738         * modules/uniwidth/u32-width-tests: New file.
103740         * lib/uniwidth/u32-width.c: New file.
103741         * modules/uniwidth/u32-width: New file.
103743         * tests/uniwidth/test-u16-width.c: New file.
103744         * modules/uniwidth/u16-width-tests: New file.
103746         * lib/uniwidth/u16-width.c: New file.
103747         * modules/uniwidth/u16-width: New file.
103749         * tests/uniwidth/test-u8-width.c: New file.
103750         * modules/uniwidth/u8-width-tests: New file.
103752         * lib/uniwidth/u8-width.c: New file.
103753         * modules/uniwidth/u8-width: New file.
103755         * tests/uniwidth/test-uc_width.c: New file.
103756         * modules/uniwidth/width-tests: New file.
103758         * lib/uniwidth/width.c: New file, from GNU libiconv.
103759         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
103760         * modules/uniwidth/width: New file.
103762         * lib/uniwidth.h: New file, from GNU libiconv.
103763         * modules/uniwidth/base: New file.
103765 2007-07-07  Bruno Haible  <bruno@clisp.org>
103767         * lib/uniname.h: New file, from GNU gettext.
103768         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
103769         * lib/uniname/uninames.h: New file, from GNU gettext.
103770         * lib/uniname/uniname.c: New file, from GNU gettext.
103771         * tests/uniname/test-uninames.sh: New file.
103772         * tests/uniname/test-uninames.c: New file, from GNU gettext.
103773         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
103774         * modules/uniname/base: New file.
103775         * modules/uniname/uniname: New file.
103776         * modules/uniname/uniname-tests: New file.
103777         * MODULES.html.sh (Unicode string functions): Add the new modules.
103779 2007-07-06  Bruno Haible  <bruno@clisp.org>
103781         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
103783 2007-07-06  Bruno Haible  <bruno@clisp.org>
103785         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
103786         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
103787         includes <cygwin/sys_time.h> which includes <sys/select.h> which
103788         include <sys/time.h>.
103789         Reported by Eric Blake.
103791 2007-07-06  Eric Blake  <ebb9@byu.net>
103793         Fix testing canonicalize on cygwin.
103794         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
103795         Revert patch from 2007-06-19.
103796         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
103797         canonicalize module is also in use.
103798         * tests/test-canonicalize.c: New file.
103799         * tests/test-canonicalize.sh: Likewise.
103800         * modules/canonicalize-tests: Likewise.
103802 2007-07-06  Jim Meyering  <jim@meyering.net>
103804         * lib/getugroups.c (getugroups): Detect getgrent failure.
103805         Adjust comment to reflect reality: this function may return -1.
103807 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
103809         * build-aux/bootstrap (TP_URL,get_translations): Update to use
103810         the new TP address.
103811         (usage): Fix typo
103812         (gnulib_mk): New variable.
103814 2007-07-05  Jim Meyering  <jim@meyering.net>
103816         Don't let endgrent clobber errno, no matter how improbable.
103817         * lib/getugroups.c (getugroups): Save and restore errno around
103818         endgrent call.
103820         Close the group DB even when failing with 2^31 or more members.
103821         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
103823 2007-07-04  Jim Meyering  <jim@meyering.net>
103825         * lib/getugroups.h: New file.
103826         * lib/getugroups.c: Include "getugroups.h".
103827         Remove uses of "register" keyword.
103828         Move local variable, "cp", down into scope where used.
103829         Give "username" parameter the "const" attribute.
103830         * modules/getugroups (Files): Add lib/getugroups.h
103832 2007-07-04  Karl Berry  <karl@gnu.org>
103834         * MODULES.html.sh (func_all_modules): Complete rename of
103835         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
103837 2007-07-02  Bruno Haible  <bruno@clisp.org>
103839         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
103840         mode, when inttypes.h comes from gnulib.
103841         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
103843 2007-07-02  Simon Josefsson  <simon@josefsson.org>
103845         * NEWS: Mention lgpl module name change.
103847         * modules/lgpl-2.1: Renamed from lgpl.
103849         * NEWS: Mention gpl module name change.
103851         * modules/gpl-3.0: New file, based on gpl-2.0.
103853         * modules/gpl-2.0: Renamed from gpl.
103855         * modules/gpl: Fix filename, doc/gpl.texi is now found at
103856         doc/gpl-2.0.texi.
103858 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
103860         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
103861         #define __STDC_LIMIT_MACROS temporarily while including
103862         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
103863         Problem reported by Joel E. Denny in
103864         <http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.
103866 2007-07-01  Bruno Haible  <bruno@clisp.org>
103868         * lib/unistdio.h: New file.
103869         * lib/unistdio/u-asnprintf.h: New file.
103870         * lib/unistdio/u-asprintf.h: New file.
103871         * lib/unistdio/u-printf-args.c: New file.
103872         * lib/unistdio/u-printf-args.h: New file.
103873         * lib/unistdio/u-printf-parse.h: New file.
103874         * lib/unistdio/u-snprintf.h: New file.
103875         * lib/unistdio/u-sprintf.h: New file.
103876         * lib/unistdio/u-vasprintf.h: New file.
103877         * lib/unistdio/u-vsnprintf.h: New file.
103878         * lib/unistdio/u-vsprintf.h: New file.
103879         * lib/unistdio/ulc-asnprintf.c: New file.
103880         * lib/unistdio/ulc-asprintf.c: New file.
103881         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
103882         * lib/unistdio/ulc-printf-parse.c: New file.
103883         * lib/unistdio/ulc-snprintf.c: New file.
103884         * lib/unistdio/ulc-sprintf.c: New file.
103885         * lib/unistdio/ulc-vasnprintf.c: New file.
103886         * lib/unistdio/ulc-vasprintf.c: New file.
103887         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
103888         * lib/unistdio/ulc-vsnprintf.c: New file.
103889         * lib/unistdio/ulc-vsprintf.c: New file.
103890         * lib/unistdio/u8-asnprintf.c: New file.
103891         * lib/unistdio/u8-asprintf.c: New file.
103892         * lib/unistdio/u8-printf-parse.c: New file.
103893         * lib/unistdio/u8-snprintf.c: New file.
103894         * lib/unistdio/u8-sprintf.c: New file.
103895         * lib/unistdio/u8-vasnprintf.c: New file.
103896         * lib/unistdio/u8-vasprintf.c: New file.
103897         * lib/unistdio/u8-vsnprintf.c: New file.
103898         * lib/unistdio/u8-vsprintf.c: New file.
103899         * lib/unistdio/u8-u8-asnprintf.c: New file.
103900         * lib/unistdio/u8-u8-asprintf.c: New file.
103901         * lib/unistdio/u8-u8-snprintf.c: New file.
103902         * lib/unistdio/u8-u8-sprintf.c: New file.
103903         * lib/unistdio/u8-u8-vasnprintf.c: New file.
103904         * lib/unistdio/u8-u8-vasprintf.c: New file.
103905         * lib/unistdio/u8-u8-vsnprintf.c: New file.
103906         * lib/unistdio/u8-u8-vsprintf.c: New file.
103907         * lib/unistdio/u16-asnprintf.c: New file.
103908         * lib/unistdio/u16-asprintf.c: New file.
103909         * lib/unistdio/u16-printf-parse.c: New file.
103910         * lib/unistdio/u16-snprintf.c: New file.
103911         * lib/unistdio/u16-sprintf.c: New file.
103912         * lib/unistdio/u16-vasnprintf.c: New file.
103913         * lib/unistdio/u16-vasprintf.c: New file.
103914         * lib/unistdio/u16-vsnprintf.c: New file.
103915         * lib/unistdio/u16-vsprintf.c: New file.
103916         * lib/unistdio/u16-u16-asnprintf.c: New file.
103917         * lib/unistdio/u16-u16-asprintf.c: New file.
103918         * lib/unistdio/u16-u16-snprintf.c: New file.
103919         * lib/unistdio/u16-u16-sprintf.c: New file.
103920         * lib/unistdio/u16-u16-vasnprintf.c: New file.
103921         * lib/unistdio/u16-u16-vasprintf.c: New file.
103922         * lib/unistdio/u16-u16-vsnprintf.c: New file.
103923         * lib/unistdio/u16-u16-vsprintf.c: New file.
103924         * lib/unistdio/u32-asnprintf.c: New file.
103925         * lib/unistdio/u32-asprintf.c: New file.
103926         * lib/unistdio/u32-printf-parse.c: New file.
103927         * lib/unistdio/u32-snprintf.c: New file.
103928         * lib/unistdio/u32-sprintf.c: New file.
103929         * lib/unistdio/u32-vasnprintf.c: New file.
103930         * lib/unistdio/u32-vasprintf.c: New file.
103931         * lib/unistdio/u32-vsnprintf.c: New file.
103932         * lib/unistdio/u32-vsprintf.c: New file.
103933         * lib/unistdio/u32-u32-asnprintf.c: New file.
103934         * lib/unistdio/u32-u32-asprintf.c: New file.
103935         * lib/unistdio/u32-u32-snprintf.c: New file.
103936         * lib/unistdio/u32-u32-sprintf.c: New file.
103937         * lib/unistdio/u32-u32-vasnprintf.c: New file.
103938         * lib/unistdio/u32-u32-vasprintf.c: New file.
103939         * lib/unistdio/u32-u32-vsnprintf.c: New file.
103940         * lib/unistdio/u32-u32-vsprintf.c: New file.
103941         * tests/unistdio/test-ulc-asnprintf1.c: New file.
103942         * tests/unistdio/test-ulc-asnprintf1.h: New file.
103943         * tests/unistdio/test-ulc-printf1.h: New file.
103944         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
103945         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
103946         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
103947         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
103948         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
103949         * tests/unistdio/test-ulc-vasprintf1.c: New file.
103950         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
103951         * tests/unistdio/test-ulc-vsprintf1.c: New file.
103952         * tests/unistdio/test-u8-asnprintf1.c: New file.
103953         * tests/unistdio/test-u8-asnprintf1.h: New file.
103954         * tests/unistdio/test-u8-printf1.h: New file.
103955         * tests/unistdio/test-u8-vasnprintf1.c: New file.
103956         * tests/unistdio/test-u8-vasnprintf2.c: New file.
103957         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
103958         * tests/unistdio/test-u8-vasnprintf3.c: New file.
103959         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
103960         * tests/unistdio/test-u8-vasprintf1.c: New file.
103961         * tests/unistdio/test-u8-vsnprintf1.c: New file.
103962         * tests/unistdio/test-u8-vsprintf1.c: New file.
103963         * tests/unistdio/test-u16-asnprintf1.c: New file.
103964         * tests/unistdio/test-u16-asnprintf1.h: New file.
103965         * tests/unistdio/test-u16-printf1.h: New file.
103966         * tests/unistdio/test-u16-vasnprintf1.c: New file.
103967         * tests/unistdio/test-u16-vasnprintf2.c: New file.
103968         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
103969         * tests/unistdio/test-u16-vasnprintf3.c: New file.
103970         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
103971         * tests/unistdio/test-u16-vasprintf1.c: New file.
103972         * tests/unistdio/test-u16-vsnprintf1.c: New file.
103973         * tests/unistdio/test-u16-vsprintf1.c: New file.
103974         * tests/unistdio/test-u32-asnprintf1.c: New file.
103975         * tests/unistdio/test-u32-asnprintf1.h: New file.
103976         * tests/unistdio/test-u32-printf1.h: New file.
103977         * tests/unistdio/test-u32-vasnprintf1.c: New file.
103978         * tests/unistdio/test-u32-vasnprintf2.c: New file.
103979         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
103980         * tests/unistdio/test-u32-vasnprintf3.c: New file.
103981         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
103982         * tests/unistdio/test-u32-vasprintf1.c: New file.
103983         * tests/unistdio/test-u32-vsnprintf1.c: New file.
103984         * tests/unistdio/test-u32-vsprintf1.c: New file.
103985         * modules/unistdio/base: New file.
103986         * modules/unistdio/u-printf-args: New file.
103987         * modules/unistdio/ulc-asnprintf: New file.
103988         * modules/unistdio/ulc-asprintf: New file.
103989         * modules/unistdio/ulc-fprintf: New file.
103990         * modules/unistdio/ulc-printf-parse: New file.
103991         * modules/unistdio/ulc-snprintf: New file.
103992         * modules/unistdio/ulc-sprintf: New file.
103993         * modules/unistdio/ulc-vasnprintf: New file.
103994         * modules/unistdio/ulc-vasprintf: New file.
103995         * modules/unistdio/ulc-vfprintf: New file.
103996         * modules/unistdio/ulc-vsnprintf: New file.
103997         * modules/unistdio/ulc-vsprintf: New file.
103998         * modules/unistdio/u8-asnprintf: New file.
103999         * modules/unistdio/u8-asprintf: New file.
104000         * modules/unistdio/u8-printf-parse: New file.
104001         * modules/unistdio/u8-snprintf: New file.
104002         * modules/unistdio/u8-sprintf: New file.
104003         * modules/unistdio/u8-vasnprintf: New file.
104004         * modules/unistdio/u8-vasprintf: New file.
104005         * modules/unistdio/u8-vsnprintf: New file.
104006         * modules/unistdio/u8-vsprintf: New file.
104007         * modules/unistdio/u8-u8-asnprintf: New file.
104008         * modules/unistdio/u8-u8-asprintf: New file.
104009         * modules/unistdio/u8-u8-snprintf: New file.
104010         * modules/unistdio/u8-u8-sprintf: New file.
104011         * modules/unistdio/u8-u8-vasnprintf: New file.
104012         * modules/unistdio/u8-u8-vasprintf: New file.
104013         * modules/unistdio/u8-u8-vsnprintf: New file.
104014         * modules/unistdio/u8-u8-vsprintf: New file.
104015         * modules/unistdio/u16-asnprintf: New file.
104016         * modules/unistdio/u16-asprintf: New file.
104017         * modules/unistdio/u16-printf-parse: New file.
104018         * modules/unistdio/u16-snprintf: New file.
104019         * modules/unistdio/u16-sprintf: New file.
104020         * modules/unistdio/u16-vasnprintf: New file.
104021         * modules/unistdio/u16-vasprintf: New file.
104022         * modules/unistdio/u16-vsnprintf: New file.
104023         * modules/unistdio/u16-vsprintf: New file.
104024         * modules/unistdio/u16-u16-asnprintf: New file.
104025         * modules/unistdio/u16-u16-asprintf: New file.
104026         * modules/unistdio/u16-u16-snprintf: New file.
104027         * modules/unistdio/u16-u16-sprintf: New file.
104028         * modules/unistdio/u16-u16-vasnprintf: New file.
104029         * modules/unistdio/u16-u16-vasprintf: New file.
104030         * modules/unistdio/u16-u16-vsnprintf: New file.
104031         * modules/unistdio/u16-u16-vsprintf: New file.
104032         * modules/unistdio/u32-asnprintf: New file.
104033         * modules/unistdio/u32-asprintf: New file.
104034         * modules/unistdio/u32-printf-parse: New file.
104035         * modules/unistdio/u32-snprintf: New file.
104036         * modules/unistdio/u32-sprintf: New file.
104037         * modules/unistdio/u32-vasnprintf: New file.
104038         * modules/unistdio/u32-vasprintf: New file.
104039         * modules/unistdio/u32-vsnprintf: New file.
104040         * modules/unistdio/u32-vsprintf: New file.
104041         * modules/unistdio/u32-u32-asnprintf: New file.
104042         * modules/unistdio/u32-u32-asprintf: New file.
104043         * modules/unistdio/u32-u32-snprintf: New file.
104044         * modules/unistdio/u32-u32-sprintf: New file.
104045         * modules/unistdio/u32-u32-vasnprintf: New file.
104046         * modules/unistdio/u32-u32-vasprintf: New file.
104047         * modules/unistdio/u32-u32-vsnprintf: New file.
104048         * modules/unistdio/u32-u32-vsprintf: New file.
104049         * modules/unistdio/ulc-asnprintf-tests: New file.
104050         * modules/unistdio/ulc-vasnprintf-tests: New file.
104051         * modules/unistdio/ulc-vasprintf-tests: New file.
104052         * modules/unistdio/ulc-vsnprintf-tests: New file.
104053         * modules/unistdio/ulc-vsprintf-tests: New file.
104054         * modules/unistdio/u8-asnprintf-tests: New file.
104055         * modules/unistdio/u8-vasnprintf-tests: New file.
104056         * modules/unistdio/u8-vasprintf-tests: New file.
104057         * modules/unistdio/u8-vsnprintf-tests: New file.
104058         * modules/unistdio/u8-vsprintf-tests: New file.
104059         * modules/unistdio/u16-asnprintf-tests: New file.
104060         * modules/unistdio/u16-vasnprintf-tests: New file.
104061         * modules/unistdio/u16-vasprintf-tests: New file.
104062         * modules/unistdio/u16-vsnprintf-tests: New file.
104063         * modules/unistdio/u16-vsprintf-tests: New file.
104064         * modules/unistdio/u32-asnprintf-tests: New file.
104065         * modules/unistdio/u32-vasnprintf-tests: New file.
104066         * modules/unistdio/u32-vasprintf-tests: New file.
104067         * modules/unistdio/u32-vsnprintf-tests: New file.
104068         * modules/unistdio/u32-vsprintf-tests: New file.
104069         * MODULES.html.sh (Unicode string functions): Add the new modules.
104071 2007-07-01  Bruno Haible  <bruno@clisp.org>
104073         * lib/sprintf.c (sprintf): Limit the available length estimation,
104074         to avoid address wraparound.
104075         * lib/vsprintf.c (vsprintf): Likewise.
104076         * modules/sprintf-posix (Dependencies): Add stdint.
104077         * modules/vsprintf-posix (Dependencies): Likewise.
104079 2007-07-01  Bruno Haible  <bruno@clisp.org>
104081         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
104082         Windows PATH as well. Conservative double-quoting. Comments.
104084 2007-07-01  Bruno Haible  <bruno@clisp.org>
104085             Eric Blake  <ebb9@byu.net>
104086             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104088         * gnulib-tool (self_abspathname): Fix algorithm to cope with
104089         empty components in $PATH, denoting '.'.
104091 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104093         * gnulib-tool: Fix indentation.
104094         (func_create_megatestdir): Likewise.
104095         Report by Bruno Haible.
104097 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104099         Sync from Automake.
104100         * build-aux/gnupload: Fix shell portability issues with for loops.
104101         Report by Karl Berry.
104103 2007-06-29  Simon Josefsson  <simon@josefsson.org>
104105         * build-aux/maint.mk (POURL): Use translationproject.org.
104107 2007-06-27  Simon Josefsson  <simon@josefsson.org>
104108             Bruno Haible  <bruno@clisp.org>
104110         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
104111         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
104112         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
104113         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
104114         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
104116 2007-06-27  Bruno Haible  <bruno@clisp.org>
104118         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
104119         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
104121 2007-06-26  Karl Berry  <karl@gnu.org>
104123         * MODULES.html.sh: remove xreadlink-with-size.
104125 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
104127         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
104128         method that I hope also handles the double-include problem noted
104129         by Bruno Haible in
104130         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.
104132 2007-06-23  Bruno Haible  <bruno@clisp.org>
104134         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
104135         Don't let the 'mostlyclean' target fail if the last subdirectory could
104136         not be removed.
104137         Reported by Karl Berry.
104139 2007-06-23  Bruno Haible  <bruno@clisp.org>
104141         * gnulib-tool (echo): Add a speedier workaround for ksh.
104142         * tests/test-echo.sh: Likewise.
104144 2007-06-23  Bruno Haible  <bruno@clisp.org>
104146         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
104147         * tests/test-echo.sh: Likewise.
104149 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104151         * gnulib-tool (IFS): Initialize early, so we don't set it to
104152         empty later.
104153         (self_abspathname): Rewrite algorithm to set it, reindent.
104154         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
104155         (func_create_megatestdir): Merge some sed scripts.
104157 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
104159         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
104160         exposed by Sun Studio 11 cc on Solaris 8.
104162 2007-06-22  Bruno Haible  <bruno@clisp.org>
104164         * gnulib-tool (echo): Ensure the echo primitive does not interpret
104165         backslashes.
104166         * tests/test-echo.sh: New file.
104168 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104170         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
104171         simplify `sed_replace_build_aux' scripts, they are portable but
104172         echoing them with `echo' is not.
104173         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
104175 2007-06-21  Karl Berry  <karl@gnu.org>
104177         * config/srclist.txt: guess we can't handle the licenses via
104178         srclist at the moment.
104180 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
104182         * MODULES.html.sh: Add include_next.
104183         * modules/include_next: New file.
104185 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
104187         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
104188         INCLUDE_NEXT.
104189         (gl_CHECK_NEXT_HEADERS): New macro.
104190         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
104191         the obsolescent gl_ABSOLUTE_HEADER.
104192         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
104193         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
104194         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
104195         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
104196         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
104197         * m4/math_h.m4 (gl_MATH_H): Likewise.
104198         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
104199         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
104200         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
104201         * m4/stdint.m4 (gl_STDINT_H): Likewise.
104202         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
104203         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
104204         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
104205         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
104206         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
104207         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
104208         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
104209         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
104210         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
104211         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
104212         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
104213         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
104214         * m4/inttypes.m4 (gl_INTTYPES_H): Define
104215         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
104216         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
104217         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
104218         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
104219         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
104220         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
104221         * lib/float_.h: Likewise.
104222         * lib/inttypes_.h: Likewise.
104223         * lib/math_.h: Likewise.
104224         * lib/search_.h: Likewise.
104225         * lib/signal_.h: Likewise.
104226         * lib/stdint_.h: Likewise.
104227         * lib/stdio_.h: Likewise.
104228         * lib/stdlib_.h: Likewise.
104229         * lib/string_.h: Likewise.
104230         * lib/sys_stat_.h: Likewise.
104231         * lib/sys_time_.h: Likewise.
104232         * lib/time_.h: Likewise.
104233         * lib/unistd_.h: Likewise.
104234         * lib/wchar_.h: Likewise.
104235         * lib/wctype_.h: Likewise.
104236         * lib/dirent_.h: Likewise.
104237         * lib/iconv_.h: Likewise.
104238         * lib/locale_.h: Likewise.
104239         * lib/netinet_in_.h: Likewise.
104240         * lib/sys_select_.h: Likewise.
104241         * lib/sys_socket_.h: Likewise.
104242         * lib/sysexits_.h: Likewise.
104243         * modules/fcntl (Depends-on): Depend on include_next, not
104244         absolute_header.
104245         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
104246         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
104247         * modules/fchdir: Likewise.
104248         * modules/float: Likewise.
104249         * modules/iconv_open: Likewise.
104250         * modules/inttypes: Likewise.
104251         * modules/locale: Likewise.
104252         * modules/math: Likewise.
104253         * modules/netinet_in: Likewise.
104254         * modules/search: Likewise.
104255         * modules/signal: Likewise.
104256         * modules/stdint: Likewise.
104257         * modules/stdio: Likewise.
104258         * modules/stdlib: Likewise.
104259         * modules/string: Likewise.
104260         * modules/sys_select: Likewise.
104261         * modules/sys_socket: Likewise.
104262         * modules/sys_stat: Likewise.
104263         * modules/sys_time: Likewise.
104264         * modules/sysexits: Likewise.
104265         * modules/time: Likewise.
104266         * modules/unistd: Likewise.
104267         * modules/wchar: Likewise.
104268         * modules/wctype: Likewise.
104269         * modules/sys_stat: Change maintainer to "all".
104270         * modules/unistd: Likewise.
104272 2007-06-20  Karl Berry  <karl@gnu.org>
104274         * config/srclist.txt: track www changes in license files.
104276 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
104278         * build-aux/bootstrap: Remove stray dot.
104279         Make sure build_aux settings are honored when linking
104280         gnulib_extra_files.
104282 2007-06-19  Eric Blake  <ebb9@byu.net>
104284         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
104285         Allow compilation on cygwin.
104287 2007-06-19  Jim Meyering  <jim@meyering.net>
104289         xreadlink-with-size: Remove module.  No longer used.
104290         Ex-callers now use xreadlink or mreadlink-with-size.
104291         * modules/xreadlink-with-size: Remove module.
104292         * lib/xreadlink-with-size.c: Remove file.
104293         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
104294         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
104295         just before the function definition *is* accurate.
104297         Eliminate one way canonicalize_filename_mode could exit.
104298         * lib/canonicalize.c (canonicalize_filename_mode):
104299         Use mreadlink_with_size, not xreadlink_with_size.
104301 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
104303         Detect porting problems to FreeBSD/arm, which has time_t wider than
104304         long int.  Original problem reported for GNU diff by Xin Li in
104305         <http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
104306         * modules/getdate (Depends-on): Add intprops, verify.
104307         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
104308         is an integer type no wider than long int.
104310 2007-06-18  Jim Meyering  <jim@meyering.net>
104312         New module: mreadlink-with-size.
104313         * MODULES.html.sh: Add mreadlink-with-size.
104314         * modules/mreadlink-with-size: New module
104315         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
104316         not xreadlink-with-size.
104317         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
104319 2007-06-16  Bruno Haible  <bruno@clisp.org>
104321         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
104322         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
104323         Reported by Gary V. Vaughan <gary@gnu.org>.
104325 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
104327         Revamp lchown so that it lives in unistd.h where it belongs.
104328         * lib/lchown.h: Remove.
104329         * lib/dirchownmod.c: Don't include lib/lchown.h.
104330         * lib/fchownat.c: Likewise.
104331         * lib/openat.c: Likewise.
104332         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
104333         does not follow symlinks.
104334         (EOPNOTSUPP): Define if not defined.
104335         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
104336         is defined to 0.
104337         (lchown): New decl.
104338         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
104339         Do not check for lchown decl.
104340         Set REPLACE_LCHOWN.
104341         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
104342         REPLACE_LCHOWN.
104343         * modules/chown: Make it clear it follows symlinks.
104344         * modules/lchown: Make it clear it doesn't follow symlinks.
104345         (Files): Remove lib/lchown.h
104346         (Depends-on): Add unistd.
104347         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
104348         (Include): Include <unistd.h>, not "lchown.h".
104349         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
104350         REPLACE_LCHOWN.
104352 2007-06-15  Jim Meyering  <jim@meyering.net>
104354         Change license (GPL to LGPL) of fsusage and dependents.
104355         * modules/fsusage (License): Change to LGPL.
104356         * modules/full-read (License): Likewise.
104357         * modules/full-write (License): Likewise.
104358         * modules/safe-read (License): Likewise.
104359         * modules/safe-write (License): Likewise.
104361 2007-06-14  Ben Pfaff  <blp@gnu.org>
104363         Missing part of allocsa -> malloca transition.
104364         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
104365         gl_MALLOCA.
104367 2007-06-12  Bruno Haible  <bruno@clisp.org>
104369         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
104370         to ia64, x86_64, i386.
104371         Reported by Eric Blake.
104373 2007-06-12  Bruno Haible  <bruno@clisp.org>
104375         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
104376         cross-compiling to x86_64.
104378 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
104380         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
104381         glitch reported by Ralf Wildenhues in
104382         <http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.
104384         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
104385         Vin Shelton.
104387 2007-06-11  Bruno Haible  <bruno@clisp.org>
104389         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
104390         replacement string.
104391         Reported by Eric Blake.
104393 2007-06-10  Bruno Haible  <bruno@clisp.org>
104395         Prepare vasnprintf code for use with Unicode strings.
104396         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
104397         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
104398         TYPE_U32_STRING.
104399         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
104400         a_u32_string variants.
104401         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
104402         * lib/printf-args.c: Don't include config.h and the specification
104403         header if PRINTF_FETCHARGS is already defined.
104404         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
104405         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
104406         TYPE_U16_STRING, TYPE_U32_STRING.
104407         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
104408         u16_directive, u16_directives, u32_directive, u32_directives): New
104409         types.
104410         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
104411         New declarations.
104412         * lib/printf-parse.c: Don't include config.h and the specification
104413         header if PRINTF_PARSE is already defined. Eliminate the set of
104414         parameters for WIDE_CHAR_VERSION; the user of this file must provide
104415         them now. Include c-ctype.h.
104416         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
104417         directive and CHAR_T_ONLY_ASCII.
104418         * lib/vasnprintf.c: Don't include config.h and the specification header
104419         if VASNPRINTF is already defined.
104420         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
104421         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
104422         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
104423         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
104424         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
104425         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
104426         code accordingly.
104427         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
104428         pad_ourselves also in this case, with the 'c' and 's' directives, and
104429         with a different notion of "width".
104430         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
104432 2007-06-10  Bruno Haible  <bruno@clisp.org>
104434         * modules/unistr/u32-mbsnlen: New file.
104435         * lib/unistr/u32-mbsnlen.c: New file.
104437         * modules/unistr/u16-mbsnlen: New file.
104438         * lib/unistr/u16-mbsnlen.c: New file.
104440         * modules/unistr/u8-mbsnlen: New file.
104441         * lib/unistr/u8-mbsnlen.c: New file.
104443         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
104444         declarations.
104446 2007-06-10  Bruno Haible  <bruno@clisp.org>
104448         * lib/string_.h (mbsnlen): New declaration.
104449         * lib/mbsnlen.c: New file.
104450         * m4/mbsnlen.m4: New file.
104451         * modules/mbsnlen: New file.
104452         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
104453         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
104454         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
104456 2007-06-10  Bruno Haible  <bruno@clisp.org>
104458         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
104460 2007-06-10  Bruno Haible  <bruno@clisp.org>
104462         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
104463         * lib/mbuiter.h: Likewise.
104465 2007-06-10  Bruno Haible  <bruno@clisp.org>
104467         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
104468         declaration.
104470 2007-06-10  Karl Berry  <karl@gnu.org>
104472         * config/srclist.txt: remove gettext entries, Bruno prefers
104473         to update individually.
104475 2007-06-10  Bruno Haible  <bruno@clisp.org>
104477         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
104478         'maxlen'. Ensure only length + width bytes are allocated, not
104479         length + 1 + width.
104481 2007-06-09  Bruno Haible  <bruno@clisp.org>
104483         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
104484         (CHAR_T): Remove macro.
104485         (VASNPRINTF): Update.
104487 2007-06-09  Bruno Haible  <bruno@clisp.org>
104489         * MODULES.html.sh (Unicode string functions): Add the new modules.
104491         * modules/uniconv/u32-conv-to-enc: New file.
104492         * lib/uniconv/u32-conv-to-enc.c: New file.
104493         * modules/uniconv/u32-conv-to-enc-tests: New file.
104494         * tests/uniconv/test-u32-conv-to-enc.c: New file.
104496         * modules/uniconv/u16-conv-to-enc: New file.
104497         * lib/uniconv/u16-conv-to-enc.c: New file.
104498         * lib/uniconv/u-conv-to-enc.h: New file.
104499         * modules/uniconv/u16-conv-to-enc-tests: New file.
104500         * tests/uniconv/test-u16-conv-to-enc.c: New file.
104502         * modules/uniconv/u8-conv-to-enc: New file.
104503         * lib/uniconv/u8-conv-to-enc.c: New file.
104504         * modules/uniconv/u8-conv-to-enc-tests: New file.
104505         * tests/uniconv/test-u8-conv-to-enc.c: New file.
104507         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
104508         u32_conv_to_encoding): New declarations.
104510 2007-06-09  Bruno Haible  <bruno@clisp.org>
104512         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
104514 2007-06-09  Bruno Haible  <bruno@clisp.org>
104516         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
104517         * modules/malloca: Renamed from modules/allocsa, updated.
104518         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
104519         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
104520         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
104521         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
104522         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
104523         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
104524         * modules/xmalloca: Renamed from modules/xallocsa, updated.
104525         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
104526         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
104527         * modules/c-strcasestr (Depends-on): Update.
104528         * lib/c-strcasestr.c: Update.
104529         * modules/c-strstr (Depends-on): Update.
104530         * lib/c-strstr.c: Update.
104531         * modules/canonicalize-lgpl (Depends-on): Update.
104532         * lib/canonicalize-lgpl.c: Update.
104533         * modules/clean-temp (Depends-on): Update.
104534         * lib/clean-temp.c: Update.
104535         * modules/csharpcomp (Depends-on): Update.
104536         * lib/csharpcomp.c: Update.
104537         * modules/csharpexec (Depends-on): Update.
104538         * lib/csharpexec.c: Update.
104539         * modules/javacomp (Depends-on): Update.
104540         * lib/javacomp.c: Update.
104541         * modules/javaexec (Depends-on): Update.
104542         * lib/javaexec.c: Update.
104543         * modules/mbscasestr (Depends-on): Update.
104544         * lib/mbscasestr.c: Update.
104545         * modules/mbsstr (Depends-on): Update.
104546         * lib/mbsstr.c: Update.
104547         * modules/setenv (Depends-on): Update.
104548         * lib/setenv.c: Update.
104549         * modules/strcasestr (Depends-on): Update.
104550         * lib/strcasestr.c: Update.
104551         * modules/striconveha (Depends-on): Update.
104552         * lib/striconveha.c: Update.
104553         * modules/relocatable-prog-wrapper (Files): Update.
104554         * lib/relocwrapper.c: Update.
104555         * build-aux/install-reloc: Update.
104556         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
104558 2007-06-08  Bruno Haible  <bruno@clisp.org>
104560         Port to uClibc.
104561         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
104562         * lib/fpurge.c (fpurge): Likewise.
104563         * lib/freading.c (freading): Likewise.
104564         * lib/fseeko.c (rpl_fseeko): Likewise.
104565         * lib/fseterr.c (fseterr): Likewise.
104566         * lib/fwriting.c (fwriting): Likewise.
104567         * tests/test-fflush.c (main): Avoid a failure on uClibc.
104569 2007-06-08  Bruno Haible  <bruno@clisp.org>
104571         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
104572         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
104573         * modules/gettext (Files): Add m4/intlmacosx.m4.
104575 2007-06-07  Bruno Haible  <bruno@clisp.org>
104577         * modules/localename-tests: New file.
104578         * tests/test-localename.c: New file.
104580         New module 'localename'.
104581         * lib/localename.h: New file.
104582         * lib/localename.c: New file, from GNU gettext.
104583         * m4/localename.m4: New file.
104584         * modules/localename: New file.
104586 2007-06-07  Bruno Haible  <bruno@clisp.org>
104588         Work around the lack of <wchar.h> on some builds of uClibc.
104589         * doc/headers/wchar.texi: Update.
104590         * lib/wchar_.h: Include <wchar.h> only if it exists.
104591         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
104592         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
104593         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
104594         doesn't exist.
104595         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
104596         * modules/mbfile (Depends-on): Add wchar.
104597         * modules/mbiter (Depends-on): Likewise.
104598         * modules/mbuiter (Depends-on): Likewise.
104599         Reported by Simon Josefsson.
104601 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
104603         Work around problem reported by Steven M. Schweda in
104604         <http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
104605         Tru64 5.1B with the Compaq compiler environment installed declares
104606         an 'isblank' function but does not define it in the C library.
104607         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
104608         * lib/regex_internal.h (isblank): Likewise.
104609         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
104610         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
104612 2007-06-05  Bruno Haible  <bruno@clisp.org>
104614         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
104615         ia64.
104616         * modules/printf-safe: New file.
104617         * modules/fprintf-posix (Depends-on): Add printf-safe.
104618         * modules/printf-posix (Depends-on): Likewise.
104619         * modules/snprintf-posix (Depends-on): Likewise.
104620         * modules/sprintf-posix (Depends-on): Likewise.
104621         * modules/vasnprintf-posix (Depends-on): Likewise.
104622         * modules/vasprintf-posix (Depends-on): Likewise.
104623         * modules/vfprintf-posix (Depends-on): Likewise.
104624         * modules/vprintf-posix (Depends-on): Likewise.
104625         * modules/vsnprintf-posix (Depends-on): Likewise.
104626         * modules/vsprintf-posix (Depends-on): Likewise.
104627         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
104628         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
104629         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
104630         "no" on i386, x86_64, ia64.
104631         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
104632         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104633         on i386, x86_64, ia64.
104634         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
104635         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104636         on i386, x86_64, ia64.
104637         * tests/test-vasnprintf-posix.c: Include float.h.
104638         (LDBL80_WORDS): New macro.
104639         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104640         on i386, x86_64, ia64.
104641         * tests/test-vasprintf-posix.c: Include float.h.
104642         (LDBL80_WORDS): New macro.
104643         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104644         on i386, x86_64, ia64.
104645         * tests/test-snprintf-posix.c: Include float.h.
104646         * tests/test-sprintf-posix.c: Likewise.
104647         * tests/test-vsnprintf-posix.c: Likewise.
104648         * tests/test-vsprintf-posix.c: Likewise.
104650 2007-06-05  Bruno Haible  <bruno@clisp.org>
104652         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
104653         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
104654         non-IEEE numbers on i386, x86_64, ia64.
104655         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
104656         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
104657         * tests/test-isnanl.h: Include float.h.
104658         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
104660 2007-06-05  Bruno Haible  <bruno@clisp.org>
104662         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
104663         also the %a / %A. Handle the %a / %A code before this extra handling.
104665 2007-06-05  Bruno Haible  <bruno@clisp.org>
104667         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
104668         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
104670 2007-06-05  Bruno Haible  <bruno@clisp.org>
104672         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
104673         typo in variable name.
104675 2007-06-05  Eric Blake  <ebb9@byu.net>
104677         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
104678         Reported by Simon Josefsson.
104680 2007-06-04  Bruno Haible  <bruno@clisp.org>
104682         Avoid test failures on some PowerPC platforms.
104683         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
104684         Define differently for PowerPC.
104685         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
104686         Reported by Gary V. Vaughan <gary@gnu.org>.
104688 2007-06-02  Bruno Haible  <bruno@clisp.org>
104690         Fix test-stdint failure on FreeBSD/ia64.
104691         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
104692         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
104693         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
104694         * doc/headers/stdint.texi: Update.
104696 2007-06-01  Bruno Haible  <bruno@clisp.org>
104698         * tests/test-binary-io.c (main): Pass a third argument to open().
104699         Reported by Gary V. Vaughan <gary@gnu.org>.
104701 2007-06-01  Bruno Haible  <bruno@clisp.org>
104703         * doc/functions/frexpl.texi: Update for mingw.
104705 2007-06-01  Bruno Haible  <bruno@clisp.org>
104707         * tests/test-lseek.c (main): Disable test of errno for invalid third
104708         argument.
104709         * doc/functions/lseek.texi: Update.
104710         Reported by Gary V. Vaughan <gary@gnu.org>.
104712 2007-05-28  Bruno Haible  <bruno@clisp.org>
104714         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
104716 2007-05-31  Eric Blake  <ebb9@byu.net>
104718         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
104719         cross compiling.
104721 2007-05-30  Eric Blake  <ebb9@byu.net>
104722         and Bruno Haible  <bruno@clisp.org>
104724         Work around mingw test failures exposed by m4-1.4.9b.
104725         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
104726         * tests/test-unistd.c: Disable uid_t and git_t tests for the
104727         moment.
104729 2007-05-30  Bruno Haible  <bruno@clisp.org>
104731         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
104732         assuming that they are closed. Needed on HP-UX 11.
104734 2007-05-29  Bruno Haible  <bruno@clisp.org>
104736         Fix a problem with #include_next.
104737         * lib/dirent_.h: Split the double-inclusion guard.
104738         * lib/fcntl_.h: Likewise.
104739         * lib/float_.h: Likewise.
104740         * lib/iconv_.h: Likewise.
104741         * lib/inttypes_.h: Likewise.
104742         * lib/locale_.h: Likewise.
104743         * lib/math_.h: Likewise.
104744         * lib/netinet_in_.h: Likewise.
104745         * lib/search_.h: Likewise.
104746         * lib/signal_.h: Likewise.
104747         * lib/stdint_.h: Likewise.
104748         * lib/stdio_.h: Likewise.
104749         * lib/stdlib_.h: Likewise.
104750         * lib/string_.h: Likewise.
104751         * lib/sys_select_.h: Likewise.
104752         * lib/sys_socket_.h: Likewise.
104753         * lib/sys_stat_.h: Likewise.
104754         * lib/sys_time_.h: Likewise.
104755         * lib/sysexits_.h: Likewise.
104756         * lib/time_.h: Likewise.
104757         * lib/unistd_.h: Likewise.
104758         * lib/wchar_.h: Likewise.
104759         * lib/wctype_.h: Likewise.
104761 2007-05-29  Bruno Haible  <bruno@clisp.org>
104763         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
104764         for the moment.
104766 2007-05-29  Bruno Haible  <bruno@clisp.org>
104768         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
104769         invocation.
104770         Reported by Eric Blake.
104772 2007-05-29  Bruno Haible  <bruno@clisp.org>
104774         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
104775         compiling case.
104777 2007-05-29  Eric Blake  <ebb9@byu.net>
104778             Bruno Haible  <bruno@clisp.org>
104780         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
104781         cross compiles.
104783 2007-05-28  Eric Blake  <ebb9@byu.net>
104785         * modules/closein-tests (test_closein_LDADD): Support test on
104786         cygwin with libtool.
104788 2007-05-28  Bruno Haible  <bruno@clisp.org>
104790         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
104791         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
104792         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
104793         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
104794         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
104795         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
104796         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
104797         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
104798         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
104800 2007-05-28  Eric Blake  <ebb9@byu.net>
104802         Unconditionally include <config.h> in unit tests.
104803         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
104804         * tests/test-allocsa.c, tests/test-arcfour.c,
104805         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
104806         tests/test-array_list.c, tests/test-array_oset.c,
104807         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
104808         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
104809         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
104810         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
104811         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
104812         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
104813         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
104814         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
104815         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
104816         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
104817         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
104818         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
104819         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
104820         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
104821         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
104822         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
104823         test-md5.c, test-memmem.c, test-printf-posix.c,
104824         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
104825         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
104826         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
104827         test-strcasestr.c, test-striconv.c, test-striconveh.c,
104828         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
104829         test-vasnprintf-posix2.c, test-vasnprintf.c,
104830         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
104831         test-vfprintf-posix.c, test-vprintf-posix.c,
104832         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
104833         test-xvasprintf.c: Likewise.
104835 2007-05-28  Bruno Haible  <bruno@clisp.org>
104837         * gnulib-tool (func_import): Remember the --with-tests command-line
104838         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
104839         Reported by Eric Blake.
104841 2007-05-28  Bruno Haible  <bruno@clisp.org>
104843         * modules/ftell-tests: New file.
104844         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
104845         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
104847         * lib/ftell.c: New file.
104848         * modules/ftell: New file.
104849         * m4/ftell.m4: New file.
104850         * doc/functions/ftell.texi: Update.
104851         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
104852         REPLACE_FTELL.
104853         * lib/stdio_.h (rpl_ftell): New declaration.
104854         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
104855         REPLACE_FTELL.
104857 2007-05-28  Eric Blake  <ebb9@byu.net>
104859         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
104861 2007-05-28  Bruno Haible  <bruno@clisp.org>
104863         * modules/fseek-tests: New file.
104864         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
104865         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
104867         * lib/fseek.c: New file.
104868         * modules/fseek: New file.
104869         * m4/fseek.m4: New file.
104870         * doc/functions/fseek.texi: Update.
104871         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
104872         REPLACE_FSEEK.
104873         * lib/stdio_.h (rpl_fseek): New declaration.
104874         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
104875         REPLACE_FSEEK.
104877 2007-05-28  Bruno Haible  <bruno@clisp.org>
104879         * lib/stdio_.h (fflush): More comments.
104881 2007-05-28  Bruno Haible  <bruno@clisp.org>
104883         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
104884         runtime test.
104886 2007-05-28  Eric Blake  <ebb9@byu.net>
104888         Improve lseek module.
104889         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
104890         * lib/unistd_.h (lseek): Scale back link warning message.
104891         * tests/test-lseek.c: Beef up test.
104892         * tests/test-lseek.sh: Exercise more facets of lseek.
104893         Reported by Bruno Haible.
104895 2007-05-28  Bruno Haible  <bruno@clisp.org>
104897         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
104898         to define.
104900 2007-05-27  Bruno Haible  <bruno@clisp.org>
104902         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
104904 2007-05-27  Bruno Haible  <bruno@clisp.org>
104906         * modules/openmp: New file.
104907         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
104908         Noah Misch.
104910 2007-05-26  Bruno Haible  <bruno@clisp.org>
104912         * modules/chdir-long (Depends-on): Add fchdir.
104913         * modules/chdir-safer (Depends-on): Likewise.
104914         * modules/fts (Depends-on): Likewise.
104915         * modules/fts-lgpl (Depends-on): Likewise.
104916         * modules/openat (Depends-on): Likewise.
104917         * modules/savewd (Depends-on): Likewise.
104919 2007-05-24  Eric Blake  <ebb9@byu.net>
104921         Fix lseek on mingw.
104922         * modules/lseek: New module.
104923         * m4/lseek.m4: New file.
104924         * lib/lseek.c: New file.
104925         * modules/lseek-tests: New file.
104926         * tests/test-lseek.c: New file.
104927         * tests/test-lseek.sh: New file.
104928         * MODULES.html.sh: Document lseek module.
104929         * modules/fflush (Depends-on): Add lseek, fseeko.
104930         * modules/fseeko (Depends-on): Likewise.
104931         * modules/ftello (Depends-on): Likewise.
104932         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
104933         broken.
104934         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
104935         broken.
104936         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
104937         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
104938         * lib/ftello.c (rpl_ftello): Likewise.
104939         * tests/test-fseeko.c (main): Test this.
104940         * tests/test-fseeko.sh: Likewise.
104941         * tests/test-ftello.c (main): Likewise.
104942         * tests/test-ftello.sh: Likewise.
104943         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
104944         implies replacing fseek.
104945         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
104946         HAVE_FTELLO.
104947         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
104948         * modules/unistd (Makefile.am): Likewise.
104949         * lib/unistd_.h (lseek): Declare a replacement.
104950         * doc/functions/lseek.texi (lseek): Document this fix.
104951         * doc/functions/fseek.texi (fseek): Likewise.
104952         * doc/functions/ftell.texi (ftell): Likewise.
104954 2007-05-24  Bruno Haible  <bruno@clisp.org>
104956         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
104957         in the printed representation of a NaN.
104958         * tests/test-vasprintf-posix.c (test_function): Likewise.
104959         * tests/test-snprintf-posix.h (test_function): Likewise.
104960         * tests/test-sprintf-posix.h (test_function): Likewise.
104961         Reported by Eric Blake.
104963 2007-05-23  Eric Blake  <ebb9@byu.net>
104965         Fix fseeko/ftello on cygwin 1.5.24.
104966         * doc/functions/fseeko.texi (fseeko): Document the fix.
104967         * doc/functions/ftello.texi (ftello): Document the fix.
104968         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
104969         * doc/functions/stdout.text (stdout): New file.
104970         * doc/functions/stderr.text (stderr): New file.
104971         * doc/gnulib.texi (Function Substitutes): Use new files.
104972         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
104973         prior to 1.7.0.
104974         * tests/test-ftello.c (main): Likewise for ftello.
104975         * tests/test-fseeko.sh: New file.
104976         * tests/test-ftello.sh: New file.
104977         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
104978         with seekable stdin.
104979         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
104980         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
104981         (gl_REPLACE_FSEEKO): New macro.
104982         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
104983         * modules/fseeko (Files): Distribute fseeko.c.
104984         * modules/ftello (Files): Distribute ftello.c.
104985         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
104986         mode.
104987         * lib/ftello.c (rpl_ftello): New file.
104988         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
104989         fseeko, ftello.
104990         (gl_STDIN_LARGE_OFFSET): New macro.
104991         * modules/stdio (Makefile.am): Perform the replacement.
104992         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
104994 2007-05-23  Bruno Haible  <bruno@clisp.org>
104996         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
104997         GNULIB_POSIXCHECK is defined.
104999 2007-05-21  Bruno Haible  <bruno@clisp.org>
105001         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
105002         Check also the output for NaN arguments. When cross-compiling, guess
105003         no on IRIX.
105004         * lib/vasnprintf.c: Update comments.
105005         * tests/test-vasnprintf-posix.c (strisnan): New function.
105006         (test_function): Use it.
105007         * tests/test-vasprintf-posix.c (strisnan): New function.
105008         (test_function): Use it.
105009         * tests/test-snprintf-posix.h (strisnan): New function.
105010         (test_function): Use it.
105011         * tests/test-sprintf-posix.h (strisnan): New function.
105012         (test_function): Use it.
105013         Reported by Eric Blake.
105015 2007-05-20  Bruno Haible  <bruno@clisp.org>
105017         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
105018         numbers that fails on BeOS.
105019         * doc/functions/frexpl.texi: Update.
105021 2007-05-20  Jim Meyering  <jim@meyering.net>
105023         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
105024         forced upon us by glibc-2.6.
105026 2007-05-20  Bruno Haible  <bruno@clisp.org>
105028         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
105029         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
105030         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
105031         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
105032         NEED_PRINTF_INFINITE.
105033         (is_infinitel): New function.
105034         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
105035         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
105036         gl_PREREQ_VASNPRINTF_INFINITE.
105037         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
105038         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
105039         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
105040         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
105041         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
105042         gl_PREREQ_VASNPRINTF_INFINITE.
105043         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
105044         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105045         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105046         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105047         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105048         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105049         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105050         * doc/functions/fprintf.texi: Update.
105051         * doc/functions/printf.texi: Update.
105052         * doc/functions/snprintf.texi: Update.
105053         * doc/functions/sprintf.texi: Update.
105054         * doc/functions/vfprintf.texi: Update.
105055         * doc/functions/vprintf.texi: Update.
105056         * doc/functions/vsnprintf.texi: Update.
105057         * doc/functions/vsprintf.texi: Update.
105059 2007-05-20  Bruno Haible  <bruno@clisp.org>
105061         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
105062         was not found in libc.
105063         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
105065 2007-05-20  Bruno Haible  <bruno@clisp.org>
105067         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
105068         printed as "-nan" instead of "nan".
105069         * tests/test-vasprintf-posix.c (test_function): Likewise.
105070         * tests/test-snprintf-posix.h (test_function): Likewise.
105071         * tests/test-sprintf-posix.h (test_function): Likewise.
105072         Needed for HP-UX 11.
105074 2007-05-20  Jim Meyering  <jim@meyering.net>
105076         Fix buggy test for the fchownat-deref bug.
105077         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
105078         symlink required for the run-test.  Without it, this test would
105079         always declare that fchownat doesn't work, and client code would
105080         unnecessarily use the replacement function with fixed libc.
105081         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
105082         Reported by Greg Schafer.
105084 2007-05-19  Bruno Haible  <bruno@clisp.org>
105086         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
105087         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
105088         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
105089         Needed for IRIX 6.5 and Solaris 2.5.1.
105091 2007-05-19  Bruno Haible  <bruno@clisp.org>
105093         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
105094         (test_function): Skip tests involving -0.0 on platforms where
105095         -0.0 = 0.0.
105096         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
105097         (test_function): Skip tests involving -0.0 on platforms where
105098         -0.0 = 0.0.
105099         * tests/test-snprintf-posix.h (have_minus_zero): New function.
105100         (test_function): Skip tests involving -0.0 on platforms where
105101         -0.0 = 0.0.
105102         * tests/test-sprintf-posix.h (have_minus_zero): New function.
105103         (test_function): Skip tests involving -0.0 on platforms where
105104         -0.0 = 0.0.
105105         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
105106         tests.
105107         * tests/test-printf-posix.h (test_function): Likewise.
105108         * tests/test-printf-posix.output: Remove all -0.0 related results.
105109         Needed for IRIX 6.5.
105111 2007-05-19  Bruno Haible  <bruno@clisp.org>
105113         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
105114         printed as "nan0x7fffffff" instead of "nan".
105115         * tests/test-vasprintf-posix.c (test_function): Likewise.
105116         * tests/test-snprintf-posix.h (test_function): Likewise.
105117         * tests/test-sprintf-posix.h (test_function): Likewise.
105118         * tests/test-fprintf-posix.h (NaN): Remove macro.
105119         (test_function): Remove all NaN related tests.
105120         * tests/test-printf-posix.h (NaN): Remove macro.
105121         (test_function): Remove all NaN related tests.
105122         * tests/test-printf-posix.output: Remove all NaN related results.
105123         Needed for IRIX 6.5.
105125 2007-05-19  Bruno Haible  <bruno@clisp.org>
105127         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
105128         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
105130 2007-05-19  Bruno Haible  <bruno@clisp.org>
105132         * lib/float_.h: New file.
105133         * m4/float_h.m4: New file.
105134         * modules/float: New file.
105135         * modules/isnanl (Dependencies): Add float.
105136         * modules/isnanl-nolibm (Dependencies): Likewise.
105137         * modules/mathl (Dependencies): Likewise.
105138         * modules/printf-frexpl (Dependencies): Likewise.
105139         * modules/signbit (Dependencies): Likewise.
105140         * modules/vasnprintf (Dependencies): Likewise.
105141         * doc/headers/float.texi: Update.
105143 2007-05-19  Jim Meyering  <jim@meyering.net>
105145         * lib/utimens.c (gl_futimens): Rename from futimens,
105146         now that glibc-2.6 declares futimens.
105147         * lib/utimens.h: Likewise.
105149 2007-05-19  Bruno Haible  <bruno@clisp.org>
105151         Avoid test failures on mingw.
105152         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
105153         * tests/test-printf-posix.sh: Likewise.
105154         * tests/test-vfprintf-posix.sh: Likewise.
105155         * tests/test-vprintf-posix.sh: Likewise.
105157 2007-05-19  Bruno Haible  <bruno@clisp.org>
105159         Fix *printf result for NaN, Inf, -0.0 on mingw.
105160         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
105161         * lib/vasnprintf.c: Include math.h and isnan.h.
105162         (is_infinite_or_zero): New function.
105163         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
105164         values in the %f, %F, %e, %E, %g, %G directives.
105165         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
105166         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
105167         gl_PRINTF_INFINITE and test its result. Invoke
105168         gl_PREREQ_VASNPRINTF_INFINITE.
105169         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
105170         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105171         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105172         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105173         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105174         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105175         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105176         * doc/functions/fprintf.texi: Update.
105177         * doc/functions/printf.texi: Update.
105178         * doc/functions/snprintf.texi: Update.
105179         * doc/functions/sprintf.texi: Update.
105180         * doc/functions/vfprintf.texi: Update.
105181         * doc/functions/vprintf.texi: Update.
105182         * doc/functions/vsnprintf.texi: Update.
105183         * doc/functions/vsprintf.texi: Update.
105185 2007-05-19  Bruno Haible  <bruno@clisp.org>
105187         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
105188         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
105189         Instead of multiplying with 10^k, set extra_zeroes to k.
105190         (scale10_round_long_double): Remove function.
105192 2007-05-18  Bruno Haible  <bruno@clisp.org>
105194         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
105195         introduced on 2007-05-06.
105197 2007-05-18  Bruno Haible  <bruno@clisp.org>
105199         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
105200         %g directives.
105201         * tests/test-vasprintf-posix.c (test_function): Likewise.
105202         * tests/test-snprintf-posix.h (test_function): Likewise.
105203         * tests/test-sprintf-posix.h (test_function): Likewise.
105205 2007-05-18  Bruno Haible  <bruno@clisp.org>
105207         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
105208         (strmatch): New function.
105209         (test_function): Test the %f directive on numbers of various exponents.
105210         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
105211         (strmatch): New function.
105212         (test_function): Test the %f directive on numbers of various exponents.
105213         * tests/test-snprintf-posix.h (strmatch): New function.
105214         (test_function): Test the %f directive on numbers of various exponents.
105215         * tests/test-sprintf-posix.h (strmatch): New function.
105216         (test_function): Test the %f directive on numbers of various exponents.
105217         * tests/test-snprintf-posix.c (SIZEOF): New macro.
105218         * tests/test-sprintf-posix.c (SIZEOF): New macro.
105219         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
105220         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
105222 2007-05-18  Bruno Haible  <bruno@clisp.org>
105224         Add support for 'long double' number output.
105225         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
105226         * lib/vasnprintf.c: Include math.h and float+.h.
105227         (mp_limb_t): New type.
105228         (GMP_LIMB_BITS): New macro.
105229         (mp_twolimb_t): New type.
105230         (GMP_TWOLIMB_BITS): New macro.
105231         (mpn_t): New type.
105232         (multiply, divide, convert_to_decimal, decode_long_double,
105233         scale10_round_long_double, scale10_round_decimal_long_double,
105234         floorlog10l): New functions.
105235         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
105236         for the %f, %F, %e, %E, %g, %G directives.
105237         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
105238         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
105239         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
105240         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
105241         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
105242         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105243         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105244         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105245         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105246         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105247         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105248         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
105249         * modules/snprintf-posix (Depends-on): Likewise.
105250         * modules/sprintf-posix (Depends-on): Likewise.
105251         * modules/vasnprintf-posix (Depends-on): Likewise.
105252         * modules/vasprintf-posix (Depends-on): Likewise.
105253         * modules/vfprintf-posix (Depends-on): Likewise.
105254         * modules/vsnprintf-posix (Depends-on): Likewise.
105255         * modules/vsprintf-posix (Depends-on): Likewise.
105256         * modules/vasnprintf (Files): Add lib/float+.h.
105257         * doc/functions/fprintf.texi: Update.
105258         * doc/functions/printf.texi: Update.
105259         * doc/functions/snprintf.texi: Update.
105260         * doc/functions/sprintf.texi: Update.
105261         * doc/functions/vfprintf.texi: Update.
105262         * doc/functions/vprintf.texi: Update.
105263         * doc/functions/vsnprintf.texi: Update.
105264         * doc/functions/vsprintf.texi: Update.
105266 2007-05-18  Bruno Haible  <bruno@clisp.org>
105268         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
105270 2007-05-18  Bruno Haible  <bruno@clisp.org>
105272         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
105273         for printing 64-bit integers. Needed for mingw.
105275 2007-05-18  Bruno Haible  <bruno@clisp.org>
105277         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
105278         gl_FUNC_FREXPL_WORKS.
105279         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
105281 2007-05-18  Bruno Haible  <bruno@clisp.org>
105283         * modules/frexpl-nolibm-tests: New file.
105285         * modules/frexpl-nolibm: New file.
105286         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
105288 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
105290         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
105291         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
105292         GCC 4.2, which otherwise issues a lot of warnings.
105293         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
105294         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
105295         Likewise.
105296         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
105297         * modules/iconv_open (iconv.h): Likewise.
105298         * modules/locale (locale.h): Likewise.
105299         * modules/netinet_in (netinet/in.h): Likewise.
105300         * modules/sys_select (sys_select.h): Likewise.
105301         * modules/sys_socket (sys/socket.h): Likewise.
105302         * modules/sys_stat (sys/stat.h): Likewise.
105303         * modules/sysexits (sysexits.h): Likewise.
105304         * modules/unistd (unistd.h): Likewise.
105306 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
105308         * modules/closein-tests (Makefile.am): Distribute
105309         `test-closein.sh'.
105311 2007-05-17  Bruno Haible  <bruno@clisp.org>
105313         * tests/test-printf-posix.output: Renamed from
105314         tests/test-fprintf-posix.out.
105315         * modules/fprintf-posix-tests: Update.
105316         * modules/printf-posix-tests: Update.
105317         * modules/vfprintf-posix-tests: Update.
105318         * modules/vprintf-posix-tests: Update.
105319         * tests/test-fprintf-posix.sh: Update.
105320         * tests/test-printf-posix.sh: Update.
105321         * tests/test-vfprintf-posix.sh: Update.
105322         * tests/test-vprintf-posix.sh: Update.
105323         Reported by Ralf Wildenhues.
105325 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
105327         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
105328         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
105329         GCC 4.2, which otherwise issues a lot of warnings.
105330         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
105331         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
105332         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
105333         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
105334         it should no longer be needed.
105335         * lib/string_.h: Likewise.
105336         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
105337         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
105338         * modules/inttypes (inttypes.h): Likewise.
105339         * modules/math (math.h): Likewise.
105340         * modules/search (search.h): Likewise.
105341         * modules/signal (signal.h): Likewise.
105342         * modules/stdint (stdint.h): Likewise.
105343         * modules/stdio (stdio.h): Likewise.
105344         * modules/stdlib (stdlib.h): Likewise.
105345         * modules/string (string.h): Likewise.
105346         * modules/sys_time (sys/time.h): Likewise.
105347         * modules/time (time.h): Likewise.
105348         * modules/wchar (wchar.h): Likewise.
105349         * modules/wctype (wtype.h): Likewise.
105351 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
105353         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
105355 2007-05-13  Bruno Haible  <bruno@clisp.org>
105357         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
105358         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
105359         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
105360         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
105361         (gl_PREREQ_STRTOK_R): Don't require it here.
105363 2007-05-13  Bruno Haible  <bruno@clisp.org>
105365         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
105366         when used in C++ mode.
105368 2007-05-12  Bruno Haible  <bruno@clisp.org>
105370         * lib/linebuffer.h: Tweak doc.
105371         * lib/linebuffer.c: Likewise.
105373 2007-05-12  James Youngman  <jay@gnu.org>
105375         * lib/linebuffer.c (readlinebuffer_delim): New function,
105376         like readlinebuffer, but use a caller-specified delimiter.
105377         (readlinebuffer): Just call readlinebuffer_delim with '\n'
105378         as the delimiter.
105379         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
105381 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
105383         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
105384         * modules/openat (Files): Remove openat-die.c.
105385         (Depends-on): Add openat-die.
105386         * modules/openat-die: New module.
105388 2007-05-06  Bruno Haible  <bruno@clisp.org>
105390         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
105391         Update with info about Cygwin.
105392         * doc/functions/fprintf.texi: Update.
105393         * doc/functions/printf.texi: Update.
105394         * doc/functions/snprintf.texi: Update.
105395         * doc/functions/sprintf.texi: Update.
105396         * doc/functions/vfprintf.texi: Update.
105397         * doc/functions/vprintf.texi: Update.
105398         * doc/functions/vsnprintf.texi: Update.
105399         * doc/functions/vsprintf.texi: Update.
105400         Reported by Eric Blake.
105402 2007-05-06  Bruno Haible  <bruno@clisp.org>
105404         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
105405         padding ourselves for the floating-point directives.
105406         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
105407         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
105408         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
105409         gl_PRINTF_FLAG_ZERO and test its result. Invoke
105410         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
105411         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105412         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
105413         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105414         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105415         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105416         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105417         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105418         * tests/test-snprintf-posix.h (test_function): Also check the width
105419         and some flags in the %f directive.
105420         * tests/test-sprintf-posix.h (test_function): Likewise.
105421         * tests/test-vasnprintf-posix.c (test_function): Likewise.
105422         * tests/test-vasprintf-posix.c (test_function): Likewise.
105423         * doc/functions/fprintf.texi: Update.
105424         * doc/functions/printf.texi: Update.
105425         * doc/functions/snprintf.texi: Update.
105426         * doc/functions/sprintf.texi: Update.
105427         * doc/functions/vfprintf.texi: Update.
105428         * doc/functions/vprintf.texi: Update.
105429         * doc/functions/vsnprintf.texi: Update.
105430         * doc/functions/vsprintf.texi: Update.
105432 2007-05-06  Bruno Haible  <bruno@clisp.org>
105434         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
105435         pass the ' flag character to sprintf or snprintf.
105436         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
105437         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
105438         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
105439         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
105440         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
105441         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105442         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
105443         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105444         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105445         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105446         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105447         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105448         * tests/test-snprintf-posix.h (test_function): Also check the grouping
105449         flag.
105450         * tests/test-sprintf-posix.h (test_function): Likewise.
105451         * tests/test-vasnprintf-posix.c (test_function): Likewise.
105452         * tests/test-vasprintf-posix.c (test_function): Likewise.
105453         * doc/functions/fprintf.texi: Update.
105454         * doc/functions/printf.texi: Update.
105455         * doc/functions/snprintf.texi: Update.
105456         * doc/functions/sprintf.texi: Update.
105457         * doc/functions/vfprintf.texi: Update.
105458         * doc/functions/vprintf.texi: Update.
105459         * doc/functions/vsnprintf.texi: Update.
105460         * doc/functions/vsprintf.texi: Update.
105462 2007-05-01  Bruno Haible  <bruno@clisp.org>
105464         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
105466 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
105468         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
105469         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
105471 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
105473         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
105474         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
105475         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.
105477 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
105479         * lib/argp-help.c (struct hol_entry): New member `ord'.
105480         (HOL_ENTRY_PTRCMP): Use ord for comparison
105481         (hol_sort): Initialize ord.
105483 2007-05-01  Bruno Haible  <bruno@clisp.org>
105485         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
105486         Reported by Eric Blake.
105487         * doc/gnulib.texi (Function Substitutes): Update.
105489 2007-05-01  Bruno Haible  <bruno@clisp.org>
105491         * doc/functions.texi: Remove file, now redundant through
105492         doc/functions/*.texi.
105494 2007-05-01  Bruno Haible  <bruno@clisp.org>
105496         * modules/argp (Depends-on): Add sleep.
105498 2007-05-01  Bruno Haible  <bruno@clisp.org>
105500         * modules/sleep-tests: New file.
105501         * tests/test-sleep.c: New file.
105503         * modules/sleep: New file.
105504         * lib/sleep.c: New file.
105505         * m4/sleep.m4: New file.
105506         * lib/unistd_.h (sleep): New declaration.
105507         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
105508         HAVE_SLEEP.
105509         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
105510         * doc/functions/sleep.texi: Document the sleep module.
105512 2007-05-01  Bruno Haible  <bruno@clisp.org>
105514         * lib/sigprocmask.h: Remove file.
105515         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
105516         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
105517         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
105518         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
105519         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
105520         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
105521         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
105522         HAVE_SIGSET_T as a shell variable.
105523         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
105524         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
105525         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
105526         (Depends-on): Add signal. Remove verify.
105527         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
105528         (Include): Mention <signal.h> instead of sigprocmask.h.
105529         * NEWS: Mention the change.
105530         * lib/fatal-signal.c: Don't include sigprocmask.h.
105532 2007-05-01  Bruno Haible  <bruno@clisp.org>
105534         * modules/signal: New file.
105535         * lib/signal_.h: New file.
105536         * m4/signal_h.m4: New file.
105538 2007-05-01  Bruno Haible  <bruno@clisp.org>
105540         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
105541         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
105542         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
105543         HAVE_WCTYPE_CTMP_BUG into wctype.h.
105545 2007-05-01  Bruno Haible  <bruno@clisp.org>
105547         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
105548         configure time.
105549         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
105550         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
105551         * modules/sys_stat (Makefile.am): Substitute their values into
105552         sys/stat.h.
105554 2007-05-01  Bruno Haible  <bruno@clisp.org>
105556         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
105557         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
105558         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
105560 2007-05-01  Bruno Haible  <bruno@clisp.org>
105562         * doc/header/assert.texi: Undo last change: don't mention the gnulib
105563         'assert' module here.
105565 2007-05-01  Bruno Haible  <bruno@clisp.org>
105567         * doc/functions/*.texi: New files.
105568         * doc/functions/google-ranking.txt: New file.
105569         * doc/gnulib.texi (Function Substitutes): New chapter.
105570         (ctime, inet_ntoa): Remove sections.
105571         * doc/ctime.texi: Remove file.
105572         * doc/inet_ntoa.texi: Remove file.
105573         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
105574         dependencies.
105575         (%.info): New rule, specifying a --reference-limit.
105577 2007-05-01  Bruno Haible  <bruno@clisp.org>
105579         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
105581 2007-05-01  Bruno Haible  <bruno@clisp.org>
105583         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
105584         the portability of 'mkdir' to mingw systems.
105586 2007-05-01  Bruno Haible  <bruno@clisp.org>
105588         * doc/headers/google-ranking.txt: New file.
105590 2007-04-30  Eric Blake  <ebb9@byu.net>
105592         Prefer fseeko to fseek.
105593         * modules/getpass (Depends-on): Add fseeko.
105594         * lib/getpass.c (getpass): Use fseeko, not fseek.
105596 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
105598         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
105599         assumes the sorting is stable, while most qsort implementations
105600         are not.  Use argument addresses to ensure they never compare as
105601         equal.
105603         * tests/test-argp-2.sh (usage-indent test): Fix output
105604         (func_compare): Restore diff options
105605         * tests/test-argp.c: Restore #include "progname.h"
105607 2007-04-29  Bruno Haible  <bruno@clisp.org>
105609         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
105610         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
105611         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
105612         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105613         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
105614         (configure.ac): Define CHECK_SNPRINTF_POSIX.
105615         (TESTS, check_PROGRAMS): Add test-snprintf.
105616         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
105617         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
105618         (TESTS, check_PROGRAMS): Add test-vsnprintf.
105619         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
105620         assertions that fail on HP-UX, OSF/1, or IRIX.
105621         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
105623 2007-04-29  Bruno Haible  <bruno@clisp.org>
105625         * MODULES.html.sh (posix_functions): Remove 'contents'.
105627 2007-04-29  Karl Berry  <karl@gnu.org>
105629         * config/srclist.txt (gendocs_template_min): new entry.
105631 2007-04-29  Bruno Haible  <bruno@clisp.org>
105633         Work around fpurge bug on BSD systems.
105634         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
105635         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
105636         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
105637         fpurge to rpl_fpurge if the system already has this function.
105638         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
105639         the case where the system already has this function. Correct invariants
105640         on BSD systems.
105641         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
105642         BSD systems.
105644 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
105646         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
105647         proposed by Sven Verdoolaege.
105649         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
105650         options.
105651         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
105652         (usage and help tests): Update
105654 2007-04-29  Bruno Haible  <bruno@clisp.org>
105656         * tests/test-fflush.c (main): Use a file of size 17, not 10.
105657         Print more information in case of failure. Disable a test on BeOS.
105659 2007-04-29  Bruno Haible  <bruno@clisp.org>
105661         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
105662         This helps debugging on systems on which no gdb is available.
105664 2007-04-29  Bruno Haible  <bruno@clisp.org>
105666         * lib/freading.h: Improve comments.
105667         * lib/fwriting.h: Likewise.
105668         * tests/test-freading.c (main): Don't check freading immediately after
105669         repositioning. Needed for glibc.
105671 2007-04-29  Bruno Haible  <bruno@clisp.org>
105673         * lib/freading.c (freading): Trivial simplification.
105675 2007-04-28  Bruno Haible  <bruno@clisp.org>
105677         * tests/test-fwriting.c (main): Also test the interaction between
105678         fflush and fwriting.
105679         * modules/fwriting-tests (Depends-on): Add fflush.
105681         * tests/test-freading.c (main): Also test the interaction between
105682         fflush and freading.
105683         * modules/freading-tests (Depends-on): Add fflush.
105685 2007-04-28  Bruno Haible  <bruno@clisp.org>
105687         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
105688         fseeko and ftello.
105689         Suggested by Eric Blake.
105691 2007-04-28  Jim Meyering  <jim@meyering.net>
105693         Avoid false-negative in gl_STDINT_H's C99 conformance test.
105694         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
105695         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
105697 2007-04-27  Eric Blake  <ebb9@byu.net>
105699         * doc/headers/assert.texi (assert.h): Document assert module use.
105701 2007-04-27  Bruno Haible  <bruno@clisp.org>
105703         * doc/headers/*.texi: New files.
105704         * doc/gnulib.texi (Header File Substitutes): New chapter.
105705         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
105706         dependencies.
105707         (standards.info ,standards.html, standards.dvi): Update dependencies.
105708         (mostlyclean, clean): New targets.
105710 2007-04-27  Bruno Haible  <bruno@clisp.org>
105712         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
105713         * modules/sysexits (Files, Makefile.am): Update.
105715         * lib/sys_socket_.h: Renamed from lib/socket_.h.
105716         * modules/sys_socket (Files, Makefile.am): Update.
105718         * lib/sys_stat_.h: Renamed from lib/stat_.h.
105719         * modules/sys_stat (Files, Makefile.am): Update.
105721 2007-04-27  Eric Blake  <ebb9@byu.net>
105723         * lib/freading.h: Improve comments.
105724         * lib/fwriting.h: Likewise.
105725         * lib/fflush.c: Likewise.
105727         Fix closein for mingw.
105728         * modules/closein-tests: Add tests for closein.
105729         * tests/test-closein.c: New file.
105730         * tests/test-closein.sh: Likewise.
105731         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
105732         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
105734 2007-04-27  Bruno Haible  <bruno@clisp.org>
105736         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
105737         version is < 6.
105738         * lib/math_.h [__DECC]: Likewise.
105739         * lib/stdio_.h [__DECC]: Likewise.
105740         * lib/stdlib_.h [__DECC]: Likewise.
105741         * lib/string_.h [__DECC]: Likewise.
105742         * lib/time_.h [__DECC]: Likewise.
105743         * lib/wchar_.h [__DECC]: Likewise.
105744         * lib/wctype_.h [__DECC]: Likewise.
105746 2007-04-27  Bruno Haible  <bruno@clisp.org>
105748         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
105750 2007-04-27  Bruno Haible  <bruno@clisp.org>
105752         * lib/fflush.c: Add comments.
105753         * modules/fpurge-tests (Depends-on): Add fflush.
105754         * modules/freadable-tests (Depends-on): Likewise.
105755         * modules/fwritable-tests (Depends-on): Likewise.
105757 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
105759         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
105760         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
105761         Report by Bruno Haible <bruno@clisp.org>.
105763 2007-04-26  Eric Blake  <ebb9@byu.net>
105765         Fix fflush on mingw.
105766         * modules/fflush (Depends-on): Add freading.
105767         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
105768         but unread data.
105770 2007-04-26  Eric Blake  <ebb9@byu.net>
105771         and Bruno Haible  <bruno@clisp.org>
105773         Implement freading and fwriting.
105774         * lib/freading.c: New file.
105775         * lib/freading.h: Likewise.
105776         * m4/freading.m4: Likewise.
105777         * modules/freading: Likewise.
105778         * modules/freading-tests: Likewise.
105779         * tests/test-freading.c: Likewise.
105780         * lib/fwriting.c: New file.
105781         * lib/fwriting.h: Likewise.
105782         * m4/fwriting.m4: Likewise.
105783         * modules/fwriting: Likewise.
105784         * modules/fwriting-tests: Likewise.
105785         * tests/test-fwriting.c: Likewise.
105786         * MODULES.html.sh (File stream based Input/Output): Mention them.
105788 2007-04-26  Bruno Haible  <bruno@clisp.org>
105790         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
105791         'long' when we assume it.
105792         Suggested by Eric Blake.
105794 2007-04-26  Bruno Haible  <bruno@clisp.org>
105796         Ensure fseeko, ftello are declared on glibc systems.
105797         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
105798         * modules/fseeko (configure.ac-early): Likewise.
105799         * modules/ftello (configure.ac-early): Likewise.
105800         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
105801         AC_FUNC_FSEEKO for this.
105802         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
105803         (gl_CHECK_FSEEKO): Remove macro.
105805 2007-04-26  Bruno Haible  <bruno@clisp.org>
105807         * tests/test-fflush.c (main): Also check the ftell result after
105808         fflush and fseek/fseeko.
105809         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
105810         file descriptor position cache in the stream.
105811         * lib/fseeko.c (rpl_fseeko): Likewise.
105813 2007-04-26  Bruno Haible  <bruno@clisp.org>
105815         * modules/fflush-tests (Depends-on): Add fseeko.
105817 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
105818             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
105820         * lib/argz_.h: ensure error_t definition is obtained in same
105821         mechanism system argz.h would have.
105822         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
105823         argz facilities are known bad.  Err on the side of caution if
105824         cross-compiling.
105826 2007-04-25  Eric Blake  <ebb9@byu.net>
105828         * lib/fpurge.c (includes): Use stdlib.h for free.
105829         * tests/test-fflush.c (main): Also test fflush-fseeko.
105831 2007-04-25  Bruno Haible  <bruno@clisp.org>
105833         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
105834         * lib/fseeko.c: New file.
105835         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
105836         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
105837         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
105838         gl_FUNC_FSEEKO.
105839         (gl_FUNC_FSEEKO): Invoke it.
105840         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
105841         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
105842         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
105844 2007-04-25  Bruno Haible  <bruno@clisp.org>
105846         * modules/fflush (Depends-on): Add ftello.
105848 2007-04-25  Bruno Haible  <bruno@clisp.org>
105850         * modules/ftello-tests: New file.
105851         * tests/test-ftello.c: New file.
105853         * modules/ftello: New file.
105854         * m4/ftello.m4: New file.
105855         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
105856         HAVE_FTELLO.
105857         * lib/stdio_.h (ftello): New declaration.
105858         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
105859         HAVE_FTELLO.
105861 2007-04-25  Bruno Haible  <bruno@clisp.org>
105863         * modules/fseeko-tests: New file.
105864         * tests/test-fseeko.c: New file.
105866         * modules/fseeko: New file.
105867         * m4/fseeko.m4: New file.
105868         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
105869         HAVE_FSEEKO.
105870         * lib/stdio_.h (fseeko): New declaration.
105871         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
105872         HAVE_FSEEKO.
105874 2007-04-25  Bruno Haible  <bruno@clisp.org>
105876         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
105878 2007-04-25  Bruno Haible  <bruno@clisp.org>
105880         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
105881         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
105882         * tests/test-unistd.c: Likewise.
105883         * tests/test-fcntl.c: Likewise.
105885 2007-04-23  Eric Blake  <ebb9@byu.net>
105887         * lib/fflush.c: Fix missing include.
105888         Reported by Bruno Haible.
105890 2007-04-23  Bruno Haible  <bruno@clisp.org>
105892         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
105893         Reported by Eric Blake.
105895 2007-04-23  Bruno Haible  <bruno@clisp.org>
105897         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
105899 2007-04-23  Bruno Haible  <bruno@clisp.org>
105901         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
105903 2007-04-23  Bruno Haible  <bruno@clisp.org>
105905         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
105906         Needed on HP-UX 11.
105908 2007-04-16  Eric Blake  <ebb9@byu.net>
105910         Make fflush rely on fpurge.
105911         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
105912         open coding all variants.
105913         * modules/fflush (Depends-on): Add fpurge and unistd.
105914         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
105915         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
105917         Fix --with-tests compilation on cygwin.
105918         * modules/argmatch-tests (Makefile.am): List gnulib library first
105919         in LDADD.
105920         * modules/argp-tests (Makefile.am): Likewise.
105921         * modules/array-list-tests (Makefile.am): Likewise.
105922         * modules/array-oset-tests (Makefile.am): Likewise.
105923         * modules/avltree-list-tests (Makefile.am): Likewise.
105924         * modules/avltree-oset-tests (Makefile.am): Likewise.
105925         * modules/avltreehash-list-tests (Makefile.am): Likewise.
105926         * modules/carray-list-tests (Makefile.am): Likewise.
105927         * modules/dirname-tests (Makefile.am): Likewise.
105928         * modules/frexp-tests (Makefile.am): Likewise.
105929         * modules/isnanl-tests (Makefile.am): Likewise.
105930         * modules/linked-list-tests (Makefile.am): Likewise.
105931         * modules/linkedhash-list-tests (Makefile.am): Likewise.
105932         * modules/lock-tests (Makefile.am): Likewise.
105933         * modules/rbtree-list-tests (Makefile.am): Likewise.
105934         * modules/rbtree-oset-tests (Makefile.am): Likewise.
105935         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
105936         * modules/tls-tests (Makefile.am): Likewise.
105937         * modules/tsearch-tests (Makefile.am): Likewise.
105938         * modules/xvasprintf-tests (Makefile.am): Likewise.
105940         Fix fpurge for cygwin.
105941         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
105942         value.
105943         * modules/fpurge-tests (Depends-on): Clean up trash.
105945 2007-04-16  Simon Josefsson  <simon@josefsson.org>
105947         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
105949         * m4/autobuild.m4: Re-indent.
105951 2007-04-13  Bruno Haible  <bruno@clisp.org>
105953         * modules/fpurge-tests: New file.
105954         * tests/test-fpurge.c: New file.
105956         * modules/fpurge: New file.
105957         * lib/fpurge.h: New file.
105958         * lib/fpurge.c: New file.
105959         * m4/fpurge.m4: New file.
105961 2007-04-13  Bruno Haible  <bruno@clisp.org>
105963         * modules/fbufmode-tests: New file.
105964         * tests/test-fbufmode.c: New file.
105966         * modules/fbufmode: New file.
105967         * lib/fbufmode.h: New file.
105968         * lib/fbufmode.c: New file.
105969         * m4/fbufmode.m4: New file.
105971 2007-04-13  Bruno Haible  <bruno@clisp.org>
105973         * modules/fwritable-tests: New file.
105974         * tests/test-fwritable.c: New file.
105976         * modules/fwritable: New file.
105977         * lib/fwritable.h: New file.
105978         * lib/fwritable.c: New file.
105979         * m4/fwritable.m4: New file.
105981 2007-04-13  Bruno Haible  <bruno@clisp.org>
105983         * modules/freadable-tests: New file.
105984         * tests/test-freadable.c: New file.
105986         * modules/freadable: New file.
105987         * lib/freadable.h: New file.
105988         * lib/freadable.c: New file.
105989         * m4/freadable.m4: New file.
105991 2007-04-13  Bruno Haible  <bruno@clisp.org>
105993         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
105994         MOSTLYCLEANFILES.
105996 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
105998         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
105999         gzip bootstrap.conf to avoid dragging in i18n machinery.
106000         (gnulib_tool_option): Use it.
106002 2007-04-13  Bruno Haible  <bruno@clisp.org>
106004         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
106005         %F directives.
106006         * tests/test-vasprintf-posix.c (test_function): Likewise.
106007         * tests/test-snprintf-posix.h (test_function): Likewise.
106008         * tests/test-sprintf-posix.h (test_function): Likewise.
106009         * tests/test-fprintf-posix.h (test_function): Likewise.
106010         * tests/test-printf-posix.h (test_function): Likewise.
106011         * tests/test-fprintf-posix.out: Likewise.
106013 2007-04-13  Bruno Haible  <bruno@clisp.org>
106015         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
106016         * modules/tls-tests (configure.ac): Likewise.
106017         Reported by Arto C. Nirkko <anirkko@insel.ch>.
106019 2007-04-13  Bruno Haible  <bruno@clisp.org>
106021         * lib/tls.c (glthread_tls_get): Fix return type.
106022         Patch by Arto C. Nirkko <anirkko@insel.ch>.
106024 2007-04-12  Eric Blake  <ebb9@byu.net>
106026         * modules/gettime (Depends-on): Remove gettime.
106027         Reported by Dmitry V. Levin.
106029 2007-04-12  Bruno Haible  <bruno@clisp.org>
106031         * modules/fflush (Include): Mention <stdio.h>.
106032         * modules/strtoimax (Include): Mention <inttypes.h>.
106033         * modules/strtoumax (Include): Likewise.
106035 2007-04-12  Eric Blake  <ebb9@byu.net>
106037         * .cvsignore: New file.
106038         * .gitignore: Likewise.
106040 2007-04-12  Bruno Haible  <bruno@clisp.org>
106042         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
106043         not before, since $(LDADD) often contains libgnu.a.
106044         * modules/striconv-tests (test_striconv_LDADD): Likewise.
106045         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
106046         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
106047         Needed on Cygwin.
106049 2007-04-12  Eric Blake  <ebb9@byu.net>
106051         Work around glibc's failure to flush stdin on fclose.
106052         * lib/closein.c (close_stdin): Flush stdin before closing.
106054         Work around glibc's failure to reset seekable stdin on exit.
106055         * modules/closein: New module.
106056         * lib/closein.c: New file.
106057         * lib/closein.h: Likewise.
106058         * m4/closein.m4: Likewise.
106059         * MODULES.html.sh (File stream based Input/Output): Document it.
106061 2007-04-12  Simon Josefsson  <simon@josefsson.org>
106063         * gnulib-tool: Rename generated 'autobuild' script to
106064         'do-autobuild' in --create-megatestdir output.
106066         * doc/gnulib.texi (Build robot for gnulib): Fix.
106068 2007-04-12  Simon Josefsson  <simon@josefsson.org>
106070         * modules/sysexits (Depends-on): Add absolute-header.
106072 2007-04-12  Eric Blake  <ebb9@byu.net>
106074         No need to preserve errno on success.
106075         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
106076         Reported by Bruno Haible.
106078 2007-04-12  Simon Josefsson  <simon@josefsson.org>
106080         * MODULES.html.sh (Support for maintaining and releasing
106081         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
106083 2007-04-12  Simon Josefsson  <simon@josefsson.org>
106085         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
106087 2007-04-12  Simon Josefsson  <simon@josefsson.org>
106089         * modules/autobuild: New module.
106091         * m4/autobuild.m4: New file.
106093 2007-04-11  Bruno Haible  <bruno@clisp.org>
106095         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
106096         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
106097         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
106098         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
106099         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
106100         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106101         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106102         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
106103         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106104         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106105         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
106106         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106107         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106108         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
106109         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106110         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106111         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
106112         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106113         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106114         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
106115         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106116         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106117         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
106118         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106119         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106120         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
106121         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106122         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106123         Reported by Eric Blake.
106125 2007-04-11  Bruno Haible  <bruno@clisp.org>
106127         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
106129 2007-04-10  Bruno Haible  <bruno@clisp.org>
106131         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
106132         for NaN and Infinity. Needed on FreeBSD 6.1.
106133         * tests/test-vasnprintf-posix.c (test_function): Undo last change
106134         regarding results for "%010a" of Infinity and NaN.
106135         * tests/test-vasprintf-posix.c (test_function): Likewise.
106136         * tests/test-snprintf-posix.h (test_function): Likewise.
106137         * tests/test-sprintf-posix.h (test_function): Likewise.
106138         * tests/test-fprintf-posix.h (test_function): Likewise.
106139         * tests/test-printf-posix.h (test_function): Likewise.
106140         * tests/test-fprintf-posix.out: Likewise.
106142 2007-04-10  Bruno Haible  <bruno@clisp.org>
106144         * modules/locale-tests: New file.
106145         * tests/test-locale.c: New file.
106147         * modules/locale: New file.
106148         * lib/locale_.h: New file.
106149         * m4/locale_h.m4: New file.
106151 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
106152             Bruno Haible  <bruno@clisp.org>
106154         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
106155         be determined, test for availability of the copysignf, copysign,
106156         copysignl functions.
106157         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
106158         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
106159         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
106161 2007-04-09  Eric Blake  <ebb9@byu.net>
106163         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
106164         * modules/stdio (Makefile.am): Support fflush.
106165         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
106166         * modules/fflush: New file.
106167         * lib/fflush.c: Likewise.
106168         * m4/fflush.m4: Likewise.
106169         * modules/fflush-tests: New test.
106170         * tests/test-fflush.c: Likewise.
106171         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
106173 2007-04-06  Bruno Haible  <bruno@clisp.org>
106175         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
106176         (VASNPRINTF): Use signbit for faster determination whether to print a
106177         minus sign.
106178         * modules/vasnprintf (Files): Remove lib/float+.h.
106179         * modules/fprintf-posix (Depends-on): Add signbit.
106180         * modules/snprintf-posix (Depends-on): Likewise.
106181         * modules/sprintf-posix (Depends-on): Likewise.
106182         * modules/vasnprintf-posix (Depends-on): Likewise.
106183         * modules/vasprintf-posix (Depends-on): Likewise.
106184         * modules/vfprintf-posix (Depends-on): Likewise.
106185         * modules/vsnprintf-posix (Depends-on): Likewise.
106186         * modules/vsprintf-posix (Depends-on): Likewise.
106188 2007-04-06  Bruno Haible  <bruno@clisp.org>
106190         * tests/test-frexp.c (main): Test also the sign bit of zero results.
106191         * tests/test-frexpl.c (main): Likewise.
106192         * tests/test-ldexpl.c (main): Likewise.
106193         * modules/frexp-tests (Depends-on): Add signbit.
106194         * modules/frexpl-tests (Depdends-on): Likewise.
106195         * modules/ldexpl-tests (Depdends-on): Likewise.
106197 2007-04-06  Bruno Haible  <bruno@clisp.org>
106199         * modules/signbit-tests: New file.
106200         * tests/test-signbit.c: New file.
106202         * modules/signbit: New file.
106203         * lib/signbitf.c: New file.
106204         * lib/signbitd.c: New file.
106205         * lib/signbitl.c: New file.
106206         * m4/signbit.m4: New file.
106207         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
106208         (signbit): New macro.
106209         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
106210         REPLACE_SIGNBIT.
106211         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
106212         REPLACE_FREXPL into math.h.
106214 2007-04-06  Bruno Haible  <bruno@clisp.org>
106216         * modules/isnanf-nolibm-tests: New file.
106217         * tests/test-isnanf.c: New file.
106219         * modules/isnanf-nolibm: New file.
106220         * lib/isnanf.h: New file.
106221         * lib/isnanf.c: New file.
106222         * lib/isnan.c: Consider the USE_FLOAT macro.
106223         * m4/isnanf.m4: New file.
106225 2007-04-06  Bruno Haible  <bruno@clisp.org>
106227         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
106228         (Link): New section.
106230         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
106232 2007-04-06  Bruno Haible  <bruno@clisp.org>
106234         Assume the 'long double' type.
106235         * m4/longdouble.m4: Remove file.
106236         * config/srclist.txt: Don't mention longdouble.m4.
106237         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
106238         * lib/float+.h: Likewise.
106239         * lib/frexp.c: Likewise.
106240         * lib/printf-args.h: Likewise.
106241         * lib/printf-args.c: Likewise.
106242         * lib/printf-frexp.c: Likewise.
106243         * lib/printf-parse.c: Likewise.
106244         * lib/vasnprintf.c: Likewise.
106245         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
106246         * m4/intl.m4: Likewise.
106247         * m4/isnanl.m4: Likewise.
106248         * m4/printf.m4: Likewise.
106249         * m4/printf-frexpl.m4: Likewise.
106250         * m4/vasnprintf.m4: Likewise.
106251         * modules/allocsa (Files): Remove m4/longdouble.m4.
106252         * modules/gettext (Files): Likewise.
106253         * modules/relocatable-prog-wrapper (Files): Likewise.
106254         * modules/vasnprintf (Files): Likewise.
106255         * modules/isnanl (Files): Likewise.
106256         (Include): Simplify.
106257         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
106258         (Include): Simplify.
106259         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
106260         (Include): Simplify.
106261         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
106262         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106263         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
106264         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106265         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
106266         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106267         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
106268         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106269         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
106270         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106271         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
106272         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106273         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
106274         * tests/test-isnanl.c: Likewise.
106275         * tests/test-snprintf-posix.h: Likewise.
106276         * tests/test-sprintf-posix.h: Likewise.
106277         * tests/test-vasnprintf-posix.c: Likewise.
106278         * tests/test-vasnprintf-posix2.c: Likewise.
106279         * tests/test-vasprintf-posix.c: Likewise.
106281 2007-04-06  Bruno Haible  <bruno@clisp.org>
106283         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
106284         * lib/math_.h [__DECC]: Include the overridden include file through
106285         #include_next, outside the double-inclusion guard.
106286         * lib/stdio_.h [__DECC]: Likewise.
106287         * lib/stdlib_.h [__DECC]: Likewise.
106288         * lib/string_.h [__DECC]: Likewise.
106289         * lib/time_.h [__DECC]: Likewise.
106290         * lib/wchar_.h [__DECC]: Likewise.
106291         * lib/wctype_.h [__DECC]: Likewise.
106292         * lib/inttypes_.h [__DECC]: Likewise.
106293         Reported by Albert Chin <china@thewrittenword.com> in
106294         <http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.
106296 2007-04-04  Eric Blake  <ebb9@byu.net>
106298         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
106299         1.5.x.
106301 2007-04-04  Bruno Haible  <bruno@clisp.org>
106303         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
106304         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
106306 2007-04-04  Bruno Haible  <bruno@clisp.org>
106308         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
106309         results for "%010a" of Infinity and NaN.
106310         * tests/test-vasprintf-posix.c (test_function): Likewise.
106311         * tests/test-snprintf-posix.h (test_function): Likewise.
106312         * tests/test-sprintf-posix.h (test_function): Likewise.
106313         * tests/test-fprintf-posix.h (test_function): Remove these tests.
106314         * tests/test-printf-posix.h (test_function): Likewise.
106315         * tests/test-fprintf-posix.out: Update.
106316         Needed for FreeBSD 6.1.
106318 2007-04-04  Bruno Haible  <bruno@clisp.org>
106320         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
106321         directly used by the gnulib modules nor by gnulib-tool.
106323 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
106325         * DEPENDENCIES: Give overall description of version dependency
106326         desirability.  Use more-typical names for apps.
106327         Add shell, coreutils, diffutils, grep, tar, gzip.
106329 2007-04-04  Simon Josefsson  <simon@josefsson.org>
106331         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
106333 2007-04-04  Karl Berry  <karl@gnu.org>
106335         * MODULES.html.sh (func_module): missing '.
106337 2007-04-03  Bruno Haible  <bruno@clisp.org>
106339         * modules/argmatch-tests (Makefile.am): New variable
106340         test_argmatch_LDADD.
106341         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
106342         * modules/array-list-tests (Makefile.am): New variable
106343         test_array_list_LDADD.
106344         * modules/array-oset-tests (Makefile.am): New variable
106345         test_array_oset_LDADD.
106346         * modules/avltree-list-tests (Makefile.am): New variable
106347         test_avltree_list_LDADD.
106348         * modules/avltree-oset-tests (Makefile.am): New variable
106349         test_avltree_oset_LDADD.
106350         * modules/avltreehash-list-tests (Makefile.am): New variable
106351         test_avltreehash_list_LDADD.
106352         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
106353         test_canonicalize_lgpl_LDADD.
106354         * modules/carray-list-tests (Makefile.am): New variable
106355         test_carray_list_LDADD.
106356         * modules/dirname-tests (Makefile.am): New variable
106357         test_dirname_LDADD.
106358         * modules/linked-list-tests (Makefile.am): New variable
106359         test_linked_list_LDADD.
106360         * modules/linkedhash-list-tests (Makefile.am): New variable
106361         test_linkedhash_list_LDADD.
106362         * modules/rbtree-list-tests (Makefile.am): New variable
106363         test_rbtree_list_LDADD.
106364         * modules/rbtree-oset-tests (Makefile.am): New variable
106365         test_rbtree_oset_LDADD.
106366         * modules/rbtreehash-list-tests (Makefile.am): New variable
106367         test_rbtreehash_list_LDADD.
106368         * modules/xvasprintf-tests (Makefile.am): New variable
106369         test_xvasprintf_LDADD.
106370         Reported by Eric Blake.
106372 2007-04-03  Eric Blake  <ebb9@byu.net>
106374         * DEPENDENCIES: Weaken m4 requirements.
106376 2007-04-03  Bruno Haible  <bruno@clisp.org>
106378         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
106379         * modules/isnanl-tests (configure.ac): Likewise.
106381 2007-04-03  Ben Pfaff  <blp@gnu.org>
106383         * modules/iconv_open: Add $(srcdir)/ to source directory
106384         references in Makefile fragments that call gperf, to fix VPATH
106385         builds.
106387 2007-04-03  Bruno Haible  <bruno@clisp.org>
106389         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
106390         * lib/ldexpl.c: Undo last change.
106392 2007-04-03  Bruno Haible  <bruno@clisp.org>
106394         * modules/printf-frexpl (Depends-on): Undo last change.
106395         (Files): Add m4/ldexpl.m4.
106397 2007-04-03  Bruno Haible  <bruno@clisp.org>
106399         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
106400         * modules/isnanl (Link): New section.
106402         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
106403         * modules/frexp (Link): New section.
106405         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
106406         * modules/frexpl (Link): New section.
106408         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
106409         * modules/ldexpl (Link): New section.
106411 2007-04-03  Bruno Haible  <bruno@clisp.org>
106413         * modules/TEMPLATE-EXTENDED: New file.
106414         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
106416 2007-04-03  Bruno Haible  <bruno@clisp.org>
106418         * DEPENDENCIES: New file.
106419         Suggested by Simon Josefsson.
106421 2007-04-03  Bruno Haible  <bruno@clisp.org>
106423         * doc/gnulib.texi: Escape @.
106425 2007-04-03  James Youngman  <jay@gnu.org>
106426         and Paul Eggert  <eggert@cs.ucla.edu>
106428         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
106429         birthtime on all systems that have birthtime, not just those which
106430         use st_birthtimensec rather than st_birthtim.  Putting zero in
106431         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
106432         that the birth time is not available for files on an NFS mount.
106434 2007-04-03  Simon Josefsson  <simon@josefsson.org>
106436         * modules/memxor: Move back from crypto/, suggested by Bruno.
106437         * modules/crypto/hmac-sha1: Fix memxor dependency.
106439         * modules/crypto/gc: Moved from ../.
106441 2007-04-02  Eric Blake  <ebb9@byu.net>
106443         * lib/ldexpl.c (includes): Avoid libm.
106445         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
106447 2007-04-02  Bruno Haible  <bruno@clisp.org>
106449         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
106450         on IRIX.
106452 2007-04-02  Bruno Haible  <bruno@clisp.org>
106454         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
106455         x86 or x86_64 platforms running MacOS X.
106456         Reported by Ryan Schmidt <@ryandesign.com>.
106458 2007-04-02  Bruno Haible  <bruno@clisp.org>
106460         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
106461         i386.
106463 2007-04-01  Simon Josefsson  <simon@josefsson.org>
106465         * modules/crypto/arcfour: Moved from ../.
106466         * modules/crypto/arcfour-tests: Moved from ../.
106467         * modules/crypto/arctwo: Moved from ../.
106468         * modules/crypto/arctwo-tests: Moved from ../.
106469         * modules/crypto/des: Moved from ../.
106470         * modules/crypto/des-tests: Moved from ../.
106471         * modules/crypto/gc-arcfour: Moved from ../.
106472         * modules/crypto/gc-arcfour-tests: Moved from ../.
106473         * modules/crypto/gc-arctwo: Moved from ../.
106474         * modules/crypto/gc-arctwo-tests: Moved from ../.
106475         * modules/crypto/gc-des: Moved from ../.
106476         * modules/crypto/gc-des-tests: Moved from ../.
106477         * modules/crypto/gc-hmac-md5: Moved from ../.
106478         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
106479         * modules/crypto/gc-hmac-sha1: Moved from ../.
106480         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
106481         * modules/crypto/gc-md2: Moved from ../.
106482         * modules/crypto/gc-md2-tests: Moved from ../.
106483         * modules/crypto/gc-md4: Moved from ../.
106484         * modules/crypto/gc-md4-tests: Moved from ../.
106485         * modules/crypto/gc-md5: Moved from ../.
106486         * modules/crypto/gc-md5-tests: Moved from ../.
106487         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
106488         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
106489         * modules/crypto/gc-random: Moved from ../.
106490         * modules/crypto/gc-rijndael: Moved from ../.
106491         * modules/crypto/gc-rijndael-tests: Moved from ../.
106492         * modules/crypto/gc-sha1: Moved from ../.
106493         * modules/crypto/gc-sha1-tests: Moved from ../.
106494         * modules/crypto/gc-tests: Moved from ../.
106495         * modules/crypto/hmac-md5: Moved from ../.
106496         * modules/crypto/hmac-md5-tests: Moved from ../.
106497         * modules/crypto/hmac-sha1: Moved from ../.
106498         * modules/crypto/hmac-sha1-tests: Moved from ../.
106499         * modules/crypto/md2: Moved from ../.
106500         * modules/crypto/md2-tests: Moved from ../.
106501         * modules/crypto/md4: Moved from ../.
106502         * modules/crypto/md4-tests: Moved from ../.
106503         * modules/crypto/md5: Moved from ../.
106504         * modules/crypto/md5-tests: Moved from ../.
106505         * modules/crypto/memxor: Moved from ../.
106506         * modules/crypto/rijndael: Moved from ../.
106507         * modules/crypto/rijndael-tests: Moved from ../.
106508         * modules/crypto/sha1: Moved from ../.
106510 2007-03-30  James Youngman  <jay@gnu.org>
106512         * tests/test-stat-time.c (prepare_test): use chmod() rather than
106513         rename() to change the ctime of a file (because ctime is unaffected
106514         by rename on jfs2 on AIX 5.1).
106515         (main): Start by doing cleanup, in case a previous run failed leaving
106516         test files behind.
106518 2007-03-31  Bruno Haible  <bruno@clisp.org>
106520         Support old proprietary implementations of iconv.
106521         * modules/iconv_open: New file.
106522         * lib/iconv_.h: New file.
106523         * m4/iconv_h.m4: New file.
106524         * lib/iconv_open.c: New file.
106525         * lib/iconv_open-aix.gperf: New file.
106526         * lib/iconv_open-hpux.gperf: New file.
106527         * lib/iconv_open-irix.gperf: New file.
106528         * lib/iconv_open-osf.gperf: New file.
106529         * m4/iconv_open.m4: New file.
106530         * modules/linebreak (Depends-on): Add iconv_open.
106531         * modules/striconv (Depends-on): Likewise.
106532         * modules/striconveh (Depends-on): Likewise.
106533         * modules/unicodeio (Depends-on): Likewise.
106534         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
106535         (iconv_t)(-1).
106536         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
106537         conversion if cd is (iconv_t)(-1).
106538         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
106539         is not possible.
106541 2007-03-31  Bruno Haible  <bruno@clisp.org>
106543         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
106544         work on Solaris either. Protect also second use of "autodetect_jp".
106546 2007-03-31  Bruno Haible  <bruno@clisp.org>
106548         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
106549         the function is not present.
106551 2007-03-31  Bruno Haible  <bruno@clisp.org>
106553         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
106554         the function is not present.
106556 2007-03-31  Bruno Haible  <bruno@clisp.org>
106558         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
106559         a bug in HP-UX iconv_open().
106561 2007-03-31  Bruno Haible  <bruno@clisp.org>
106563         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
106564         (Mathematics <math.h>): New section, add fpieee.
106565         (Input/output <stdio.h>): Add fseterr.
106566         (Mathematics <math.h>): New section, add printf-frexp.
106567         (Container data structures): Add sublist.
106568         (Core language properties): Add fpucw, inline.
106569         (Functions for greatest-width integer types <inttypes.h>): Add
106570         imaxabs, imaxdiv, inttypes.
106571         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
106572         isnanl-nolibm, ldexp.
106573         (Mathematics <math.h>): New section, add printf-frexpl.
106574         (Support for systems lacking POSIX:2001): Add fprintf-posix,
106575         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
106576         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
106577         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
106578         (Unicode string functions): Add unistr/u*-mbtoucr.
106579         (Java): Add javacomp-script, javaexec-script.
106580         (C#): Add csharpcomp-script, csharpexec-script.
106581         (Support for building libraries and executables): Add havelib,
106582         relocatable-*.
106583         (Support for maintaining and releasing projects): Renamed from
106584         'Support for maintaining and release projects'. Add announce-gen.
106586 2007-03-31  Bruno Haible  <bruno@clisp.org>
106588         * README: Talk primarily about git.
106589         (git and CVS): Renamed from CVS.
106590         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
106591         gnulib is available through git.
106592         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
106594 2007-03-30  Bruno Haible  <bruno@clisp.org>
106596         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
106597         * lib/poll_.h: Likewise.
106598         * lib/stat_.h: Likewise.
106599         * lib/sys_time_.h: Likewise.
106600         * lib/sysexit_.h: Likewise.
106601         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
106602         * lib/stdbool_.h: Likewise.
106603         * lib/byteswap_.h: Add double-inclusion guard.
106605 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
106607         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
106609 2007-03-30  Karl Berry  <karl@gnu.org>
106611         * config/srclist-update: double space after USA in the license
106612         substitution, since that's how it's usually (?) written.
106614 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
106616         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
106617         reported by Bruno Haible.
106619 2007-03-29  Bruno Haible  <bruno@clisp.org>
106621         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
106622         a bug in AIX iconv().
106624 2007-03-29  Bruno Haible  <bruno@clisp.org>
106626         * modules/ldexpl-tests: New file.
106627         * tests/test-ldexpl.c: New file.
106629 2007-03-29  Bruno Haible  <bruno@clisp.org>
106631         * lib/ldexpl.c: Include fpucw.h.
106632         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
106633         multiplication.
106634         * modules/ldexpl (Depends-on): Add fpucw.
106636 2007-03-29  Bruno Haible  <bruno@clisp.org>
106638         * modules/ldexpl: New file.
106639         * m4/ldexpl.m4: New file.
106640         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
106641         set.
106642         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
106643         REPLACE_LDEXPL.
106644         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
106645         REPLACE_LDEXPL.
106646         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
106647         gl_FUNC_LDEXPL_WORKS.
106648         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
106649         * modules/mathl (Files): Remove lib/ldexpl.c.
106650         (Depends-on): Add ldexpl.
106652 2007-03-29  Bruno Haible  <bruno@clisp.org>
106654         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
106656 2007-03-29  Bruno Haible  <bruno@clisp.org>
106658         * tests/test-striconveh.c (main): Don't assume that a direct conversion
106659         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
106660         and possibly also HP-UX.
106661         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
106662         work on AIX, IRIX, HP-UX, OSF/1.
106663         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
106664         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
106665         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
106666         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
106667         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
106668         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
106670 2007-03-29  Bruno Haible  <bruno@clisp.org>
106672         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
106674 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
106676         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
106677         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
106679 2007-03-29  Eric Blake  <ebb9@byu.net>
106681         * lib/acl-internal.h: Remove redundant include.
106682         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
106683         Cygwin when a file is locked.
106685 2007-03-29  Bruno Haible  <bruno@clisp.org>
106687         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
106688         file.
106689         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
106691 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
106693         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
106694         try to remove a parent directory if the child couldn't be removed
106695         (except for the first rmdir, which could fail because the child
106696         doesn't exist).  Problem reported by Jeff Blaine in
106697         <http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.
106699 2007-03-28  Bruno Haible  <bruno@clisp.org>
106701         * lib/striconveh.c (utf8conv_carefully): New function.
106702         (mem_cd_iconveh_internal): Invoke it.
106704 2007-03-28  Bruno Haible  <bruno@clisp.org>
106706         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
106707         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
106708         input.
106709         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
106710         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
106711         unistr/u8-uctomb.
106713 2007-03-28  Bruno Haible  <bruno@clisp.org>
106715         * modules/unistr/u8-mbtoucr: New file.
106716         * lib/unistr/u8-mbtoucr.c: New file.
106717         * modules/unistr/u16-mbtoucr: New file.
106718         * lib/unistr/u16-mbtoucr.c: New file.
106719         * modules/unistr/u16-mbtoucr: New file.
106720         * lib/unistr/u16-mbtoucr.c: New file.
106721         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
106723 2007-03-27  Simon Josefsson  <simon@josefsson.org>
106724             Bruno Haible  <bruno@clisp.org>
106726         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
106727         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
106728         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
106730         * m4/stdio_h.m4: Add stubs for vasprintf too.
106732         * modules/stdio: Support vasprintf in sed command.
106734         * modules/vasprintf: Depend on stdio for prototypes.  Remove
106735         vasprintf.h.  Add stdio module indicator.
106737         * lib/stdio_.h: Declare asprintf and vasprintf, based on
106738         vasprintf.h.
106740         * lib/vasprintf.h: File removed.
106742         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
106743         * lib/vasprintf.c: Ditto.
106744         * lib/xvasprintf.c: Ditto.
106745         * tests/test-vasprintf-posix.c: Ditto.
106746         * tests/test-vasprintf.c: Ditto.
106748 2007-03-27  Bruno Haible  <bruno@clisp.org>
106750         Make vasnprintf multithread-safe.
106751         * lib/vasnprintf.c (decimal_point_char): New function.
106752         (VASNPRINTF): Use it.
106753         Suggested by Simon Josefsson.
106755 2007-03-27  Eric Blake  <ebb9@byu.net>
106757         Support sub-second birthtime on cygwin.
106758         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
106759         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
106760         (get_stat_birthtime): Also work with st_birthtim.
106762 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
106764         * lib/stat-time.h (USE_BIRTHTIME): Remove.
106765         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
106766         (get_stat_birthtime_ns): Do not try to use "spare" fields.
106767         (get_stat_birthtime_ns): Simplify compile-time tests.
106768         (get_stat_birthtime): Change the API to look like
106769         get_stat_mtime etc., except return a negative tv_nsec on error.
106770         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
106771         Don't check for "spare" fields.
106772         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
106773         or for struct stat.st_birthtime, as these tests aren't used.
106774         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
106776 2007-03-27  Bruno Haible  <bruno@clisp.org>
106778         * lib/stat-time.h: Include <sys/stat.h>.
106780 2007-03-27  James Youngman  <jay@gnu.org>
106782         * lib/stat-time.h (get_stat_birthtime): New function for
106783           retrieving st_birthtime as provided by UFS2 (hence *BSD).
106784         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
106785           and its variants.
106786         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
106787         * modules/stat-time-test: New file.
106788         * tests/test-stat-time.c: New test, devised by Bruno Haible.
106790 2007-03-26  Bruno Haible  <bruno@clisp.org>
106792         Better support of signalling NaNs.
106793         * lib/atanl.c: Include isnanl.h.
106794         (atanl): Perform test for NaN at the beginning of the function and
106795         through a call to isnanl.
106796         * lib/cosl.c: Include isnanl.h.
106797         (cosl): Perform test for NaN at the beginning of the function and
106798         through a call to isnanl.
106799         * lib/ldexpl.c: Include isnanl.h.
106800         (ldexpl): Perform test for NaN through a call to isnanl.
106801         * lib/logl.c: Include isnanl.h.
106802         (logl): Perform test for NaN at the beginning of the function and
106803         through a call to isnanl.
106804         * lib/sinl.c: Include isnanl.h.
106805         (sinl): Perform test for NaN at the beginning of the function and
106806         through a call to isnanl.
106807         * lib/sqrtl.c: Include isnanl.h.
106808         (sqrtl): Perform test for NaN at the beginning of the function and
106809         through a call to isnanl.
106810         * lib/tanl.c: Include isnanl.h.
106811         (tanl): Perform test for NaN at the beginning of the function and
106812         through a call to isnanl.
106813         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
106814         * modules/mathl (Depends-on): Add isnanl.
106816 2007-03-26  Eric Blake  <ebb9@byu.net>
106818         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
106819         regression in logic sense of previous patch.
106821 2007-03-26  Bruno Haible  <bruno@clisp.org>
106823         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
106824         unportable shell command "if ! ...".
106825         Reported by Ralf Wildenhues.
106827 2007-03-25  Bruno Haible  <bruno@clisp.org>
106829         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
106830         <sysexits.h> file, and only add EX_CONFIG.
106831         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
106832         absolute file name and whether it is sufficient. Substitute also
106833         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
106834         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
106835         ABSOLUTE_SYSEXITS_H into sysexits.h.
106837 2007-03-25  Bruno Haible  <bruno@clisp.org>
106839         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
106840         hints is NULL.
106842 2007-03-25  Bruno Haible  <bruno@clisp.org>
106844         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
106845         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
106847 2007-03-25  Bruno Haible  <bruno@clisp.org>
106849         * lib/vasnprintf.c: Include langinfo.h.
106850         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
106851         multithread-safe.
106852         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
106853         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
106854         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
106855         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
106856         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
106857         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
106858         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
106859         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
106860         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
106861         Reported by Simon Josefsson.
106863 2007-03-25  Bruno Haible  <bruno@clisp.org>
106865         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
106866         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
106867         * modules/vasnprintf (Depends-on): Add stdint.
106869 2007-03-25  Bruno Haible  <bruno@clisp.org>
106871         * modules/fpieee: New file.
106872         * m4/fpieee.m4: New file.
106873         * modules/isnan-nolibm (Depends-on): Add fpieee.
106874         * modules/isnanl-nolibm (Depends-on): Add fpieee.
106875         * modules/isnanl (Depends-on): Add fpieee.
106877 2007-03-25  Bruno Haible  <bruno@clisp.org>
106879         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
106881 2007-03-25  Bruno Haible  <bruno@clisp.org>
106883         Avoid test failures on IRIX 6.5.
106884         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
106885         (main): Use it.
106886         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
106887         macros.
106888         (main): Use them.
106890 2007-03-25  Bruno Haible  <bruno@clisp.org>
106892         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
106893         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
106894         exists but doesn't work.
106895         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
106896         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
106897         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
106898         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
106899         math.h.
106901 2007-03-25  Bruno Haible  <bruno@clisp.org>
106903         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
106904         returns inf. Needed on IRIX 6.5.
106906 2007-03-25  Bruno Haible  <bruno@clisp.org>
106908         * tests/test-frexpl.c: Include isnanl-nolibm.h.
106909         (main): Use isnanl instead of x != x idiom.
106910         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
106912         * tests/test-frexp.c: Include isnan.h.
106913         (main): Use isnan instead of x != x idiom.
106914         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
106916 2007-03-25  Bruno Haible  <bruno@clisp.org>
106918         * tests/test-frexp.c (NaN): New function/macro.
106919         (main): Use it instead of 0.0 / 0.0.
106920         * tests/test-isnan.c (NaN): New function/macro.
106921         (main): Use it instead of 0.0 / 0.0.
106922         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
106923         (test_function): Use it instead of 0.0 / 0.0.
106924         * tests/test-vasprintf-posix.c (NaN): New function/macro.
106925         (test_function): Use it instead of 0.0 / 0.0.
106926         * tests/test-snprintf-posix.h (NaN): New function/macro.
106927         (test_function): Use it instead of 0.0 / 0.0.
106928         * tests/test-sprintf-posix.h (NaN): New function/macro.
106929         (test_function): Use it instead of 0.0 / 0.0.
106930         * tests/test-fprintf-posix.h (NaN): New function/macro.
106931         (test_function): Use it instead of 0.0 / 0.0.
106932         * tests/test-printf-posix.h (NaN): New function/macro.
106933         (test_function): Use it instead of 0.0 / 0.0.
106935         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
106937 2007-03-25  Bruno Haible  <bruno@clisp.org>
106939         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
106941 2007-03-25  Bruno Haible  <bruno@clisp.org>
106943         * lib/regexec.c (merge_state_with_log): Make static.
106945 2007-03-25  Bruno Haible  <bruno@clisp.org>
106947         * lib/trigl.c (kernel_rem_pio2): Make static.
106949 2007-03-25  Bruno Haible  <bruno@clisp.org>
106951         * lib/sincosl.c (sincosl_table): Make static.
106953 2007-03-25  Bruno Haible  <bruno@clisp.org>
106955         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
106956         if the compiler does not support C99.
106958 2007-03-25  Bruno Haible  <bruno@clisp.org>
106960         * modules/time (Makefile.am): Ensure all rule action lines start with a
106961         tab.
106963 2007-03-24  Bruno Haible  <bruno@clisp.org>
106965         * modules/tsearch-tests: New file.
106966         * tests/test-tsearch.sh: New file.
106967         * tests/test-tsearch.c: New file, mostly copied from glibc.
106969         * modules/search-tests: New file.
106970         * tests/test-search.c: New file.
106972         * modules/search: New file.
106973         * lib/search_.h: New file, incorporating lib/tsearch.h.
106974         * m4/search_h.m4: New file.
106975         * lib/tsearch.h: Remove file.
106976         * lib/tsearch.c: Include search.h instead of tsearch.h.
106977         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
106978         HAVE_TSEARCH.
106979         * modules/tsearch (Files): Remove lib/tsearch.h.
106980         (Depends-on): Add search.
106981         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
106982         (Include): Change tsearch.h into search.h.
106984 2007-03-24  Bruno Haible  <bruno@clisp.org>
106986         * modules/fpucw: New file.
106987         * lib/fpucw.h: New file.
106988         * lib/frexp.c: Include fpucw.h.
106989         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
106990         (FUNC): Use them.
106991         * lib/printf-frexp.c: Include fpucw.h.
106992         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
106993         (FUNC): Use them.
106994         * lib/vasnprintf.c: Include fpucw.h.
106995         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
106996         'long double' calculations.
106997         * tests/test-frexpl.c: Include fpucw.h.
106998         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
106999         * tests/test-printf-frexpl.c: Include fpucw.h.
107000         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
107001         * modules/frexpl (Depends-on): Add fpucw.
107002         * modules/printf-frexpl (Depends-on): Likewise.
107003         * modules/fprintf-posix (Depends-on): Likewise.
107004         * modules/snprintf-posix (Depends-on): Likewise.
107005         * modules/sprintf-posix (Depends-on): Likewise.
107006         * modules/vasnprintf-posix (Depends-on): Likewise.
107007         * modules/vasprintf-posix (Depends-on): Likewise.
107008         * modules/vfprintf-posix (Depends-on): Likewise.
107009         * modules/vsnprintf-posix (Depends-on): Likewise.
107010         * modules/vsprintf-posix (Depends-on): Likewise.
107011         * modules/frexpl-tests (Depends-on): Likewise.
107012         * modules/printf-frexpl-tests (Depends-on): Likewise.
107014 2007-03-24  Bruno Haible  <bruno@clisp.org>
107016         * lib/float+.h: New file.
107017         * lib/isnan.c: Include float+.h.
107018         (SIZE): New macro.
107019         (FUNC): Compare only SIZE bytes of the value.
107020         * lib/vasnprintf.c: Include float+.h.
107021         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
107022         SIZEOF_LDBL or SIZEOF_DBL bytes.
107023         * modules/isnan-nolibm (Files): Add lib/float+.h.
107024         * modules/isnanl-nolibm (Files): Add lib/float+.h.
107025         * modules/isnanl (Files): Add lib/float+.h.
107026         * modules/vasnprintf (Files): Add lib/float+.h.
107028 2007-03-24  Bruno Haible  <bruno@clisp.org>
107030         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
107031         include isnanl-nolibm.h.
107033 2007-03-24  Bruno Haible  <bruno@clisp.org>
107035         * tests/test-read-file.c (main): Don't produce spurious output for
107036         expected situations. Make the test fail if it encountered unexpected
107037         results.
107039 2007-03-24  Bruno Haible  <bruno@clisp.org>
107041         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
107042         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
107044 2007-03-24  Bruno Haible  <bruno@clisp.org>
107046         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
107048 2007-03-24  Bruno Haible  <bruno@clisp.org>
107050         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
107051         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
107053         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
107054         * modules/utf8-ucs4: Turn into a symbolic link to module
107055         unistr/u8-mbtouc.
107057         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
107058         utf8-ucs4-unsafe.
107059         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
107060         unistr/u8-mbtouc-unsafe.
107062         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
107063         * modules/utf16-ucs4: Turn into a symbolic link to module
107064         unistr/u16-mbtouc.
107066         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
107067         utf16-ucs4-unsafe.
107068         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
107069         unistr/u16-mbtouc-unsafe.
107071         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
107072         * modules/ucs4-utf8: Turn into a symbolic link to module
107073         unistr/u8-ubtomb.
107075         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
107076         * modules/ucs4-utf16: Turn into a symbolic link to module
107077         unistr/u16-ubtomb.
107079 2007-03-24  Bruno Haible  <bruno@clisp.org>
107081         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
107082         Enable the function only if HAVE_INLINE.
107083         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
107084         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
107085         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
107086         Enable the function only if HAVE_INLINE.
107087         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
107088         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
107089         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
107090         Enable the function only if HAVE_INLINE.
107091         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
107092         Enable the function only if HAVE_INLINE.
107093         * modules/utf8-ucs4: Update.
107094         * modules/utf8-ucs4-unsafe: Update.
107095         * modules/utf16-ucs4: Update.
107096         * modules/utf16-ucs4-unsafe: Update.
107097         * modules/ucs4-utf8: Update.
107098         * modules/ucs4-utf16: Update.
107100 2007-03-24  Bruno Haible  <bruno@clisp.org>
107102         * lib/utf8-ucs4.h: Remove file.
107103         * lib/utf8-ucs4-unsafe.h: Remove file.
107104         * lib/utf16-ucs4.h: Remove file.
107105         * lib/utf16-ucs4-unsafe.h: Remove file.
107106         * lib/ucs4-utf8.h: Remove file.
107107         * lib/ucs4-utf16.h: Remove file.
107108         * lib/unistr.h: Include their previous contents.
107109         * m4/utf-ucs4.m4: Remove file.
107110         * m4/ucs4-utf.m4: Remove file.
107111         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
107112         (Depends-on): Add unistr/base.
107113         (configure.ac): Remove gl_UTF_UCS4.
107114         (Makefile.am): Update.
107115         (Include): Change to unistr.h.
107116         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
107117         (Depends-on): Add unistr/base.
107118         (configure.ac): Remove gl_UTF_UCS4.
107119         (Makefile.am): Update.
107120         (Include): Change to unistr.h.
107121         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
107122         (Depends-on): Add unistr/base.
107123         (configure.ac): Remove gl_UTF_UCS4.
107124         (Makefile.am): Update.
107125         (Include): Change to unistr.h.
107126         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
107127         (Depends-on): Add unistr/base.
107128         (configure.ac): Remove gl_UTF_UCS4.
107129         (Makefile.am): Update.
107130         (Include): Change to unistr.h.
107131         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
107132         (Depends-on): Add unistr/base.
107133         (configure.ac): Remove gl_UCS4_UTF.
107134         (Makefile.am): Update.
107135         (Include): Change to unistr.h.
107136         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
107137         (Depends-on): Add unistr/base.
107138         (configure.ac): Remove gl_UCS4_UTF.
107139         (Makefile.am): Update.
107140         (Include): Change to unistr.h.
107141         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
107142         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
107143         utf8-ucs4-unsafe.h.
107144         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
107145         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
107146         utf16-ucs4-unsafe.h.
107147         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
107148         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
107149         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
107150         * lib/unistr/u8-strchr.c: Likewise.
107151         * lib/unistr/u8-strrchr.c: Likewise.
107152         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
107153         * lib/unistr/u16-strchr.c: Likewise.
107154         * lib/unistr/u16-strrchr.c: Likewise.
107155         * lib/striconveh.c: Update.
107156         * lib/linebreak.c: Update.
107158 2007-03-24  Bruno Haible  <bruno@clisp.org>
107160         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
107161         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
107163 2007-03-22  Bruno Haible  <bruno@clisp.org>
107165         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
107167 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
107169         * MODULES.html.sh (File system functions): New module write-any-file.
107170         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
107171         * m4/write-any-file.m4: New files.
107173 2007-03-23  Eric Blake  <ebb9@byu.net>
107175         * gnulib-tool: Rearrange space-tab sequences, since some editors
107176         like to eat them.
107178 2007-03-23  Eric Blake  <ebb9@byu.net>
107180         * lib/version-etc.c (version_etc_va): Update license wording to
107181         be more concise.  Recommended by Richard Stallman.
107183 2007-03-22  Bruno Haible  <bruno@clisp.org>
107185         * lib/poll.c (MSG_PEEK): New fallback definition.
107187 2007-03-22  Bruno Haible  <bruno@clisp.org>
107189         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
107190         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
107191         (main): Update.
107192         Fixes a compilation error on BeOS.
107194 2007-03-22  Bruno Haible  <bruno@clisp.org>
107196         * modules/frexpl-tests: New file.
107197         * tests/test-frexpl.c: New file.
107199         * modules/frexpl: New file.
107200         * m4/frexpl.m4: New file.
107201         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
107202         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
107203         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
107204         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
107205         (Depends-on): Add frexpl. Remove isnanl-nolibm.
107206         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
107208 2007-03-22  Bruno Haible  <bruno@clisp.org>
107210         * lib/frexpl.c: Share code with lib/frexp.c.
107211         * modules/mathl (Files): Add lib/frexp.c.
107212         (Depends-on): Add isnanl-nolibm.
107214 2007-03-22  Bruno Haible  <bruno@clisp.org>
107216         * modules/printf-frexp (Files): Add m4/frexp.m4.
107217         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
107218         only if the found frexp function actually works.
107220 2007-03-22  Bruno Haible  <bruno@clisp.org>
107222         * lib/frexp.c: Remove older implementation that uses divisions.
107224 2007-03-21  Bruno Haible  <bruno@clisp.org>
107226         * modules/frexp-tests: New file.
107227         * tests/test-frexp.c: New file.
107229         * modules/frexp: New file.
107230         * lib/frexp.c: New file.
107231         * m4/frexp.m4: New file.
107232         * lib/math_.h (frexp): New declaration.
107233         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
107234         REPLACE_FREXP.
107235         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
107237 2007-03-21  Bruno Haible  <bruno@clisp.org>
107239         * modules/isnanl-tests: New file.
107240         * tests/test-isnanl.c: New file.
107242         * modules/isnanl: New file.
107243         * lib/isnanl.h: New file.
107244         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
107245         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
107246         gl_FUNC_ISNANL_WORKS.
107247         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
107248         New macros.
107250 2007-03-21  Bruno Haible  <bruno@clisp.org>
107252         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
107253         lib/isnanl.h.
107254         (Include): Update.
107255         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
107256         * lib/vasnprintf.c: Update.
107257         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
107258         tests/test-isnanl.h, remove tests/test-isnanl.c.
107259         (Makefile.am): Update.
107260         * tests/test-isnanl-nolibm.c: New file.
107261         * tests/test-isnanl.h: New file.
107262         * tests/test-isnanl.c: Remove file.
107264 2007-03-21  Jim Meyering  <jim@meyering.net>
107266         When trying to open ".", treat ESTALE like EACCES.
107267         * lib/savewd.c (savewd_save): Resort to forking not just upon
107268         failure with EACCES, but also when errno is ESTALE.
107270 2007-03-20  Bruno Haible  <bruno@clisp.org>
107272         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
107273         Needed on AIX 5.1. Reported by Matthew Woehlke.
107275 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
107277         Suggestions by Bruno Haible:
107278         * lib/acl-internal.h: Include "gettext.h" rather than rolling
107279         our own.
107280         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
107281         * modules/acl (Depends-on): Add gettext.
107283 2007-03-19  Bruno Haible  <bruno@clisp.org>
107285         * modules/iconvme: Remove file.
107286         * lib/iconvme.h: Remove file.
107287         * lib/iconvme.c: Remove file.
107288         * m4/iconvme.m4: Remove file.
107290 2007-03-19  Bruno Haible  <bruno@clisp.org>
107292         * doc/relocatable-maint.texi: Break long shell script line.
107293         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
107295 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
107297         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
107298         handle file_has_acl.
107299         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
107300         * lib/acl.c: Move header inclusions and related macro defns into
107301         lib/acl-internal.h.
107302         (S_ISLNK): Remove defn, since that's now done for us.
107303         (file_has_acl): Move to lib/file-has-acl.c.
107304         Call acl_trivial if available.  This is the crucial part of the fix.
107305         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
107306         shared within the library.  Rewrite a bit, partly to make it compatible
107307         with the GNU coding style.
107308         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
107309         Remove unnecessary double-quotes.
107310         Don't test for acl_to_text; the build will catch that.
107311         Replace acl_entries if it doesn't exist and it is needed.
107312         Check for -lsec and acl_trivial (as used on Solaris 10).
107313         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
107314         lib/file-has-acl.c.
107315         (Depends-on): Add sys_stat, for S_ISLNK.
107317 2007-03-19  Ben Pfaff  <blp@gnu.org>
107319         * doc/gnulib.texi: Fix typos.
107320         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
107322 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
107324         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
107325         If size is zero here, buf must be zero.
107327 2007-03-19  Simon Josefsson  <simon@josefsson.org>
107329         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
107330         <bruno@clisp.org>.
107332 2007-03-18  Bruno Haible  <bruno@clisp.org>
107334         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
107335         Suggested by Eric Blake.
107337 2007-03-18  Ben Pfaff  <blp@gnu.org>
107339         * doc/relocatable.texi: Recommend using as prefix a directory
107340         that does not exist and will never be created.  Based on
107341         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
107342         and others.
107344 2007-03-17  Bruno Haible  <bruno@clisp.org>
107346         * lib/fchownat.c: Include lchown.h.
107348 2007-03-17  Bruno Haible  <bruno@clisp.org>
107350         Fix endless loop when the given allocated size was > INT_MAX.
107351         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
107352         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
107353         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
107354         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
107355         * lib/sprintf.c (sprintf): Likewise.
107357 2007-03-17  Bruno Haible  <bruno@clisp.org>
107359         * tests/test-argp-2.sh (func_compare): Output a context diff.
107361 2007-03-17  Bruno Haible  <bruno@clisp.org>
107363         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
107364         locale's decimal-point character.
107366 2007-03-17  Bruno Haible  <bruno@clisp.org>
107368         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
107369         before comparing it. Needed because on some platforms (e.g. x86) a
107370         'long double' occupies less bytes than sizeof (long double).
107372 2007-03-17  Bruno Haible  <bruno@clisp.org>
107374         * tests/test-crc.c (main): Make printf statements 64-bit clean.
107375         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
107376         * tests/test-getaddrinfo.c (simple): Likewise.
107377         * tests/test-read-file.c (main): Likewise.
107379 2007-03-17  Bruno Haible  <bruno@clisp.org>
107381         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
107383 2007-03-17  Bruno Haible  <bruno@clisp.org>
107385         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
107386         unused variable.
107388 2007-03-17  Bruno Haible  <bruno@clisp.org>
107390         * tests/test-c-strcasecmp.c: Include c-strcase.h.
107391         * tests/test-c-strncasecmp.c: Likewise.
107393 2007-03-17  Bruno Haible  <bruno@clisp.org>
107395         * modules/stdlib (Depends-on): Add unistd.
107396         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
107397         Needed for MacOS X 10.3.
107399 2007-03-17  Bruno Haible  <bruno@clisp.org>
107401         * lib/unistr/u-strdup.h: Include <stdlib.h>.
107403 2007-03-17  Bruno Haible  <bruno@clisp.org>
107405         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
107407 2007-03-17  Bruno Haible  <bruno@clisp.org>
107409         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
107410         to reflect files copied from gnulib (with or without modifications).
107411         Suggested by Jim Meyering.
107413 2007-03-17  Eric Blake  <ebb9@byu.net>
107415         * NEWS: Document stdlib change from 2007-02-18.
107417 2007-03-17  Jim Meyering  <jim@meyering.net>
107419         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
107420         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
107421         someone uses a name containing shell meta-characters.
107422         Reported by Alfred M. Szmidt.
107424         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
107426 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
107428         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
107429         and copy gettext configuration files only if configure.ac contains
107430         a use of AM_GNU_GETTEXT_VERSION.
107432 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
107434         * build-aux/bootstrap (gnulib_name): New variable.
107435         (gnulib_tool_options): Use it.
107437 2007-03-13  Simon Josefsson  <simon@josefsson.org>
107439         * tests/test-des.c: Use new namespace.
107441 2007-03-15  Bruno Haible  <bruno@clisp.org>
107443         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
107444         Reported by James Youngman <jay@gnu.org>.
107446 2007-03-15  Bruno Haible  <bruno@clisp.org>
107448         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
107449         declared prototype. Needed with cc on OSF/1 5.1.
107451 2007-03-15  Bruno Haible  <bruno@clisp.org>
107453         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
107454         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
107455         (struct gl_list_implementation): Add dispose_fn argument to the
107456         'create_empty', 'create' methods.
107457         (struct gl_list_impl_base): Add field 'dispose_fn'.
107458         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
107459         argument.
107460         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
107461         dispose_fn argument.
107462         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
107463         dispose_fn on the dropped values.
107464         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
107465         dispose_fn argument.
107466         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
107467         dropped values.
107468         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
107469         (gl_tree_remove_node): Call dispose_fn on the dropped value.
107470         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
107471         (gl_tree_remove_node): Call dispose_fn on the dropped value.
107472         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
107473         argument.
107474         (gl_tree_list_free): Call dispose_fn on the dropped values.
107475         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
107476         the dropped values.
107477         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
107478         Add dispose_fn argument.
107479         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
107480         Call dispose_fn on the dropped values.
107481         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
107482         Add dispose_fn argument.
107483         (gl_sublist_create): Initialize the 'dispose_fn' field.
107484         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
107485         * tests/test-array_list.c (main): Update.
107486         * tests/test-carray_list.c (main): Update.
107487         * tests/test-avltree_list.c (main): Update.
107488         * tests/test-rbtree_list.c (main): Update.
107489         * tests/test-avltreehash_list.c (main): Update.
107490         * tests/test-rbtreehash_list.c (main): Update.
107491         * tests/test-linked_list.c (main): Update.
107492         * tests/test-linkedhash_list.c (main): Update.
107493         * tests/test-array_oset.c (main): Update.
107495 2007-03-15  Bruno Haible  <bruno@clisp.org>
107497         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
107498         (gl_oset_create_empty): Add dispose_fn argument.
107499         (struct gl_oset_implementation): Add dispose_fn argument to
107500         'create_empty' method.
107501         (struct gl_oset_impl_base): Add dispose_fn field.
107502         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
107503         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
107504         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
107505         values.
107506         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
107507         (gl_tree_oset_free): Call dispose_fn on the dropped values.
107508         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
107509         dropped value.
107510         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
107511         dropped value.
107512         * tests/test-array_oset.c (main): Update.
107513         * tests/test-avltree_oset.c (main): Update.
107514         * tests/test-rbtree_oset.c (main): Update.
107515         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
107517 2007-03-13  Bruno Haible  <bruno@clisp.org>
107519         * tests/test-stdbool.c (i): Update after last patch.
107521 2007-03-12  Bruno Haible  <bruno@clisp.org>
107523         * lib/quotearg.c: Include <wctype.h> early, before the definition of
107524         the iswprint macro. Needed on Solaris 2.5.1.
107526 2007-03-12  Bruno Haible  <bruno@clisp.org>
107528         * tests/test-printf-frexp.c (main): Declare x as volatile.
107530 2007-03-12  Simon Josefsson  <simon@josefsson.org>
107532         * doc/gnulib.texi (Build robot for gnulib): New section.
107534 2007-03-12  Jim Meyering  <jim@meyering.net>
107536         * build-aux/bootstrap: New file.
107537         * build-aux/bootstrap.conf: New file, from coreutils.
107539 2007-03-11  Bruno Haible  <bruno@clisp.org>
107541         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
107543 2007-03-12  Simon Josefsson  <simon@josefsson.org>
107545         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
107546         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
107547         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
107549 2007-03-11  Bruno Haible  <bruno@clisp.org>
107551         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
107552         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
107554 2007-03-11  Bruno Haible  <bruno@clisp.org>
107556         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
107557         formula. Needed for SunPRO C 5.0.
107559 2007-03-11  Bruno Haible  <bruno@clisp.org>
107561         * modules/long-options (Depends-on): Add getopt.
107563 2007-03-11  Bruno Haible  <bruno@clisp.org>
107565         * modules/modechange (Depends-on): Add stdbool.
107567 2007-03-11  Bruno Haible  <bruno@clisp.org>
107569         * modules/i-ring (Depends-on): Add stdbool.
107571 2007-03-11  Bruno Haible  <bruno@clisp.org>
107573         * modules/gc-des (Depends-on): Add stdbool.
107575 2007-03-11  Bruno Haible  <bruno@clisp.org>
107577         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
107579 2007-03-11  Bruno Haible  <bruno@clisp.org>
107581         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
107583 2007-03-11  Bruno Haible  <bruno@clisp.org>
107585         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
107587 2007-03-11  Bruno Haible  <bruno@clisp.org>
107589         * lib/vasnprintf.c (sprintf): Undefine.
107591 2007-03-11  Bruno Haible  <bruno@clisp.org>
107593         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
107594         initializers in SunPRO C and Compaq C compilers.
107596 2007-03-11  Bruno Haible  <bruno@clisp.org>
107598         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
107599         decrementing code ANSI C compliant.
107601 2007-03-11  Bruno Haible  <bruno@clisp.org>
107603         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
107604         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
107606 2007-03-11  Bruno Haible  <bruno@clisp.org>
107608         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
107609         <stdbool.h> substitute doesn't pass.
107611 2007-03-11  Bruno Haible  <bruno@clisp.org>
107613         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
107615 2007-03-11  Bruno Haible  <bruno@clisp.org>
107617         * gnulib-tool (func_create_megatestdir): Create also an autobuild
107618         script, for submission to autobuild.josefsson.org.
107620 2007-03-10  Bruno Haible  <bruno@clisp.org>
107622         * modules/canonicalize-lgpl-tests: New file.
107623         * tests/test-canonicalize-lgpl.sh: New file.
107624         * tests/test-canonicalize-lgpl.c: New file.
107626         * modules/c-strcase-tests: New file.
107627         * tests/test-c-strcase.sh: New file.
107628         * tests/test-c-strcasecmp.c: New file.
107629         * tests/test-c-strncasecmp.c: New file.
107631         * modules/atexit-tests: New file.
107632         * tests/test-atexit.sh: New file.
107633         * tests/test-atexit.c: New file.
107635 2007-03-10  Bruno Haible  <bruno@clisp.org>
107637         * tests/test-binary-io.sh: Use temporary filenames that are not so
107638         likely to clash with those of other tests (in a parallel make).
107639         * tests/test-binary-io.c: Likewise.
107641 2007-03-10  Bruno Haible  <bruno@clisp.org>
107643         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
107644         fallback; use #error instead.
107645         Suggested by Simon Josefsson.
107647 2007-03-10  Bruno Haible  <bruno@clisp.org>
107649         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
107650         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
107651         first and the last.
107653 2007-03-10  Bruno Haible  <bruno@clisp.org>
107655         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
107657 2007-03-10  Bruno Haible  <bruno@clisp.org>
107659         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
107660         "make distcheck".
107661         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
107662         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
107663         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
107665 2007-03-10  Bruno Haible  <bruno@clisp.org>
107667         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
107668         variable.
107669         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
107670         variable.
107672 2007-03-09  Eric Blake  <ebb9@byu.net>
107673         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
107675         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
107676         types are not being provided by gnulib.
107677         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
107678         types are supported.
107680 2007-03-10  Bruno Haible  <bruno@clisp.org>
107682         * lib/stdio_.h (__attribute__): New macro.
107683         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
107684         vsprintf): Specify __attribute__ __format__ for GCC.
107685         Suggested by Eric Blake.
107687 2007-03-09  Bruno Haible  <bruno@clisp.org>
107689         * modules/printf-posix-tests: New file.
107690         * tests/test-printf-posix.sh: New file.
107691         * tests/test-printf-posix.c: New file.
107693         * modules/printf-posix: New file.
107694         * lib/printf.c: New file.
107695         * m4/printf-posix-rpl.m4: New file.
107696         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
107697         REPLACE_PRINTF.
107698         * lib/stdio_.h (printf): New declaration.
107699         (format, __format__, ____printf____, ____scanf____, ____strftime____,
107700         ____strfmon____): New macros.
107701         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
107702         REPLACE_PRINTF.
107704 2007-03-09  Bruno Haible  <bruno@clisp.org>
107706         * tests/test-vasnprintf-posix2.sh: New file.
107707         * tests/test-vasnprintf-posix2.c: New file.
107708         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
107709         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
107710         (Makefile.am): Activate test-vasnprintf-posix2.sh.
107712         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
107713         a locale dependent decimal point, rather than always '.'.
107715 2007-03-09  Eric Blake  <ebb9@byu.net>
107717         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
107718         spite of platforms like Tandem/NSK that define it to -1.
107720 2007-03-08  Bruno Haible  <bruno@clisp.org>
107722         * modules/vprintf-posix-tests: New file.
107723         * tests/test-vprintf-posix.sh: New file.
107724         * tests/test-vprintf-posix.c: New file.
107725         * tests/test-printf-posix.h: New file.
107727         * modules/vprintf-posix: New file.
107728         * lib/vprintf.c: New file.
107729         * m4/vprintf-posix.m4: New file.
107730         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
107731         REPLACE_VPRINTF.
107732         * lib/stdio_.h (vprintf): New declaration.
107733         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
107734         REPLACE_VPRINTF.
107736 2007-03-08  Bruno Haible  <bruno@clisp.org>
107738         * modules/fprintf-posix-tests: New file.
107739         * tests/test-fprintf-posix.sh: New file.
107740         * tests/test-fprintf-posix.c: New file.
107742         * modules/fprintf-posix: New file.
107743         * lib/fprintf.c: New file.
107744         * m4/fprintf-posix.m4: New file.
107745         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
107746         REPLACE_FPRINTF.
107747         * lib/stdio_.h (fprintf): New declaration.
107748         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
107749         REPLACE_FPRINTF.
107751 2007-03-08  Bruno Haible  <bruno@clisp.org>
107753         * modules/vfprintf-posix-tests: New file.
107754         * tests/test-vfprintf-posix.sh: New file.
107755         * tests/test-vfprintf-posix.c: New file.
107756         * tests/test-fprintf-posix.h: New file.
107757         * tests/test-fprintf-posix.out: New file.
107759         * modules/vfprintf-posix: New file.
107760         * lib/vfprintf.c: New file.
107761         * m4/vfprintf-posix.m4: New file.
107762         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
107763         REPLACE_VFPRINTF.
107764         * lib/stdio_.h (vfprintf): New declaration.
107765         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
107766         REPLACE_VFPRINTF.
107768 2007-03-08  Bruno Haible  <bruno@clisp.org>
107770         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
107772 2007-03-08  Bruno Haible  <bruno@clisp.org>
107774         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
107775         instead of 'expr' invocations.
107776         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
107777         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
107778         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
107779         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
107780         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
107781         Suggested by Paul Eggert.
107783 2007-03-08  Bruno Haible  <bruno@clisp.org>
107785         * modules/fseterr-tests: New file.
107786         * tests/test-fseterr.c: New file.
107788         * modules/fseterr: New file.
107789         * lib/fseterr.h: New file.
107790         * lib/fseterr.c: New file.
107792 2007-03-08  Bruno Haible  <bruno@clisp.org>
107794         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
107795         * lib/getopt_.h: Likewise.
107796         * lib/mbswidth.h: Likewise.
107797         * lib/setenv.h: Likewise.
107798         * lib/vasnprintf.h: Likewise.
107799         * lib/vasprintf.h: Likewise.
107800         * lib/verror.h: Likewise.
107801         * lib/xsetenv.h: Likewise.
107802         * lib/xvasprintf.h: Likewise.
107804 2007-03-08  Jim Meyering  <jim@meyering.net>
107806         * users.txt: Add parted.
107808         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
107810 2007-03-07  Bruno Haible  <bruno@clisp.org>
107812         * m4/printf.m4: Make the shell script snippets copy&pastable.
107814 2007-03-02  Bruno Haible  <bruno@clisp.org>
107816         * lib/netinet_in_.h: New file.
107817         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
107818         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
107819         * modules/netinet_in (Files): Add lib/netinet_in_.h.
107820         (Depends-on): Add absolute-header.
107821         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
107822         into netinet/in.h.
107824 2007-03-03  Bruno Haible  <bruno@clisp.org>
107826         * lib/sys_select_.h: New file.
107827         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
107828         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
107829         * modules/sys_select (Files): Add lib/sys_select_.h.
107830         (Depends-on): Add absolute-header.
107831         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
107832         into sys/select.h.
107834 2007-03-02  Bruno Haible  <bruno@clisp.org>
107836         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
107837         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
107838         values.
107839         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
107840         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
107841         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
107842         * modules/sys_socket (Depends-on): Add absolute-header.
107843         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
107844         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
107845         (Include): Remove requirement of inclusion of <sys/types.h>.
107847 2007-03-02  Bruno Haible  <bruno@clisp.org>
107849         * lib/byteswap_.h (bswap_32): Fix formula.
107851 2007-03-06  Bruno Haible  <bruno@clisp.org>
107853         * modules/sprintf-posix-tests: New file.
107854         * tests/test-sprintf-posix.c: New file.
107856         * modules/sprintf-posix: New file.
107857         * lib/sprintf.c: New file.
107858         * m4/sprintf-posix.m4: New file.
107859         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
107860         REPLACE_SPRINTF.
107861         * lib/stdio_.h (sprintf): New declaration.
107862         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
107863         REPLACE_SPRINTF.
107865 2007-03-06  Bruno Haible  <bruno@clisp.org>
107867         * modules/vsprintf-posix-tests: New file.
107868         * tests/test-vsprintf-posix.c: New file.
107869         * tests/test-sprintf-posix.h: New file.
107871         * modules/vsprintf-posix: New file.
107872         * lib/vsprintf.c: New file.
107873         * m4/vsprintf-posix.m4: New file.
107874         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
107875         REPLACE_VSPRINTF.
107876         * lib/stdio_.h (vsprintf): New declaration.
107877         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
107878         REPLACE_VSPRINTF.
107880 2007-03-06  Bruno Haible  <bruno@clisp.org>
107882         * modules/vsnprintf (Depend-on): Remove minmax.
107884 2007-03-06  Bruno Haible  <bruno@clisp.org>
107886         * modules/snprintf-posix-tests: New file.
107887         * tests/test-snprintf-posix.c: New file.
107889         * modules/snprintf-posix: New file.
107890         * m4/snprintf-posix.m4: New file.
107891         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
107892         gl_FUNC_SNPRINTF.
107893         (gl_FUNC_SNPRINTF): Invoke it.
107894         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
107895         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
107896         is set.
107897         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
107899 2007-03-06  Bruno Haible  <bruno@clisp.org>
107901         * modules/vsnprintf-posix-tests: New file.
107902         * tests/test-vsnprintf-posix.c: New file.
107903         * tests/test-snprintf-posix.h: New file.
107905         * modules/vsnprintf-posix: New file.
107906         * m4/vsnprintf-posix.m4: New file.
107907         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
107908         gl_FUNC_VSNPRINTF.
107909         (gl_FUNC_VSNPRINTF): Invoke it.
107910         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
107911         * lib/stdio_.h (vsnprintf): Define as a replacement if
107912         REPLACE_VSNPRINTF is set.
107913         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
107915 2007-03-06  Bruno Haible  <bruno@clisp.org>
107917         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
107918         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
107920 2007-03-06  Bruno Haible  <bruno@clisp.org>
107922         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
107923         (asinl): Declare also if HAVE_DECL_ASINL is set.
107924         (atanl): Declare also if HAVE_DECL_ATANL is set.
107925         (ceill): Declare also if HAVE_DECL_CEILL is set.
107926         (cosl): Declare also if HAVE_DECL_COSL is set.
107927         (expl): Declare also if HAVE_DECL_EXPL is set.
107928         (floorl): Declare also if HAVE_DECL_FLOORL is set.
107929         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
107930         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
107931         (logl): Declare also if HAVE_DECL_LOGL is set.
107932         (sinl): Declare also if HAVE_DECL_SINL is set.
107933         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
107934         (tanl): Declare also if HAVE_DECL_TANL is set.
107935         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
107936         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
107937         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
107938         declaration of frexpl, ldexpl.
107939         * modules/printf-frexpl (Depends-on): Add math.
107940         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
107942 2007-03-05  Bruno Haible  <bruno@clisp.org>
107944         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
107945         frexpl and ldexpl are declared.
107946         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
107948 2007-03-05  Bruno Haible  <bruno@clisp.org>
107950         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
107951         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
107953 2007-03-05  Bruno Haible  <bruno@clisp.org>
107955         * lib/stdio_.h: Include <stddef.h>.
107957 2007-03-05  Bruno Haible  <bruno@clisp.org>
107959         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
107961 2007-03-05  Bruno Haible  <bruno@clisp.org>
107963         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
107964         NetBSD 4, from Ralf Wildenhues.
107966 2007-03-04  Bruno Haible  <bruno@clisp.org>
107968         * lib/vasprintf.h: Update #if logic for the case when the functions
107969         exist but are overridden.
107971 2007-03-04  Bruno Haible  <bruno@clisp.org>
107973         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
107974         implementations: glibc-2.4 and MacOS X 10.3.
107975         * tests/test-vasnprintf-posix.c (test_function): Test also the case
107976         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
107977         * tests/test-vasprintf-posix.c (test_function): Likewise.
107979 2007-03-04  Bruno Haible  <bruno@clisp.org>
107981         * modules/vasprintf-posix-tests: New file.
107982         * tests/test-vasprintf-posix.c: New file.
107984         * modules/vasprintf-posix: New file.
107985         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
107986         defined.
107987         * m4/vasprintf-posix.m4: New file.
107988         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
107989         gl_FUNC_VASPRINTF.
107990         (gl_FUNC_VASPRINTF): Invoke it.
107991         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
107992         here.
107993         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
107995 2007-03-04  Bruno Haible  <bruno@clisp.org>
107997         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
107998         REPLACE_GETTIMEOFDAY.
107999         * modules/sys_time (Makefile.am): Likewise.
108000         * m4/sys_time_h.m4: Likewise.
108001         * m4/gettimeofday.m4: Likewise.
108003 2007-03-04  Bruno Haible  <bruno@clisp.org>
108005         * modules/vasnprintf-posix-tests: New file.
108006         * tests/test-vasnprintf-posix.c: New file.
108008         * modules/vasnprintf-posix: New file.
108009         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
108010         printf-frexpl.h.
108011         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
108012         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
108013         REPLACE_VASNPRINTF is defined.
108014         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
108015         gl_FUNC_VASNPRINTF.
108016         (gl_FUNC_VASNPRINTF): Invoke it.
108017         * m4/vasnprintf-posix.m4: New file.
108018         * m4/printf.m4: New file.
108020 2007-03-04  Bruno Haible  <bruno@clisp.org>
108022         Compile progreloc.c only if --enable-relocatable is specified.
108023         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
108024         if --enable-relocatable was specified.
108025         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
108026         lib_SOURCES.
108028 2007-03-04  Jim Meyering  <jim@meyering.net>
108030         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
108031         Use it consistently, rather than enumerating errno constants.
108033 2007-03-04  Bruno Haible  <bruno@clisp.org>
108035         * modules/xvasprintf-tests: New file.
108036         * tests/test-xvasprintf.c: New file.
108038         * modules/vasprintf-tests: New file.
108039         * tests/test-vasprintf.c: New file.
108041         * modules/vasnprintf-tests: New file.
108042         * tests/test-vasnprintf.c: New file.
108044         * modules/vsnprintf-tests: New file.
108045         * tests/test-vsnprintf.c: New file.
108047         * modules/snprintf-tests: New file.
108048         * tests/test-snprintf.c: New file.
108050 2007-03-04  Bruno Haible  <bruno@clisp.org>
108052         Compile relocatable.c only if --enable-relocatable is specified.
108053         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
108054         gl_RELOCATABLE_LIBRARY.
108055         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
108056         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
108057         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
108058         gl_RELOCATABLE_LIBRARY.
108059         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
108060         (Makefile.am): Remove lib_SOURCES.
108061         * modules/relocatable-lib-lgpl (configure.ac): Invoke
108062         gl_RELOCATABLE_LIBRARY.
108063         (Makefile.am): Remove lib_SOURCES.
108064         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
108065         always.
108066         * modules/relocatable-prog-wrapper (configure.ac): Invoke
108067         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
108069 2007-03-04  Bruno Haible  <bruno@clisp.org>
108071         * modules/argmatch-tests: New file.
108072         * tests/test-argmatch.c: New file.
108074         * tests/test-allocsa.c (main): Halve the number of loop runs.
108076         * modules/alloca-opt-tests: New file.
108077         * tests/test-alloca-opt.c: New file.
108079 2007-03-04  Jim Meyering  <jim@meyering.net>
108081         Work around difference between Linux ACLs and Solaris 10 ZFS.
108082         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
108083         for EINVAL.
108085 2007-03-03  Bruno Haible  <bruno@clisp.org>
108087         * modules/relocatable-prog (Depends-on): Add back progreloc's
108088         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
108090 2007-03-03  Bruno Haible  <bruno@clisp.org>
108092         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
108093         * modules/relocatable-lib: New file.
108095 2007-03-03  Bruno Haible  <bruno@clisp.org>
108097         * modules/relocatable-prog: Renamed from modules/relocatable.
108098         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
108100 2007-03-03  Bruno Haible  <bruno@clisp.org>
108102         * modules/relocatable-script (Files): Add doc/relocatable.texi,
108103         m4/relocatable-lib.m4.
108104         (Depends-on): Remove 'relocatable'.
108105         (configure.ac): Add gl_RELOCATABLE_NOP.
108107 2007-03-03  Bruno Haible  <bruno@clisp.org>
108109         * modules/relocatable-prog-wrapper: New file.
108110         * modules/relocatable (Depends-on): Add it. Remove all other
108111         dependencies except progname.
108112         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
108114         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
108115         (gl_FUNC_STRERROR): Nop.
108116         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
108118         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
108119         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
108121         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
108122         (gl_FUNC_READLINK): Update.
108124         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
108126 2007-03-03  Bruno Haible  <bruno@clisp.org>
108128         * lib/xreadlink.c: Include <unistd.h> unconditionally.
108129         * modules/xreadlink (Depends-on): Add unistd.
108130         * modules/xreadlink-with-size (Depends-on): Likewise.
108132 2007-03-03  Bruno Haible  <bruno@clisp.org>
108134         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
108135         extracted from gt_FUNC_SETENV.
108136         (gt_FUNC_SETENV): Remove macro.
108137         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
108138         remove gt_FUNC_SETENV.
108140 2007-03-03  Bruno Haible  <bruno@clisp.org>
108142         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
108143         ENABLE_RELOCATABLE here.
108144         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
108146 2007-03-03  Bruno Haible  <bruno@clisp.org>
108148         * modules/rbtreehash-list-tests (Depends-on): Add progname.
108149         * tests/test-rbtreehash_list.c: Include progname.h.
108150         (main): Call set_program_name.
108152         * modules/rbtree-oset-tests (Depends-on): Add progname.
108153         * tests/test-rbtree_oset.c: Include progname.h.
108154         (main): Call set_program_name.
108156         * modules/rbtree-list-tests (Depends-on): Add progname.
108157         * tests/test-rbtree_list.c: Include progname.h.
108158         (main): Call set_program_name.
108160         * modules/linked-list-tests (Depends-on): Add progname.
108161         * tests/test-linked_list.c: Include progname.h.
108162         (main): Call set_program_name.
108164 2007-03-03  Bruno Haible  <bruno@clisp.org>
108166         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
108167         All uses of __restrict changed to _Restrict_.
108168         * lib/glob_.h (__restrict): Remove macro.
108170 2007-03-02  Bruno Haible  <bruno@clisp.org>
108172         * modules/gettext (configure.ac): Require gettext infrastructure
108173         from version 0.16.1.
108175 2007-03-02  Bruno Haible  <bruno@clisp.org>
108177         * modules/linkedhash-list-tests (Depends-on): Add progname.
108178         * tests/test-linkedhash_list.c: Include progname.h.
108179         (main): Call set_program_name.
108181         * modules/carray-list-tests (Depends-on): Add progname.
108182         * tests/test-carray_list.c: Include progname.h.
108183         (main): Call set_program_name.
108185         * modules/avltreehash-list-tests (Depends-on): Add progname.
108186         * tests/test-avltreehash_list.c: Include progname.h.
108187         (main): Call set_program_name.
108189         * modules/avltree-oset-tests (Depends-on): Add progname.
108190         * tests/test-avltree_oset.c: Include progname.h.
108191         (main): Call set_program_name.
108193         * modules/avltree-list-tests (Depends-on): Add progname.
108194         * tests/test-avltree_list.c: Include progname.h.
108195         (main): Call set_program_name.
108197         * modules/array-oset-tests (Depends-on): Add progname.
108198         * tests/test-array_oset.c: Include progname.h.
108199         (main): Call set_program_name.
108201         * modules/array-list-tests (Depends-on): Add progname.
108202         * tests/test-array_list.c: Include progname.h.
108203         (main): Call set_program_name.
108205         * modules/argp-tests (Depends-on): Add progname.
108206         * tests/test-argp.c: Include argp.h first. Include progname.h.
108207         (main): Call set_program_name.
108209 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
108211         * doc/gnulib-tool.texi (Initial import): Reword description of
108212         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
108213         limited effect even if defined after the first system include.
108215 2007-03-01  Bruno Haible  <bruno@clisp.org>
108217         * build-aux/config.libpath: Update to libtool-1.5.22.
108218         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
108220 2007-03-01  Bruno Haible  <bruno@clisp.org>
108222         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
108223         foo_CFLAGS.
108224         Reported by Ralf Wildenhues.
108226 2007-03-01  Bruno Haible  <bruno@clisp.org>
108228         * build-aux/install-reloc: Remove object files left over by some
108229         compilers.
108230         Reported by Ralf Wildenhues.
108232 2007-03-01  Bruno Haible  <bruno@clisp.org>
108234         * build-aux/install-reloc: Break long lines.
108236 2007-03-01  Bruno Haible  <bruno@clisp.org>
108238         * doc/relocatable.texi: Document that it may not work on OpenBSD.
108239         Reported by Ralf Wildenhues.
108241 2007-03-01  Bruno Haible  <bruno@clisp.org>
108243         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
108244         include ordering constraints.
108246 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
108248         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
108249         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
108250         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
108251         as another example.
108252         * lib/time_.h: Fix misspelling.
108253         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
108254         Require gl_HEADER_TIME_H_DEFAULTS.
108255         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
108256         * m4/time_r.m4 (gl_TIME_R): Likewise.
108257         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
108259 2007-03-01  Bruno Haible  <bruno@clisp.org>
108261         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
108262         * m4/utimens.m4 (gl_UTIMENS): Likewise.
108264 2007-03-01  Jim Meyering  <jim@meyering.net>
108266         * modules/xreadlink (Maintainer): Add my name.
108267         * modules/xreadlink-with-size (Depends-on): Alphabetize.
108269 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
108270             Bruno Haible  <bruno@clisp.org>
108272         * build-aux/install-reloc: Compile also c-ctype.c.
108273         * build-aux/relocatable.sh.in: New file.
108274         * doc/relocatable.texi: New file.
108275         * doc/relocatable-maint.texi: New file.
108276         * doc/gnulib.texi: Include relocatable-maint.texi.
108277         * lib/progreloc.c: Include unistd.h unconditionally.
108278         * lib/relocwrapper.c: Include unistd.h unconditionally.
108279         Include c-ctype.h.
108280         (add_dotbin): Use c_tolower.
108281         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
108282         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
108283         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
108284         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
108285         to m4/relocatable-lib.m4.
108286         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
108287         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
108288         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
108289         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
108290         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
108291         * modules/relocatable: New file.
108292         * modules/relocatable-lib: New file.
108293         * modules/relocatable-script: New file.
108295 2007-02-28  Bruno Haible  <bruno@clisp.org>
108297         Import --enable-relocatable infrastructure.
108298         * build-aux/config.libpath: New file, from GNU gettext.
108299         * build-aux/install-reloc: New file, from GNU gettext.
108300         * build-aux/reloc-ldflags: New file, from GNU gettext.
108301         * lib/relocatable.h: New file, from GNU gettext.
108302         * lib/relocatable.c: New file, from GNU gettext.
108303         * lib/relocwrapper.c: New file, from GNU gettext.
108304         * m4/relocatable.m4: New file, from GNU gettext.
108306 2007-02-28  Bruno Haible  <bruno@clisp.org>
108308         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
108310         * modules/xreadlink: New file, from GNU gettext with modifications.
108311         * lib/xreadlink.c: New file, from GNU gettext.
108312         * lib/xreadlink.h: Add comments.
108313         (xreadlink): New declaration.
108315         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
108316         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
108317         lib/xreadlink-with-size.c.
108318         (configure.ac): Remove gl_XREADLINK invocation.
108319         (Makefile.am): Augment lib_SOURCES.
108320         * m4/xreadlink.m4: Remove file.
108321         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
108322         (xreadlink_with_size): Renamed from xreadink.
108323         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
108324         * modules/canonicalize (Depends-on): Replace xreadlink with
108325         xreadlink-with-size.
108326         * lib/canonicalize.c (canonicalize_filename_mode): Update.
108328 2007-02-25  Jim Meyering  <jim@meyering.net>
108330         * build-aux/announce-gen: When complaining about excess arguments,
108331         list them.
108333 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
108335         * README: Document signed integer overflow situation more
108336         accurately.
108338 2007-02-25  Bruno Haible  <bruno@clisp.org>
108340         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
108341         'a' or 'A' conversion.
108343 2007-02-25  Bruno Haible  <bruno@clisp.org>
108345         * modules/filename: Renamed from modules/pathname.
108346         (Files): Replace lib/pathname.h with lib/filename.h. Replace
108347         lib/concatpath.c with lib/concat-filename.c.
108348         (Makefile.am): Update.
108349         (Include): Replace pathname.h with filename.h.
108350         * lib/filename.h: Renamed from lib/pathname.h.
108351         (concatenated_filename): Renamed from concatenated_pathname.
108352         * lib/concat-filename.c: Renamed from lib/concatpath.c.
108353         (concatenated_filename): Renamed from concatenated_pathname.
108354         * lib/findprog.c: Include filename.h instead of pathname.h.
108355         (find_in_path): Update.
108356         * lib/javacomp.c: Include filename.h instead of pathname.h.
108357         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
108358         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
108359         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
108360         is_oldgcj_14_13_usable, is_javac_usable): Update.
108361         * lib/javaexec.c: Include filename.h instead of pathname.h.
108362         (execute_java_class): Update.
108363         * modules/findprog: Update.
108364         * modules/javacomp: Update.
108365         * modules/javaexec: Update.
108366         * MODULES.html.sh (File system functions): Add 'filename', remove
108367         'pathname'.
108369 2007-02-25  Bruno Haible  <bruno@clisp.org>
108371         * modules/printf-frexpl-tests: New file.
108372         * tests/test-printf-frexpl.c: New file.
108374         * modules/printf-frexpl: New file.
108375         * lib/printf-frexpl.h: New file.
108376         * lib/printf-frexpl.c: New file.
108377         * m4/printf-frexpl.m4: New file.
108379 2007-02-25  Bruno Haible  <bruno@clisp.org>
108381         * modules/printf-frexp-tests: New file.
108382         * tests/test-printf-frexp.c: New file.
108384         * modules/printf-frexp: New file.
108385         * lib/printf-frexp.h: New file.
108386         * lib/printf-frexp.c: New file.
108387         * m4/printf-frexp.m4: New file.
108389 2007-02-25  Bruno Haible  <bruno@clisp.org>
108391         Assume automake >= 1.10 for the tests.
108392         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
108393         * modules/arctwo-tests: Likewise.
108394         * modules/argp-tests: Likewise.
108395         * modules/avltree-list-tests: Likewise.
108396         * modules/avltree-oset-tests: Likewise.
108397         * modules/avltreehash-list-tests: Likewise.
108398         * modules/carray-list-tests: Likewise.
108399         * modules/crc-tests: Likewise.
108400         * modules/des-tests: Likewise.
108401         * modules/gc-arcfour-tests: Likewise.
108402         * modules/gc-arctwo-tests: Likewise.
108403         * modules/gc-des-tests: Likewise.
108404         * modules/gc-hmac-md5-tests: Likewise.
108405         * modules/gc-hmac-sha1-tests: Likewise.
108406         * modules/gc-md2-tests: Likewise.
108407         * modules/gc-md4-tests: Likewise.
108408         * modules/gc-md5-tests: Likewise.
108409         * modules/gc-pbkdf2-sha1-tests: Likewise.
108410         * modules/gc-rijndael-tests: Likewise.
108411         * modules/gc-sha1-tests: Likewise.
108412         * modules/gc-tests: Likewise.
108413         * modules/getaddrinfo-tests: Likewise.
108414         * modules/hmac-md5-tests: Likewise.
108415         * modules/hmac-sha1-tests: Likewise.
108416         * modules/linked-list-tests: Likewise.
108417         * modules/linkedhash-list-tests: Likewise.
108418         * modules/lock-tests: Likewise.
108419         * modules/md2-tests: Likewise.
108420         * modules/md4-tests: Likewise.
108421         * modules/md5-tests: Likewise.
108422         * modules/rbtree-list-tests: Likewise.
108423         * modules/rbtree-oset-tests: Likewise.
108424         * modules/rbtreehash-list-tests: Likewise.
108425         * modules/read-file-tests: Likewise.
108426         * modules/rijndael-tests: Likewise.
108427         * modules/stdint-tests: Likewise.
108428         * modules/tls-tests: Likewise.
108430 2007-02-24  Bruno Haible  <bruno@clisp.org>
108432         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
108433         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
108434         function; instead check whether isnan with a double argument links.
108435         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
108436         function; instead check whether isnan with a 'long double' argument
108437         links.
108438         Reported by Eric Blake <ebb9@byu.net>.
108440 2007-02-24  Bruno Haible  <bruno@clisp.org>
108442         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
108443         defined.
108444         * lib/isnanl.c: Remove all code. Just include isnan.c.
108445         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
108447 2007-02-25  Jim Meyering  <jim@meyering.net>
108449         Avoid conflicting types for 'unsetenv' on FreeBSD.
108450         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
108451         conflicting with FreeBSD's (5.0 and 6.1) function declaration
108452         in stdlib.h.
108454 2007-02-24  Bruno Haible  <bruno@clisp.org>
108456         * modules/isnanl-nolibm-tests: New file.
108457         * tests/test-isnanl.c: New file.
108459         * modules/isnanl-nolibm: New file.
108460         * lib/isnanl.h: New file.
108461         * lib/isnanl.c: New file.
108462         * m4/isnanl.m4: New file.
108464 2007-02-24  Bruno Haible  <bruno@clisp.org>
108466         * modules/isnan-nolibm-tests: New file.
108467         * tests/test-isnan.c: New file.
108469         * modules/isnan-nolibm: New file.
108470         * lib/isnan.h: New file.
108471         * lib/isnan.c: New file.
108472         * m4/isnan.m4: New file.
108474 2007-02-24  Bruno Haible  <bruno@clisp.org>
108476         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
108477         assume that an exponent fits in 20 bits.
108479 2007-02-24  Jim Meyering  <jim@meyering.net>
108481         * m4/regex.m4: Update the description of the configure-time option,
108482         --without-included-regex, to state accurately what the defaults are,
108483         and perhaps to give people an idea why using this option is risky.
108485 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
108487         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
108488         loops on small arguments.  This attempts to avoid the problem
108489         Bruno Haible reported for AIX 4.3.2 in
108490         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.
108492 2007-02-23  Bruno Haible  <bruno@clisp.org>
108494         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
108495         Needed for help2man.
108497 2007-02-23  Karl Berry  <karl@gnu.org>
108499         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
108500         exists, foo.h should be cvs-ignored, not committed.
108502 2007-02-23  Eric Blake  <ebb9@byu.net>
108504         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
108505         * lib/stat-time.h (includes): Likewise.
108506         * lib/utimecmp.c (includes): Likewise.
108507         * lib/utimens.h (includes): Likewise.
108508         * lib/getdate.y (includes): Also include "timespec.h" for use
108509         internal to the module.
108510         * modules/utimens (Depends-on): Revert yesterday's patch.
108511         * modules/nanosleep (Depends-on): Add missing dependency.
108513 2007-02-22  Bruno Haible  <bruno@clisp.org>
108515         * lib/glob.c: Don't include getlogin_r.h.
108517 2007-02-22  Jim Meyering  <jim@meyering.net>
108519         * modules/utimens (Depends-on): Add timespec, required for
108520         utimens.h's inclusion of timespec.h.
108522 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
108524         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
108525         long unreadable paths in GNU/Linux.  Problem reported by Andreas
108526         Schwab in
108527         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
108528         I'll try to think of a better way to fix the Solaris problem.
108530         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
108531         like glibc; on Solaris 10, it fails with errno == EINVAL.
108532         POSIX says the behavior is unspecified if the first argument is NULL,
108533         so play it safe and never pass NULL to the system getcwd.
108535 2007-02-21  Jim Meyering  <jim@meyering.net>
108537         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
108538         of gettimeofday.  It would conflict with the one now always
108539         provided via sys_time_.h.  Reported by Matthew Woehlke, as
108540         an IRIX 6.5 build failure.
108542 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
108544         Minor fixups to port to Solaris 10 with Sun C 5.8.
108545         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
108546         * modules/getcwd (Depends-on): Add dirfd.
108547         * lib/putenv.c (putenv): #undef it.
108548         (rpl_putenv): New decl.
108549         (malloc, free): Include <stdlib.h> rather than prototyping separately.
108551 2007-02-20  Bruno Haible  <bruno@clisp.org>
108553         * modules/stdio-tests: New file.
108554         * tests/test-stdio.c: New file.
108556         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
108557         (Depends-on): Add stdio.
108558         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
108559         (Include): Use <stdio.h> instead of vsnprintf.h.
108560         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
108561         HAVE_DECL_VSNPRINTF.
108562         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
108564         * modules/snprintf (Files): Remove lib/snprintf.h.
108565         (Depends-on): Add stdio.
108566         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
108567         (Include): Use <stdio.h> instead of snprintf.h.
108568         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
108569         HAVE_DECL_SNPRINTF.
108570         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
108571         * lib/getaddrinfo.c: Likewise.
108573         * modules/stdio: New file.
108574         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
108575         * lib/snprintf.h: Remove file.
108576         * lib/vsnprintf.h: Remove file.
108577         * lib/.cppi-disable: Remove snprintf.h.
108578         * m4/stdio_h.m4: New file.
108579         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
108581 2007-02-20  Jim Meyering  <jim@meyering.net>
108583         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
108584         used by e.g., mingw.  From Bruno Haible.
108586 2007-02-19  Bruno Haible  <bruno@clisp.org>
108588         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
108589         warnings.
108590         Reported by Ben Pfaff <blp@cs.stanford.edu>.
108592 2007-02-19  Bruno Haible  <bruno@clisp.org>
108594         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
108595         from mingw users.
108597 2007-02-19  Bruno Haible  <bruno@clisp.org>
108599         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
108600         warnings.
108601         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
108603 2007-02-19  Jim Meyering  <jim@meyering.net>
108605         Don't use FD after a successful "fdopendir (fd)".
108606         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
108607         Reset it by calling dirfd on the just-obtained DIR*.
108609         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
108610         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
108612 2007-02-18  Bruno Haible  <bruno@clisp.org>
108614         * lib/readlink.c: Include <unistd.h>.
108615         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
108616         HAVE_READLINK.
108617         * modules/readlink (Depends-on): Add unistd.
108618         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108619         (Include): Add <unistd.h>.
108621         * lib/getlogin_r.h: Remove file.
108622         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
108623         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
108624         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
108625         HAVE_DECL_GETLOGIN_R.
108626         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
108627         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108628         (Include): Use <unistd.h> instead of getlogin_r.h.
108630         * lib/getcwd.h: Remove file.
108631         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
108632         * lib/xgetcwd.c: Likewise.
108633         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
108634         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
108635         * modules/getcwd (Files): Remove lib/getcwd.h.
108636         (Depends-on): Add unistd.
108637         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108638         (Include): Use <unistd.h> instad of getcwd.h.
108640         * lib/ftruncate.c: Include <unistd.h> first.
108641         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
108642         Set HAVE_FTRUNCATE.
108643         * modules/ftruncate (Depends-on): Add unistd.
108644         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108646         * lib/fchdir.c: Include <unistd.h> first.
108647         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
108648         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
108649         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
108650         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108651         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
108653         * lib/dup2.c: Include <unistd.h> first.
108654         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
108655         HAVE_DUP2.
108656         * modules/dup2 (Depends-on): Add unistd.
108657         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108659         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
108660         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
108661         REPLACE_CHOWN. Don't define chown as a macro here.
108662         * modules/chown (Depends-on): Add unistd.
108663         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108665         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
108666         Add definition for GL_LINK_WARNING.
108667         (chown, dup2): New declarations.
108668         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
108669         link warning.
108670         (ftruncate): New declaration.
108671         (getcwd): New declaration, taken from old getcwd.h.
108672         (getlogin_r): New declaration, taken from old getlogin_r.h.
108673         (readlink): New declaration.
108674         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
108675         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
108676         (gl_PREREQ_UNISTD): Remove macro.
108677         (gl_UNISTD_MODULE_INDICATOR): New macro.
108678         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
108679         many new variables. Don't set UNISTD_H.
108680         * modules/unistd (Description): Change.
108681         (Depends-on): Add link-warning.
108682         (configure.ac): Update.
108683         (Makefile.am): Create unistd.h always. Substitute many new variables
108684         into it.
108686 2007-02-18  Bruno Haible  <bruno@clisp.org>
108688         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
108689         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
108690         HAVE_GETSUBOPT.
108691         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
108692         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
108693         * lib/getsubopt.h: Remove file.
108694         * modules/getsubopt (Files): Remove lib/getsubopt.h.
108695         (Depends-on): Add stdlib.
108696         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
108697         (Includes): Use <stdlib.h> instead of getsubopt.h.
108698         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
108699         Set HAVE_GETSUBOPT.
108700         * lib/getsubopt.c: Don't include getsubopt.h.
108702 2007-02-18  Bruno Haible  <bruno@clisp.org>
108704         * modules/fchdir (Depends-on): Add dup2.
108706 2007-02-18  Bruno Haible  <bruno@clisp.org>
108708         * lib/stdlib_.h: Handle glibc's special invocation convention
108709         specially.
108711 2007-02-18  Bruno Haible  <bruno@clisp.org>
108713         * modules/stdlib-tests: New file.
108714         * tests/test-stdlib.c: New file.
108716         * modules/mkstemp (Files): Remove lib/mkstemp.h.
108717         (Depends-on): Add stdlib.
108718         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
108719         (Includes): Use <stdlib.h> instead of mkstemp.h.
108720         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
108721         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
108722         * lib/mkstemp.c: Don't include mkstemp.h.
108723         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
108724         * lib/stdlib--.h: Don't include mkstemp.h.
108726         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
108727         (Depends-on): Add stdlib.
108728         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
108729         (Includes): Use <stdlib.h> instead of mkdtemp.h.
108730         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
108731         HAVE_MKDTEMP.
108732         * lib/mkdtemp.c: Don't include mkdtemp.h.
108733         * lib/clean-temp.c: Don't include mkdtemp.h.
108735         * modules/exit (Files): Remove lib/exit.h.
108736         (Depends-on): Add stdlib.
108737         (Makefile.am): Remove lib_SOURCES.
108738         (Include): Use <stdlib.h> instead of exit.h.
108739         * lib/argmatch.c: Don't include exit.h.
108740         * lib/execute.c: Likewise.
108741         * lib/pagealign_alloc.c: Likewise.
108742         * lib/pipe.c: Likewise.
108743         * lib/wait-process.c: Likewise.
108744         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
108745         * lib/exitfail.c: Likewise.
108746         * lib/savewd.c: Likewise.
108747         * lib/xsetenv.c: Likewise.
108749         * modules/stdlib: New file.
108750         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
108751         and extra comments about mkstemp().
108752         * lib/exit.h: Remove file.
108753         * lib/mkdtemp.h: Remove file.
108754         * lib/mkstemp.h: Remove file.
108755         * m4/stdlib_h.m4: New file.
108756         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
108758 2007-02-18  Bruno Haible  <bruno@clisp.org>
108760         * modules/math-tests: New file.
108761         * tests/test-math.c: New file.
108763         * modules/math: New file.
108764         * modules/mathl (Files): Remove lib/mathl.h.
108765         (Depends-on): Add math.
108766         (Makefile.am): Don't mention mathl.h.
108767         (Include): Use <math.h> instead of mathl.h.
108768         * lib/math_.h: New file.
108769         * lib/mathl.h: Remove file.
108770         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
108771         mathl.h.
108772         * lib/asinl.c: Likewise.
108773         * lib/atanl.c: Likewise.
108774         * lib/ceill.c: Likewise.
108775         * lib/cosl.c: Likewise.
108776         * lib/expl.c: Likewise.
108777         * lib/floorl.c: Likewise.
108778         * lib/frexpl.c: Likewise.
108779         * lib/ldexpl.c: Likewise.
108780         * lib/logl.c: Likewise.
108781         * lib/sincosl.c: Likewise.
108782         * lib/sinl.c: Likewise.
108783         * lib/sqrtl.c: Likewise.
108784         * lib/tanl.c: Likewise.
108785         * lib/trigl.c: Likewise.
108786         * m4/math_h.m4: New file.
108787         * MODULES.html.sh (Mathematics): Add math.
108789 2007-02-17  Bruno Haible  <bruno@clisp.org>
108791         * modules/wctype-tests: New file.
108792         * tests/test-wctype.c: New file.
108794         * modules/wchar-tests: New file.
108795         * tests/test-wchar.c: New file.
108797         * modules/unistd-tests: New file.
108798         * tests/test-unistd.c: New file.
108800         * modules/time-tests: New file.
108801         * tests/test-time.c: New file.
108803         * modules/sysexits-tests: New file.
108804         * tests/test-sysexits.c: New file.
108806         * modules/sys_time-tests: New file.
108807         * tests/test-sys_time.c: New file.
108809         * modules/sys_stat-tests: New file.
108810         * tests/test-sys_stat.c: New file.
108812         * modules/sys_socket-tests: New file.
108813         * tests/test-sys_socket.c: New file.
108815         * modules/sys_select-tests: New file.
108816         * tests/test-sys_select.c: New file.
108818         * modules/string-tests: New file.
108819         * tests/test-string.c: New file.
108821         * modules/stdbool-tests: New file.
108822         * tests/test-stdbool.c: New file.
108824         * modules/netinet_in-tests: New file.
108825         * tests/test-netinet_in.c: New file.
108827         * modules/inttypes-tests: New file.
108828         * tests/test-inttypes.c: New file.
108830         * modules/fcntl-tests: New file.
108831         * tests/test-fcntl.c: New file.
108833         * modules/byteswap-tests: New file.
108834         * tests/test-byteswap.c: New file.
108836         * modules/arpa_inet-tests: New file.
108837         * tests/test-arpa_inet.c: New file.
108839 2007-02-17  Bruno Haible  <bruno@clisp.org>
108841         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
108842         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
108843         if the corresponding module is not enabled. Emit link warnings if
108844         the function is used nevertheless.
108845         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
108846         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
108847         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
108848         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
108849         * modules/inttypes (Depends-on): Add link-warning.
108850         (Makefile.am): Copy the contents of build-aux/link-warning.h into
108851         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
108852         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
108853         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
108854         * modules/imaxdiv (configure.ac): Likewise.
108855         * modules/strtoimax (configure.ac): Likewise.
108856         * modules/strtoumax (configure.ac): Likewise.
108858 2007-02-17  Bruno Haible  <bruno@clisp.org>
108860         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
108861         gl_STRING_MODULE_INDICATOR_DEFAULTS.
108862         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
108863         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
108865 2007-02-17  Bruno Haible  <bruno@clisp.org>
108867         * modules/link-warning: New file.
108868         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
108869         * lib/string_.h (GL_LINK_WARNING): Remove definition.
108870         * modules/string (Depends-on): Add link-warning.
108871         (Makefile.am): Copy the contents of build-aux/link-warning.h into
108872         string.h.
108873         * MODULES.html.sh (Support for building libraries and executables): Add
108874         link-warning.
108876 2007-02-17  Bruno Haible  <bruno@clisp.org>
108878         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
108879         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
108880         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
108881         long lines.
108883 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
108884             Bruno Haible  <bruno@clisp.org>
108886         * modules/tmpfile: New file.
108887         * lib/tmpfile.c: New file.
108888         * m4/tmpfile.m4: New file.
108889         * MODULES.html.sh (func_all_modules): New section "Input/output".
108891 2007-02-15  Bruno Haible  <bruno@clisp.org>
108893         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
108894         (supports_delete_on_close): New function.
108895         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
108897 2007-02-14  Bruno Haible  <bruno@clisp.org>
108899         * modules/mbspcasecmp-tests: New file.
108900         * tests/test-mbspcasecmp.sh: New file.
108901         * tests/test-mbspcasecmp.c: New file.
108903         New module mbspcasecmp.
108904         * modules/mbspcasecmp: New file.
108905         * lib/mbspcasecmp.c: New file.
108906         * lib/string_.h (strncasecmp): Change warning message.
108907         (mbspcasecmp): New declaration.
108908         * m4/mbspcasecmp.m4: New file.
108909         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108910         GNULIB_MBSPCASECMP.
108911         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
108912         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
108914 2007-02-14  Bruno Haible  <bruno@clisp.org>
108916         * modules/mbsncasecmp-tests: New file.
108917         * tests/test-mbsncasecmp.sh: New file.
108918         * tests/test-mbsncasecmp.c: New file.
108920         New module mbsncasecmp.
108921         * modules/mbsncasecmp: New file.
108922         * lib/mbsncasecmp.c: New file.
108923         * lib/string_.h (mbsncasecmp): New declaration.
108924         * m4/mbsncasecmp.m4: New file.
108925         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108926         GNULIB_MBSNCASECMP.
108927         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
108928         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
108930 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
108932         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
108933         Verify that it doesn't overlap with our flags.
108934         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
108935         do not have the desired effect in multibyte locales; instead, use
108936         mbscasecmp.
108937         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
108938         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
108939         we don't require GNU fnmatch ourselves (if our users require it, they
108940         should do so explicitly).
108942         Fix regex code so it doesn't rely on strcasecmp.
108943         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
108944         Otherwise, include gnulib's langinfo.h.
108945         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
108946         undesirable behavior in non-C locales.  Instead, rely on localecharset.
108947         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
108948         * modules/regex (FILES): Remove m4/codeset.m4.
108949         (Depends-on): Add localcharset.  Remove strcase.
108951 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
108953         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
108954         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
108956 2007-02-13  Bruno Haible  <bruno@clisp.org>
108958         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
108959         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
108961 2007-02-12  Bruno Haible  <bruno@clisp.org>
108963         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
108964         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
108965         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
108966         time warning rather than a link error.
108968 2007-02-12  Bruno Haible  <bruno@clisp.org>
108970         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
108971         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
108972         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
108974 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
108976         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
108977         args, not 2.
108979 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
108981         New module 'time', so that apps can include <time.h> as per
108982         POSIX and GNU instead of separate include files like time_r.h
108983         and timegm.h.  This implementation tries out a simpler approach
108984         for replacing decls in standard include files (as compared to
108985         the string module), somewhat as an experiment.
108987         * config/srclist.txt: Comment out mktime.c for now.
108988         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
108989         since it doesn't apply any more.  Use generic wording instead.
108990         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
108991         'time'.
108992         * lib/time_.h, m4/time_h.m4, modules/time: New files.
108993         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
108994         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
108995         Don't include <sys/types.h>; no longer needed since we assume C89.
108996         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
108997         * lib/strftime.c: Likewise.
108998         * lib/time_r.c: Likewise.
108999         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
109000         * lib/nanosleep.c: Include <time.h> first, to check interface.
109001         * lib/strptime.c: Likewise.
109002         * lib/time_r.c: Likewise.
109003         * lib/timegm.c: Likewise.
109004         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
109005         needed.
109006         * lib/timegm.c: Don't include timegm.h; no longer needed.
109007         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
109008         time.h now handles any problems in that area.
109009         (struct timespec, nanosleep): Remove; time.h now arranges for these.
109010         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
109011         that time.h defines struct timespec.
109012         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
109013         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
109014         handles that.
109015         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
109016         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
109017         needed.  Set REPLACE_LOCALTIME.
109018         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
109019         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
109020         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
109021         nanosleep; time_h.m4 now does that.  Don't require
109022         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
109023         module handles this now.
109024         * modules/getdate (Depends-on): Remove timespec.  Add time.
109025         * modules/nanosleep (Depends-on): Likewise.
109026         * modules/stat-time (Depends-on): Likewise.
109027         * modules/nanosleep (Include): Include time.h, not timespec.h.
109028         * modules/strptime (Files): Remove lib/strptime.h.
109029         (Depends-on): Add extensions, time.
109030         (Include): Include time.h, not strptime.h.
109031         * modules/time_r (Files): Remove lib/time_r.h.
109032         (Depends-on): Add time.
109033         (Include): Include time.h, not time_r.h.
109034         * modules/timegm: Likewise.
109035         * modules/timespec (Description): Now does timespec-related decls
109036         of our own, instead of struct timespec itself.
109037         (Depends-on): Add time; remove extensions.
109038         (Maintainer): Add self.
109039         * modules/utimecmp (Depends-on): Add time; remove timespec.
109040         * modules/utimens (Depends-on): Likewise.
109041         * modules/xnanosleep (Depends-on): Likewise.
109043 2007-02-11  Bruno Haible  <bruno@clisp.org>
109045         * lib/c-strstr.c: Include allocsa.h.
109046         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
109047         * lib/c-strcasestr.c: Include allocsa.h.
109048         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
109049         * lib/strcasestr.c: Include allocsa.h.
109050         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
109051         * lib/mbsstr.c: Include allocsa.h.
109052         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
109053         allocsa/freesa instead of malloc/free.
109054         * lib/mbscasestr.c: Include allocsa.h.
109055         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
109056         allocsa/freesa instead of malloc/free.
109057         * modules/c-strstr (Depends-on): Add allocsa.
109058         * modules/c-strcasestr (Depends-on): Likewise.
109059         * modules/strcasestr (Depends-on): Likewise.
109060         * modules/mbsstr (Depends-on): Likewise.
109061         * modules/mbscasestr (Depends-on): Likewise.
109063 2007-02-11  Bruno Haible  <bruno@clisp.org>
109065         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
109067         * modules/mbsspn-tests: New file.
109068         * tests/test-mbsspn.sh: New file.
109069         * tests/test-mbsspn.c: New file.
109071 2007-02-11  Bruno Haible  <bruno@clisp.org>
109073         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
109075         * modules/mbspbrk-tests: New file.
109076         * tests/test-mbspbrk.sh: New file.
109077         * tests/test-mbspbrk.c: New file.
109079 2007-02-11  Bruno Haible  <bruno@clisp.org>
109081         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
109082         unneeded cast.
109084         * modules/mbscspn-tests: New file.
109085         * tests/test-mbscspn.sh: New file.
109086         * tests/test-mbscspn.c: New file.
109088 2007-02-11  Bruno Haible  <bruno@clisp.org>
109090         * modules/mbscasecmp-tests: New file.
109091         * tests/test-mbscasecmp.sh: New file.
109092         * tests/test-mbscasecmp.c: New file.
109094 2007-02-11  Bruno Haible  <bruno@clisp.org>
109096         Ensure O(n) worst-case complexity of mbscasestr.
109097         * lib/mbscasestr.c: Include stdbool.h.
109098         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
109099         functions.
109100         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
109101         the bookkeeping indicates that it's worth it.
109102         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
109104         * modules/mbscasestr-tests: New file.
109105         * tests/test-mbscasestr1.c: New file.
109106         * tests/test-mbscasestr2.sh: New file.
109107         * tests/test-mbscasestr2.c: New file.
109108         * tests/test-mbscasestr3.sh: New file.
109109         * tests/test-mbscasestr3.c: New file.
109110         * tests/test-mbscasestr4.sh: New file.
109111         * tests/test-mbscasestr4.c: New file.
109112         * m4/locale-tr.m4: New file.
109114 2007-02-11  Bruno Haible  <bruno@clisp.org>
109116         Ensure O(n) worst-case complexity of mbsstr.
109117         * lib/mbsstr.c: Include stdbool.h.
109118         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
109119         functions.
109120         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
109121         bookkeeping indicates that it's worth it.
109122         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
109124         * modules/mbsstr-tests: New file.
109125         * tests/test-mbsstr1.c: New file.
109126         * tests/test-mbsstr2.sh: New file.
109127         * tests/test-mbsstr2.c: New file.
109128         * tests/test-mbsstr3.sh: New file.
109129         * tests/test-mbsstr3.c: New file.
109130         * m4/locale-fr.m4: New file.
109132 2007-02-11  Bruno Haible  <bruno@clisp.org>
109134         * lib/mbsrchr.c (mbsrchr): Fix bug.
109136         * modules/mbsrchr-tests: New file.
109137         * tests/test-mbsrchr.sh: New file.
109138         * tests/test-mbsrchr.c: New file.
109140 2007-02-11  Bruno Haible  <bruno@clisp.org>
109142         * lib/mbschr.c (mbschr): Fix bug.
109144         * modules/mbschr-tests: New file.
109145         * tests/test-mbschr.sh: New file.
109146         * tests/test-mbschr.c: New file.
109147         * m4/locale-zh.m4: New file.
109149 2007-02-11  Bruno Haible  <bruno@clisp.org>
109151         Support for copying multibyte string iterators.
109152         * lib/mbiter.h: Include <string.h>.
109153         (mbiter_multi_copy): New function.
109154         (mbi_copy): New macro.
109155         * lib/mbuiter.h: Include <string.h>.
109156         (mbuiter_multi_copy): New function.
109157         (mbui_copy): New macro.
109159 2007-02-11  Bruno Haible  <bruno@clisp.org>
109161         New module mbslen.
109162         * modules/mbslen: New file.
109163         * lib/mbslen.c: New file.
109164         * lib/string_.h (mbslen): New declaration.
109165         * m4/mbslen.m4: New file.
109166         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109167         GNULIB_MBSLEN.
109168         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
109169         * MODULES.html.sh (Internationalization functions): Add mbslen.
109171 2007-02-11  Bruno Haible  <bruno@clisp.org>
109173         Ensure O(n) worst-case complexity of strcasestr substitute.
109174         * lib/strcasestr.c: Include stdbool.h.
109175         (knuth_morris_pratt): New function.
109176         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
109177         bookkeeping indicates that it's worth it.
109178         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
109180         * modules/strcasestr-tests: New file.
109181         * tests/test-strcasestr.c: New file.
109183 2007-02-11  Bruno Haible  <bruno@clisp.org>
109185         Ensure O(n) worst-case complexity of c_strcasestr.
109186         * lib/c-strcasestr.c: Include stdbool.h, string.h.
109187         (knuth_morris_pratt): New function.
109188         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
109189         the bookkeeping indicates that it's worth it.
109190         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
109192         * modules/c-strcasestr-tests: New file.
109193         * tests/test-c-strcasestr.c: New file.
109195 2007-02-11  Bruno Haible  <bruno@clisp.org>
109197         Ensure O(n) worst-case complexity of c_strstr.
109198         * lib/c-strstr.c: Include stdbool.h, string.h.
109199         (knuth_morris_pratt): New function.
109200         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
109201         bookkeeping indicates that it's worth it.
109202         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
109204         * lib/c-strstr.c: Complete rewrite for maintainability.
109206         * modules/c-strstr-tests: New file.
109207         * tests/test-c-strstr.c: New file.
109209 2007-02-11  Bruno Haible  <bruno@clisp.org>
109211         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
109212         5.2.1 and earlier, whereby \055 was treated just like the range
109213         delimiter '-'.
109214         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
109216 2007-02-08  Bruno Haible  <bruno@clisp.org>
109218         * modules/regex (Depends-on): Add stdbool.
109219         Reported by Dalibor Topic <robilad@kaffe.org>.
109221 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
109223         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
109224         Prefer returning from main to exiting from it.
109225         Remove unnecessary parens after sizeof.
109227 2007-02-05  Bruno Haible  <bruno@clisp.org>
109229         New module mbssep.
109230         * modules/mbssep: New file.
109231         * lib/mbssep.c: New file.
109232         * lib/string_.h (strsep): Add a conditional link warning.
109233         (mbssep): New declaration.
109234         * m4/mbssep.m4: New file.
109235         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109236         GNULIB_MBSSEP.
109237         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
109238         * MODULES.html.sh (Internationalization functions): Add mbssep.
109240 2007-02-05  Bruno Haible  <bruno@clisp.org>
109242         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
109243         Optimize search in case of 1 delimiter.
109245 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
109247         * lib/acl.h: Include sys/types.h before sys/acl.h.
109249 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
109251         Merge upstream fix for glibc bugzilla #3957:
109253         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
109255         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
109256         bit for RE_HAT_LISTS_NOT_NEWLINE.
109257         (build_charclass_op): Remove bogus comment.
109259 2007-02-05  Simon Josefsson  <simon@josefsson.org>
109261         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
109263 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
109265         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
109266         * lib/memmem.c [!defined _LIBC]: Include config.h.
109268 2007-02-04  Bruno Haible  <bruno@clisp.org>
109270         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
109271         warning message.
109273 2007-02-04  Bruno Haible  <bruno@clisp.org>
109275         New module mbstok_r.
109276         * modules/mbstok_r: New file.
109277         * lib/mbstok_r.c: New file.
109278         * lib/string_.h (strtok_r): Change argument names to match the
109279         comments. Add a conditional link warning.
109280         (mbstok_r): New declaration.
109281         * m4/mbstok_r.m4: New file.
109282         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109283         GNULIB_MBSTOK_R.
109284         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
109285         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
109287 2007-02-04  Bruno Haible  <bruno@clisp.org>
109289         New module mbsspn.
109290         * modules/mbsspn: New file.
109291         * lib/mbsspn.c: New file.
109292         * lib/string_.h (strspn): Add a conditional link warning.
109293         (mbsspn): New declaration.
109294         * m4/mbsspn.m4: New file.
109295         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109296         GNULIB_MBSSPN.
109297         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
109298         * MODULES.html.sh (Internationalization functions): Add mbsspn.
109300 2007-02-04  Bruno Haible  <bruno@clisp.org>
109302         New module mbspbrk.
109303         * modules/mbspbrk: New file.
109304         * lib/mbspbrk.c: New file.
109305         * lib/string_.h (strpbrk): Add a conditional link warning.
109306         (mbspbrk): New declaration.
109307         * m4/mbspbrk.m4: New file.
109308         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109309         GNULIB_MBSPBRK.
109310         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
109311         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
109313 2007-02-04  Bruno Haible  <bruno@clisp.org>
109315         New module mbscspn.
109316         * modules/mbscspn: New file.
109317         * lib/mbscspn.c: New file.
109318         * lib/string_.h (strcspn): Add a conditional link warning.
109319         (mbscspn): New declaration.
109320         * m4/mbscspn.m4: New file.
109321         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109322         GNULIB_MBSCSPN.
109323         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
109324         * MODULES.html.sh (Internationalization functions): Add mbscspn.
109326 2007-02-04  Bruno Haible  <bruno@clisp.org>
109328         New module mbscasestr, reduced goal of strcasestr.
109329         * modules/mbscasestr: New file.
109330         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
109331         (mbscasestr): Renamed from strcasestr.
109332         * lib/strcasestr.c: Don't include mbuiter.h.
109333         (strcasestr): Remove support for multibyte locales.
109334         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
109335         Change the conditional link warning.
109336         (mbscasestr): New declaration.
109337         * m4/mbscasestr.m4: New file.
109338         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
109339         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
109340         REPLACE_STRCASESTR.
109341         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
109342         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
109343         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
109344         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
109345         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
109346         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
109347         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
109348         (Depends-on): Remove mbuiter.
109349         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
109351 2007-02-04  Bruno Haible  <bruno@clisp.org>
109353         Simplify handling of strncasecmp.
109354         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
109355         the conditional link warning.
109356         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
109357         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
109358         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
109359         * modules/strcase (configure.ac): Don't invoke
109360         gl_STRING_MODULE_INDICATOR.
109361         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
109363 2007-02-04  Bruno Haible  <bruno@clisp.org>
109365         New module mbscasecmp, reduced goal of strcasecmp.
109366         * modules/mbscasecmp: New file.
109367         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
109368         (mbscasecmp): Renamed from strcasecmp.
109369         * lib/strcasecmp.c: Don't include mbuiter.h.
109370         (strcasecmp): Remove support for multibyte locales.
109371         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
109372         Change the conditional link warning.
109373         (mbscasecmp): New declaration.
109374         * m4/mbscasecmp.m4: New file.
109375         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
109376         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
109377         REPLACE_STRCASECMP.
109378         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
109379         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109380         GNULIB_MBSCASECMP.
109381         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
109382         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
109383         * modules/strcase (Files): Remove m4/mbrtowc.m4.
109384         (Depends-on): Remove mbuiter.
109385         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
109387 2007-02-04  Bruno Haible  <bruno@clisp.org>
109389         New module mbsstr. Remove module strstr.
109390         * modules/mbsstr: New file.
109391         * modules/strstr: Remove file.
109392         * lib/mbsstr.c: Renamed from lib/strstr.c.
109393         (mbsstr): Renamed from strstr.
109394         * lib/string_.h (strstr): Remove declaration. Change the conditional
109395         link warning.
109396         (mbsstr): New declaration.
109397         * m4/mbsstr.m4: New file.
109398         * m4/strstr.m4: Remove file.
109399         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
109400         REPLACE_STRSTR.
109401         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
109402         Don't initialize GNULIB_STRSTR.
109403         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
109404         substitute GNULIB_STRSTR and REPLACE_STRSTR.
109405         * MODULES.html.sh (Internationalization functions): Add mbsstr.
109406         (Support for systems lacking ANSI C 89): Remove strstr.
109408 2007-02-04  Bruno Haible  <bruno@clisp.org>
109410         New module mbsrchr.
109411         * modules/mbsrchr: New file.
109412         * lib/mbsrchr.c: New file.
109413         * lib/string_.h (strrchr): Add a conditional link warning.
109414         (mbsrchr): New declaration.
109415         * m4/mbsrchr.m4: New file.
109416         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109417         GNULIB_MBSRCHR.
109418         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
109419         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
109421 2007-02-04  Bruno Haible  <bruno@clisp.org>
109423         New module mbschr.
109424         * modules/mbschr: New file.
109425         * lib/mbschr.c: New file.
109426         * lib/string_.h (strchr): Add a conditional link warning.
109427         (mbschr): New declaration.
109428         * m4/mbschr.m4: New file.
109429         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109430         GNULIB_MBSCHR.
109431         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
109432         * MODULES.html.sh (Internationalization functions): Add mbschr.
109434 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
109436         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
109438         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
109440 2007-02-04  Bruno Haible  <bruno@clisp.org>
109442         New module description section 'configure.ac-early'.
109443         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
109444         (func_get_autoconf_early_snippet): New function.
109445         (func_import, func_create_testdir): Use it. Remove special cases for
109446         modules 'extensions' and 'lock'.
109447         * modules/extensions (configure.ac-early): Require
109448         gl_USE_SYSTEM_EXTENSIONS.
109449         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
109451 2007-02-04  Bruno Haible  <bruno@clisp.org>
109453         Make use of gcj-4.3's -fsource and -ftarget option.
109454         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
109455         and if so try the options -fsource and -ftarget.
109456         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
109457         source_version, ftarget_option, target_version arguments.
109458         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
109459         (is_envjavac_oldgcj_14_14_usable): Renamed from
109460         is_envjavac_gcj_14_14_usable.
109461         (is_envjavac_oldgcj_14_13_usable): Renamed from
109462         is_envjavac_gcj_14_13_usable.
109463         (is_gcj_present): Update.
109464         (is_gcj_43, is_gcj43_usable): New functions.
109465         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
109466         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
109467         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
109468         try the options -fsource and -ftarget.
109470 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
109472         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
109473         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
109474         larger value.
109476 2007-02-03  Jim Meyering  <jim@meyering.net>
109478         Give tools a better chance to allocate space for very large buffers.
109479         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
109481         Make pwd and readlink work also when run with an unreadable parent dir
109482         on systems with openat support.
109483         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
109484         provided getcwd function, even when we have openat support.
109485         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
109487 2007-02-02  Bruno Haible  <bruno@clisp.org>
109489         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
109490         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
109491         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
109492         portability problems if one of these functions is only used on specific
109493         platforms.
109494         Reported by Paul Eggert.
109496 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
109498         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
109499         is causing more trouble than it's curing.
109500         * lib/regex_internal.h (__mempcpy): Remove.
109501         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
109502         (and make the code a tad smaller to boot).
109503         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
109505 2007-02-02  Jim Meyering  <jim@meyering.net>
109507         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
109508         section, not in the Makefile.am: one.
109510 2007-02-02  Eric Blake  <ebb9@byu.net>
109512         * lib/strchrnul.c: Always include config.h first.
109514         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
109515         gnulib strstr is not necessary here.
109517 2007-02-02  Simon Josefsson  <simon@josefsson.org>
109519         * m4/socklen.m4: Fix typo.
109521 2007-02-02  Eric Blake  <ebb9@byu.net>
109523         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
109524         * modules/netinet_in (Makefile.am): Likewise.
109526 2007-02-01  Bruno Haible  <bruno@clisp.org>
109528         * lib/string_.h (GL_LINK_WARNING): New macro.
109529         (strcasecmp, strstr, strcasestr): If provided by the system,
109530         conditionally define as a macro that leads to a warning instead of to
109531         an error.
109532         (strncasecmp): Conditionally define as a macro that leads to a warning.
109534 2007-02-01  Karl Berry  <karl@gnu.org>
109536         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
109538 2007-02-01  Bruno Haible  <bruno@clisp.org>
109540         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
109541         renamings.
109543 2007-02-01  Eric Blake  <ebb9@byu.net>
109545         * modules/regex (Depends-on): Revert dependence on mempcpy.
109546         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
109547         module's definition of mempcpy.
109548         Reported by Paul Eggert.
109550 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
109552         * lib/string_.h: If the gnulib module XYZ is not present, undefine
109553         the symbol XYZ before redefining it.  This fixes a problem with
109554         programs that don't use XYZ, when compiled on systems that define
109555         XYZ to something else.
109557 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
109559         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
109560         occurs when "mkdir -m foo" creates a setgid directory that is (1)
109561         writeable to group or other and (2) is intended to have a special
109562         mode bit that is set or cleared.  In such a case, the directory
109563         should be neither group- nor other-writeable until the special
109564         mode bits are right.
109566 2007-01-31  Eric Blake  <ebb9@byu.net>
109568         * modules/mountlist (Depends-on): Add strstr.
109570         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
109571         bug.
109572         * modules/string (Makefile.am): Remove redundant replacement.
109573         * modules/regex (Depends-on): Add mempcpy.
109575 2007-01-31  Bruno Haible  <bruno@clisp.org>
109577         New module description field 'Link'.
109578         * gnulib-tool (func_usage): Document --extract-link-directive.
109579         (sed_extract_prog): Recognize 'Link' directive.
109580         (func_get_link_directive): New function.
109581         (func_import): Show summary of link directives.
109582         Handle --extract-link-directive option.
109583         * modules/acl (Link): New section.
109584         * modules/clock-time (Link): New section.
109585         * modules/euidaccess (Link): New section.
109586         * modules/gettext (Link): New section.
109587         * modules/iconv (Link): New section.
109588         * modules/lock (Link): New section.
109589         * modules/nanosleep (Link): New section.
109590         * modules/readline (Link): New section.
109592 2007-01-27  Bruno Haible  <bruno@clisp.org>
109594         Enforce the use of gnulib modules for unportable <string.h> functions.
109595         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
109596         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
109597         (gl_HEADER_STRING_H_BODY): Require it.
109598         * lib/string_.h: If the gnulib module XYZ is not present, redefine
109599         the symbol XYZ to one that gives a link error.
109600         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
109601         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
109602         * modules/mempcpy (configure.ac): Likewise.
109603         * modules/memrchr (configure.ac): Likewise.
109604         * modules/stpcpy (configure.ac): Likewise.
109605         * modules/stpncpy (configure.ac): Likewise.
109606         * modules/strcase (configure.ac): Likewise.
109607         * modules/strcasestr (configure.ac): Likewise.
109608         * modules/strchrnul (configure.ac): Likewise.
109609         * modules/strdup (configure.ac): Likewise.
109610         * modules/strndup (configure.ac): Likewise.
109611         * modules/strnlen (configure.ac): Likewise.
109612         * modules/strpbrk (configure.ac): Likewise.
109613         * modules/strsep (configure.ac): Likewise.
109614         * modules/strstr (configure.ac): Likewise.
109615         * modules/strtok_r (configure.ac): Likewise.
109617 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
109619         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
109621 2007-01-30  Jim Meyering  <jim@meyering.net>
109623         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
109625 2007-01-29  Bruno Haible  <bruno@clisp.org>
109627         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
109628         * lib/execute.c: Likewise.
109629         * lib/pipe.c: Likewise.
109630         * lib/printf-args.h: Likewise.
109631         * lib/printf-args.c: Likewise.
109632         * lib/printf-parse.c: Likewise.
109633         * lib/vasnprintf.c: Likewise.
109635 2007-01-29  Eric Blake  <ebb9@byu.net>
109637         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
109638         declaration.
109640 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
109642         * lib/strptime.h (strptime): Use 'restrict' for args where
109643         POSIX requires this.
109644         * lib/strptime.c (strptime): Likewise.
109645         Change license notice from LGPL to GPL, since gnulib-tool will
109646         change this as needed.
109647         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
109648         defined.
109649         Include "strptime.h" first, to check interface.
109650         Do not #undef _LIBC and _NL_CURRENT.
109651         Do not include <stdlib.h>; no longer needed.
109652         Include "time_r.h" and declare ptime_locale_status
109653         only if _LIBC is not defined.
109654         (__P): Remove unused macro.
109655         (match_string): Bring back glibc version, but use it only if _LIBC
109656         is defined.
109657         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
109658         Remove unnecessary assertion and abort() call.
109659         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
109660         * m4/strptime.m4: Fix serial number comment.
109661         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
109662         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
109663         (Depends-on): Add time_r.
109665 2007-01-29  Bruno Haible  <bruno@clisp.org>
109667         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
109668         strptime.
109669         * modules/strptime (Depends-on): Add stdbool.
109670         * lib/strptime.h: Include <time.h> always. Add comments.
109672 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
109674         * modules/strptime: New file.
109675         * lib/strptime.h: New file.
109676         * lib/strptime.c: New file.
109677         * m4/strptime.m4: New file.
109679 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
109681         * MODULES.html.sh: New module mpsort.
109682         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
109684         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
109685         a circularity problem with HP-UX ia64 reported by Bob Proulx in
109686         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
109687         All uses changed.
109688         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
109689         All uses changed.
109690         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
109691         to _Restrict_.
109692         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
109693         the parameter matches the prototype.
109695 2007-01-28  Jim Meyering  <jim@meyering.net>
109697         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
109698         sys/time.h here, reverting that part of the previous patch:
109699         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
109701 2007-01-28  Bruno Haible  <bruno@clisp.org>
109703         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
109704         value of $(SYS_TIME_H).
109705         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
109706         remove it conditionally, too. [added by Jim Meyering]
109707         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
109708         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
109709         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
109710         GETTIMEOFDAY_REPLACEMENT to 1.
109712 2007-01-28  Bruno Haible  <bruno@clisp.org>
109714         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
109715         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
109716         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
109717         Set UNISTD_H instead of UNISTD_H2.
109718         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
109720 2007-01-28  Bruno Haible  <bruno@clisp.org>
109722         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
109723         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
109725 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109727         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
109728         (func_create_testdir): Ensure C locale for `grep' and `tr'
109729         character ranges.
109730         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
109731         ACLOCAL_AMFLAGS parsing state machine.
109733 2007-01-27  Bruno Haible  <bruno@clisp.org>
109735         * modules/unistr/base: Update.
109737 2007-01-27  Bruno Haible  <bruno@clisp.org>
109739         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
109740         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
109741         * modules/unistr/u32-mbtouc-unsafe: Renamed from
109742         modules/unistr/u32-mbtouc.
109743         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
109744         * lib/unistr.h: Update.
109745         * lib/linebreak.c: Update.
109746         * modules/unistr/u32-mbtouc: Renamed from
109747         modules/unistr/u32-mbtouc-safe.
109748         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
109749         * lib/unistr.h: Update.
109750         * lib/unistr/u32-to-u8.c: Update.
109751         * lib/unistr/u32-to-u16.c: Update.
109753 2007-01-27  Bruno Haible  <bruno@clisp.org>
109755         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
109756         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
109757         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
109758         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
109759         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
109760         * modules/unistr/u16-mbtouc-unsafe: Renamed from
109761         modules/unistr/u16-mbtouc.
109762         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
109763         * lib/unistr.h: Update.
109764         * lib/linebreak.c: Update.
109765         * modules/linebreak: Update.
109766         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
109767         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
109768         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
109769         * modules/unistr/u16-mbtouc: Renamed from
109770         modules/unistr/u16-mbtouc-safe.
109771         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
109772         * lib/unistr.h: Update.
109773         * lib/unistr/u16-to-u8.c: Update.
109774         * modules/unistr/u16-to-u8: Update.
109775         * lib/unistr/u16-to-u32.c: Update.
109776         * modules/unistr/u16-to-u32: Update.
109778 2007-01-27  Bruno Haible  <bruno@clisp.org>
109780         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
109781         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
109782         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
109783         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
109784         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
109785         * modules/unistr/u8-mbtouc-unsafe: Renamed from
109786         modules/unistr/u8-mbtouc.
109787         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
109788         * lib/unistr.h: Update.
109789         * lib/striconveh.c: Update.
109790         * modules/striconveh: Update.
109791         * lib/linebreak.c: Update.
109792         * modules/linebreak: Update.
109793         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
109794         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
109795         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
109796         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
109797         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
109798         * lib/unistr.h: Update.
109799         * lib/striconveh.c: Update.
109800         * modules/striconveh: Update.
109801         * lib/unistr/u8-to-u16.c: Update.
109802         * modules/unistr/u8-to-u16: Update.
109803         * lib/unistr/u8-to-u32.c: Update.
109804         * modules/unistr/u8-to-u32: Update.
109806 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109808         Sync from Libtool.
109809         * lib/argz.c: Do not include strings.h nor memory.h, include
109810         string.h unconditionally.  Patch by Simon Josefsson.
109812 2007-01-27  Bruno Haible  <bruno@clisp.org>
109814         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
109815         from gl_HEADER_STRING_H_BODY.
109816         (gl_HEADER_STRING_H_BODY): Require it.
109817         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
109818         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
109819         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
109820         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
109821         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
109822         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
109823         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
109824         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
109825         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
109826         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
109827         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
109828         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
109829         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
109830         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
109831         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
109833 2007-01-27  Bruno Haible  <bruno@clisp.org>
109835         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
109836         check_PROGRAMS into noinst_PROGRAMS.
109837         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
109838         check_PROGRAMS in this case.
109839         (func_import): Set for_test to false.
109840         (func_create_testdir): Set for_test to true.
109842 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
109843             Bruno Haible  <bruno@clisp.org>
109845         * modules/strcasestr (Files): Remove lib/strcasestr.h.
109846         (Depends-on): Add string.
109847         (Includes): Use <string.h> instead of strcasestr.h.
109848         * modules/string (Makefile.am): Also substitute the value of
109849         REPLACE_STRCASESTR.
109850         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
109851         assume strcasestr is declared in <string.h> not <strings.h>. Also
109852         set REPLACE_STRCASESTR.
109853         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
109854         REPLACE_STRCASESTR.
109855         * lib/strcasestr.h: Remove file.
109856         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
109857         * lib/string_.h (strcasestr): New declaration.
109859 2007-01-27  Bruno Haible  <bruno@clisp.org>
109861         * lib/string_.h: Use 'extern'.
109863 2007-01-27  Jim Meyering  <jim@meyering.net>
109865         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
109866         of set-but-not-used local, "q".
109868         * lib/mempcpy.c: Include <config.h> before <string.h>.
109869         This fixes a compilation error on HP-UX, due to the system's
109870         "restrict"-using mempcpy prototype.
109872 2007-01-26  Bruno Haible  <bruno@clisp.org>
109874         Small optimization.
109875         * lib/javacomp.c: Include c-strstr.h.
109876          (is_envjavac_gcj): Use c_strstr instead of strstr.
109877         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
109879 2007-01-26  Bruno Haible  <bruno@clisp.org>
109881         * MODULES.html.sh (Unicode string functions): Add the new modules.
109883         * modules/uniconv/u32-strconv-to-locale: New file.
109884         * lib/uniconv/u32-strconv-to-locale.c: New file.
109886         * modules/uniconv/u16-strconv-to-locale: New file.
109887         * lib/uniconv/u16-strconv-to-locale.c: New file.
109889         * modules/uniconv/u8-strconv-to-locale: New file.
109890         * lib/uniconv/u8-strconv-to-locale.c: New file.
109892         * modules/uniconv/u32-strconv-from-locale: New file.
109893         * lib/uniconv/u32-strconv-from-locale.c: New file.
109895         * modules/uniconv/u16-strconv-from-locale: New file.
109896         * lib/uniconv/u16-strconv-from-locale.c: New file.
109898         * modules/uniconv/u8-strconv-from-locale: New file.
109899         * lib/uniconv/u8-strconv-from-locale.c: New file.
109901         * modules/uniconv/u32-strconv-to-enc: New file.
109902         * lib/uniconv/u32-strconv-to-enc.c: New file.
109903         * modules/uniconv/u32-strconv-to-enc-tests: New file.
109904         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
109906         * modules/uniconv/u16-strconv-to-enc: New file.
109907         * lib/uniconv/u16-strconv-to-enc.c: New file.
109908         * lib/uniconv/u-strconv-to-enc.h: New file.
109909         * modules/uniconv/u16-strconv-to-enc-tests: New file.
109910         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
109912         * modules/uniconv/u8-strconv-to-enc: New file.
109913         * lib/uniconv/u8-strconv-to-enc.c: New file.
109914         * modules/uniconv/u8-strconv-to-enc-tests: New file.
109915         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
109917         * modules/uniconv/u32-strconv-from-enc: New file.
109918         * lib/uniconv/u32-strconv-from-enc.c: New file.
109919         * modules/uniconv/u32-strconv-from-enc-tests: New file.
109920         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
109922         * modules/uniconv/u16-strconv-from-enc: New file.
109923         * lib/uniconv/u16-strconv-from-enc.c: New file.
109924         * modules/uniconv/u16-strconv-from-enc-tests: New file.
109925         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
109927         * modules/uniconv/u8-strconv-from-enc: New file.
109928         * lib/uniconv/u8-strconv-from-enc.c: New file.
109929         * lib/uniconv/u-strconv-from-enc.h: New file.
109930         * modules/uniconv/u8-strconv-from-enc-tests: New file.
109931         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
109933         * modules/uniconv/u32-conv-from-enc: New file.
109934         * lib/uniconv/u32-conv-from-enc.c: New file.
109935         * modules/uniconv/u32-conv-from-enc-tests: New file.
109936         * tests/uniconv/test-u32-conv-from-enc.c: New file.
109938         * modules/uniconv/u16-conv-from-enc: New file.
109939         * lib/uniconv/u16-conv-from-enc.c: New file.
109940         * lib/uniconv/u-conv-from-enc.h: New file.
109941         * modules/uniconv/u16-conv-from-enc-tests: New file.
109942         * tests/uniconv/test-u16-conv-from-enc.c: New file.
109944         * modules/uniconv/u8-conv-from-enc: New file.
109945         * lib/uniconv/u8-conv-from-enc.c: New file.
109946         * modules/uniconv/u8-conv-from-enc-tests: New file.
109947         * tests/uniconv/test-u8-conv-from-enc.c: New file.
109949         * modules/uniconv/base: New file.
109950         * lib/uniconv.h: New file.
109952 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
109954         * doc/gnulib-tool.texi (Initial import): Update to match current
109955         behavior with strdup module.
109956         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
109957         * lib/memmem.h: Remove; all uses removed.  This is now done
109958         by <string.h>.
109959         * lib/mempcpy.h: Likewise.
109960         * lib/memrchr.h: Likewise.
109961         * lib/stpcpy.h: Likewise.
109962         * lib/stpncpy.h: Likewise.
109963         * lib/strcase.h: Likewise.
109964         * lib/strchrnul.h: Likewise.
109965         * lib/strdup.h: Likewise.
109966         * lib/strndup.h: Likewise.
109967         * lib/strnlen.h: Likewise.
109968         * lib/strpbrk.h: Likewise.
109969         * lib/strsep.h: Likewise.
109970         * lib/strstr.h: Likewise.
109971         * lib/strtok_r.h: Likewise.
109972         * lib/string_.h: New file.
109973         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
109974         Rely on <string.h> instead.
109975         * lib/canon-host.c: Likewise.
109976         * lib/chdir-long.c: Likewise.
109977         * lib/concatpath.c: Likewise.
109978         * lib/exclude.c: Likewise.
109979         * lib/fchdir.c: Likewise.
109980         * lib/getaddrinfo.c: Likewise.
109981         * lib/getcwd.c: Likewise.
109982         * lib/getsubopt.c: Likewise.
109983         * lib/glob.c: Likewise.
109984         * lib/hard-locale.c: Likewise.
109985         * lib/iconvme.c: Likewise.
109986         * lib/javacomp.c: Likewise.
109987         * lib/mempcpy.c: Likewise.
109988         * lib/memrchr.c: Likewise.
109989         * lib/regex_internal.h: Likewise.
109990         * lib/stpncpy.c: Likewise.
109991         * lib/strcasecmp.c: Likewise.
109992         * lib/strchrnul.c: Likewise.
109993         * lib/strdup.c: Likewise.
109994         * lib/striconv.c: Likewise.
109995         * lib/striconveh.c: Likewise.
109996         * lib/striconveha.c: Likewise.
109997         * lib/strncasecmp.c: Likewise.
109998         * lib/strndup.c: Likewise.
109999         * lib/strnlen.c: Likewise.
110000         * lib/strsep.c: Likewise.
110001         * lib/strstr.c: Likewise.
110002         * lib/strtok_r.c: Likewise.
110003         * lib/userspec.c: Likewise.
110004         * lib/w32spawn.h: Likewise.
110005         * lib/xstrndup.c: Likewise.
110006         * lib/mountlist.c (strstr): Remove decl.
110007         * m4/string_h.m4: New file.
110008         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
110009         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
110010         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
110011         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
110012         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
110013         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
110014         Set REPLACE_STRCASECMP if necessary.
110015         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
110016         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
110017         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
110018         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
110019         HAVE_DECL_STRDUP if necessary.
110020         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
110021         since gl_FUNC_STRNDUP does that now.
110022         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
110023         Check for decl here...
110024         (gl_PREREQ_STRNLEN): ... not here.
110025         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
110026         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
110027         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
110028         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
110029         necessary.
110030         * modules/string: New file.
110031         * modules/memmem (Files): Remove special-purpose include file.
110032         (Depends-on): Add string.
110033         (Include): Include <string.h>, not the removed file.
110034         * modules/mempcpy: Likewise.
110035         * modules/memrchr: Likewise.
110036         * modules/stpcpy: Likewise.
110037         * modules/stpncpy: Likewise.
110038         * modules/strcase: Likewise.
110039         * modules/strchrnul: Likewise.
110040         * modules/strdup: Likewise.
110041         * modules/strndup: Likewise.
110042         * modules/strnlen: Likewise.
110043         * modules/strpbrk: Likewise.
110044         * modules/strsep: Likewise.
110045         * modules/strstr: Likewise.
110046         * modules/strtok_r: Likewise.
110047         * tests/test-dirname.c: Don't include "strdup.h", since
110048         <string.h> now suffices.
110049         * tests/test-memmem.c: Don't include "memmem.h", since
110050         <string.h> now suffices.
110052 2007-01-25  Bruno Haible  <bruno@clisp.org>
110054         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
110055         *resultp is 0.
110057         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
110058         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
110059         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
110060         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
110062         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
110063         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
110064         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
110065         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
110066         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
110067         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
110069 2007-01-24  Bruno Haible  <bruno@clisp.org>
110071         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
110072         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
110073         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
110074         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
110075         gl_FUNC_FTS_CORE.
110076         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
110077         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
110078         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
110079         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
110080         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
110081         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
110082         gl_FUNC_FCHOWNAT.
110083         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
110084         gl_FUNC_STRFTIME.
110085         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
110086         Reported by Ralf Wildenhues.
110088 2007-01-24  Bruno Haible  <bruno@clisp.org>
110090         Drop AC_REQUIRE calls that are redundant with the module dependencies.
110091         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
110092         gl_GETADDRINFO.
110093         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
110094         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
110095         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
110097 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
110099         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
110100         Don't use 'exit'; just return from 'main'.
110101         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
110103         * lib/fnmatch_.h: Readjust white space and comments to match
110104         glibc, to avoid spurious diffs.
110106 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
110108         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
110109         2004-12-01 change by Jakub Jelinek, since this code won't compile
110110         if !LIBC.  Problem reported by Bob Proulx.
110112 2007-01-23  Bruno Haible  <bruno@clisp.org>
110114         * lib/striconveh.c: Include c-strcaseeq.h.
110115         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
110116         * modules/striconveh (Depends-on): Add c-strcaseeq.
110118 2007-01-23  Bruno Haible  <bruno@clisp.org>
110120         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
110122         * modules/c-strcaseeq: New file.
110123         * lib/c-strcaseeq.h: New file.
110125         * modules/streq: New file.
110126         * lib/streq.h: New file.
110128 2007-01-23  Bruno Haible  <bruno@clisp.org>
110130         * modules/striconveha-tests: New file.
110131         * tests/test-striconveha.c: New file.
110133         * lib/striconveha.h: Include <stdbool.h>.
110134         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
110135         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
110136         (mem_iconveha_notranslit): Renamed from mem_iconveha.
110137         (mem_iconveha): New function.
110138         (str_iconveha_notranslit): Renamed from str_iconveha.
110139         (str_iconveha): New function.
110140         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
110141         c-strcase.
110143 2007-01-23  Bruno Haible  <bruno@clisp.org>
110145         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
110146         encodings without forgiving before trying any encoding with handler.
110147         (str_iconveha): Try all encodings without forgiving before trying any
110148         encoding with handler.
110150 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
110152         Import the following changes from libc.
110154         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
110156         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
110158         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
110160         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
110161         normal_bracket label.
110163         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
110165         [BZ #361]
110166         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
110167         to normal_bracket after fetching the next character.
110169 2007-01-22  Bruno Haible  <bruno@clisp.org>
110171         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
110172         argument.
110173         * lib/striconveh.c (iconv_carefully_1): New function.
110174         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
110175         argument.
110176         (str_cd_iconveh): Update.
110177         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
110178         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
110179         * tests/test-striconveh.c (MAGIC): New macro.
110180         (new_offsets): New function.
110181         (main): Test call with and without offsets.
110183 2007-01-22  Bruno Haible  <bruno@clisp.org>
110185         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
110186         * modules/sys_select (Makefile.am): Likewise.
110187         * modules/sys_socket (Makefile.am): Likewise.
110188         * modules/sys_time (Makefile.am): Likewise.
110190 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
110192         * modules/gettimeofday (License): Change from GPL to LGPL, since
110193         gettimeofday is a library function.
110195 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
110197         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
110199 2007-01-21  Bruno Haible  <bruno@clisp.org>
110201         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
110203 2007-01-21  Bruno Haible  <bruno@clisp.org>
110205         * modules/striconveha: New file.
110206         * lib/striconveha.h: New file.
110207         * lib/striconveha.c: New file.
110208         * MODULES.html.sh (Internationalization functions): Add striconveha.
110209         * lib/striconv.c (str_iconv): Optimize the case of an empty input
110210         string.
110211         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
110213 2007-01-21  Bruno Haible  <bruno@clisp.org>
110215         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
110216         * lib/striconveh.c (str_iconveh): Likewise.
110218 2007-01-21  Bruno Haible  <bruno@clisp.org>
110220         * lib/striconveh.h (mem_iconveh): New declaration.
110221         * lib/striconveh.c (mem_iconveh): New function.
110222         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
110224 2007-01-21  Bruno Haible  <bruno@clisp.org>
110226         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
110228         * lib/striconveh.h (mem_cd_iconveh): Change specification.
110229         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
110230         original result buffer.
110231         (str_cd_iconveh): Update.
110232         * tests/test-striconveh.c (main): Update.
110234         * lib/striconv.h (mem_cd_iconv): Change specification.
110235         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
110236         result buffer.
110237         (str_cd_iconv): Update.
110238         * tests/test-striconv.c (main): Update.
110240 2007-01-21  Bruno Haible  <bruno@clisp.org>
110242         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
110244 2007-01-20  Jim Meyering  <jim@meyering.net>
110246         * lib/userspec.c (parse_with_separator): If a user or group string
110247         starts with "+", skip the corresponding name-to-ID look-up, since
110248         such a look-up must fail: user and group names may not include "+".
110250 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
110252         * lib/poll.c: Include sys/time.h and time.h unconditionally,
110253         since we now assume the sys_time module.
110254         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
110255         check for sys/time.h; no longer needed.
110256         * modules/poll (Depends-on): Depend on sys_time.
110258 2007-01-18  Bruno Haible  <bruno@clisp.org>
110260         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
110261         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
110263         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
110264         gettimeofday.
110266         * tests/test-gettimeofday.c: Include <time.h>.
110267         (dummy): Remove variable.
110269         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
110270         gl_HEADER_SYS_TIME_H.
110271         (gl_HEADER_SYS_TIME_H): New macro.
110273         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
110274         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110275         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
110276         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
110277         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110278         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
110279         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
110280         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110281         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
110282         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
110283         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110285         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
110286         last change; it caused a compilation error when cross-compiling to
110287         Cygwin.
110289 2007-01-18  Jim Meyering  <jim@meyering.net>
110291         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
110292         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
110293         than the race-prone "test -d sys || mkdir sys".
110294         (configure.ac): Use AC_PROG_MKDIR_P.
110295         * modules/sys_select: Likewise.
110296         * modules/sys_socket: Likewise.
110297         * modules/sys_time: Likewise.
110299 2007-01-18  Eric Blake  <ebb9@byu.net>
110301         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
110302         replace gettimeofday.
110303         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
110304         name, to avoid infinite recursion.
110306 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
110308         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
110309         module sys_time.
110310         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
110311         assume timespec.h defines struct timeval.
110312         * lib/settime.c: Likewise.
110313         * lib/utimens.c: Likewise.
110314         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
110315         since we now assume the gettimeofday module.
110316         * lib/tempname.c (__gen_tempname): Likewise.
110317         * lib/gettimeofday.h: Remove.
110318         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
110319         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
110320         Include <time.h>, for 'time()'.
110321         (localtime_buffer_addr): Also use this workaround if
110322         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
110323         to simplify the uses.  All uses changed.
110324         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
110325         that #undef is inside {}, and 'const' follows type name consistently.
110326         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
110327         (gettimeofday): Do not use the maximum possible value for
110328         tv->tv_usec, since that might break usages other than ls.c.
110329         Instead, we'll leave ls.c alone.  This undoes today's patch
110330         by Bruno.  Add a compile-time warning for 1s-clock resolution;
110331         we've never observed the problem but might as well keep the
110332         canary.
110333         * lib/nanosleep.c: Include timespec.h first, for interface check.
110334         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
110335         now assume the sys_time module.
110336         * lib/tempname.c: Likewise.
110337         * lib/timespec.h: Likewise.
110338         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
110339         needed.
110340         * lib/strftime.c: Likewise.
110341         * lib/timespec.h: Likewise.
110342         * lib/posixtm.c: Include posixtm.h first, for interface check.
110343         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
110344         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
110345         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
110346         * lib/sys_time_.h: New file.
110347         * lib/timespec.h (struct timespec): Use long int, not long.
110348         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
110349         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
110350         Remove obsolescent call to AC_HEADER_TIME.
110351         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
110352         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
110353         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
110354         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
110355         Likewise.
110356         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
110357         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
110358         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
110359         into the sys_time module.  Check for gettimeofday just once.
110360         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
110361         for gettimeofday signature to just check the signature.  Merely
110362         compile it, since linking doesn't test signature.  Improve test for
110363         whether gettimeofday.o is actually needed.
110364         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
110365         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
110366         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
110367         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110368         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
110369         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
110370         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
110371         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
110372         than worrying about sys/time.h.
110373         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
110374         Don't bother worrying about TIME_WITH_SYS_TIME.
110375         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
110376         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
110377         * m4/sys_time_h.m4: New file.
110378         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
110379         Don't include sys/time.h.  Return from main rather than exiting.
110380         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
110381         all uses changed.
110382         * modules/gethrxtime (Depends-on): Add sys_time.
110383         * modules/gettime (Depends-on): Likewise.
110384         * modules/gettimeofday (Depends-on): Likewise.
110385         * modules/nanosleep (Depends-on): Likewise.
110386         * modules/settime (Depends-on): Likewise.
110387         * modules/tempname (Depends-on): Likewise.
110388         * modules/utimens (Depends-on): Likewise.
110389         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
110390         (Include): Change back to <sys/time.h>.
110391         (Maintainer): Add self.
110392         * modules/sys_time: New file.
110393         * modules/tempname (Depends-on): Add gettimeofday.
110394         * tests/test-gettimeofday.c: Include <sys/time.h>
110395         rather than gettimeofday.h.
110397 2007-01-17  Bruno Haible  <bruno@clisp.org>
110399         * gnulib-tool (func_get_license): Revert last patch. Instead, let
110400         the license default to GPL.
110401         (func_create_testdir): Don't complain if a module is LGPL and its
110402         tests module depends on GPLed modules.
110404 2007-01-17  Bruno Haible  <bruno@clisp.org>
110406         * lib/gettimeofday.c (gettimeofday): Add code for the case
110407         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
110408         maximum possible value for tv->tv_usec, rather than the minimum one.
110410 2005-10-08  Martin Lambers  <marlam@marlam.de>
110411 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
110412 2007-01-16  Bruno Haible  <bruno@clisp.org>
110414         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
110415         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
110416         gl_FUNC_GETTIMEOFDAY.
110417         (Include): Add gettimeofday.h.
110418         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
110419         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
110420         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
110421         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
110422         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
110423         * lib/gettimeofday.h: New file.
110424         * lib/gettimeofday.c: Include <sys/timeb.h>.
110425         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
110426         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110427         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
110428         fall back on time().
110430         * tests/test-gettimeofday.c: New file.
110431         * modules/gettimeofday-tests: New file.
110433 2007-01-16  Eric Blake  <ebb9@byu.net>
110435         * modules/fnmatch (Depends-on): Depend on wchar.
110436         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
110437         * m4/fnmatch.m4: Likewise.
110438         * modules/mbchar (Makefile.am): Assume <wchar.h>.
110439         * m4/mbchar.m4: Likewise.
110440         * modules/mbswidth (Depends-on): Depend on wchar.
110441         * lib/mbswidth.c: Assume <wchar.h>.
110442         * m4/mbswidth.m4: Likewise.
110443         * modules/quotearg (Depends-on): Depend on wchar.
110444         * lib/quotearg.c: Assume <wchar.h>.
110445         * m4/quotearg.m4: Likewise.
110446         * modules/regex (Depends-on): Depend on wchar.
110447         * lib/regex_internal.h: Assume <wchar.h>.
110448         * m4/regex.m4: Likewise.
110449         * modules/stdint (Depends-on): Depend on wchar.
110450         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
110451         * m4/stdint.m4: Likewise.
110452         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
110453         * modules/strftime (Depends-on): Depend on wchar.
110454         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
110455         * modules/strtol (Depends-on): Depend on wchar.
110456         * lib/strtol.c: Assume <wchar.h>.
110457         * modules/wcwidth (Depends-on): Depend on wchar.
110458         * lib/wcwidth.h: Assume <wchar.h>.
110459         * m4/wcwidth.m4: Likewise.
110461 2007-01-16  Bruno Haible  <bruno@clisp.org>
110463         * modules/csharpexec-script: New, created from...
110464         * modules/csharpexec: ... this.
110466 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
110468         * modules/javaexec-script: New, created from...
110469         * modules/javaexec: ... this.
110471 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
110473         * modules/poll (Dependencies): Add sys_select.
110475 2007-01-15  Jim Meyering  <jim@meyering.net>
110477         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
110478         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
110479         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
110480         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
110482 2007-01-15  Bruno Haible  <bruno@clisp.org>
110484         * modules/striconveh: New file.
110485         * lib/striconveh.h: New file.
110486         * lib/striconveh.c: New file.
110487         * MODULES.html.sh (Internationalization functions): Add striconveh.
110489         * modules/striconveh-tests: New file.
110490         * tests/test-striconveh.c: New file.
110492 2007-01-15  Bruno Haible  <bruno@clisp.org>
110494         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
110495         not from GNU libiconv or GNU libc.
110497 2007-01-15  Bruno Haible  <bruno@clisp.org>
110499         * doc/gnulib-intro.texi (Copyright): Explain the different license
110500         terms for module descriptions, autoconf macros, tests, documentation.
110502 2007-01-14  Bruno Haible  <bruno@clisp.org>
110504         * modules/striconv-tests: New file.
110505         * tests/test-striconv.c: New file.
110507 2007-01-14  Bruno Haible  <bruno@clisp.org>
110509         * modules/iconv-tests: New file.
110510         * tests/test-iconv.c: New file.
110512 2007-01-14  Bruno Haible  <bruno@clisp.org>
110514         * gnulib-tool (func_get_license): For test modules, use the license of
110515         the main module.
110517 2007-01-14  Bruno Haible  <bruno@clisp.org>
110519         * modules/iconv (Include): Clarify that <iconv.h> can only be included
110520         if iconv is found to exist.
110522 2007-01-14  Bruno Haible  <bruno@clisp.org>
110524         * modules/c-ctype-tests: New file.
110525         * tests/test-c-ctype.c: New file.
110527 2007-01-14  Bruno Haible  <bruno@clisp.org>
110529         * modules/binary-io-tests: New file.
110530         * tests/test-binary-io.sh: New file.
110531         * tests/test-binary-io.c: New file.
110533 2007-01-14  Bruno Haible  <bruno@clisp.org>
110535         * modules/array-oset-tests: New file.
110536         * tests/test-array_oset.c: New file.
110538 2007-01-14  Bruno Haible  <bruno@clisp.org>
110540         * modules/array-list-tests: New file.
110541         * tests/test-array_list.c: New file.
110543 2007-01-14  Bruno Haible  <bruno@clisp.org>
110545         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
110546         and make.
110547         Reported by Simon Josefsson in
110548         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>
110550 2007-01-14  Bruno Haible  <bruno@clisp.org>
110552         * modules/allocsa-tests: New file.
110553         * tests/test-allocsa.c: New file.
110555 2007-01-14  Bruno Haible  <bruno@clisp.org>
110557         * modules/fchdir (Depends-on): Add absolute-header.
110558         * modules/unistd (Depends-on): Likewise.
110560 2006-12-30  Bruno Haible  <bruno@clisp.org>
110562         * modules/fchdir: New file.
110563         * modules/unistd (Files): Add lib/unistd_.h.
110564         (Makefile.am): Generate unistd.h from unistd_.h.
110565         * lib/fchdir.c: New file.
110566         * lib/dirent_.h: New file.
110567         * lib/unistd_.h: New file.
110568         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
110569         * m4/fchdir.m4: New file.
110570         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
110571         (gl_HEADER_UNISTD): Invoke it.
110572         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
110573         function.
110574         * lib/backupfile.c (opendir, closedir): Undefine.
110575         * lib/chown.c (open, close): Undefine.
110576         * lib/clean-temp.c (open, close): Undefine.
110577         * lib/copy-file.c (open, close): Undefine.
110578         * lib/execute.c (open, close): Undefine.
110579         * lib/fsusage.c (open, close): Undefine.
110580         * lib/gc-gnulib.c (open, close): Undefine.
110581         * lib/getcwd.c (opendir, closedir): Undefine.
110582         * lib/glob.c (opendir, closedir): Undefine.
110583         * lib/javacomp.c (open, close): Undefine.
110584         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
110585         * lib/openat-proc.c (open, close): Undefine.
110586         * lib/pagealign_alloc.c (open, close): Undefine.
110587         * lib/pipe.c (open, close): Undefine.
110588         * lib/progreloc.c (open, close): Undefine.
110589         * lib/savedir.c (opendir, closedir): Undefine.
110590         * lib/utime.c (open, close): Undefine.
110591         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
110593 2007-01-10  Bruno Haible  <bruno@clisp.org>
110595         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
110597 2007-01-12  Eric Blake  <ebb9@byu.net>
110599         Provide a robust <wchar.h>.  Further simplifications are now
110600         possible in other modules, but not included here.
110601         * modules/wchar: New module.
110602         * m4/wchar.m4: New file.
110603         * lib/wchar_.h: Likewise.
110604         * modules/mbchar (Depends-on): Depend on wchar, as the first use
110605         of the new module.
110606         * MODULES.html.sh (Extended multibyte and wide character utilities):
110607         New section.
110609 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
110611         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
110612         to a reasonable default for memory allocation.
110613         (xreadlink): Don't allocate a huge buffer, to work around a buggy
110614         file system that reports garbage st_size values for symlinks.
110615         Problem reported by Liyang Hu.
110617 2007-01-11  Simon Josefsson  <simon@josefsson.org>
110619         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
110620         Emacs .#* auto-save files).
110622 2007-01-11  Bruno Haible  <bruno@clisp.org>
110624         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
110625         directory.
110627 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
110629         Use @...@ consistently in lib/wctype_.h.
110630         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
110631         on it being set to 1 or 0.
110632         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
110633         go back to AC_SUBSTing it.
110634         * modules/wctype (Makefile.am): Undo previous change.
110636 2007-01-10  Eric Blake  <ebb9@byu.net>
110638         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
110639         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
110640         * modules/wctype (Makefile.am): Likewise.
110641         Reported by Chris McGuire.
110643 2007-01-10  Jim Meyering  <jim@meyering.net>
110645         fts.c: a small readability/maintainability improvement
110646         * lib/fts.c (fts_read): Make this code slightly more readable and
110647         maintainable by hoisting the "sp->fts_cur = p" assignments to
110648         immediately follow the statements that set P.  Derived from
110649         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
110651 2007-01-10  Eric Blake  <ebb9@byu.net>
110653         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
110654         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
110655         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
110656         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
110657         Reported by Chris McGuire.
110659 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110661         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
110662         in sed script.
110664 2007-01-09  Bruno Haible  <bruno@clisp.org>
110666         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
110667         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
110668         variables.
110669         (func_module): Use them.
110671 2007-01-09  Bruno Haible  <bruno@clisp.org>
110673         * modules/unistr/base: New file.
110674         * lib/unistr.h: New file.
110676         * modules/unistr/u8-to-u16: New file.
110677         * lib/unistr/u8-to-u16.c: New file.
110679         * modules/unistr/u8-to-u32: New file.
110680         * lib/unistr/u8-to-u32.c: New file.
110682         * modules/unistr/u16-to-u8: New file.
110683         * lib/unistr/u16-to-u8.c: New file.
110685         * modules/unistr/u16-to-u32: New file.
110686         * lib/unistr/u16-to-u32.c: New file.
110688         * modules/unistr/u32-to-u8: New file.
110689         * lib/unistr/u32-to-u8.c: New file.
110691         * modules/unistr/u32-to-u16: New file.
110692         * lib/unistr/u32-to-u16.c: New file.
110694         * modules/unistr/u8-check: New file.
110695         * modules/unistr/u16-check: New file.
110696         * modules/unistr/u32-check: New file.
110697         * lib/unistr/u8-check.c: New file.
110698         * lib/unistr/u16-check.c: New file.
110699         * lib/unistr/u32-check.c: New file.
110701         * modules/unistr/u8-chr: New file.
110702         * modules/unistr/u16-chr: New file.
110703         * modules/unistr/u32-chr: New file.
110704         * lib/unistr/u8-chr.c: New file.
110705         * lib/unistr/u16-chr.c: New file.
110706         * lib/unistr/u32-chr.c: New file.
110708         * modules/unistr/u8-cmp: New file.
110709         * modules/unistr/u16-cmp: New file.
110710         * modules/unistr/u32-cmp: New file.
110711         * lib/unistr/u8-cmp.c: New file.
110712         * lib/unistr/u16-cmp.c: New file.
110713         * lib/unistr/u32-cmp.c: New file.
110715         * modules/unistr/u8-cpy: New file.
110716         * modules/unistr/u16-cpy: New file.
110717         * modules/unistr/u32-cpy: New file.
110718         * lib/unistr/u8-cpy.c: New file.
110719         * lib/unistr/u16-cpy.c: New file.
110720         * lib/unistr/u32-cpy.c: New file.
110721         * lib/unistr/u-cpy.h: New file.
110723         * modules/unistr/u8-cpy-alloc: New file.
110724         * modules/unistr/u16-cpy-alloc: New file.
110725         * modules/unistr/u32-cpy-alloc: New file.
110726         * lib/unistr/u8-cpy-alloc.c: New file.
110727         * lib/unistr/u16-cpy-alloc.c: New file.
110728         * lib/unistr/u32-cpy-alloc.c: New file.
110729         * lib/unistr/u-cpy-alloc.h: New file.
110731         * modules/unistr/u8-endswith: New file.
110732         * modules/unistr/u16-endswith: New file.
110733         * modules/unistr/u32-endswith: New file.
110734         * lib/unistr/u8-endswith.c: New file.
110735         * lib/unistr/u16-endswith.c: New file.
110736         * lib/unistr/u32-endswith.c: New file.
110737         * lib/unistr/u-endswith.h: New file.
110739         * modules/unistr/u8-mblen: New file.
110740         * modules/unistr/u16-mblen: New file.
110741         * modules/unistr/u32-mblen: New file.
110742         * lib/unistr/u8-mblen.c: New file.
110743         * lib/unistr/u16-mblen.c: New file.
110744         * lib/unistr/u32-mblen.c: New file.
110746         * modules/unistr/u8-mbtouc: New file.
110747         * modules/unistr/u16-mbtouc: New file.
110748         * modules/unistr/u32-mbtouc: New file.
110749         * lib/unistr/u8-mbtouc.c: New file.
110750         * lib/unistr/u16-mbtouc.c: New file.
110751         * lib/unistr/u32-mbtouc.c: New file.
110753         * modules/unistr/u8-mbtouc-safe: New file.
110754         * modules/unistr/u16-mbtouc-safe: New file.
110755         * modules/unistr/u32-mbtouc-safe: New file.
110756         * lib/unistr/u8-mbtouc-safe.c: New file.
110757         * lib/unistr/u16-mbtouc-safe.c: New file.
110758         * lib/unistr/u32-mbtouc-safe.c: New file.
110760         * modules/unistr/u8-move: New file.
110761         * modules/unistr/u16-move: New file.
110762         * modules/unistr/u32-move: New file.
110763         * lib/unistr/u8-move.c: New file.
110764         * lib/unistr/u16-move.c: New file.
110765         * lib/unistr/u32-move.c: New file.
110766         * lib/unistr/u-move.h: New file.
110768         * modules/unistr/u8-next: New file.
110769         * modules/unistr/u16-next: New file.
110770         * modules/unistr/u32-next: New file.
110771         * lib/unistr/u8-next.c: New file.
110772         * lib/unistr/u16-next.c: New file.
110773         * lib/unistr/u32-next.c: New file.
110775         * modules/unistr/u8-prev: New file.
110776         * modules/unistr/u16-prev: New file.
110777         * modules/unistr/u32-prev: New file.
110778         * lib/unistr/u8-prev.c: New file.
110779         * lib/unistr/u16-prev.c: New file.
110780         * lib/unistr/u32-prev.c: New file.
110782         * modules/unistr/u8-set: New file.
110783         * modules/unistr/u16-set: New file.
110784         * modules/unistr/u32-set: New file.
110785         * lib/unistr/u8-set.c: New file.
110786         * lib/unistr/u16-set.c: New file.
110787         * lib/unistr/u32-set.c: New file.
110788         * lib/unistr/u-set.h: New file.
110790         * modules/unistr/u8-startswith: New file.
110791         * modules/unistr/u16-startswith: New file.
110792         * modules/unistr/u32-startswith: New file.
110793         * lib/unistr/u8-startswith.c: New file.
110794         * lib/unistr/u16-startswith.c: New file.
110795         * lib/unistr/u32-startswith.c: New file.
110796         * lib/unistr/u-startswith.h: New file.
110798         * modules/unistr/u8-stpcpy: New file.
110799         * modules/unistr/u16-stpcpy: New file.
110800         * modules/unistr/u32-stpcpy: New file.
110801         * lib/unistr/u8-stpcpy.c: New file.
110802         * lib/unistr/u16-stpcpy.c: New file.
110803         * lib/unistr/u32-stpcpy.c: New file.
110804         * lib/unistr/u-stpcpy.h: New file.
110806         * modules/unistr/u8-stpncpy: New file.
110807         * modules/unistr/u16-stpncpy: New file.
110808         * modules/unistr/u32-stpncpy: New file.
110809         * lib/unistr/u8-stpncpy.c: New file.
110810         * lib/unistr/u16-stpncpy.c: New file.
110811         * lib/unistr/u32-stpncpy.c: New file.
110812         * lib/unistr/u-stpncpy.h: New file.
110814         * modules/unistr/u8-strcat: New file.
110815         * modules/unistr/u16-strcat: New file.
110816         * modules/unistr/u32-strcat: New file.
110817         * lib/unistr/u8-strcat.c: New file.
110818         * lib/unistr/u16-strcat.c: New file.
110819         * lib/unistr/u32-strcat.c: New file.
110820         * lib/unistr/u-strcat.h: New file.
110822         * modules/unistr/u8-strchr: New file.
110823         * modules/unistr/u16-strchr: New file.
110824         * modules/unistr/u32-strchr: New file.
110825         * lib/unistr/u8-strchr.c: New file.
110826         * lib/unistr/u16-strchr.c: New file.
110827         * lib/unistr/u32-strchr.c: New file.
110829         * modules/unistr/u8-strcmp: New file.
110830         * modules/unistr/u16-strcmp: New file.
110831         * modules/unistr/u32-strcmp: New file.
110832         * lib/unistr/u8-strcmp.c: New file.
110833         * lib/unistr/u16-strcmp.c: New file.
110834         * lib/unistr/u32-strcmp.c: New file.
110836         * modules/unistr/u8-strcpy: New file.
110837         * modules/unistr/u16-strcpy: New file.
110838         * modules/unistr/u32-strcpy: New file.
110839         * lib/unistr/u8-strcpy.c: New file.
110840         * lib/unistr/u16-strcpy.c: New file.
110841         * lib/unistr/u32-strcpy.c: New file.
110842         * lib/unistr/u-strcpy.h: New file.
110844         * modules/unistr/u8-strcspn: New file.
110845         * modules/unistr/u16-strcspn: New file.
110846         * modules/unistr/u32-strcspn: New file.
110847         * lib/unistr/u8-strcspn.c: New file.
110848         * lib/unistr/u16-strcspn.c: New file.
110849         * lib/unistr/u32-strcspn.c: New file.
110850         * lib/unistr/u-strcspn.h: New file.
110852         * modules/unistr/u8-strdup: New file.
110853         * modules/unistr/u16-strdup: New file.
110854         * modules/unistr/u32-strdup: New file.
110855         * lib/unistr/u8-strdup.c: New file.
110856         * lib/unistr/u16-strdup.c: New file.
110857         * lib/unistr/u32-strdup.c: New file.
110858         * lib/unistr/u-strdup.h: New file.
110860         * modules/unistr/u8-strlen: New file.
110861         * modules/unistr/u16-strlen: New file.
110862         * modules/unistr/u32-strlen: New file.
110863         * lib/unistr/u8-strlen.c: New file.
110864         * lib/unistr/u16-strlen.c: New file.
110865         * lib/unistr/u32-strlen.c: New file.
110866         * lib/unistr/u-strlen.h: New file.
110868         * modules/unistr/u8-strmblen: New file.
110869         * modules/unistr/u16-strmblen: New file.
110870         * modules/unistr/u32-strmblen: New file.
110871         * lib/unistr/u8-strmblen.c: New file.
110872         * lib/unistr/u16-strmblen.c: New file.
110873         * lib/unistr/u32-strmblen.c: New file.
110875         * modules/unistr/u8-strmbtouc: New file.
110876         * modules/unistr/u16-strmbtouc: New file.
110877         * modules/unistr/u32-strmbtouc: New file.
110878         * lib/unistr/u8-strmbtouc.c: New file.
110879         * lib/unistr/u16-strmbtouc.c: New file.
110880         * lib/unistr/u32-strmbtouc.c: New file.
110882         * modules/unistr/u8-strncat: New file.
110883         * modules/unistr/u16-strncat: New file.
110884         * modules/unistr/u32-strncat: New file.
110885         * lib/unistr/u8-strncat.c: New file.
110886         * lib/unistr/u16-strncat.c: New file.
110887         * lib/unistr/u32-strncat.c: New file.
110888         * lib/unistr/u-strncat.h: New file.
110890         * modules/unistr/u8-strncmp: New file.
110891         * modules/unistr/u16-strncmp: New file.
110892         * modules/unistr/u32-strncmp: New file.
110893         * lib/unistr/u8-strncmp.c: New file.
110894         * lib/unistr/u16-strncmp.c: New file.
110895         * lib/unistr/u32-strncmp.c: New file.
110897         * modules/unistr/u8-strncpy: New file.
110898         * modules/unistr/u16-strncpy: New file.
110899         * modules/unistr/u32-strncpy: New file.
110900         * lib/unistr/u8-strncpy.c: New file.
110901         * lib/unistr/u16-strncpy.c: New file.
110902         * lib/unistr/u32-strncpy.c: New file.
110903         * lib/unistr/u-strncpy.h: New file.
110905         * modules/unistr/u8-strnlen: New file.
110906         * modules/unistr/u16-strnlen: New file.
110907         * modules/unistr/u32-strnlen: New file.
110908         * lib/unistr/u8-strnlen.c: New file.
110909         * lib/unistr/u16-strnlen.c: New file.
110910         * lib/unistr/u32-strnlen.c: New file.
110911         * lib/unistr/u-strnlen.h: New file.
110913         * modules/unistr/u8-strpbrk: New file.
110914         * modules/unistr/u16-strpbrk: New file.
110915         * modules/unistr/u32-strpbrk: New file.
110916         * lib/unistr/u8-strpbrk.c: New file.
110917         * lib/unistr/u16-strpbrk.c: New file.
110918         * lib/unistr/u32-strpbrk.c: New file.
110919         * lib/unistr/u-strpbrk.h: New file.
110921         * modules/unistr/u8-strrchr: New file.
110922         * modules/unistr/u16-strrchr: New file.
110923         * modules/unistr/u32-strrchr: New file.
110924         * lib/unistr/u8-strrchr.c: New file.
110925         * lib/unistr/u16-strrchr.c: New file.
110926         * lib/unistr/u32-strrchr.c: New file.
110928         * modules/unistr/u8-strspn: New file.
110929         * modules/unistr/u16-strspn: New file.
110930         * modules/unistr/u32-strspn: New file.
110931         * lib/unistr/u8-strspn.c: New file.
110932         * lib/unistr/u16-strspn.c: New file.
110933         * lib/unistr/u32-strspn.c: New file.
110934         * lib/unistr/u-strspn.h: New file.
110936         * modules/unistr/u8-strstr: New file.
110937         * modules/unistr/u16-strstr: New file.
110938         * modules/unistr/u32-strstr: New file.
110939         * lib/unistr/u8-strstr.c: New file.
110940         * lib/unistr/u16-strstr.c: New file.
110941         * lib/unistr/u32-strstr.c: New file.
110942         * lib/unistr/u-strstr.h: New file.
110944         * modules/unistr/u8-strtok: New file.
110945         * modules/unistr/u16-strtok: New file.
110946         * modules/unistr/u32-strtok: New file.
110947         * lib/unistr/u8-strtok.c: New file.
110948         * lib/unistr/u16-strtok.c: New file.
110949         * lib/unistr/u32-strtok.c: New file.
110950         * lib/unistr/u-strtok.h: New file.
110952         * modules/unistr/u8-uctomb: New file.
110953         * modules/unistr/u16-uctomb: New file.
110954         * modules/unistr/u32-uctomb: New file.
110955         * lib/unistr/u8-uctomb.c: New file.
110956         * lib/unistr/u16-uctomb.c: New file.
110957         * lib/unistr/u32-uctomb.c: New file.
110959         * MODULES.html.sh (Unicode string functions): Add the new modules.
110961 2007-01-08  Bruno Haible  <bruno@clisp.org>
110963         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
110964         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
110965         subdirectories.
110967 2007-01-08  Karl Berry  <karl@gnu.org>
110969         * doc/error.texi: mention that main() fns must set program_name
110970         when progname is used.
110972 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
110974         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
110975         WCTYPE_H is empty, for the benefit of builds from non-distclean
110976         directories.  Problem reported by Eric Blake in
110977         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.
110979 2007-01-08  Bruno Haible  <bruno@clisp.org>
110981         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
110982         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
110983         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
110984         PROVIDE_CANONICALIZE_FILENAME_MODE.
110985         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
110987 2007-01-08  Bruno Haible  <bruno@clisp.org>
110989         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
110990         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
110991         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
110992         * lib/fts.c: Likewise.
110993         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
110995 2006-12-25  Bruno Haible  <bruno@clisp.org>
110997         * modules/utf8-ucs4-safe: New file.
110998         * lib/utf8-ucs4-safe.h: New file.
110999         * lib/unistr/utf8-ucs4-safe.c: New file.
111001         * modules/utf16-ucs4-safe: New file.
111002         * lib/utf16-ucs4-safe.h: New file.
111003         * lib/unistr/utf16-ucs4-safe.c: New file.
111005         * MODULES.html.sh (Unicode string functions): Add the new modules.
111007 2007-01-08  Bruno Haible  <bruno@clisp.org>
111009         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
111010         (Depends-on): Add unitypes.
111011         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
111012         (u8_mbtouc_aux): Move out to separate file.
111013         (u8_mbtouc): Use ucs4_t, uint8_t types.
111014         * lib/unistr/utf8-ucs4.c: New file.
111016         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
111017         (Depends-on): Add unitypes.
111018         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
111019         (u16_mbtouc_aux): Move out to separate file.
111020         (u16_mbtouc): Use ucs4_t, uint16_t types.
111021         * lib/unistr/utf16-ucs4.c: New file.
111023         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
111024         (Depends-on): Add unitypes.
111025         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
111026         (u8_uctomb_aux): Move out to separate file.
111027         (u8_uctomb): Use ucs4_t, uint8_t types.
111028         * lib/unistr/ucs4-utf8.c: New file.
111030         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
111031         (Depends-on): Add unitypes.
111032         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
111033         (u16_uctomb_aux): Move out to separate file.
111034         (u16_uctomb): Use ucs4_t, uint16_t types.
111035         * lib/unistr/ucs4-utf16.c: New file.
111037 2006-12-25  Bruno Haible  <bruno@clisp.org>
111039         * modules/unitypes: New file.
111040         * lib/unitypes.h: New file.
111041         * MODULES.html.sh (func_all_modules): New section "Unicode string
111042         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
111043         this section. Add unitypes.
111045 2007-01-08  Bruno Haible  <bruno@clisp.org>
111047         Avoid variable names that conflict with those from libtool.
111048         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
111049         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
111050         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
111051         library_names_spec to acl_library_names_spec, hardcode_* to
111052         acl_hardcode_*.
111053         Reported by Ralf Wildenhues.
111055 2007-01-08  Bruno Haible  <bruno@clisp.org>
111057         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
111058         definition.
111059         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
111060         definition.
111061         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
111062         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
111063         definition.
111064         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
111065         definition.
111066         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
111067         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
111068         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
111069         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
111070         definition.
111071         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
111072         definition.
111073         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
111074         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
111075         GC_USE_<algorithm>.
111076         * lib/gc-libgcrypt.c: Likewise.
111077         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
111078         * modules/gc-arctwo (configure.ac): Likewise.
111079         * modules/gc-des (configure.ac): Likewise.
111080         * modules/gc-hmac-md5 (configure.ac): Likewise.
111081         * modules/gc-hmac-sha1 (configure.ac): Likewise.
111082         * modules/gc-md2 (configure.ac): Likewise.
111083         * modules/gc-md4 (configure.ac): Likewise.
111084         * modules/gc-md5 (configure.ac): Likewise.
111085         * modules/gc-random (configure.ac): Likewise.
111086         * modules/gc-rijndael (configure.ac): Likewise.
111087         * modules/gc-sha1 (configure.ac): Likewise.
111089 2007-01-08  Bruno Haible  <bruno@clisp.org>
111091         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
111092         macro definition.
111093         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
111094         definition.
111095         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
111096         definition.
111097         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
111098         * modules/fcntl-safer (configure.ac): Likewise.
111099         * modules/fopen-safer (configure.ac): Likewise.
111100         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
111101         GNULIB_FWRITEERROR macro definition.
111103 2007-01-08  Bruno Haible  <bruno@clisp.org>
111105         * m4/gnulib-common.m4: New file.
111106         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
111107         (func_get_filelist): Add m4/gnulib-common.m4.
111109 2007-01-08  Bruno Haible  <bruno@clisp.org>
111111         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
111112         command.
111114 2007-01-08  Jim Meyering  <jim@meyering.net>
111116         Use a more robust test for a "can't happen" condition.
111117         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
111118         narrowed the st_size value.  Presuming the "can't happen" condition
111119         is true, that narrowing could conceivably convert an invalid st_size
111120         value into a valid one.  Instead, use a change based on Matthew
111121         Woehlke's original patch.
111123         Slight readability improvement: use an assert-like macro
111124         in place of literal "abort ()" uses.
111125         * lib/fts.c (fts_assert): Define.
111126         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
111127         Use this macro instead of a bare 'abort'.
111129 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
111131         Don't worry about using IRIX 5.3's wctype.h broken definitions;
111132         simply work around them.
111133         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
111134         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
111135         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
111136         declaring.
111137         Don't bother to define as macros, since the standard doesn't require it.
111138         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
111139         longer worry about IRIX 5.3.
111140         (HAVE_WCTYPE_CTMP_BUG): Remove.
111142 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
111144         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
111145         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
111146         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
111147         Problems reported by Georg Schwarz for IRIX 5.3.
111149         * gnulib-tool (autoconf_minversion): Take the maximum version number
111150         found, not the minimum.  Problem reported by James Youngman.
111152 2007-01-03  Karl Berry  <karl@gnu.org>
111154         * doc/error.texi: new file, explaining interaction with progname.
111155         * doc/gnulib.texi: include it.  Update copyright.
111157 2007-01-03  Simon Josefsson  <simon@josefsson.org>
111159         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
111160         AC_CANONICAL_HOST, to improve autobuild outputs.
111162 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
111163             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
111165         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
111166         sockets, server sockets, and other file descriptors.  Count errors
111167         to compute the return value.  Reorder the code a bit to be easier
111168         to follow.  Don't set event bits that were not requested (except
111169         POLLERR and POLLHUP).
111171 2007-01-01  Bruno Haible  <bruno@clisp.org>
111173         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
111175 2007-01-03  Jim Meyering  <jim@meyering.net>
111177         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
111179 2007-01-02  Bruno Haible  <bruno@clisp.org>
111181         * modules/settime (Include): Require timespec.h.
111182         * modules/nanosleep (Include): Likewise.
111184 2007-01-01  Bruno Haible  <bruno@clisp.org>
111186         * gnulib-tool (func_emit_copyright_notice): Bump year.
111187         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
111189 2007-01-01  Bruno Haible  <bruno@clisp.org>
111191         Improve support for OpenBSD.
111192         * build-aux/config.rpath (libname_spec): Export.
111193         (library_names_spec): New variable. Export.
111194         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
111195         library_names_spec from the config.rpath output. Locate shared library
111196         through the name pattern in library_names_spec.
111198 2007-01-01  Eric Blake  <ebb9@byu.net>
111200         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
111202 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
111204         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
111205         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
111206         assume the C locale, and avoid an "eval" that could cause trouble.
111207         Problem with SORT reported by Bob Proulx.
111209         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
111210         Define.  Trivial patch from Henning Nielsen Lund, originally
111211         sent to bug-grep@gnu.org today.
111213 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
111215         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
111216         struct stat.  Problem reported by Henning Nielsen Lund.
111217         * lib/acl.c: Include acl.h first, to check interface.  Don't
111218         bother to include sys/types.h and sys/stat.h again.
111220 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
111222         Import the following change from libc; problem reported by
111223         Sven Verdoolaege.
111225         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
111227         [BZ #1373]
111228         * lib/argp.h: Remove __NTH for __argp_usage inline function.
111230 2006-12-28  Jim Meyering  <jim@meyering.net>
111232         * build-aux/announce-gen: Do not assume that the package
111233         builds any of tar.gz, tar.bz2, and .xdelta files.
111234         Suggestion from Simon Josefsson.
111236 2006-12-28  Simon Josefsson  <simon@josefsson.org>
111238         * modules/announce-gen: New file.
111240 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
111242         * lib/mbchar.h: Just include <wctype.h>; the wctype module
111243         handles its gotchas now.
111244         * lib/mbswidth.c: Likewise.
111245         * lib/wcwidth.h: Likewise.
111246         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
111247         and iswcntrl; the wctype module does this stuff now.
111248         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
111249         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
111250         * modules/mbchar (Depends-on): Add wctype.
111251         * modules/mbswidth (Depends-on): Likewise.
111252         * modules/wcwidth (Depends-on): Likewise.
111254 2006-12-27  Eric Blake  <ebb9@byu.net>
111256         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
111257         module uses more than what <wctype.h> is required to provide.
111259 2006-12-26  Eric Blake  <ebb9@byu.net>
111261         * gnulib-tool (sed_extract_prog): Avoid space-tab.
111263 2006-12-26  Eric Blake  <ebb9@byu.net>
111265         * modules/absolute-header: New module.
111266         * modules/fcntl (Depends-on): Depend on it.
111267         * modules/inttypes (Depends-on): Likewise.
111268         * modules/stdint (Depends-on): Likewise.
111269         * modules/sys_stat (Depends-on): Likewise.
111270         * modules/wctype (Depends-on): Likewise.
111271         * MODULES.html.sh (Support for building libraries and
111272         executables): Document it.
111274 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
111276         * gnulib-tool (SED): Remove, undoing previous change.
111277         The problem was that it broke coreutils on Solaris, because
111278         "sed --posix" leaked into a makefile.
111279         (sed): New alias, if 'alias' and GNU sed.
111281 2006-12-24  Jim Meyering  <jim@meyering.net>
111283         Work around an fchownat bug in glibc-2.4:
111284         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
111285         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
111286         in spite of the -P option.
111287         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
111288         New macros.
111289         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
111290         * modules/openat (Files): Add lib/fchownat.c.
111291         * lib/openat.c (fchownat): Don't define here.  Move to...
111292         * lib/fchownat.c: ...this new file.
111294 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
111296         Fix bug reported by Bruno Haible in
111297         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
111298         where quotearg.c didn't compile on Mac OS X 10.2 because it
111299         lacks <wchar.h> and wint_t.
111300         * lib/wctype_.h (__wctype_wint_t): New type.
111301         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
111302         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
111303         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
111304         Arg is now of type __wctype_wint_t, not wint_t.
111305         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
111306         substitute HAVE_WINT_T.
111307         * modules/wctype (Files): Add m4/wint_t.m4.
111308         (wctype.h): Substitute HAVE_WINT_T.
111310 2006-12-23  Bruno Haible  <bruno@clisp.org>
111312         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
111314 2006-12-23  Bruno Haible  <bruno@clisp.org>
111316         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
111317         S_ISLNK.
111318         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
111319         mingw.
111321 2006-12-22  Bruno Haible  <bruno@clisp.org>
111323         * lib/copy-file.c: Include acl.h.
111324         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
111325         Close the file descriptors only after being done with copy_acl.
111326         * modules/copy-file (Depends-on): Add acl.
111328 2006-12-22  Bruno Haible  <bruno@clisp.org>
111330         * gnulib-tool (SED): New variable.
111331         Use $SED instead of sed everywhere.
111333 2006-12-22  Bruno Haible  <bruno@clisp.org>
111335         * modules/no-c++: New file.
111336         * m4/no-c++.m4: New file.
111337         * MODULES.html.sh (Support for building libraries and executables):
111338         Add no-c++.
111340 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
111342         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
111343         Include <limits.h>, and use its INT_MAX to rewrite the
111344         j loop so that it does not overflow 'int'.  Problem reported by
111345         Ralf Wildenhues in
111346         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
111347         Play it safe by shifting left by 1 rather than multiplying by 2,
111348         as GCC is less likely to optimize this away when the value
111349         is signed (when it assumes overflow leads to undefined behavior).
111350         Also, don't assume time_t uses two's complement.
111352 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
111354         * MODULES.html.sh: New module wctype.
111355         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
111356         * lib/fnmatch.c: Don't bother to include <wchar.h> before
111357         <wctype.h>, since the new wctype module should fix this.
111358         * lib/quotearg.c: Include <wctype.h> unconditionally, since
111359         the wctype module should arrange for it.
111360         * lib/regex_internal.h: Likewise.
111361         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
111362         since the wctype module should handle this now.
111363         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
111364         * modules/fnmatch (Depends-on): Add wctype.
111365         * modules/quotearg (Depends-on): Likewise.
111366         * modules/regex (Depends-on): Likewise.
111368 2006-12-19  Bruno Haible  <bruno@clisp.org>
111370         * lib/strdup.h [C++]: Wrap definitions in extern "C".
111371         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
111373 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111375         * modules/savewd (Depends-on): Fix dependency on fcntl.
111377 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
111379         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
111380         conforms to C99, rather than relying on the user's environment
111381         setting of STDINT_H.
111383 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
111384         and Eric Blake  <ebb9@byu.net>
111386         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
111387         This is more consistent with the other defines here.
111388         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
111389         Port to z/OS.  Problem reported by Paul Gilmartin.
111390         Change local vars to use gl_ prefix rather than ac_.
111391         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
111392         with other defines.
111393         * modules/double-slash-root: New module.
111394         * modules/dirname (Files): Remove m4/double-slash-root.m4.
111395         (Depends-on): Add double-slash-root.
111396         * MODULES.html.sh (File system functions): Mention new module.
111398 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
111400         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
111401         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
111402         This is for the benefit of gzip, which doesn't do i18n.
111404 2006-12-12  Jim Meyering  <jim@meyering.net>
111406         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
111407         Reported by Andreas Schwab <schwab@suse.de>.
111409 2006-12-12  Bruno Haible  <bruno@clisp.org>
111411         Merge these changes.
111412         2006-09-05  Bruno Haible  <bruno@clisp.org>
111413         * lib/iconvme.c (iconv_string): No need to save and restore errno when
111414         iconv_alloc succeeded.
111415         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
111416         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
111417         test for " && dest " at the end - dest is always != NULL there. Call
111418         iconv with 4xNULL arguments initially, to reset the state. Call iconv
111419         with 2xNULL arguments, also to flush the state storage. Handle the
111420         IRIX iconv behaviour. Realloc the final result, to throw away unused
111421         memory.
111423 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
111425         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
111426         and fchmodat unconditionally, since glibc 2.4 has them.
111427         Problem reported by Arkadiusz Miskiewicz.
111429 2006-12-10  Bruno Haible  <bruno@clisp.org>
111431         * gnulib-tool (func_import): Show the include files only for those
111432         modules that are copied and specified.
111433         Reported by Karl Berry.
111435 2006-12-08  Jim Meyering  <jim@meyering.net>
111437         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
111438         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
111440         * build-aux/announce-gen: Add two new options, both optional:
111441         --bootstrap-tools=TOOL_LIST
111442               a comma-separated list of tools, e.g.,
111443               autoconf,automake,bison,gnulib
111444         --gnulib-snapshot-date=DATE
111445               if gnulib is in the bootstrap tool list,
111446               then report this as the snapshot date.
111447               If not specified, use the current date/time.
111448               If you specify a date here, be sure it's UTC.
111450 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111452         * tests/test-argp-2.sh: Fix test to match actual output.
111453         (func_compare): Fix sed script to be portable.
111455 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
111457         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
111458         workaround for this case.  It is not autoconfigured now; offhand
111459         it's hard to see how to autoconfigure it.
111461 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
111463         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
111464         a directory that is about to be chowned.  Such a directory's
111465         initial file permissions should permit the owner only and this
111466         should not be changed until after the chown, since the group and
111467         other bits would be incorrect if they granted permission before
111468         the chown.
111470         Fix porting problem for iswctype reported by Georg Schwarz in:
111471         http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
111472         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
111473         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
111474         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
111475         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
111477 2006-12-03  Jim Meyering  <jim@meyering.net>
111479         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
111480         p->fts_statp may not yet be defined.
111481         (fts_read): Instead, set it in the caller, once p->fts_statp is
111482         sure to be defined, and corresponds to a top-level directory.
111483         This bug made du -x fail.  Here's the coreutils test case:
111484         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
111485         Reported by Mike Frysinger.
111487 2006-12-01  Jim Meyering  <jim@meyering.net>
111489         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
111490         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
111491         Reported by Simon Josefsson.
111493 2006-11-30  Jim Meyering  <jim@meyering.net>
111495         * m4/warning.m4: Use the all-permissive copyright notice
111496         recommended by RMS (rather than LGPL).
111497         * m4/vararrays.m4: Likewise.
111498         * m4/flexmember.m4: Likewise.
111500 2006-11-29  Bruno Haible  <bruno@clisp.org>
111502         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
111503         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
111504         using +=.
111505         Reported by Simon Josefsson <simon@josefsson.org>.
111507 2006-11-28  James Youngman  <jay@gnu.org>
111509         * README: Advise users that they might find the bug-gnulib@gnu.org
111510         and autotools-announce@gnu.org mailing lists useful.
111512 2006-11-28  Bruno Haible  <bruno@clisp.org>
111514         * m4/ptrdiff_max.m4: Remove file.
111516 2006-11-21  Bruno Haible  <bruno@clisp.org>
111518         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
111519         _AC_COMPUTE_INT.
111520         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111521         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
111522         _AC_COMPUTE_INT.
111523         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111524         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
111525         _AC_COMPUTE_INT.
111526         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111528 2006-11-28  Jim Meyering  <jim@meyering.net>
111530         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
111531         warning from "gcc -Wshadow" about shadowing the builtin.
111533 2006-11-27  Bruno Haible  <bruno@clisp.org>
111535         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
111536         _AC_COMPUTE_INT.
111537         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111539 2006-11-27  Bruno Haible  <bruno@clisp.org>
111540             Paul Eggert  <eggert@cs.ucla.edu>
111542         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
111544 2006-11-26  Bruno Haible  <bruno@clisp.org>
111546         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
111547         noinst_LTLIBRARIES.
111549 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
111550             Bruno Haible  <bruno@clisp.org>
111552         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
111553         if compiling with "gcc -ansi".
111555 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
111557         Fix some incompatibilities with gcc -ansi -pedantic.
111558         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
111559         if compiling pedantically with GCC, unless it's C99 or later.
111560         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
111561         it mishandles gcc -ansi -pedantic as well.
111562         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
111563         if gcc -pedantic.
111564         * lib/regexec.c (check_node_accept_bytes): Don't use auto
111565         initializers for struct if -pedantic, unless it's C99 or later.
111567 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
111569         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
111570         Don't close an fd more than once. Identical atimes indicate
111571         success, not failure.
111573 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
111575         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
111577 2006-11-23  Jim Meyering  <jim@meyering.net>
111579         * build-aux/announce-gen: New file.  From coreutils.
111581 2006-11-22  Jim Meyering  <jim@meyering.net>
111583         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
111584         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
111585         (fts_read): Use a temporary to narrow the overused st_size member
111586         before using it in a switch statement.  Reported by Matthew Woehlke.
111588         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
111589         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
111591 2006-11-20  Bruno Haible  <bruno@clisp.org>
111593         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
111594         changequote instead of pairs of brackets.
111595         Reported by Andreas Schwab <schwab@suse.de>.
111597 2006-11-21  Jim Meyering  <jim@meyering.net>
111599         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
111600         so as to remain compatible with older compilers.
111601         Patch from Michael Deutschmann.
111603 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
111605         * MODULES.html.sh (File system functions): Add openat.
111607         * lib/openat.h (rpl_fstatat): New macro, if
111608         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
111609         (fstatat): Define to rpl_fstatat under the same conditions,
111610         unless COMPILING_FSTATAT.
111611         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
111612         seems to have the bug.
111613         * lib/fstatat.c: New file.
111614         * modules/openat (Files): Add it.
111616 2006-11-20  Bruno Haible  <bruno@clisp.org>
111618         * Makefile: New file.
111620 2006-11-20  Jim Meyering  <jim@meyering.net>
111622         The beginnings of syntax-related checks for gnulib.
111623         * lib/Makefile: New file.
111624         * lib/t-idcache: New script.  Ensure that the two halves of
111625         idcache.c stay in sync.
111627         * lib/idcache.c: Adjust comments in user- and group- portions to
111628         be more accurate, and to be consistent with one another.
111630 2006-11-20  Jim Meyering  <jim@meyering.net>
111632         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
111633         continue using the flexible array member (thus, this module performs
111634         half as many malloc calls), with the addition that...
111635         (getgroup, getuser): Consistently record a non-match via an empty
111636         "name" string, and map an empty string match to a NULL return value.
111637         * modules/idcache (Depends-on): Re-add flexmember.
111639         * lib/idcache.c (getuser): Remove all uses of the register keyword.
111640         (getuidbyname, getgroup, getgidbyname): Likewise.
111642         Use cleaner syntax: NULL rather than 0.
111643         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
111645 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
111647         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
111648         It mishandled the case where the group was missing.
111649         Problem reported by Greg Schafer.
111650         * modules/idcache: Likewise.
111652 2006-11-18  Jim Meyering  <jim@meyering.net>
111654         * check-module (%exempt_header): Add exception for some
111655         conditionally-included headers.
111657         * modules/i-ring (Depends-on): Add verify.
111658         (License): Change to LGPL.
111660 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
111662         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
111663         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
111664         and inttostr.h.  Use snprintf rather than uinttostr, so that
111665         LGPLed code doesn't depend on GPLed.
111667 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
111669         * modules/inline (License): Change from GPL to LGPL.
111671 2006-11-17  Jim Meyering  <jim@meyering.net>
111673         * modules/d-type (License): Switch to LGPL.
111675 2006-11-15  Bruno Haible  <bruno@clisp.org>
111677         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
111679 2006-11-15  Eric Blake  <ebb9@byu.net>
111681         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
111682         the module dependency.
111684 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
111685             Bruno Haible  <bruno@clisp.org>
111687         * gnulib-tool (func_create_testdir): Add license consistency check.
111689 2006-11-15  Eric Blake  <ebb9@byu.net>
111691         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
111692         random "(cached)" in configure output.
111694 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111696         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
111697         test for conforming inttypes.h is both announced and cached.
111699         * MODULES.html.sh (seen_modules, seen_files): New variables.
111700         (func_module): Rewrite to use a few less gnulib-tool and sed
111701         invocations.  Avoid a couple of quadratic algorithms for ...
111702         (missed_modules, missed_files): ... these, with ...
111703         (func_append, func_tmpdir): ... these new functions, from
111704         gnulib-tool.  Analogously, install traps for cleanup.
111706         * tests/test-gc.c (main): Remove unused variables.
111707         * tests/test-read-file.c: Include stdlib.h, for 'free'.
111709 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
111711         * modules/inttostr (License): Change to LGPL.
111713 2006-11-14  Eric Blake  <ebb9@byu.net>
111715         * modules/tempname (License): Change to LGPL.
111717 2006-11-14  Eric Blake  <ebb9@byu.net>
111719         * doc/functions.texi (Function Portability): *printf functions on
111720         Cygwin now understand all POSIX size specifiers.
111722 2006-11-14  Bruno Haible  <bruno@clisp.org>
111724         * modules/c-ctype (License): Change to LGPL.
111726 2006-11-12  Bruno Haible  <bruno@clisp.org>
111728         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
111729         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
111730         for GNOME libraries, for which the include files are installed in
111731         subdirectories of $prefix/include.
111733 2006-11-12  Bruno Haible  <bruno@clisp.org>
111735         * m4/lib-link.m4: Require at least autoconf-2.54.
111736         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
111737         name to underscores for the --with option.
111739 2006-11-13  Bruno Haible  <bruno@clisp.org>
111741         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
111742         the tests directory.
111743         Reported by Ralf Wildenhues.
111745 2006-11-13  Bruno Haible  <bruno@clisp.org>
111747         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
111748         (func_emit_initmacro_end): Undo the override here.
111749         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
111750         Works around the famous automake error in coreutils.
111752 2006-11-13  Eric Blake  <ebb9@byu.net>
111754         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
111755         element, not its node.
111757 2006-11-12  Bruno Haible  <bruno@clisp.org>
111759         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
111760         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
111762 2006-11-12  Bruno Haible  <bruno@clisp.org>
111764         * gnulib-tool: New option --local-symlink.
111765         (func_usage): Document it.
111766         (lsymbolic): New variable.
111767         (func_import, func_create_testdir): If --symlink was not specified,
111768         test whether --local-symlink was specified and the file comes from
111769         the local_gnulib_dir.
111771 2006-11-12  Bruno Haible  <bruno@clisp.org>
111773         * gnulib-tool (func_ln): New function.
111774         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
111776 2006-11-12  Bruno Haible  <bruno@clisp.org>
111778         Finish support for source files in subdirectories.
111779         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
111780         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
111781         AUTOMAKE_OPTIONS.
111782         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
111784 2006-11-12  Bruno Haible  <bruno@clisp.org>
111786         * gnulib-tool (func_get_automake_snippet): Synthesize also an
111787         EXTRA_lib_SOURCES augmentation.
111788         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
111790 2006-11-12  Jim Meyering  <jim@meyering.net>
111792         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
111793         file descriptors.  This also averts a failure on systems with
111794         native openat support when a traversed directory lacks "x" access.
111795         * lib/fts_.h: Include "i-ring.h"
111796         (struct FTS) [fts_fd_ring]: New member.
111797         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
111798         (FCHDIR): Add parentheses.
111799         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
111800         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
111801         When descending, rather than simply closing the previous
111802         fts_cwd_fd value, push that file descriptor onto the ring.
111803         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
111804         (fts_open): Initialize the new fd_ring member.
111805         (fts_close): Clear the ring.
111806         (fts_safe_changedir): When possible, use our new fd_ring to skip
111807         the diropen and fstat and dev/ino comparison that would normally
111808         accompany a virtual `chdir ("..")'.
111810         * modules/fts (Depends-on): Add i-ring.
111811         * modules/i-ring: New module.
111812         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
111813         * m4/i-ring.m4: New file.
111815 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111817         * gnulib-tool (func_create_testdir): Fix replacement of
111818         `build-aux' in configure.ac.  Run autotools in gltests
111819         subdirectory.
111820         (func_create_testdir, func_create_megatestdir, test): There is
111821         no need for '--force' in most autotool invocations in a new
111822         tree.  Actually fail the whole test if any of the tools, or the
111823         configure or make stages fail.
111825         Sync from Automake.
111826         * build-aux/gnupload: Revert last change.  Add pointer to upload
111827         instructions of the GNU Maintenance Instructions.
111828         Suggestion by Karl Berry.
111830 2006-11-10  Jim Meyering  <jim@meyering.net>
111832         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
111834 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
111836         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
111837         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
111838         (bind_textdomain_codeset) [! ENABLE_NLS]:
111839         Evaluate all the arguments.  That way, callers get compatible behavior
111840         if the arguments have side effects.  Also, it avoids some GCC
111841         diagnostics in some cases; Joel E. Denny reported problems when Bison
111842         was configured with --enable-gcc-warnigs.
111844 2006-11-10  Jim Meyering  <jim@meyering.net>
111846         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
111847         relevant options in CFLAGS (like -O, -fno-inline) are taken into
111848         account.
111850 2006-11-10  Jim Meyering  <jim@meyering.net>
111852         * modules/inline: New file/module.
111853         * modules/xalloc (Files): Remove m4/inline.m4.
111854         (Depends-on): Add inline, instead.
111855         * modules/oset: Likewise.
111856         * modules/list: Likewise.
111858 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
111860         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
111861         Problem reported by Matthew Woehlke.
111863 2006-11-09  Bruno Haible  <bruno@clisp.org>
111865         * lib/tempname.c (gen_tempname): Remove variant that invokes
111866         __gen_tempname.
111867         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
111868         __gen_tempname.
111870 2006-11-08  Bruno Haible  <bruno@clisp.org>
111872         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
111873         to 'yes' instead of 'cross-compiling'.
111875 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
111877         * lib/quotearg.h (quotearg_free): New decl.
111878         * lib/quotearg.c (quotearg_free): New function.
111879         (slot0, nslots, slotvec0, slotvec):
111880         Now file-scope so that quotearg_free can get at them.
111882 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111884         Sync from Automake.
111885         * build-aux/gnupload: Add missing 'gnu' to example URL.
111886         Report by Karl Berry.
111888 2006-11-08  Bruno Haible  <bruno@clisp.org>
111890         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
111891         Suggested by Paul Eggert.
111893 2006-11-08  Jim Meyering  <jim@meyering.net>
111895         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
111896         It's already included if !_LIBC.
111897         (fts_safe_changedir): Add a comment.
111899 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
111901         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
111902         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
111903         Matthew Woehlke.
111905         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
111906         definitions up, to avoid colliding with change below.
111907         (static_inline) [HAVE_INLINE]: New macro.
111908         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
111909         Provide extern decls when !HAVE_INLINE.  Do not define unless
111910         static_inline is defined, either by us or by xmalloc.c.  Use
111911         static_inline rather than static inline.
111912         (XCALLOC): Optimize sizeof(T) = 1 case.
111913         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
111915 2006-11-07  Bruno Haible  <bruno@clisp.org>
111917         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
111918         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
111919         AC_C_INLINE.
111920         * modules/xalloc (Files): Add m4/inline.m4.
111922 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111924         * README: Fix typo.
111925         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
111926         (Miscellanous Notes): ...from this.
111928 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
111930         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
111931         Mention that offsetof should be used instead of sizeof.
111932         From Bruno Haible.
111934 2006-11-07  Bruno Haible  <bruno@clisp.org>
111936         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
111938 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
111940         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
111941         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
111942         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
111943         (gl_tree_add_before, gl_tree_add_after):
111944         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
111945         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
111946         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
111947         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
111948         (gl_linked_add_after, gl_linked_add_at): Likewise.
111949         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
111950         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
111951         (gl_tree_add_before, gl_tree_add_after): Likewise.
111952         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
111953         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
111954         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
111956 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111958         * lib/gl_oset.h: Use C comment style, not C++ comment style.
111960 2006-11-06  Bruno Haible  <bruno@clisp.org>
111962         * m4/inline.m4: New file.
111963         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
111964         * modules/list (Files): Add m4/inline.m4.
111965         * modules/oset (Files): Likewise.
111967 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
111969         * lib/idcache.c: Include <stddef.h>, for offsetof.
111970         (struct userid.name): Change from char * to a flexible array member.
111971         All uses changed.
111972         * modules/idcache (Depends-on): Add flexmember.
111974         * MODULES.html.sh (Core language properties): New module flexmember.
111975         * modules/flexmember, m4/flexmember.m4: New files.
111977         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
111978         inline functions that are identical with the old xnmalloc_inline,
111979         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
111980         that we can avoid some unnecessary integer multiplications and
111981         divisions in the common case where the element size is known at
111982         compile time.
111983         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
111984         needed.
111985         (xnboundedmalloc): Remove.
111986         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
111987         arguments, for consistency with rest of this header.
111988         (xcharalloc): Rewrite using XNMALLOC.
111989         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
111990         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
111991         versions have been moved to lib/xalloc.h and renamed to be the
111992         non-*_inline versions.
111993         (xmalloc, xrealloc): Implement without reference to the xnmalloc
111994         and xnrealloc functions, since those functions are now inline and
111995         now call us.
111996         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
111997         renaming described above.
111998         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
111999         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
112000         captures the dependency in AC_C_INLINE.
112002         New module canonicalize-lgpl, proposed by Charles Wilson in
112003         <http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
112004         with a few small changes afterwards.
112005         * MODULES.html.sh (File system functions): New module
112006         canonicalize-lgpl.
112007         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
112008         and canonicalize_file_name.
112009         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
112010         * modules/canonicalize-lgpl: New files.
112012 2006-11-05  Bruno Haible  <bruno@clisp.org>
112014         * gnulib-tool (func_import, func_create_testdir): Create directories
112015         also for files in subdirectories of lib/.
112017 2006-11-05  Bruno Haible  <bruno@clisp.org>
112019         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
112020         ANSI C compliant.
112022 2006-11-03  Bruno Haible  <bruno@clisp.org>
112024         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
112025         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
112026         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
112027         (xnboundedmalloc): New inline function.
112028         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
112029         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
112030         xmalloc.
112031         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
112032         xmalloc.
112033         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
112034         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
112035         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
112036         xmalloc.
112037         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
112038         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
112039         xmalloc.
112040         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
112041         gl_tree_add_after): Use XMALLOC instead of xmalloc.
112042         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
112043         xmalloc.
112044         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
112045         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
112046         gl_tree_add_after): Use XMALLOC instead of xmalloc.
112047         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
112048         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
112049         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
112050         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
112052 2006-11-03  Bruno Haible  <bruno@clisp.org>
112054         * lib/c-ctype.h [C++]: Define functions without name mangling.
112055         * lib/fwriteerror.h [C++]: Likewise.
112056         * lib/gcd.h [C++]: Likewise.
112057         * lib/linebreak.h [C++]: Likewise.
112059 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
112061         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
112062         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
112063         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
112064         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
112065         Check for functions and headers just once.
112066         Check for declaration of canonicalize_file_name.
112067         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
112069 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
112071         * gnulib-tool (func_import): Fix typo in actioncmd.
112073 2006-11-02  Bruno Haible  <bruno@clisp.org>
112075         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
112076         newline sequence in the Makefile.am snippet as a space, like "make"
112077         does.
112078         Reported by Roger Persson <perrog@gmail.com>.
112080 2006-11-01  Bruno Haible  <bruno@clisp.org>
112082         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
112083         already declared in <string.h>.
112084         * lib/strcase.h (strncasecmp): Don't declare it if yes.
112086 2006-11-01  Bruno Haible  <bruno@clisp.org>
112088         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
112089         * lib/strcase.h: Include <string.h>.
112090         (strcasecmp): Define to rpl_strcasecmp here.
112092 2006-11-01  Bruno Haible  <bruno@clisp.org>
112094         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
112096 2006-11-01  Eric Blake  <ebb9@byu.net>
112098         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
112100         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
112102 2006-10-29  Bruno Haible  <bruno@clisp.org>
112104         Make it compile in C++ mode.
112105         * lib/full-write.c (full_rw): Add a cast.
112107 2006-11-01  Bruno Haible  <bruno@clisp.org>
112109         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
112110         be POSIX compliant.
112111         Reported by Roger Persson <perrog@gmail.com>.
112113 2006-11-01  Eric Blake  <ebb9@byu.net>
112115         * lib/getopt_.h: Fix comments.
112117 2006-10-31  Eric Blake  <ebb9@byu.net>
112119         * modules/tmpdir (Depends-on): Add sys_stat.
112120         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
112121         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
112122         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
112123         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
112124         tempname.
112126 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
112128         Avoid some C++ diagnostics reported by Bruno Haible.
112129         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
112130         xmalloc.
112131         (quotearg_alloc): Use xcharalloc rather than xmalloc.
112132         (struct slotvec): Move to top level.
112133         (quotearg_n_options): Rewrite to avoid xmalloc.
112134         * lib/xalloc.h (xcharalloc): New function.
112135         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
112136         [defined __cplusplus]: Add function template that provides result
112137         type propagation.  This part of the change is from Bruno Haible.
112139 2006-10-29  Bruno Haible  <bruno@clisp.org>
112141         Make it compile in C++ mode.
112142         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
112143         * lib/strnlen1.c (strnlen1): Cast memchr result.
112144         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
112145         * lib/clean-temp.c (string_equals, string_hash): Add casts.
112146         (create_temp_dir): Rename local variable 'template'.
112147         (compile_csharp_using_sscli): Add cast.
112148         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
112149         * lib/findprog.c (find_in_path): Likewise.
112150         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
112151         * lib/wait-process.c (register_slave_subprocess): Likewise.
112153 2006-10-22  Bruno Haible  <bruno@clisp.org>
112155         * modules/tsearch: New file.
112156         * lib/tsearch.h: New file.
112157         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
112158         * m4/tsearch.m4: New file.
112159         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
112161 2006-10-29  Eric Blake  <ebb9@byu.net>
112163         * lib/arcfour.c: Assume config.h.
112164         * lib/arctwo.c: Likewise.
112165         * lib/base64.c: Likewise.
112166         * lib/check-version.c: Likewise.
112167         * lib/crc.c: Likewise.
112168         * lib/des.c: Likewise.
112169         * lib/gc-gnulib.c: Likewise.
112170         * lib/gc-libgcrypt.c: Likewise.
112171         * lib/gc-pbkdf2-sha1.c: Likewise.
112172         * lib/getaddrinfo.c: Likewise.
112173         * lib/getdelim.c: Likewise.
112174         * lib/getline.c: Likewise.
112175         * lib/hmac-md5.c: Likewise.
112176         * lib/hmac-sha1.c: Likewise.
112177         * lib/iconvme.c: Likewise.
112178         * lib/md2.c: Likewise.
112179         * lib/md4.c: Likewise.
112180         * lib/memxor.c: Likewise.
112181         * lib/read-file.c: Likewise.
112182         * lib/readline.c: Likewise.
112183         * lib/rijndael-alg-fst.c: Likewise.
112184         * lib/rijndael-api-fst.c: Likewise.
112185         * lib/xgetdomainname.c: Likewise.
112187 2006-10-28  Eric Blake  <ebb9@byu.net>
112189         * lib/xstrndup.c: Assume config.h.
112191 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
112193         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
112194         stat-macros.h is now for our own macros, whereas stat_h is for
112195         macros in the <sys/stat.h> name space.
112196         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
112197         (STAT_MACROS_H): Remove.
112198         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
112199         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
112200         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
112201         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
112202         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
112203         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
112204         Move these macros to ...
112205         * lib/stat_.h: here.  Don't include stat-macros.h.
112206         * lib/canonicalize.c: Don't include stat-macros.h.
112207         * lib/chown.c: Likewise.
112208         * lib/euidaccess.c: Likewise.
112209         * lib/file-type.c: Likewise.
112210         * lib/filemode.c: Likewise.
112211         * lib/glob.c: Likewise.
112212         * lib/isapipe.c: Likewise.
112213         * lib/lchown.c: Likewise.
112214         * lib/lstat.c: Likewise.
112215         * lib/mkdir-p.c: Likewise.
112216         * lib/rmdir.c: Likewise.
112217         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
112218         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
112219         unless mkdir isn't declared, to speed up 'configure'.
112220         Always create sys/stat.h, since it's unlikely any real sys/stat.h
112221         would define all the S_* symbols.
112222         * modules/canonicalize (Depends-on):
112223         Depend on sys_stat, not stat-macros.
112224         * modules/chown: Likewise.
112225         * modules/euidaccess: Likewise.
112226         * modules/filemode: Likewise.
112227         * modules/file-type: Likewise.
112228         * modules/glob: Likewise.
112229         * modules/isapipe: Likewise.
112230         * modules/lchown: Likewise.
112231         * modules/lstat: Likewise.
112232         * modules/mkancesdirs: Likewise.
112233         * modules/rmdir: Likewise.
112234         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
112235         * modules/modechange: Likewise.
112236         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
112237         (configure.ac): Remove gl_STAT_MACROS.
112238         * modules/sys_stat (Depends-on): Remove stat-macros.
112240 2006-10-27  Bruno Haible  <bruno@clisp.org>
112242         * m4/signed.m4: Remove file.
112243         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
112244         invocation.
112245         * modules/vasnprintf (Files): Remove m4/signed.m4.
112247 2006-10-27  Bruno Haible  <bruno@clisp.org>
112249         Update to GNU gettext 0.16.
112250         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
112251         m4/inttypes-h.m4, m4/signed.m4.
112252         * m4/gettext.m4: Update to GNU gettext 0.16.
112253         * m4/intl.m4: New file, from GNU gettext.
112254         * m4/intldir.m4: New file, from GNU gettext.
112255         * config/srclist.txt: Update
112257 2006-10-27  Eric Blake  <ebb9@byu.net>
112259         * MODULES.html.sh: Document tempname.
112260         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
112261         dependencies.
112262         (Files): Move lib/tempname.c...
112263         * modules/tempname: ...to this new module.
112264         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
112265         (gl_PREREQ_TEMPNAME): Move...
112266         * m4/tempname.m4: ...to this new file.
112267         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
112268         * modules/sys_stat (Depends-on): Add stat-macros.
112269         * lib/stat_.h (includes): Pick up stat macros.
112270         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
112271         if stat macros are broken.
112272         * lib/tempname.c (includes): No need to include "stat-macros.h".
112273         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
112274         (direxists, __path_search) [!_LIBC]: Don't compile these in
112275         gnulib; the tmpdir module covers that.
112276         * lib/tempname.h: New file.
112278 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
112280         * COPYING: Explain how gnulib-tool converts licence headers.
112281         Almost all wording by Eric Blake.
112283 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
112285         * lib/mbchar.h (is_basic_table): Make read-only.
112286         * lib/mbchar.c (is_basic_table): Likewise.
112287         Reported by John Darrington.
112289 2006-10-25  Bruno Haible  <bruno@clisp.org>
112291         * lib/progname.h (set_program_name): Undefine before defining.
112293 2006-10-25  Bruno Haible  <bruno@clisp.org>
112295         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
112296         false for non-gcc C++ compilers.
112297         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
112299 2006-10-24  Bruno Haible  <bruno@clisp.org>
112301         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
112302         iconv implementations like Irix iconv.
112304 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
112306         * modules/vararrays: New file.
112307         * m4/vararrays.m4: New file, taken from diffutils.
112308         * MODULES.html.sh: New module vararrays.
112310 2006-10-24  Karl Berry  <karl@gnu.org>
112312         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
112313         Don't call GNU Unix.
112315 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112317         * users.txt: Add Libtool.
112319         Sync from Libtool:
112321         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
112323         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
112324         to gnulib's policy of including config.h unconditionally.
112326 2006-10-24  Bruno Haible  <bruno@clisp.org>
112328         * modules/wcwidth (Files): Add m4/wint_t.m4.
112329         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
112330         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
112332 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
112334         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
112335         to pacify GCC with some -W flags enabled.  Problem reported by
112336         Bruno Haible.
112338 2006-10-24  Jim Meyering  <jim@meyering.net>
112340         * MODULES.html.sh: Remove uinttostr.  It's not a module.
112341         Reported by Karl Berry.
112343 2006-10-23  Bruno Haible  <bruno@clisp.org>
112345         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
112347 2006-10-24  Bruno Haible  <bruno@clisp.org>
112349         * lib/gl_list.h: Use C comment style, not C++ comment style.
112351 2006-10-23  Eric Blake  <ebb9@byu.net>
112353         * lib/getaddrinfo.c (includes): Add missing include.
112355 2006-10-23  Bruno Haible  <bruno@clisp.org>
112356             Paul Eggert  <eggert@cs.ucla.edu>
112358         Ability to rename obstack_free.
112359         * lib/obstack.h (__obstack_free): New macro. Declare instead of
112360         obstack_free.
112361         (obstack_free): Invoke the __obstack_free macro.
112362         * lib/obstack.c (obstack_free): Use __obstack_free macro.
112364 2006-10-23  Bruno Haible  <bruno@clisp.org>
112365             Paul Eggert  <eggert@cs.ucla.edu>
112367         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
112368         __argc, __argv from the declaration. (They are defined as macros on
112369         mingw.)
112371 2006-10-22  Bruno Haible  <bruno@clisp.org>
112373         * doc/gnulib-intro.texi: New file.
112374         * doc/gnulib.texi: Include it.
112376 2006-10-21  Bruno Haible  <bruno@clisp.org>
112378         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
112379         "Introduction", "Miscellanous Notes", "Particular Modules".
112381 2006-10-21  Bruno Haible  <bruno@clisp.org>
112383         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
112384         Change mostlyclean-local rule to avoid sh syntax error from bash
112385         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
112387 2006-10-23  Jim Meyering  <jim@meyering.net>
112389         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
112390         in place of snprintf.
112392         * modules/inttostr (Files): Add lib/uinttostr.c.
112393         * lib/uinttostr.c (inttostr): New file/function.
112394         * lib/inttostr.h (uinttostr): Declare.
112395         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
112396         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
112397         Add uinttostr.
112398         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
112400 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
112402         * lib/canonicalize.c (ELOOP): Define if not already defined.
112403         Problem reported by Bruno Haible in
112404         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.
112406 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
112408         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
112409         Problem reported by Perry Smith and Ville Laurikari.
112411         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
112412         uses.
112414 2006-10-19  Bruno Haible  <bruno@clisp.org>
112416         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
112417         for mingw.
112419 2006-10-19  Bruno Haible  <bruno@clisp.org>
112421         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
112422         Needed for mingw.
112424 2006-10-19  Bruno Haible  <bruno@clisp.org>
112426         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
112428 2006-10-19  Bruno Haible  <bruno@clisp.org>
112430         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
112431         it.
112433 2006-10-19  Bruno Haible  <bruno@clisp.org>
112435         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
112436         invocation.
112438 2006-10-19  Bruno Haible  <bruno@clisp.org>
112440         * gnulib-tool (func_create_testdir): Don't include ftruncate and
112441         mountlist by default.
112443 2006-10-16  Bruno Haible  <bruno@clisp.org>
112445         * lib/c-strstr.c: Include c-strstr.h.
112447 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
112449         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
112450         in a slash.
112452 2006-10-18  Bruno Haible  <bruno@clisp.org>
112454         * lib/lock.h [C++]: Wrap definitions in extern "C".
112456 2006-10-18  Bruno Haible  <bruno@clisp.org>
112458         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
112459         gl_LIBOBJS list.
112461 2006-10-18  Bruno Haible  <bruno@clisp.org>
112463         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
112465 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
112467         * lib/xstrtol.h: Include gettext.h.
112468         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
112469         Problem reported by Eric Blake.
112470         * modules/xstrtol (Depends-on): Add gettext-h.
112472 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
112474         * lib/strftime.c (advance): New macro.
112475         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
112476         incomplete type, so you can't add 0 to it.  Problem and patch
112477         reported by Eelco Dolstra for dietlibc.
112479 2006-10-18  Jim Meyering  <jim@meyering.net>
112481         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
112482         type for a local, and rename it: s/up/user_proc/.
112484 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
112486         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
112487         READ_UTMP_USER_PROCESS.
112488         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
112490 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
112492         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
112493         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
112495 2006-10-17  Eric Blake  <ebb9@byu.net>
112497         * lib/sigprocmask.c (sigprocmask): Fix typo.
112499         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
112501         * modules/clean-temp (Makefile.am): Don't add to make output...
112502         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
112503         config.h.
112505 2006-10-17  Bruno Haible  <bruno@clisp.org>
112507         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
112508         differently if DEFAULT_TEXT_DOMAIN is set.
112510 2006-10-16  Bruno Haible  <bruno@clisp.org>
112512         * lib/clean-temp.c: Include fwriteerror.h.
112514 2006-10-16  Bruno Haible  <bruno@clisp.org>
112516         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
112518 2006-10-16  Bruno Haible  <bruno@clisp.org>
112520         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
112521         * lib/sigprocmask.h: Include <sys/types.h>.
112522         (sigset_t): Use the system's definition if present.
112524 2006-10-17  Eric Blake  <ebb9@byu.net>
112526         * lib/xvasprintf.c (includes): Assume config.h.
112527         * lib/xasprintf.c (includes): Likewise.
112529 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
112531         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
112532         at least as wide as intmax_t.
112534 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
112536         (Imported from Automake.)
112537         * build-aux/gnupload: Update to version 1.1 of directive file.
112539 2006-10-16  Eric Blake  <ebb9@byu.net>
112541         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
112542         match Automake 1.10a.
112544 2006-10-14  Bruno Haible  <bruno@clisp.org>
112546         * modules/sigprocmask: New file.
112547         * lib/sigprocmask.h: New file.
112548         * lib/sigprocmask.c: New file.
112549         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
112550         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
112551         request sigprocmask.o.
112552         (gl_PREREQ_SIGPROCMASK): New macro.
112553         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
112554         (Depends-on): Add sigprocmask.
112555         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
112556         gt_SIGNALBLOCKING. Test for 'raise' only once.
112557         * lib/fatal-signal.c: Include sigprocmask.h.
112558         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
112559         unblock_fatal_signals): Define always.
112560         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
112561         sigprocmask.
112563 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
112565         Sync from Automake.
112566         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
112567         which incorrectly sets the mode of an existing destination
112568         directory.  In some cases the unpatched install-sh could do the
112569         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
112570         system.  We hope this is rare in practice, but it's clearly worth
112571         fixing.  Problem reported by Alex Unleashed in
112572         <http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
112573         Also, don't bother to check for -m bugs unless we're using -m;
112574         suggested by Stepan Kasal.
112576 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112578         Sync from Automake.
112579         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
112580         `-c' flag, so they appear at the same position as in %FASTDEP%
112581         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
112582         which ignores unknown options only after the first non-option.
112583         Bug report against M4 by Nelson H. F. Beebe.
112585 2006-10-13  Jim Meyering  <jim@meyering.net>
112587         Fix a bug in yesterday's change.
112588         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
112589         p->fts_statp->st_dev would be used uninitialized.
112590         Ensures that we always call fts_stat on the very first entry.
112591         Miklos Szeredi reported that find -xdev stopped working.
112593 2006-10-12  Bruno Haible  <bruno@clisp.org>
112595         * gnulib-tool (func_get_automake_snippet): Append an automatically
112596         computed EXTRA_DIST augmentation.
112597         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
112598         * modules/alloca-opt (Makefile.am): Likewise.
112599         * modules/allocsa (Makefile.am): Likewise.
112600         * modules/arcfour (Makefile.am): Likewise.
112601         * modules/arctwo (Makefile.am): Likewise.
112602         * modules/argmatch (Makefile.am): Likewise.
112603         * modules/argz (Makefile.am): Likewise.
112604         * modules/atexit (Makefile.am): Likewise.
112605         * modules/backupfile (Makefile.am): Likewise.
112606         * modules/byteswap (Makefile.am): Likewise.
112607         * modules/c-strtod (Makefile.am): Likewise.
112608         * modules/c-strtold (Makefile.am): Likewise.
112609         * modules/calloc (Makefile.am): Likewise.
112610         * modules/canon-host (Makefile.am): Likewise.
112611         * modules/canonicalize (Makefile.am): Likewise.
112612         * modules/chdir-long (Makefile.am): Likewise.
112613         * modules/chdir-safer (Makefile.am): Likewise.
112614         * modules/check-version (Makefile.am): Likewise.
112615         * modules/chown (Makefile.am): Likewise.
112616         * modules/cloexec (Makefile.am): Likewise.
112617         * modules/close-stream (Makefile.am): Likewise.
112618         * modules/closeout (Makefile.am): Likewise.
112619         * modules/crc (Makefile.am): Likewise.
112620         * modules/csharpexec (Makefile.am): Likewise.
112621         * modules/cycle-check (Makefile.am): Likewise.
112622         * modules/des (Makefile.am): Likewise.
112623         * modules/dev-ino (Makefile.am): Likewise.
112624         * modules/dirfd (Makefile.am): Likewise.
112625         * modules/dirname (Makefile.am): Likewise.
112626         * modules/dup2 (Makefile.am): Likewise.
112627         * modules/eealloc (Makefile.am): Likewise.
112628         * modules/error (Makefile.am): Likewise.
112629         * modules/euidaccess (Makefile.am): Likewise.
112630         * modules/exclude (Makefile.am): Likewise.
112631         * modules/exitfail (Makefile.am): Likewise.
112632         * modules/fcntl-safer (Makefile.am): Likewise.
112633         * modules/fcntl (Makefile.am): Likewise.
112634         * modules/file-type (Makefile.am): Likewise.
112635         * modules/fileblocks (Makefile.am): Likewise.
112636         * modules/filemode (Makefile.am): Likewise.
112637         * modules/filenamecat (Makefile.am): Likewise.
112638         * modules/fnmatch (Makefile.am): Likewise.
112639         * modules/fopen-safer (Makefile.am): Likewise.
112640         * modules/fpending (Makefile.am): Likewise.
112641         * modules/fprintftime (Makefile.am): Likewise.
112642         * modules/free (Makefile.am): Likewise.
112643         * modules/fsusage (Makefile.am): Likewise.
112644         * modules/ftruncate (Makefile.am): Likewise.
112645         * modules/fts (Makefile.am): Likewise.
112646         * modules/gc-arcfour (Makefile.am): Likewise.
112647         * modules/gc-des (Makefile.am): Likewise.
112648         * modules/gc-hmac-md5 (Makefile.am): Likewise.
112649         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
112650         * modules/gc-md4 (Makefile.am): Likewise.
112651         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
112652         * modules/gc-sha1 (Makefile.am): Likewise.
112653         * modules/gc (Makefile.am): Likewise.
112654         * modules/getaddrinfo (Makefile.am): Likewise.
112655         * modules/getcwd (Makefile.am): Likewise.
112656         * modules/getdelim (Makefile.am): Likewise.
112657         * modules/getdomainname (Makefile.am): Likewise.
112658         * modules/getgroups (Makefile.am): Likewise.
112659         * modules/gethostname (Makefile.am): Likewise.
112660         * modules/gethrxtime (Makefile.am): Likewise.
112661         * modules/getline (Makefile.am): Likewise.
112662         * modules/getloadavg (Makefile.am): Likewise.
112663         * modules/getlogin_r (Makefile.am): Likewise.
112664         * modules/getndelim2 (Makefile.am): Likewise.
112665         * modules/getopt (Makefile.am): Likewise.
112666         * modules/getpagesize (Makefile.am): Likewise.
112667         * modules/getpass-gnu (Makefile.am): Likewise.
112668         * modules/getpass (Makefile.am): Likewise.
112669         * modules/getsubopt (Makefile.am): Likewise.
112670         * modules/gettime (Makefile.am): Likewise.
112671         * modules/gettimeofday (Makefile.am): Likewise.
112672         * modules/getugroups (Makefile.am): Likewise.
112673         * modules/getusershell (Makefile.am): Likewise.
112674         * modules/glob (Makefile.am): Likewise.
112675         * modules/group-member (Makefile.am): Likewise.
112676         * modules/hard-locale (Makefile.am): Likewise.
112677         * modules/hash (Makefile.am): Likewise.
112678         * modules/hmac-md5 (Makefile.am): Likewise.
112679         * modules/hmac-sha1 (Makefile.am): Likewise.
112680         * modules/human (Makefile.am): Likewise.
112681         * modules/idcache (Makefile.am): Likewise.
112682         * modules/imaxabs (Makefile.am): Likewise.
112683         * modules/imaxdiv (Makefile.am): Likewise.
112684         * modules/inet_ntop (Makefile.am): Likewise.
112685         * modules/inet_pton (Makefile.am): Likewise.
112686         * modules/intprops (Makefile.am): Likewise.
112687         * modules/inttostr (Makefile.am): Likewise.
112688         * modules/inttypes (Makefile.am): Likewise.
112689         * modules/isapipe (Makefile.am): Likewise.
112690         * modules/javaversion (Makefile.am): Likewise.
112691         * modules/lchmod (Makefile.am): Likewise.
112692         * modules/lchown (Makefile.am): Likewise.
112693         * modules/localcharset (Makefile.am): Likewise.
112694         * modules/long-options (Makefile.am): Likewise.
112695         * modules/lstat (Makefile.am): Likewise.
112696         * modules/malloc (Makefile.am): Likewise.
112697         * modules/mathl (Makefile.am): Likewise.
112698         * modules/mbchar (Makefile.am): Likewise.
112699         * modules/md2 (Makefile.am): Likewise.
112700         * modules/md4 (Makefile.am): Likewise.
112701         * modules/md5 (Makefile.am): Likewise.
112702         * modules/memcasecmp (Makefile.am): Likewise.
112703         * modules/memchr (Makefile.am): Likewise.
112704         * modules/memcmp (Makefile.am): Likewise.
112705         * modules/memcoll (Makefile.am): Likewise.
112706         * modules/memcpy (Makefile.am): Likewise.
112707         * modules/memmem (Makefile.am): Likewise.
112708         * modules/memmove (Makefile.am): Likewise.
112709         * modules/mempcpy (Makefile.am): Likewise.
112710         * modules/memrchr (Makefile.am): Likewise.
112711         * modules/memset (Makefile.am): Likewise.
112712         * modules/memxor (Makefile.am): Likewise.
112713         * modules/mkancesdirs (Makefile.am): Likewise.
112714         * modules/mkdir-p (Makefile.am): Likewise.
112715         * modules/mkdir (Makefile.am): Likewise.
112716         * modules/mkdtemp (Makefile.am): Likewise.
112717         * modules/mkstemp (Makefile.am): Likewise.
112718         * modules/mktime (Makefile.am): Likewise.
112719         * modules/modechange (Makefile.am): Likewise.
112720         * modules/mountlist (Makefile.am): Likewise.
112721         * modules/nanosleep (Makefile.am): Likewise.
112722         * modules/obstack (Makefile.am): Likewise.
112723         * modules/openat (Makefile.am): Likewise.
112724         * modules/pagealign_alloc (Makefile.am): Likewise.
112725         * modules/pathmax (Makefile.am): Likewise.
112726         * modules/physmem (Makefile.am): Likewise.
112727         * modules/poll (Makefile.am): Likewise.
112728         * modules/posixtm (Makefile.am): Likewise.
112729         * modules/posixver (Makefile.am): Likewise.
112730         * modules/putenv (Makefile.am): Likewise.
112731         * modules/quote (Makefile.am): Likewise.
112732         * modules/quotearg (Makefile.am): Likewise.
112733         * modules/raise (Makefile.am): Likewise.
112734         * modules/read-file (Makefile.am): Likewise.
112735         * modules/readline (Makefile.am): Likewise.
112736         * modules/readlink (Makefile.am): Likewise.
112737         * modules/readtokens (Makefile.am): Likewise.
112738         * modules/readutmp (Makefile.am): Likewise.
112739         * modules/realloc (Makefile.am): Likewise.
112740         * modules/regex (Makefile.am): Likewise.
112741         * modules/rename-dest-slash (Makefile.am): Likewise.
112742         * modules/rename (Makefile.am): Likewise.
112743         * modules/rijndael (Makefile.am): Likewise.
112744         * modules/rmdir (Makefile.am): Likewise.
112745         * modules/rpmatch (Makefile.am): Likewise.
112746         * modules/safe-read (Makefile.am): Likewise.
112747         * modules/safe-write (Makefile.am): Likewise.
112748         * modules/same-inode (Makefile.am): Likewise.
112749         * modules/same (Makefile.am): Likewise.
112750         * modules/save-cwd (Makefile.am): Likewise.
112751         * modules/savedir (Makefile.am): Likewise.
112752         * modules/setenv (Makefile.am): Likewise.
112753         * modules/settime (Makefile.am): Likewise.
112754         * modules/sha1 (Makefile.am): Likewise.
112755         * modules/sig2str (Makefile.am): Likewise.
112756         * modules/snprintf (Makefile.am): Likewise.
112757         * modules/stat-macros (Makefile.am): Likewise.
112758         * modules/stat-time (Makefile.am): Likewise.
112759         * modules/stdbool (Makefile.am): Likewise.
112760         * modules/stdint (Makefile.am): Likewise.
112761         * modules/stdlib-safer (Makefile.am): Likewise.
112762         * modules/stpcpy (Makefile.am): Likewise.
112763         * modules/stpncpy (Makefile.am): Likewise.
112764         * modules/strcase (Makefile.am): Likewise.
112765         * modules/strcasestr (Makefile.am): Likewise.
112766         * modules/strchrnul (Makefile.am): Likewise.
112767         * modules/strcspn (Makefile.am): Likewise.
112768         * modules/strdup (Makefile.am): Likewise.
112769         * modules/strerror (Makefile.am): Likewise.
112770         * modules/strftime (Makefile.am): Likewise.
112771         * modules/strndup (Makefile.am): Likewise.
112772         * modules/strnlen (Makefile.am): Likewise.
112773         * modules/strpbrk (Makefile.am): Likewise.
112774         * modules/strsep (Makefile.am): Likewise.
112775         * modules/strstr (Makefile.am): Likewise.
112776         * modules/strtod (Makefile.am): Likewise.
112777         * modules/strtoimax (Makefile.am): Likewise.
112778         * modules/strtok_r (Makefile.am): Likewise.
112779         * modules/strtol (Makefile.am): Likewise.
112780         * modules/strtoll (Makefile.am): Likewise.
112781         * modules/strtoul (Makefile.am): Likewise.
112782         * modules/strtoull (Makefile.am): Likewise.
112783         * modules/strtoumax (Makefile.am): Likewise.
112784         * modules/strverscmp (Makefile.am): Likewise.
112785         * modules/sys_socket (Makefile.am): Likewise.
112786         * modules/sys_stat (Makefile.am): Likewise.
112787         * modules/sysexits (Makefile.am): Likewise.
112788         * modules/time_r (Makefile.am): Likewise.
112789         * modules/timegm (Makefile.am): Likewise.
112790         * modules/timespec (Makefile.am): Likewise.
112791         * modules/tmpfile-safer (Makefile.am): Likewise.
112792         * modules/trim (Makefile.am): Likewise.
112793         * modules/unistd-safer (Makefile.am): Likewise.
112794         * modules/unlinkdir (Makefile.am): Likewise.
112795         * modules/unlocked-io (Makefile.am): Likewise.
112796         * modules/userspec (Makefile.am): Likewise.
112797         * modules/utime (Makefile.am): Likewise.
112798         * modules/utimecmp (Makefile.am): Likewise.
112799         * modules/utimens (Makefile.am): Likewise.
112800         * modules/vasnprintf (Makefile.am): Likewise.
112801         * modules/vasprintf (Makefile.am): Likewise.
112802         * modules/vsnprintf (Makefile.am): Likewise.
112803         * modules/xalloc (Makefile.am): Likewise.
112804         * modules/xgetcwd (Makefile.am): Likewise.
112805         * modules/xnanosleep (Makefile.am): Likewise.
112806         * modules/xreadlink (Makefile.am): Likewise.
112807         * modules/xstrtod (Makefile.am): Likewise.
112808         * modules/xstrtol (Makefile.am): Likewise.
112809         * modules/xstrtold (Makefile.am): Likewise.
112810         * modules/yesno (Makefile.am): Likewise.
112811         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
112813 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
112815         * modules/error (Makefile.am): Distribute files through
112816         EXTRA_DIST, not lib_SOURCES.
112818 2006-10-12  Eric Blake  <ebb9@byu.net>
112820         * modules/error (Makefile.am): Distribute files in /lib.
112821         * modules/obstack (Makefile.am): Likewise.
112823 2006-10-12  Bruno Haible  <bruno@clisp.org>
112825         * modules/acl (Makefile.am): Distribute all files in lib/ through
112826         EXTRA_DIST.
112827         * modules/arcfour (Makefile.am): Likewise.
112828         * modules/arctwo (Makefile.am): Likewise.
112829         * modules/argmatch (Makefile.am): Likewise.
112830         * modules/argz (Makefile.am): Likewise.
112831         * modules/atexit (Makefile.am): Likewise.
112832         * modules/backupfile (Makefile.am): Likewise.
112833         * modules/c-strtod (Makefile.am): Likewise.
112834         * modules/c-strtold (Makefile.am): Likewise.
112835         * modules/calloc (Makefile.am): Likewise.
112836         * modules/canon-host (Makefile.am): Likewise.
112837         * modules/canonicalize (Makefile.am): Likewise.
112838         * modules/chdir-long (Makefile.am): Likewise.
112839         * modules/chdir-safer (Makefile.am): Likewise.
112840         * modules/check-version (Makefile.am): Likewise.
112841         * modules/chown (Makefile.am): Likewise.
112842         * modules/cloexec (Makefile.am): Likewise.
112843         * modules/close-stream (Makefile.am): Likewise.
112844         * modules/closeout (Makefile.am): Likewise.
112845         * modules/crc (Makefile.am): Likewise.
112846         * modules/cycle-check (Makefile.am): Likewise.
112847         * modules/des (Makefile.am): Likewise.
112848         * modules/dirfd (Makefile.am): Likewise.
112849         * modules/dirname (Makefile.am): Likewise.
112850         * modules/dup2 (Makefile.am): Likewise.
112851         * modules/euidaccess (Makefile.am): Likewise.
112852         * modules/exclude (Makefile.am): Likewise.
112853         * modules/exitfail (Makefile.am): Likewise.
112854         * modules/fcntl-safer (Makefile.am): Likewise.
112855         * modules/file-type (Makefile.am): Likewise.
112856         * modules/fileblocks (Makefile.am): Likewise.
112857         * modules/filemode (Makefile.am): Likewise.
112858         * modules/filenamecat (Makefile.am): Likewise.
112859         * modules/fnmatch (Makefile.am): Likewise.
112860         * modules/fopen-safer (Makefile.am): Likewise.
112861         * modules/fpending (Makefile.am): Likewise.
112862         * modules/fprintftime (Makefile.am): Likewise.
112863         * modules/free (Makefile.am): Likewise.
112864         * modules/fsusage (Makefile.am): Likewise.
112865         * modules/ftruncate (Makefile.am): Likewise.
112866         * modules/fts (Makefile.am): Likewise.
112867         * modules/gc (Makefile.am): Likewise.
112868         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
112869         * modules/getaddrinfo (Makefile.am): Likewise.
112870         * modules/getcwd (Makefile.am): Likewise.
112871         * modules/getdelim (Makefile.am): Likewise.
112872         * modules/getdomainname (Makefile.am): Likewise.
112873         * modules/getgroups (Makefile.am): Likewise.
112874         * modules/gethostname (Makefile.am): Likewise.
112875         * modules/gethrxtime (Makefile.am): Likewise.
112876         * modules/getline (Makefile.am): Likewise.
112877         * modules/getloadavg (Makefile.am): Likewise.
112878         * modules/getlogin_r (Makefile.am): Likewise.
112879         * modules/getopt (Makefile.am): Likewise.
112880         * modules/getpass (Makefile.am): Likewise.
112881         * modules/getpass-gnu (Makefile.am): Likewise.
112882         * modules/getsubopt (Makefile.am): Likewise.
112883         * modules/gettime (Makefile.am): Likewise.
112884         * modules/gettimeofday (Makefile.am): Likewise.
112885         * modules/getugroups (Makefile.am): Likewise.
112886         * modules/getusershell (Makefile.am): Likewise.
112887         * modules/glob (Makefile.am): Likewise.
112888         * modules/group-member (Makefile.am): Likewise.
112889         * modules/hard-locale (Makefile.am): Likewise.
112890         * modules/hash (Makefile.am): Likewise.
112891         * modules/hmac-md5 (Makefile.am): Likewise.
112892         * modules/hmac-sha1 (Makefile.am): Likewise.
112893         * modules/human (Makefile.am): Likewise.
112894         * modules/idcache (Makefile.am): Likewise.
112895         * modules/imaxabs (Makefile.am): Likewise.
112896         * modules/imaxdiv (Makefile.am): Likewise.
112897         * modules/inet_ntop (Makefile.am): Likewise.
112898         * modules/inet_pton (Makefile.am): Likewise.
112899         * modules/inttostr (Makefile.am): Likewise.
112900         * modules/isapipe (Makefile.am): Likewise.
112901         * modules/lchown (Makefile.am): Likewise.
112902         * modules/long-options (Makefile.am): Likewise.
112903         * modules/lstat (Makefile.am): Likewise.
112904         * modules/malloc (Makefile.am): Likewise.
112905         * modules/mathl (Makefile.am): Likewise.
112906         * modules/mbchar (Makefile.am): Likewise.
112907         * modules/md2 (Makefile.am): Likewise.
112908         * modules/md4 (Makefile.am): Likewise.
112909         * modules/md5 (Makefile.am): Likewise.
112910         * modules/memcasecmp (Makefile.am): Likewise.
112911         * modules/memchr (Makefile.am): Likewise.
112912         * modules/memcmp (Makefile.am): Likewise.
112913         * modules/memcoll (Makefile.am): Likewise.
112914         * modules/memcpy (Makefile.am): Likewise.
112915         * modules/memmem (Makefile.am): Likewise.
112916         * modules/memmove (Makefile.am): Likewise.
112917         * modules/mempcpy (Makefile.am): Likewise.
112918         * modules/memrchr (Makefile.am): Likewise.
112919         * modules/memset (Makefile.am): Likewise.
112920         * modules/memxor (Makefile.am): Likewise.
112921         * modules/mkancesdirs (Makefile.am): Likewise.
112922         * modules/mkdir (Makefile.am): Likewise.
112923         * modules/mkdir-p (Makefile.am): Likewise.
112924         * modules/mkdtemp (Makefile.am): Likewise.
112925         * modules/mkstemp (Makefile.am): Likewise.
112926         * modules/mktime (Makefile.am): Likewise.
112927         * modules/modechange (Makefile.am): Likewise.
112928         * modules/mountlist (Makefile.am): Likewise.
112929         * modules/nanosleep (Makefile.am): Likewise.
112930         * modules/openat (Makefile.am): Likewise.
112931         * modules/pagealign_alloc (Makefile.am): Likewise.
112932         * modules/physmem (Makefile.am): Likewise.
112933         * modules/poll (Makefile.am): Likewise.
112934         * modules/posixtm (Makefile.am): Likewise.
112935         * modules/posixver (Makefile.am): Likewise.
112936         * modules/putenv (Makefile.am): Likewise.
112937         * modules/quote (Makefile.am): Likewise.
112938         * modules/quotearg (Makefile.am): Likewise.
112939         * modules/raise (Makefile.am): Likewise.
112940         * modules/read-file (Makefile.am): Likewise.
112941         * modules/readline (Makefile.am): Likewise.
112942         * modules/readlink (Makefile.am): Likewise.
112943         * modules/readtokens (Makefile.am): Likewise.
112944         * modules/readutmp (Makefile.am): Likewise.
112945         * modules/realloc (Makefile.am): Likewise.
112946         * modules/regex (Makefile.am): Likewise.
112947         * modules/rename (Makefile.am): Likewise.
112948         * modules/rename-dest-slash (Makefile.am): Likewise.
112949         * modules/rijndael (Makefile.am): Likewise.
112950         * modules/rmdir (Makefile.am): Likewise.
112951         * modules/rpmatch (Makefile.am): Likewise.
112952         * modules/safe-read (Makefile.am): Likewise.
112953         * modules/safe-write (Makefile.am): Likewise.
112954         * modules/same (Makefile.am): Likewise.
112955         * modules/save-cwd (Makefile.am): Likewise.
112956         * modules/savedir (Makefile.am): Likewise.
112957         * modules/setenv (Makefile.am): Likewise.
112958         * modules/settime (Makefile.am): Likewise.
112959         * modules/sha1 (Makefile.am): Likewise.
112960         * modules/sig2str (Makefile.am): Likewise.
112961         * modules/snprintf (Makefile.am): Likewise.
112962         * modules/stdlib-safer (Makefile.am): Likewise.
112963         * modules/stpcpy (Makefile.am): Likewise.
112964         * modules/stpncpy (Makefile.am): Likewise.
112965         * modules/strcase (Makefile.am): Likewise.
112966         * modules/strcasestr (Makefile.am): Likewise.
112967         * modules/strchrnul (Makefile.am): Likewise.
112968         * modules/strcspn (Makefile.am): Likewise.
112969         * modules/strdup (Makefile.am): Likewise.
112970         * modules/strerror (Makefile.am): Likewise.
112971         * modules/strftime (Makefile.am): Likewise.
112972         * modules/strndup (Makefile.am): Likewise.
112973         * modules/strnlen (Makefile.am): Likewise.
112974         * modules/strpbrk (Makefile.am): Likewise.
112975         * modules/strsep (Makefile.am): Likewise.
112976         * modules/strstr (Makefile.am): Likewise.
112977         * modules/strtod (Makefile.am): Likewise.
112978         * modules/strtoimax (Makefile.am): Likewise.
112979         * modules/strtok_r (Makefile.am): Likewise.
112980         * modules/strtol (Makefile.am): Likewise.
112981         * modules/strtoll (Makefile.am): Likewise.
112982         * modules/strtoul (Makefile.am): Likewise.
112983         * modules/strtoull (Makefile.am): Likewise.
112984         * modules/strtoumax (Makefile.am): Likewise.
112985         * modules/strverscmp (Makefile.am): Likewise.
112986         * modules/time_r (Makefile.am): Likewise.
112987         * modules/timegm (Makefile.am): Likewise.
112988         * modules/tmpfile-safer (Makefile.am): Likewise.
112989         * modules/unistd-safer (Makefile.am): Likewise.
112990         * modules/unlinkdir (Makefile.am): Likewise.
112991         * modules/userspec (Makefile.am): Likewise.
112992         * modules/utime (Makefile.am): Likewise.
112993         * modules/utimecmp (Makefile.am): Likewise.
112994         * modules/utimens (Makefile.am): Likewise.
112995         * modules/vasnprintf (Makefile.am): Likewise.
112996         * modules/vasprintf (Makefile.am): Likewise.
112997         * modules/vsnprintf (Makefile.am): Likewise.
112998         * modules/xalloc (Makefile.am): Likewise.
112999         * modules/xgetcwd (Makefile.am): Likewise.
113000         * modules/xnanosleep (Makefile.am): Likewise.
113001         * modules/xreadlink (Makefile.am): Likewise.
113002         * modules/xstrtod (Makefile.am): Likewise.
113003         * modules/xstrtol (Makefile.am): Likewise.
113004         * modules/xstrtold (Makefile.am): Likewise.
113005         * modules/yesno (Makefile.am): Likewise.
113007 2006-10-12  Jim Meyering  <jim@meyering.net>
113009         * m4/getloadavg.m4: Revert the change below.
113011         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
113012         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
113013         fail with a symlink, which is what coreutils' ./bootstrap now
113014         creates by default.
113016 2006-10-12  Bruno Haible  <bruno@clisp.org>
113018         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
113019         mingw.
113020         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
113021         MSVC and mingw explicitly.
113023 2006-10-11  Simon Josefsson  <jas@extundo.com>
113024             Bruno Haible  <bruno@clisp.org>
113026         Add support for multiple gnulib-tool invocations in the scope of a
113027         single configure.ac file.
113028         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
113029         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
113030         with the same contents as the _LIBADD variable.
113031         (func_emit_initmacro_start, func_emit_initmacro_end,
113032         func_emit_initmacro_done): New functions.
113033         (func_import, func_create_testdir): Invoke them. Allow the identifiers
113034         gl_LIBOBJS and gl_LTLIBOBJS.
113036 2006-10-11  Bruno Haible  <bruno@clisp.org>
113038         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
113039         (func_create_testdir): Don't create po/Makefile.am, don't invoke
113040         autoreconf. Instead, invoke autopoint explicitly but move back the
113041         *.m4 files from gnulib.
113043 2006-10-11  Bruno Haible  <bruno@clisp.org>
113045         * gnulib-tool (func_usage): Make module names after --create-testdir
113046         optional.
113047         (func_create_testdir): If no module was specified, use nearly all
113048         modules.
113050 2006-10-12  Jim Meyering  <jim@meyering.net>
113052         Big performance improvement for fts-based tools that use FTS_NOSTAT.
113053         Avoid spurious inode-mismatch problems on non-POSIX file systems.
113054         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
113055         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
113056         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
113057         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
113058         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
113059         (fts_set_stat_required): New function.
113060         (fts_open): Defer the calls to fts_stat, if possible or requested.
113061         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
113062         into fts_stat itself.
113063         (fts_read): Perform any required (deferred) fts_stat call.
113064         (fts_build): Likewise, for the directory we're about to open and read.
113065         In the readdir loop, carefully decide whether each entry will require
113066         an eventual call to fts_stat, using dirent.d_type info if available.
113067         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
113068         a command line argument into this function.  Update all callers.
113069         Map a return value of FTS_DOT to FTS_D for a command line argument.
113070         * modules/fts (Depends-on): Add d-type.  Alphabetize.
113071         Thanks to Miklos Szeredi for his tenacity and for the initial
113072         bug report about "find" failing on a FUSE-based file system.
113074         * lib/fts.c (fts_open): Use consistent indentation.
113076 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
113078         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
113079         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
113080         reported by Jim Meyering.  All uses of cache variables renamed
113081         to match Autoconf's.
113082         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
113083         the other one.
113085         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
113086         Fix misspelling in diagnostic.
113088 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
113090         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
113091         defined.  Problem reported by Matthew Woehlke.
113093         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
113094         Add support for Tandem NonStop R series.
113095         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
113096         Use new macro.
113098         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
113099         (has_trailing_slash): Omit size arg; all callers changed.
113100         Omit 'inline', since it doesn't help performance and we'd
113101         need to configure it.
113102         Don't count //, ///, etc. as having a trailing slash.
113103         As a side effect, this removes a C99ism reported by Matthew Woehlke.
113104         (rpl_rename_dest_slash): On failure, use rename's errno rather
113105         than (in some cases) an incorrect or junk errno.
113106         Simplify code by removing need to compute length; this does
113107         cause it to make two passes instead of one over the file name,
113108         but it's worth it.
113110         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
113111         change, since Autoconf's version may no longer be appropriate now
113112         that we are using CVS Autoconf's version.  Add support for Tandem.
113114 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
113115             Bruno Haible  <bruno@clisp.org>
113117         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
113118         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
113119         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
113120         gl_AC_TYPE_LONG_LONG.
113122         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
113123         instead of HAVE_LONG_LONG.
113124         * lib/printf-args.c (printf_fetchargs): Likewise.
113125         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
113126         * lib/vasnprintf.c (VASNPRINTF): Likewise.
113127         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
113128         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
113129         gl_AC_TYPE_LONG_LONG.
113131 2006-10-11  Bruno Haible  <bruno@clisp.org>
113133         * m4/longlong.m4: Add comments.
113134         * m4/ulonglong.m4: Likewise.
113136 2006-10-10  Bruno Haible  <bruno@clisp.org>
113138         Make it possible to #define stpcpy, strdup to aliases.
113139         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
113140         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
113142 2006-10-10  Bruno Haible  <bruno@clisp.org>
113144         Make it possible to #define gcd to an alias.
113145         * lib/gcd.c: Include config.h.
113147 2006-10-10  Bruno Haible  <bruno@clisp.org>
113149         Make it possible to #define c_isascii to an alias.
113150         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
113151         defined. Undefine the macros before defining them, to avoid gcc
113152         warnings.
113153         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
113154         define NO_C_CTYPE_MACROS early.
113156 2006-10-10  Bruno Haible  <bruno@clisp.org>
113158         Make it possible to #define set_program_name to an alias.
113159         * lib/progname.c: Don't undefine set_program_name; instead, undefine
113160         ENABLE_RELOCATABLE early.
113162 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
113164         Port to Tandem NSK OSS, which has 64-bit signed int but at most
113165         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
113166         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
113167         More generally, don't assume that 64-bit signed int is available
113168         if unsigned int is, and vice versa.
113169         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
113170         unsigned symbols, not on their signed counterparts.
113171         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
113172         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
113173         (UINT64_C, UINTMAX_C):
113174         Likewise.
113175         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
113176         unsigned counterparts.
113177         (Have_long_long, Unsigned): New macros.
113178         (Int): Renamed from INT.
113179         (strtoimax): Use the new macros.
113180         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
113181         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
113182         * modules/inttypes (inttypes.h): Substitute
113183         HAVE_UNSIGNED_LONG_LONG_INT.
113184         * modules/stdint (stdint.h): Likewise.
113185         (Files): Add m4/ulonglong.m4.
113187 2006-10-10  Bruno Haible  <bruno@clisp.org>
113189         Fix a gcc -Wshadow warning.
113190         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
113191         to 'bucket'.
113192         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
113193         gl_linked_indexof_from_to): Likewise.
113194         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
113195         Likewise.
113196         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
113197         Likewise.
113198         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
113199         Reported by Eric Blake.
113201 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
113203         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
113204         for NetBSD.  Problem reported by Bruno Haible.
113206 2006-10-09  Jim Meyering  <jim@meyering.net>
113208         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
113209         Patch from Bruno Haible.
113211 2006-10-09  Jim Meyering  <jim@meyering.net>
113213         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
113214         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
113215         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
113217 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
113219         Don't include <config.h> twice; this doesn't work in some cases,
113220         e.g., when config.h has "#define intmax_t long long int" and
113221         we include <config.h>, <inttypes.h>, <config.h> in that order.
113222         Problem reported by Matthew Woehlke in:
113223         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
113224         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
113225         * lib/fts-cycle.c: Don't include config.h.
113226         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
113227         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
113228         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
113229         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
113230         inttypes.h.
113231         * lib/xstrtoumax.c: Likewise.
113232         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
113233         __strtol and the like, so that this module is more like its siblings.
113234         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
113235         Remove; no longer needed now that we assume gnulib inttypes.h.
113237 2006-10-08  Bruno Haible  <bruno@clisp.org>
113239         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
113240         option.
113242 2006-10-07  Jim Meyering  <jim@meyering.net>
113244         * modules/inttypes (inttypes.h): Revert what seems to have been
113245         an inadvertent part of today's change: use "|", not "/" in the
113246         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
113248 2006-10-07  Bruno Haible  <bruno@clisp.org>
113250         * modules/sublist: New file.
113252 2006-10-07  Bruno Haible  <bruno@clisp.org>
113254         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
113255         * modules/argz (argz.h): Likewise.
113256         * modules/arpa_inet (arpa/inet.h): Likewise.
113257         * modules/byteswap (byteswap.h): Likewise.
113258         * modules/configmake (configmake.h): Likewise.
113259         * modules/fcntl (fcntl.h): Likewise.
113260         * modules/fnmatch (fnmatch.h): Likewise.
113261         * modules/getopt (getopt.h): Likewise.
113262         * modules/glob (glob.h): Likewise.
113263         * modules/inttypes (inttypes.h): Likewise.
113264         * modules/netinet_in (netinet/in.h): Likewise.
113265         * modules/poll (poll.h): Likewise.
113266         * modules/stdbool (stdbool.h): Likewise.
113267         * modules/stdint (stdint.h): Likewise.
113268         * modules/sys_select (sys/select.h): Likewise.
113269         * modules/sys_socket (sys/socket.h): Likewise.
113270         * modules/sys_stat (sys/stat.h): Likewise.
113271         * modules/sysexits (sysexits.h): Likewise.
113272         * modules/unistd (unistd.h): Likewise.
113273         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
113274         Add a "DO NOT EDIT" comment to the generated file.
113275         (func_import): Likewise for gnulib-comp.m4.
113277 2006-10-07  Bruno Haible  <bruno@clisp.org>
113279         * lib/gl_sublist.h: New file.
113280         * lib/gl_sublist.c: New file.
113282 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
113284         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
113285         name (relative to the original working directory) and the file
113286         name component (relative to the temporary working directory).  All
113287         callers changed.
113288         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
113289         * lib/mkdir-p.c (make_dir_parents): Likewise.
113290         * lib/mkdir-p.h (make_dir_parents): Likewise.
113292 2006-10-06  Eric Blake  <ebb9@byu.net>
113294         Define several macros for use by the clean-temp module.
113295         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
113296         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
113297         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
113299         * lib/clean-temp.h (close_stream_temp): New declaration.
113300         * lib/clean-temp.c (includes): Pull in headers according to what
113301         other modules are in use.
113302         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
113304 2006-10-06  Bruno Haible  <bruno@clisp.org>
113306         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
113307         instead of fopen, fwriteerror.
113309 2006-10-06  Bruno Haible  <bruno@clisp.org>
113311         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
113312         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
113313         int.
113314         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
113315         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
113316         Return an error indicator.
113317         Suggested by Eric Blake.
113319 2006-10-06  Bruno Haible  <bruno@clisp.org>
113321         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
113322         Reported by Eric Blake.
113324 2006-10-06  Bruno Haible  <bruno@clisp.org>
113326         * modules/closeout (Description): Mention stderr too.
113328 2006-10-06  Bruno Haible  <bruno@clisp.org>
113329         and Paul Eggert  <eggert@cs.ucla.edu>
113331         * lib/closeout.c (close_stdout): Also close stderr.
113332         * lib/closeout.h: Update comment.
113334 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
113336         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
113337         <http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
113338         * lib/dirchownmod.c: Include lchown.h.
113339         * lib/lchown.c: Don't include files that lchown.h now includes.
113340         Don't declare chown, since lchown.h now does that.
113341         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
113342         (lchown): Define to rpl_chown if lchown is declared but
113343         does not exist.  Declare using a prototype if lchown is not
113344         declared.  Add a copyright notice.
113345         * lib/mkstemp.h: Include <unistd.h>.
113346         * lib/openat.c: Include lchown.h.
113348         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
113349         we now test for that separately.
113350         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
113351         rather than O_NOFOLLOW, when testing whether it's possible to
113352         avoid a race condition reliably.
113353         * lib/savewd.c (savewd_chdir): Likewise.
113355         Remove macros that are no longer needed now that stdint.h is
113356         reliable.
113357         * lib/fsusage.c (UINTMAX_MAX): Remove.
113358         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
113359         * lib/utimecmp.c (SIZE_MAX): Remove.
113361         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
113363         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
113364         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
113365         O_NOATIME works.
113367 2006-10-05  Bruno Haible  <bruno@clisp.org>
113369         * lib/gl_list.h (gl_sortedlist_search_from_to,
113370         gl_sortedlist_indexof_from_to): New declarations.
113371         (gl_list_implementation): New fields sortedlist_search_from_to,
113372         sortedlist_indexof_from_to.
113373         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
113374         inline functions.
113375         * lib/gl_list.c (gl_sortedlist_search_from_to,
113376         gl_sortedlist_indexof_from_to): New functions.
113377         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
113378         function.
113379         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
113380         (gl_array_sortedlist_search_from_to): New function.
113381         (gl_array_list_implementation): Update.
113382         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
113383         function.
113384         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
113385         (gl_carray_sortedlist_search_from_to): New function.
113386         (gl_carray_list_implementation): Update.
113387         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
113388         gl_linked_sortedlist_indexof_from_to): New functions.
113389         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
113390         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
113391         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
113392         gl_tree_sortedlist_indexof_from_to): New functions.
113393         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
113394         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
113395         Update.
113396         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
113397         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
113398         Update.
113400 2006-10-05  Bruno Haible  <bruno@clisp.org>
113402         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
113403         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
113404         (struct gl_list_implementation): Add fields search_from_to,
113405         indexof_from_to. Remove fields search, indexof.
113406         (gl_list_search): Use the search_from_to method.
113407         (gl_list_search_from, gl_list_search_from_to): New functions.
113408         (gl_list_indexof): Use the indexof_from_to method.
113409         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
113410         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
113411         (gl_list_search_from, gl_list_search_from_to): New functions.
113412         (gl_list_indexof): Use the indexof_from_to method.
113413         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
113414         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
113415         gl_array_indexof. Add start_index, end_index arguments.
113416         (gl_array_search_from_to): Renamed from gl_array_search. Add
113417         start_index, end_index arguments.
113418         (gl_array_remove, gl_array_list_implementation): Update.
113419         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
113420         gl_carray_indexof. Add start_index, end_index arguments.
113421         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
113422         start_index, end_index arguments.
113423         (gl_carray_remove, gl_carray_list_implementation): Update.
113424         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
113425         gl_linked_search. Add start_index, end_index arguments.
113426         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
113427         start_index, end_index arguments.
113428         (gl_linked_remove): Update.
113429         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
113430         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
113431         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
113432         field to 'size_t'.
113433         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
113434         gl_tree_search. Add start_index, end_index arguments.
113435         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
113436         start_index, end_index arguments.
113437         (gl_tree_remove): Update.
113438         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
113439         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
113440         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
113441         function.
113442         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
113443         gl_tree_search. Add start_index, end_index arguments.
113444         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
113445         start_index, end_index arguments.
113446         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
113447         Update.
113448         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
113450 2006-10-05  Bruno Haible  <bruno@clisp.org>
113452         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
113454         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
113455         fwriteerror_temp): New declarations.
113456         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
113457         (descriptors): New variable.
113458         (cleanup): First, close the descriptors.
113459         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
113460         fclose_temp, fwriteerror_temp): New functions.
113462 2006-10-04  Jim Meyering  <jim@meyering.net>
113464         * lib/fts.c (fts_open): Tiny comment change.
113466 2006-10-04  Bruno Haible  <bruno@clisp.org>
113468         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
113469         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
113470         gl_LOCK_BODY.
113471         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
113472         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
113473         gl_LOCK_EARLY_BODY.
113474         (gl_LOCK): Require gl_LOCK_BODY.
113476 2006-10-04  Bruno Haible  <bruno@clisp.org>
113478         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
113479         (gl_oset_search_atleast): New declaration.
113480         (struct gl_oset_implementation): Add field 'search_atleast'.
113481         (gl_oset_search_atleast): New inline function.
113482         * lib/gl_oset.c (gl_oset_search_atleast): New function.
113483         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
113484         (gl_array_oset_implementation): Update.
113485         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
113486         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
113487         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
113489 2006-10-04  Bruno Haible  <bruno@clisp.org>
113491         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
113493 2006-10-03  Bruno Haible  <bruno@clisp.org>
113495         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
113496         from gl_avltreehash_list_implementation.
113498 2006-10-03  Bruno Haible  <bruno@clisp.org>
113500         * lib/gl_oset.c (gl_oset_add): Fix return type.
113502 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
113504         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
113506 2006-10-02  Eric Blake  <ebb9@byu.net>
113508         * modules/strnlen (Depends-on): Add extensions.
113510 2006-10-02  Eric Blake  <ebb9@byu.net>
113512         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
113513         definition in 2.60+.
113515 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
113517         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
113518         checks.
113520 2006-10-02  Bruno Haible  <bruno@clisp.org>
113522         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
113523         to the AUTOMAKE_OPTIONS.
113524         Reported by Jim Meyering.
113526 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
113528         Work around bug in Solaris 10 /proc file system:
113529         /proc/self/fd/NNN/.. isn't the parent directory of
113530         the directory whose file descriptor is NNN.  This needs to
113531         be worked around at run time, not compile time, since a
113532         program might be built on Solaris 8, where things work, and
113533         run on Solaris 10.
113534         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
113535         to use the following interface instead:
113536         (OPENAT_BUFFER_SIZE): New macro.
113537         (openat_proc_name): New function.
113538         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
113539         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
113540         Likewise.
113541         * lib/openat-proc.c: New file.
113542         * modules/openat (Files): Add lib/openat-proc.c.
113543         (Depends-on): Add same-inode, stdbool.
113544         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
113546 2006-09-29  Bruno Haible  <bruno@clisp.org>
113548         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
113549         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
113550         argument. Set stdout_closed before testing for ferror, not after.
113551         (fwriteerror, fwriteerror_no_ebadf): New functions.
113553 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113555         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
113557 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
113559         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
113560         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
113562 2006-09-28  Jim Meyering  <jim@meyering.net>
113564         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
113565         Include <unistd.h>.
113567 2006-09-28  Bruno Haible  <bruno@clisp.org>
113569         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
113570         * modules/linkedhash-list (Depends-on): Likewise.
113571         * modules/rbtreehash-list (Depends-on): Likewise.
113573 2006-09-28  Bruno Haible  <bruno@clisp.org>
113575         * lib/strndup.h: Simplify the redefinition of strndup.
113576         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
113577         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
113579 2006-09-28  Bruno Haible  <bruno@clisp.org>
113581         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
113582         * lib/gl_linkedhash_list.c: Likewise.
113583         * lib/gl_rbtreehash_list.c: Likewise.
113585 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
113587         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
113588         getaddrinfo.
113590         * lib/__fpending.h: Don't include <stdio_ext.h> unless
113591         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
113592         it causes <stdio_ext.h> to cause a compile-time error.
113593         Problem reported by Nelson H. F. Beebe.
113594         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
113595         of HAVE_DECL___PENDING.
113597         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
113598         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
113599         declaration.
113601 2006-09-27  Jim Meyering  <jim@meyering.net>
113603         This file could end up with a definition for a function
113604         named __strndup, rather than rpl_strndup on a system with
113605         incomplete weak_alias support.
113606         * lib/strndup.c (strndup): Rename from __strndup.
113607         Remove #defines that used to map __strndup to strndup.
113608         Don't use K&R prototypes.
113609         Remove LIBC-related code, since this file is not sync'd with glibc.
113610         * lib/strndup.h: Revamp, accordingly.
113611         * m4/strndup.m4: Modernize.
113613 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
113615         * modules/savewd (Depends-on): Add 'raise'.
113616         * lib/savewd.c: Include <signal.h>, for 'raise'.
113618 2006-09-26  Jim Meyering  <jim@meyering.net>
113620         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
113621         when we detect Darwin 8.7.0's acl_get_file bug.
113622         Rearrange to perform the new (below) run-test while $LIBS
113623         contains any acl-related library.  Set USE_ACL at the end.
113624         (gl_ACL_GET_FILE): New function.
113626 2006-09-26  Eric Blake  <ebb9@byu.net>
113628         * lib/verror.c: Include <config.h> unconditionally.
113630 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
113632         * modules/clock-time (Maintainer): Add self.
113633         * modules/getlogin_r (Depends-on): Add extensions.
113635 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113637         * modules/clock-time: New module.
113638         * modules/nanosleep (Depends-on): Add clock-time.
113639         * modules/gethrxtime (Depends-on): Likewise.
113640         * modules/gettime (Depends-on): Likewise.
113641         * modules/settime (Depends-on): Likewise.
113643         * modules/fts-lgpl: Depend on openat.
113644         * modules/mkancesdirs: Depend on savewd.
113645         * modules/mkdir-p: Likewise.
113647 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113649         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
113651         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
113652         `gl_have_arbitrary_file_name_length_limit' to
113653         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
113654         actually works between configure runs.
113656 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113657             Bruno Haible  <bruno@clisp.org>
113659         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
113661 2006-09-25  Jim Meyering  <jim@meyering.net>
113663         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
113664         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
113666 2006-09-25  Eric Blake  <ebb9@byu.net>
113668         * gnulib-tool (func_import, func_create_testdir): Fix typos in
113669         exec's in 2006-09-18 patch when shuffling fds.
113671 2006-09-25  Bruno Haible  <bruno@clisp.org>
113673         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
113674         Reported by Jim Meyering.
113676 2006-09-24  Jim Meyering  <jim@meyering.net>
113678         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
113679         compare a pointer against a literal "0".  That caused failures with
113680         at least HP-UX's hpcc.
113682 2006-09-22  Simon Josefsson  <jas@extundo.com>
113684         * modules/gc-sha1:
113685         * modules/gc-md4:
113686         * modules/gc-hmac-sha1:
113687         * modules/gc-hmac-md5:
113688         * modules/gc-des:
113689         * modules/gc-arcfour: Distribute more files.
113691 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113693         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
113694         (gl_linked_iterator_from_to): Initialize struct completely.
113695         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
113696         (gl_tree_iterator_from_to): Likewise
113697         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
113698         * lib/gl_array_list.c [lint] (gl_array_iterator)
113699         (gl_array_iterator_from_to): Likewise.
113700         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
113701         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
113702         (gl_carray_iterator_from_to): Likewise.
113704         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
113705         * lib/md4.c (md4_process_block): Remove unused variable.
113706         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
113707         parentheses for clarity.
113709 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113711         * modules/bison-i18n (Depends-on): Add gettext.
113713 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113715         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
113716         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
113717         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
113718         also add missing comma that caused broken test.
113719         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
113720         stdlib.h, for `abort'.
113721         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
113722         variables.
113723         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
113724         include unistd.h if present, for `rmdir'.
113725         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
113726         variables.
113727         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
113728         in the process include standard headers for prototypes.
113729         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
113730         gets declared on GNU/Linux.
113731         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
113732         unistd.h, for `rmdir'.
113733         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
113735         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
113736         always true.
113737         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
113739         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
113741 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113743         * gnulib-tool (func_version): Create output all at once.  This
113744         may help avoid triggering unnecessary SIGPIPEs, and at any
113745         rate it doesn't hurt.
113747 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113748             Bruno Haible  <bruno@clisp.org>
113750         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
113751         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
113752         * m4/signed.m4 (bh_C_SIGNED): Likewise.
113754         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
113755         (gl_FUNC_VASPRINTF): Invoke it.
113757 2006-09-22  Bruno Haible  <bruno@clisp.org>
113759         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
113760         getloadavg.c as first argument.
113762 2006-09-22  Bruno Haible  <bruno@clisp.org>
113764         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
113765         at the beginning of the gl_INIT macro.
113766         * modules/getloadavg (configure.ac): Pass $gl_source_base to
113767         gl_GETLOADAVG.
113769 2006-09-22  Bruno Haible  <bruno@clisp.org>
113771         * gnulib-tool (func_create_megatestdir): Don't include the config-h
113772         module.
113773         Suggested by Ralf Wildenhues.
113775 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
113777         Import this patch from libc:
113779         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
113781         * lib/regex_internal.c (re_string_reconstruct): Handle
113782         offset < pstr->valid_raw_len && pstr->offsets_needed case.
113783         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
113784         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
113785         re_string_context_at.
113787         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
113788         now requires it.
113789         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
113790         gl_REGEX now does it for us.
113791         (gl_REGEX): Add test taken from
113792         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
113794         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
113795         Check that large offsets work.  Modernize Autoconf usages.
113796         Prefer "yes" to mean a good thing rather than a bad.
113797         Don't put "#define mkstemp" in config.h, as this might interfere
113798         with standard system headers that "#define mkstemp mkstemp64".
113800         * modules/mkstemp (Depends-on): Add extensions, so that
113801         mkstemp is visible on some platforms.
113802         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
113803         (Include): Change to "mkstemp.h" from <stdlib.h>.
113804         (Files): Add mkstemp.h.
113806         * lib/mkstemp.h: New file, since some standard headers
113807         #define mkstemp.
113808         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
113809         Include "mkstemp.h".
113810         Make the _LIBC code resemble glibc original more,
113811         e.g., use K&R style.
113812         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
113813         (mkstemp): Remove, since mkstemp.h does this for us.
113814         * lib/stdlib--.h: Include mkstemp.h.
113816         Import this patch from libc:
113818         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
113820         * lib/tempname.c (__gen_tempname): Change attempts_min
113821         into a macro.  Use preprocessor to decide how to initialize
113822         attempts [Coverity CID 67].
113824 2006-09-20  Bruno Haible  <bruno@clisp.org>
113826         * lib/mkdtemp.c: Import from libc.
113827         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
113828                 * sysdeps/posix/tempname.c (__gen_tempname): Change
113829                 attempts_min into a macro.  Use preprocessor to decide how to
113830                 initialize attempts [Coverity CID 67].
113831         2001-11-27  Paul Eggert  <eggert@twinsun.com>
113832                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
113833                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
113835 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113837         * gnulib-tool (func_exit): New function, to allow to pass the
113838         exit status portably through the trap.  Use everywhere.
113839         (--help, --version): Signal a write error.
113840         (trap): catch SIGPIPE, for write errors.
113841         Exit at the end of the trap, with the correct exit status.
113843 2006-09-19  Karl Berry  <karl@gnu.org>
113845         * doc/gnulib.texi: note about the license texinfo files.
113847 2006-09-19  Eric Blake  <ebb9@byu.net>
113849         * gnulib-tool: Avoid space-tab.
113851 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
113853         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
113854         that prevented coreutils 6.1 from building.  Problem reported
113855         by Petter Reinholdtsen.
113857 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
113859         * gnulib-tool (avoidlist): Fix typo that broke options like
113860         --avoid=lock that are used by coreutils bootstrap.
113862 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
113864         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
113865         more systematically.
113867 2006-09-18  Jim Meyering  <jim@meyering.net>
113869         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
113871 2006-09-18  Bruno Haible  <bruno@clisp.org>
113873         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
113875 2006-09-18  Bruno Haible  <bruno@clisp.org>
113877         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
113878         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
113879         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
113880         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
113881         * m4/gettext.m4: Require autoconf >= 2.52.
113882         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
113883         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
113884         of gl_cv_header_inttypes_h.
113886 2006-09-18  Bruno Haible  <bruno@clisp.org>
113888         * lib/javaversion.c: Include configmake.h.
113890 2006-09-18  Bruno Haible  <bruno@clisp.org>
113892         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
113893         avoid that the while loops be executed in a subshell.
113895 2006-09-18  Bruno Haible  <bruno@clisp.org>
113897         * MODULES.html.sh (func_module): Break long lines.
113898         Suggested by Bruce Korb <bkorb@gnu.org>.
113900 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113902         Speed up by a factor of 1.12.
113903         * gnulib-tool (nl): New variable.
113904         (func_import): Rewrite include directive extraction to only read each
113905         directive once.
113907 2006-09-17  Bruno Haible  <bruno@clisp.org>
113909         * modules/javaversion (Makefile.am): Remove DEFS setting.
113910         (Depends-on): Add configmake, for PKGDATADIR definition.
113912 2006-09-17  Bruno Haible  <bruno@clisp.org>
113914         * gnulib-tool (func_create_testdir): Rewrite all files at once.
113916 2006-09-17  Bruno Haible  <bruno@clisp.org>
113918         * gnulib-tool (func_append): New function, stolen from libtool.m4.
113919         (func_modules_transitive_closure, func_modules_add_dummy,
113920         func_modules_to_filelist, func_import, func_create_testdir,
113921         func_create_megatestdir, ...): Use it wherever possible.
113922         Suggested by Ralf Wildenhues.
113924 2006-09-16  Karl Berry  <karl@gnu.org>
113926         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
113927         to avoid sectioning errors.
113928         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
113929         [ifinfo]: blank line after @center-ed titles.
113930         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
113931         Spell FSF address consistently with others.
113932         (These changes approved by rms.)
113934 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113936         Speed up by a factor of 1.61.
113937         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
113938         already checked module names again.
113940 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113942         Speed up by a factor of 1.13.
113943         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
113944         for new_files, and the input to func_add_or_update.
113946 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113948         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
113949         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
113951 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
113953         * modules/mkancesdirs (Depends-on): Add fcntl.
113954         * modules/savewd: New file.
113955         * MODULES.html.sh (File system functions): Add savewd.
113957         * modules/configmake (Makefile.am): Add support for the
113958         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
113960 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
113962         * m4/savewd.m4: New file.
113964 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
113966         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
113967         (dirchownmod): New arg FD.  All callers changed.
113968         Use FD rather than opening the directory ourself, as opening is
113969         now the caller's responsibility.
113970         * lib/dirchownmod.h: Likewise.
113971         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
113972         hosts that require <sys/types.h> before <sys/stat.h>.  Include
113973         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
113974         (test_dir): Remove.
113975         (mkancesdirs): Return length of prefix of FILE that has already
113976         been made, or -2 if there is a child doing the work.  Redo
113977         algorithm so that it is O(N) rather than O(N**2).  Optimize away
113978         ".", and treat ".." specially since it might stray back into
113979         already-created areas.  Use a subprocess if necessary.  New arg
113980         WD; all users changed.  MAKE_DIR function should now return 1
113981         if it creates a directory that is not readable.  Return -2 if
113982         a child process is spun off.
113983         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
113984         Adjust signature to match code.
113985         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
113986         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
113987         all users changed.
113988         * lib/savewd.c, lib/savewd.h: New files.
113990 2006-09-15  Jim Meyering  <jim@meyering.net>
113992         * modules/rename-dest-slash: New module.
113993         * MODULES.html.sh (posix_compat): Add it here.
113995         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
113997 2006-09-15  Jim Meyering  <jim@meyering.net>
113999         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
114000         file.
114002         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
114004 2006-09-15  Jim Meyering  <jim@meyering.net>
114006         * lib/rename-dest-slash.c (has_trailing_slash): Use
114007         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
114008         (rpl_rename_dest_slash): Perform the cheaper trailing slash
114009         test before testing whether SRC is a directory.
114010         Suggestions from Bruno Haible.
114012         Avoid a warning about an unused variable.
114013         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
114014         into the #ifdef block where it's used.
114016         * lib/rename-dest-slash.c: New file.
114018 2006-09-14  Bruno Haible  <bruno@clisp.org>
114020         * lib/allocsa.c: Include <config.h> unconditionally.
114021         * lib/asnprintf.c: Likewise.
114022         * lib/asprintf.c: Likewise.
114023         * lib/c-strcasecmp.c: Likewise.
114024         * lib/c-strcasestr.c: Likewise.
114025         * lib/c-strncasecmp.c: Likewise.
114026         * lib/c-strstr.c: Likewise.
114027         * lib/classpath.c: Likewise.
114028         * lib/clean-temp.c: Likewise.
114029         * lib/concatpath.c: Likewise.
114030         * lib/copy-file.c: Likewise.
114031         * lib/csharpcomp.c: Likewise.
114032         * lib/csharpexec.c: Likewise.
114033         * lib/execute.c: Likewise.
114034         * lib/fatal-signal.c: Likewise.
114035         * lib/findprog.c: Likewise.
114036         * lib/fwriteerror.c: Likewise.
114037         * lib/gl_array_list.c: Likewise.
114038         * lib/gl_array_oset.c: Likewise.
114039         * lib/gl_avltree_list.c: Likewise.
114040         * lib/gl_avltree_oset.c: Likewise.
114041         * lib/gl_avltreehash_list.c: Likewise.
114042         * lib/gl_carray_list.c: Likewise.
114043         * lib/gl_linked_list.c: Likewise.
114044         * lib/gl_linkedhash_list.c: Likewise.
114045         * lib/gl_list.c: Likewise.
114046         * lib/gl_oset.c: Likewise.
114047         * lib/gl_rbtree_list.c: Likewise.
114048         * lib/gl_rbtree_oset.c: Likewise.
114049         * lib/gl_rbtreehash_list.c: Likewise.
114050         * lib/imaxabs.c: Likewise.
114051         * lib/imaxdiv.c: Likewise.
114052         * lib/javacomp.c: Likewise.
114053         * lib/javaexec.c: Likewise.
114054         * lib/javaversion.c: Likewise.
114055         * lib/linebreak.c: Likewise.
114056         * lib/localcharset.c: Likewise.
114057         * lib/lock.c: Likewise.
114058         * lib/mbchar.c: Likewise.
114059         * lib/mbswidth.c: Likewise.
114060         * lib/mkdtemp.c: Likewise.
114061         * lib/pipe.c: Likewise.
114062         * lib/printf-args.c: Likewise.
114063         * lib/printf-parse.c: Likewise.
114064         * lib/progname.c: Likewise.
114065         * lib/progreloc.c: Likewise.
114066         * lib/readlink.c: Likewise.
114067         * lib/sh-quote.c: Likewise.
114068         * lib/stpcpy.c: Likewise.
114069         * lib/stpncpy.c: Likewise.
114070         * lib/strcasecmp.c: Likewise.
114071         * lib/strcasestr.c: Likewise.
114072         * lib/strcspn.c: Likewise.
114073         * lib/striconv.c: Likewise.
114074         * lib/strncasecmp.c: Likewise.
114075         * lib/strnlen1.c: Likewise.
114076         * lib/strstr.c: Likewise.
114077         * lib/strtok_r.c: Likewise.
114078         * lib/tls.c: Likewise.
114079         * lib/tmpdir.c: Likewise.
114080         * lib/unicodeio.c: Likewise.
114081         * lib/unsetenv.c: Likewise.
114082         * lib/vasnprintf.c: Likewise.
114083         * lib/vasprintf.c: Likewise.
114084         * lib/wait-process.c: Likewise.
114085         * lib/xallocsa.c: Likewise.
114086         * lib/xsetenv.c: Likewise.
114087         * lib/xstriconv.c: Likewise.
114089 2006-09-13  Simon Josefsson  <jas@extundo.com>
114091         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
114092         that internally, suggested by Ralf Wildenhues
114093         <Ralf.Wildenhues@gmx.de>.
114095 2006-09-13  Simon Josefsson  <jas@extundo.com>
114097         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
114098         @LIBOBJS@.
114099         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
114101 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
114103         * lib/_fpending.c: Include <config.h> unconditionally, since we no
114104         longer worry about uses that don't define HAVE_CONFIG_H.
114105         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
114106         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
114107         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
114108         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
114109         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
114110         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
114111         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
114112         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
114113         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
114114         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
114115         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
114116         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
114117         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
114118         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
114119         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
114120         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
114121         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
114122         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
114123         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
114124         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
114125         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
114126         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
114127         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
114128         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
114129         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
114130         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
114131         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
114132         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
114133         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
114134         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
114135         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
114136         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
114137         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
114138         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
114139         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
114140         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
114141         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
114142         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
114143         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
114144         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
114145         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
114146         Likewise.
114148 2006-09-13  Eric Blake  <ebb9@byu.net>
114150         * lib/getopt.c: Fix typo in last commit.
114152 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
114154         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
114155         dgettext.
114157 2006-09-12  Jim Meyering  <jim@meyering.net>
114159         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
114160         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
114161         Reported by Nelson H. F. Beebe.
114163 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
114165         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
114166         program_invocation_name and program_invocation_short_name are
114167         initialized.
114168         * lib/argp-namefrob.h: Move declarations of program_invocation_name
114169         and program_invocation_short_name to argp.h, so they are visible
114170         to user programs.
114171         * lib/argp.h: Likewise
114173 2006-09-10  Bruno Haible  <bruno@clisp.org>
114175         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
114176         m4/inttypes_h.m4, m4/uintmax_t.m4.
114178 2006-09-10  Bruno Haible  <bruno@clisp.org>
114180         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
114181         gl_AC_TYPE_UINTMAX_T.
114183 2006-09-10  Bruno Haible  <bruno@clisp.org>
114185         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
114187 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
114189         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
114190         convention.  Text proposed by Bruno Haible.
114191         (struct argp_option): Document the use of N_() wrappers.
114193         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
114194         '\v', and translate the two parts separately, instead of feeding
114195         the whole string to gettext.  This allows to exclude
114196         '\v' from the strings visible to the translator by writing doc
114197         strings as N_("..") "\v" N_("..").
114199 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
114201         * config/srclist.txt: Undo latest change; the bug was fixed.
114203 2006-09-09  Bruno Haible  <bruno@clisp.org>
114205         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
114206         assignments if building a library without libtool.
114207         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
114208         in func_emit_lib_Makefile_am.
114209         (func_import): When building a static library libfoo.a, arrange to
114210         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
114211         (func_create_testdir): Likewise.
114212         * modules/gc (configure.ac, Makefile.am): If building statically,
114213         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
114214         * modules/iconvme (configure.ac, Makefile.am): Likewise.
114215         * modules/striconv (configure.ac, Makefile.am): Likewise.
114216         Based on a suggestion by Ralf Wildenhues.
114218 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
114220         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
114221         Check for unistd.h too, since Autoconf doesn't assume POSIX.
114222         Also:
114224         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
114225         Add year_2050_test to catch glibc bug 2821
114226         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
114228         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
114229         Prefer #ifdef to #if.
114231         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
114232         Return from 'main' instead of calling 'exit'.
114234 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
114236         * lib/mktime.c (guess_time_tm): Fix bug where mktime
114237         returned the maximum time_t value rather than (time_t) -1.
114238         Problem originally reported by William Bardwell
114239         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
114241         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
114242         Moved to here ...
114243         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
114244         ... from here.
114246 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
114248         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
114249         2821 is fixed.
114251 2006-09-08  Jim Meyering  <jim@meyering.net>
114253         Don't make generated files read-only.  That would bother too many
114254         people.  However, do retain the ability to work when targets are
114255         read-only: remove the destination and temporary files before writing
114256         them (when generated via sed or echo), or by using the -f option for
114257         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
114258         * modules/alloca-opt, modules/argz, modules/arpa_inet:
114259         * modules/byteswap, modules/configmake, modules/fcntl:
114260         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
114261         * modules/localcharset, modules/netinet_in, modules/poll:
114262         * modules/stdbool, modules/stdint, modules/sys_select:
114263         * modules/sys_socket, modules/sys_stat, modules/sysexits:
114265 2006-09-08  Jim Meyering  <jim@meyering.net>
114267         Avoid new build failure on FreeBSD 6.0.
114268         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
114269         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
114270         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
114272 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114274         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
114276 2006-09-07  Jim Meyering  <jim@meyering.net>
114278         Fix global typo in last change: use chmod u-w, not chmod u-x.
114279         Spotted by Paul Eggert and Bruce Korb.
114280         * modules/alloca-opt, modules/argz, modules/arpa_inet:
114281         * modules/byteswap, modules/configmake, modules/fcntl:
114282         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
114283         * modules/localcharset, modules/netinet_in, modules/poll:
114284         * modules/stdbool, modules/stdint, modules/sys_select:
114285         * modules/sys_socket, modules/sys_stat, modules/sysexits:
114287 2006-09-06  Jim Meyering  <jim@meyering.net>
114289         Make generated files be read-only.
114290         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
114291         Ensure that each generated file is now read-only.
114292         * modules/argz: Likewise.
114293         * modules/arpa_inet: Likewise.
114294         * modules/byteswap: Likewise.
114295         * modules/configmake: Likewise.
114296         * modules/fcntl: Likewise.
114297         * modules/fnmatch: Likewise.
114298         * modules/getopt: Likewise.
114299         * modules/glob: Likewise.
114300         * modules/inttypes: Likewise.
114301         * modules/netinet_in: Likewise.
114302         * modules/poll: Likewise.
114303         * modules/stdbool: Likewise.
114304         * modules/stdint: Likewise.
114305         * modules/sys_select: Likewise.
114306         * modules/sys_socket: Likewise.
114307         * modules/sys_stat: Likewise.
114308         * modules/sysexits: Likewise.
114309         * modules/localcharset: Same as above, but continue using temporary
114310         file named "t-$@" (why different?) rather than the "$@-t" used
114311         everywhere else.
114313         * modules/sysexits (Makefile.am): Replace literal occurrences
114314         of "sysexit.h" more readable, and more consistent, "$@".
114316 2006-09-06  Bruno Haible  <bruno@clisp.org>
114318         * modules/striconv: New file.
114319         * modules/xstriconv: New file.
114320         * MODULES.html.sh (Internationalization functions): Add striconv,
114321         xstriconv.
114323 2006-09-06  Bruno Haible  <bruno@clisp.org>
114325         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
114326         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
114327         not using libtool correctly.
114329 2006-09-06  Bruno Haible  <bruno@clisp.org>
114331         * lib/striconv.h: New file.
114332         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
114333         iconvstring.c.
114334         * lib/xstriconv.h: New file.
114335         * lib/xstriconv.c: New file.
114337 2006-09-06  Bruno Haible  <bruno@clisp.org>
114339         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
114340         lib_..._LDFLAGS.
114342 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114344         * lib/argz_.h: Sync from Libtool.
114346         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
114347                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
114349         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
114351 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
114353         * modules/trim: New file.
114355 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
114357         * lib/trim.h: New file.
114358         * lib/trim.c: New file.
114360 2006-09-05  Bruno Haible  <bruno@clisp.org>
114362         * MODULES.html.sh (String handling): Add trim.
114364 2006-09-04  Karl Berry  <karl@gnu.org>
114366         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
114367         until next release.
114369 2006-09-03  Bruno Haible  <bruno@clisp.org>
114371         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
114372         correctly.
114374 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
114376         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
114377         not gl_GETLOADAVG.  Omit unneeded semicolons.
114378         Problems reported by Ralf Wildenhues in
114379         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
114380         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
114381         at the end, which is the usual gnulib style.
114383         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
114384         of doing all the work ourselves.
114385         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
114386         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
114388 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
114390         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
114391         Problem reported by Ralf Wildenhues in
114392         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
114394         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
114395         HAVE_STRUCT_STATFS_F_FSTYPENAME.
114397 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
114399         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
114400         yesterday's patch by changing test -n to test -z.
114402 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
114404         * modules/getloadavg (Files): Add m4/getloadavg.m4.
114405         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
114406         the former is now obsolescent.
114408         * modules/chdir-long (Depends-on): Add fcntl.
114410 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
114412         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
114413         obsolescent, and programs should use gnulib instead.
114414         * m4/getloadavg.m4: New file, with contents taken from Autoconf
114415         but with prefixes changed.
114417 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
114419         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
114420         or stdbool.h, because they might not exist while configuring.
114422         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
114423         Don't include unistd.h or limits.h; not needed, since chdir-long.h
114424         does that for us.
114425         (O_DIRECTORY): Remove.
114427 2006-08-31  Eric Blake  <ebb9@byu.net>
114429         * gnulib-tool: Don't let emacs change spaces to TAB.
114431 2006-08-31  Bruno Haible  <bruno@clisp.org>
114433         * gnulib-tool: When calling func_import more than once, do it in a
114434         subshell.
114435         Reported by Eric Blake <ebb9@byu.net>.
114437 2006-08-31  Bruno Haible  <bruno@clisp.org>
114439         * gnulib-tool (nl): Remove variable.
114440         (sed_transform_lib_file): Use more robust test for config-h module.
114441         (func_import): Fix typo in 2006-08-25 patch.
114443 2006-08-31  Bruno Haible  <bruno@clisp.org>
114445         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
114446         specified, augment Makefile.am variables instead of assigning them.
114448 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
114450         Work around a bug in both the Linux and SunOS 64-bit kernels:
114451         nanosleep mishandles sleeps for longer than 2**31 seconds.
114452         Problem reported by Frank v Waveren in
114453         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
114454         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
114455         Check for nanosleep bug.
114456         (LIB_NANOSLEEP): Append clock_gettime library if needed.
114458 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
114460         Work around a bug in both the Linux and SunOS 64-bit kernels:
114461         nanosleep mishandles sleeps for longer than 2**31 seconds.
114462         Problem reported by Frank v Waveren in
114463         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
114464         * lib/nanosleep.c (BILLION): New constant.
114465         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
114466         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
114467         implementation.
114469 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
114471         * modules/nanosleep (Depends-on): Add gettime.
114473 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
114474         and Simon Josefsson  <jas@extundo.com>
114475         and Oskar Liljeblad  <oskar@osk.mine.nu>
114477         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
114478         * gnulib-tool (func_import): New license type 'unmodifiable license
114479         text'.
114480         * modules/fdl: Use it.  Longer description.
114481         * module/gpl, module/lgpl: New files.
114483 2006-08-30  Jim Meyering  <jim@meyering.net>
114485         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
114486         shadowing the parameter.
114488 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114490         Sync from Libtool:
114492         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114494         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
114495         sharing with gnulib.  Report by Eric Blake.
114497 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114499         * modules/isapipe: New file.
114500         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
114502 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114504         * modules/configmake (Makefile.am): Add a comment, and omit
114505         the CONFIGMAKE_ prefix from generated macro names.  Suggested
114506         by Bruno Haible.
114508 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114510         * m4/isapipe.m4: New file.
114512 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114514         * lib/isapipe.c, lib/isapipe.h: New files.
114516 2006-08-29  Jim Meyering  <jim@meyering.net>
114518         * modules/configmake (Makefile.am): Make configmake.h depend on
114519         Makefile.  Otherwise, a stale configmake.h could hang around.
114521 2006-08-29  Eric Blake  <ebb9@byu.net>
114523         * lib/error.c (error_at_line, print_errno_message): Match libc, after
114524         resolution of upstream bug 3044.
114526 2006-08-29  Bruno Haible  <bruno@clisp.org>
114528         * modules/localcharset (Depends-on): Add configmake.
114529         (Makefile.am): Remove setting of LIBDIR through DEFS.
114531 2006-08-29  Bruno Haible  <bruno@clisp.org>
114533         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
114534         defined.
114536 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114538         * modules/fcntl: New file.
114539         * modules/chdir-safer (Depends-on): Add fcntl.
114540         * modules/fts: Likewise.
114541         * modules/mkdir-p: Likewise.
114543         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
114544         This undoes the most recent change, since we're now addressing the
114545         problem in a different way.
114547         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
114548         into output, since the output might be called Makefile.am even
114549         if $makefile_name is something different.
114550         (func_import): Use $makefile_am rather than
114551         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
114552         empty.
114554         * modules/inttypes (Files): Add m4/inttypes-h.m4.
114556 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114558         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
114559         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
114560         recent change to stdint.m4, since we're now addressing the problem in a
114561         different way.
114563 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114565         * m4/fcntl_h.m4: New file.
114567 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114569         * lib/fcntl_.h: New file.
114570         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
114571         the fcntl module.
114572         * lib/dirchownmod.c: Likewise.
114573         * lib/fts.c: Likewise.
114575         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
114576         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
114577         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
114578         just before including <inttypes.h>, to avoid circular inclusion.
114580 2006-08-28  Jim Meyering  <jim@meyering.net>
114582         * doc/visibility.texi: Actually read and correct the grammar of the
114583         sentence affected by yesterday's change.
114585 2006-08-28  Eric Blake  <ebb9@byu.net>
114587         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
114588         needs wrapper.
114590 2006-08-28  Eric Blake  <ebb9@byu.net>
114592         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
114594 2006-08-28  Eric Blake  <ebb9@byu.net>
114596         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
114598 2006-08-28  Bruno Haible  <bruno@clisp.org>
114600         * modules/c-strstr: New file, from GNU gettext.
114601         * MODULES.html.sh (String handling): Add c-strstr.
114603 2006-08-28  Bruno Haible  <bruno@clisp.org>
114605         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
114606         macros.
114607         Reported by Eric Blake.
114609 2006-08-28  Bruno Haible  <bruno@clisp.org>
114611         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
114612         (VASNPRINTF): Return a string of length > INT_MAX without failing.
114613         * lib/vasprintf.c: Include errno.h, limits.h.
114614         (EOVERFLOW): New fallback definition.
114615         (vasprintf): Test here whether the string length is > INT_MAX.
114616         * lib/vsnprintf.c: Include errno.h, limits.h.
114617         (EOVERFLOW): New fallback definition.
114618         (vsnprintf): Fix bug when generated string was too long for the buffer.
114619         Test here whether the string length is > INT_MAX.
114621 2006-08-28  Bruno Haible  <bruno@clisp.org>
114623         * lib/inttypes_.h (SCNX*): Remove definitions.
114624         Reported by Eric Blake.
114626 2006-08-28  Bruno Haible  <bruno@clisp.org>
114628         * lib/c-strstr.h: New file, from GNU gettext.
114629         * lib/c-strstr.c: New file, from GNU gettext.
114631 2006-08-28  Bruno Haible  <bruno@clisp.org>
114633         * gnulib-tool: Reorder some statements.
114635 2006-08-28  Bruno Haible  <bruno@clisp.org>
114637         * gnulib-tool: New option --makefile-name.
114638         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
114639         $makefile_name.
114640         (func_import): Write $makefile_name to the cache file, and read it from
114641         there unless explicitly specified. Use $makefile_name as file name
114642         instead of Makefile.am. Adjust the recommendations accordingly.
114644 2006-08-28  Bruno Haible  <bruno@clisp.org>
114646         * gnulib-tool (func_verify_module): Check against misapplying patch.
114648 2006-08-28  Bruno Haible  <bruno@clisp.org>
114650         * gnulib-tool (func_relativize, func_relconcat): New functions.
114651         Give an error if --local-dir is given with --update.
114652         Remove trailing slashes from $local_gnulib_dir.
114653         (func_import): Store the relativized $local_gnulib_dir in
114654         gnulib-cache.m4, and read it from there if not specified explicitly.
114656 2006-08-28  Bruno Haible  <bruno@clisp.org>
114658         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
114659         is the current directory. Respect also $local_gnulib_dir.
114661 2006-08-28  Bruno Haible  <bruno@clisp.org>
114662             Simon Josefsson  <jas@extundo.com>
114664         BeOS portability.
114665         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
114667 2006-08-27  Jim Meyering  <jim@meyering.net>
114669         * doc/visibility.texi: Remove duplicate word: "pointer".
114671 2006-08-26  Bruno Haible  <bruno@clisp.org>
114673         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
114674         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
114675         (Makefile.am): Create inttypes.h from inttypes_.h.
114676         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
114678         * modules/imaxabs: New file.
114680         * modules/imaxdiv: New file.
114682 2006-08-26  Bruno Haible  <bruno@clisp.org>
114684         * m4/inttypes.m4: New file.
114685         * m4/_inttypes_h.m4: Remove file.
114686         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
114687         PRI_MACROS_BROKEN.
114688         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
114690         * m4/imaxabs.m4: New file.
114692         * m4/imaxdiv.m4: New file.
114694 2006-08-26  Bruno Haible  <bruno@clisp.org>
114696         * lib/inttypes_.h: New file.
114697         * lib/inttypes.h: Remove file.
114698         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
114700         * lib/imaxabs.c: New file.
114702         * lib/imaxdiv.c: New file.
114704 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
114706         New config-h module, so that "make" output needn't be cluttered
114707         by -DHAVE_CONFIG_H.
114708         * MODULES.html.sh (Support for building libraries and executables):
114709         Add config-h.
114710         * modules/config-h: New file.
114711         * gnulib-tool (nl, sed_transform_lib_file): New vars.
114712         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
114713         the config-h module is used.
114715         New configmake module, so that "make" output needn't be cluttered
114716         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
114717         * MODULES.html.sh (Support for building libraries and executables):
114718         Add configmake.
114719         * modules/configmake: New file.
114721 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
114723         * m4/config-h.m4: New file.
114725 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
114727         * config/srclist.txt: Add elisp-comp.
114729 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
114731         * MODULES.html.sh (Support for building libraries and executables):
114732         Add elisp-comp.
114733         * build-aux/elisp-comp: New file.
114734         * modules/elisp-comp: New file.
114736 2006-08-24  Bruno Haible  <bruno@clisp.org>
114738         * gnulib-tool (func_create_testdir): Use non-default values of
114739         sourcebase and m4base.
114741 2006-08-24  Bruno Haible  <bruno@clisp.org>
114743         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
114744         HTML structure.
114746 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
114748         * modules/openat (Depends-on): Add lchown.
114750 2006-08-23  Bruno Haible  <bruno@clisp.org>
114752         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
114753         of gl_LOCK_EARLY instead of gl_LOCK.
114755 2006-08-23  Bruno Haible  <bruno@clisp.org>
114757         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
114758         on OSF/1 to no.
114759         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
114761 2006-08-23  Bruno Haible  <bruno@clisp.org>
114763         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
114764         as unusable.
114766         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
114767         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
114768         (gl_LOCK): New macro.
114770 2006-08-22  Simon Josefsson  <jas@extundo.com>
114772         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
114773         to md5 module.
114775 2006-08-22  Simon Josefsson  <jas@extundo.com>
114777         * MODULES.html.sh: Add "Support for maintaining and release
114778         projects".
114780         * build-aux/gnupload: New file, from coreutils.
114782 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
114784         Avoid the need for AC_LIBSOURCES in m4 macros.
114785         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
114786         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
114787         * modules/check-version (EXTRA_DIST): Add check-version.h.
114788         * modules/crc (EXTRA_DIST): Add crc.h.
114789         * modules/des (EXTRA_DIST): Add des.h.
114790         * modules/gc (EXTRA_DIST): Add gc.h.
114791         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
114792         * modules/getline (EXTRA_DIST): Add getline.h.
114793         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
114794         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
114795         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
114796         * modules/md2 (EXTRA_DIST): Add md2.h.
114797         * modules/md4 (EXTRA_DIST): Add md4.h.
114798         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
114799         * modules/read-file (EXTRA_DIST): Add read-file.h.
114800         * modules/readline (EXTRA_DIST): Add readline.h.
114801         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
114802         rijndael-api-fst.h.
114804 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
114806         * m4/rijndael.m4 (gl_ARCFOUR):
114807         * m4/arctwo.m4 (gl_ARCTWO):
114808         * m4/check-version.m4 (gl_CHECK_VERSION):
114809         * m4/crc.m4 (gl_CRC):
114810         * m4/des.m4 (gl_DES):
114811         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
114812         * m4/gc.m4 (gl_GC):
114813         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
114814         * m4/getline.m4 (gl_FUNC_GETLINE):
114815         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
114816         * m4/hmac-md5.m4 (gl_HMAC_MD5):
114817         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
114818         * m4/md2.m4 (gl_MD2):
114819         * m4/md4.m4 (gl_MD4):
114820         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
114821         * m4/read-file.m4 (gl_FUNC_READ_FILE):
114822         * m4/readline.m4 (gl_FUNC_READLINE):
114823         * m4/rijndael.m4 (gl_RIJNDAEL):
114824         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
114825         to get the necessary .h files and whatnot.
114827 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
114829         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
114830         gnulib rather than the other way around.
114831         * config/srclistvars.sh (COREUTILS): Remove.
114833 2006-08-22  Jim Meyering  <jim@meyering.net>
114835         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
114837         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
114839 2006-08-22  Eric Blake  <ebb9@byu.net>
114841         * modules/regexprops-generic: New file.
114842         * MODULES.html.sh (Support for building documentation): List it.
114844 2006-08-22  Eric Blake  <ebb9@byu.net>
114846         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
114847         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
114848         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
114849         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
114851 2006-08-22  Bruno Haible  <bruno@clisp.org>
114853         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
114854         and lib_LTLIBRARIES like the other lib_* variables.
114856 2006-08-22  Bruno Haible  <bruno@clisp.org>
114858         * build-aux/x-to-1.in: New file, from GNU gettext.
114860 2006-08-22  Bruno Haible  <bruno@clisp.org>
114862         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
114863         <utmpx.h> exists.
114865 2006-08-22  Bruno Haible  <bruno@clisp.org>
114867         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
114868         <utmpx.h> exists.
114870 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
114872         BeOS portability.
114873         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
114874         exist.
114875         Problem reported by Bruno Haible.
114877 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
114879         Avoid the need for AC_LIBSOURCES in m4 macros.
114880         * modules/acl (EXTRA_DIST): Add acl.h.
114881         * modules/argmatch (Files): Add m4/argmatch.m4.
114882         (configure.ac): Add gl_ARGMATCH.
114883         (EXTRA_DIST): Renamed from lib_SOURCES, for
114884         consistency with the other modules.  Remove argmatch.c.
114885         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
114886         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
114887         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
114888         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
114889         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
114890         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
114891         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
114892         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
114893         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
114894         * modules/closeout (EXTRA_DIST): Add closeout.h.
114895         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
114896         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
114897         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
114898         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
114899         dirname.h; remove basename.c and stripslash.c.
114900         * modules/exclude (EXTRA_DIST): Add exclude.h.
114901         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
114902         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
114903         * modules/file-type (EXTRA_DIST): Add file-type.h.
114904         * modules/filemode (EXTRA_DIST): Add filemode.h.
114905         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
114906         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
114907         * modules/fpending (EXTRA_DIST): Add __fpending.h.
114908         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
114909         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
114910         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
114911         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
114912         * modules/getdate (EXTRA_DIST): Add getdate.c.
114913         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
114914         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
114915         * modules/getpass (EXTRA_DIST): Add getpass.h.
114916         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
114917         * modules/group-member (EXTRA_DIST): Add group-member.h.
114918         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
114919         * modules/hash (EXTRA_DIST): Add hash.h.
114920         * modules/human (EXTRA_DIST): Add human.h.
114921         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
114922         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
114923         * modules/lchown (EXTRA_DIST): Add lchown.h.
114924         * modules/long-options (EXTRA_DIST): Add long-options.h.
114925         * modules/lstat (EXTRA_DIST): Add lstat.h.
114926         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
114927         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
114928         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
114929         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
114930         * modules/memxor (EXTRA_DIST): Add memxor.h.
114931         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
114932         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
114933         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
114934         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
114935         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
114936         * modules/physmem (EXTRA_DIST): Add physmem.h.
114937         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
114938         * modules/posixver (EXTRA_DIST): Add posixver.h.
114939         * modules/quote (EXTRA_DIST): Add quote.h.
114940         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
114941         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
114942         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
114943         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
114944         regex_internal.h regexec.c.
114945         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
114946         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
114947         * modules/same (EXTRA_DIST): Add same.h.
114948         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
114949         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
114950         * modules/savedir (EXTRA_DIST): Add savedir.h.
114951         * modules/sha1 (EXTRA_DIST): Add sha1.h.
114952         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
114953         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
114954         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
114955         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
114956         * modules/strdup (EXTRA_DIST): Add strdup.h.
114957         * modules/strftime (EXTRA_DIST): Add strftime.h.
114958         * modules/strndup (EXTRA_DIST): Add strndup.h.
114959         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
114960         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
114961         * modules/time_r (EXTRA_DIST): Add time_r.h.
114962         * modules/timespec (EXTRA_DIST): Add timespec.h.
114963         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
114964         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
114965         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
114966         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
114967         * modules/userspec (EXTRA_DIST): Add userspec.h.
114968         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
114969         * modules/utimens (EXTRA_DIST): Add utimens.h.
114970         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
114971         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
114972         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
114973         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
114974         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
114975         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
114976         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
114977         * modules/yesno (EXTRA_DIST): Add yesno.h.
114979 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
114981         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
114983         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
114984         * m4/dev-ino.m4, same-inode.m4: Remove.
114986         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
114987         * m4/acl.m4 (AC_FUNC_ACL):
114988         * m4/backupfile.m4 (gl_BACKUPFILE):
114989         * m4/c-strtod.m4 (gl_C99_STRTOLD):
114990         * m4/canon-host.m4 (gl_CANON_HOST):
114991         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
114992         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
114993         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
114994         * m4/cloexec.m4 (gl_CLOEXEC):
114995         * m4/close-stream.m4 (gl_CLOSE_STREAM):
114996         * m4/closeout.m4 (gl_CLOSEOUT):
114997         * m4/dirfd.m4 (gl_FUNC_DIRFD):
114998         * m4/dirname.m4 (gl_DIRNAME):
114999         * m4/exclude.m4 (gl_EXCLUDE):
115000         * m4/exitfail.m4 (gl_EXITFAIL):
115001         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
115002         * m4/file-type.m4 (gl_FILE_TYPE):
115003         * m4/filemode.m4 (gl_FILEMODE):
115004         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
115005         * m4/fpending.m4 (gl_FUNC_FPENDING):
115006         * m4/fprintftime.m4 (gl_FPRINTFTIME):
115007         * m4/fts.m4 (gl_FUNC_FTS):
115008         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
115009         * m4/getdate.m4 (gl_GETDATE):
115010         * m4/gethrxtime.m4 (gl_GETHRXTIME):
115011         * m4/getpagesize.m4 (gl_GETPAGESIZE):
115012         * m4/getpass.m4 (gl_FUNC_GETPASS):
115013         * m4/gettime.m4 (gl_GETTIME):
115014         * m4/getugroups.m4 (gl_GETUGROUPS):
115015         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
115016         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
115017         * m4/hard-locale.m4 (gl_HARD_LOCALE):
115018         * m4/hash.m4 (gl_HASH):
115019         * m4/idcache.m4 (gl_IDCACHE):
115020         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
115021         * m4/lchown.m4 (gl_FUNC_LCHOWN):
115022         * m4/long-options.m4 (gl_LONG_OPTIONS):
115023         * m4/lstat.m4 (gl_FUNC_LSTAT):
115024         * m4/md5.m4 (gl_MD5):
115025         * m4/memcasecmp.m4 (gl_MEMCASECMP):
115026         * m4/memcoll.m4 (gl_MEMCOLL):
115027         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
115028         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
115029         * m4/memxor.m4 (gl_MEMXOR):
115030         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
115031         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
115032         * m4/modechange.m4 (gl_MODECHANGE):
115033         * m4/mountlist.m4 (gl_MOUNTLIST):
115034         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
115035         * m4/openat.m4 (gl_FUNC_OPENAT):
115036         * m4/pathmax.m4 (gl_PATHMAX):
115037         * m4/physmem.m4 (gl_PHYSMEM):
115038         * m4/posixtm.m4 (gl_POSIXTM):
115039         * m4/posixver.m4 (gl_POSIXVER):
115040         * m4/quote.m4 (gl_QUOTE):
115041         * m4/quotearg.m4 (gl_QUOTEARG):
115042         * m4/readtokens.m4 (gl_READTOKENS):
115043         * m4/readutmp.m4 (gl_READUTMP):
115044         * m4/regex.m4 (gl_REGEX):
115045         * m4/safe-read.m4 (gl_SAFE_READ):
115046         * m4/safe-write.m4 (gl_SAFE_WRITE):
115047         * m4/same.m4 (gl_SAME):
115048         * m4/save-cwd.m4 (gl_SAVE_CWD):
115049         * m4/savedir.m4 (gl_SAVEDIR):
115050         * m4/settime.m4 (gl_SETTIME):
115051         * m4/sha1.m4 (gl_SHA1):
115052         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
115053         * m4/stat-macros.m4 (gl_STAT_MACROS):
115054         * m4/stat-time.m4 (gl_STAT_TIME):
115055         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
115056         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
115057         * m4/strdup.m4 (gl_FUNC_STRDUP):
115058         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
115059         * m4/strndup.m4 (gl_FUNC_STRNDUP):
115060         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
115061         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
115062         * m4/time_r.m4 (gl_TIME_R):
115063         * m4/timespec.m4 (gl_TIMESPEC):
115064         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
115065         * m4/unlinkdir.m4 (gl_UNLINKDIR):
115066         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
115067         * m4/userspec.m4 (gl_USERSPEC):
115068         * m4/utimecmp.m4 (gl_UTIMECMP):
115069         * m4/utimens.m4 (gl_UTIMENS):
115070         * m4/xalloc.m4 (gl_XALLOC):
115071         * m4/xgetcwd.m4 (gl_XGETCWD):
115072         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
115073         * m4/xreadlink.m4 (gl_XREADLINK):
115074         * m4/xstrtod.m4 (gl_XSTRTOD):
115075         * m4/yesno.m4 (gl_YESNO):
115076         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
115077         to get the necessary .h files and whatnot.
115079 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
115080             Bruno Haible  <bruno@clisp.org>
115082         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
115083         /bin/sh understanding of '!' conditional negation.
115085 2006-08-21  Jim Meyering  <jim@meyering.net>
115087         * modules/openat (Depends-on): Really alphabetize.
115089         * modules/acl (Depends-on): Add error and quote.
115091         * check-module (find_included_lib_files): Add at-func.c to the
115092         ok-to-include-more-than-once white list.
115094         * modules/openat (Depends-on): Add lstat.  Alphabetize.
115096 2006-08-21  Bruno Haible  <bruno@clisp.org>
115098         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
115099         Emit a pkgdata_DATA variable only if some snippets add contents to it.
115100         Reported by Martin Lambers <marlam@marlam.de>.
115102 2006-08-21  Bruno Haible  <bruno@clisp.org>
115104         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
115105         specify an installation location, don't emit a noinst_LIBRARIES or
115106         noinst_LTLIBRARIES assignment.
115108 2006-08-21  Bruno Haible  <bruno@clisp.org>
115110         BeOS portability.
115111         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
115112         BeOS has mbrtowc() but no <wctype.h>.
115114 2006-08-21  Bruno Haible  <bruno@clisp.org>
115116         BeOS portability.
115117         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
115118         exist.
115120 2006-08-21  Bruno Haible  <bruno@clisp.org>
115122         BeOS portability.
115123         * lib/mbchar.h: Include <wctype.h> only if it exists.
115125 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
115127         Remove files that are no longer needed by their respective modules.
115128         * m4/obstack.m4: Remove.
115129         * m4/strerror_r.m4: Remove.
115130         * m4/uint32_t.m4: Remove.
115131         * m4/uintptr_t.m4: Remove.
115132         * m4/ullong_max.m4: Remove.
115133         * m4/xstrtoimax.m4: Remove.
115134         * m4/xstrtoumax.m4: Remove.
115136         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
115137         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
115138         dependencies now capture this.
115140         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
115141         Do not use AC_LIBSOURCES, since gnulib modules now do this.
115142         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
115143         * m4/human.m4 (gl_HUMAN): Likewise.
115144         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
115145         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
115147         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
115149         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
115150         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
115151         stdint.
115152         * m4/human.m4 (gl_HUMAN): Likewise.
115153         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
115154         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
115155         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
115156         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
115157         * m4/xstrtol (gl_XSTRTOL): Likewise.
115159         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
115160         AC_TYPE_LONG_LONG_INT.
115161         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
115162         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
115163         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
115164         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
115166         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
115167         on stdbool.
115169         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
115170         (gl_PREREQ_XSTRTOUL): Remove.
115172         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
115174         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
115175         mode.
115177 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
115179         Add and change modules to make it easier for coreutils to use
115180         gnulib-tool.
115181         * modules/backupfile (Files): Remove m4/d-ino.m4.
115182         (Depends-on): Add d-ino.
115183         * modules/cycle-check (Depends-on): Add stdint.
115184         (lib_SOURCES): Add cycle-check.h.
115185         * modules/d-ino: New module.
115186         * modules/d-type: New module.
115187         * modules/error (Files): Remove m4/strerror_r.m4.
115188         * modules/filemode (Files): Add m4/st_dm_mode.m4.
115189         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
115190         m4/inttypes_h.m4, m4/uintmax_t.m4.
115191         (Depends-on): Add stdint.
115192         (lib_SOURCES): Add fsusage.h.
115193         * modules/getcwd (Files): Remove d-ino.m4.
115194         (Depends-on): Add d-ino.
115195         * modules/getndelim2 (Depends-on): Add stdint.
115196         * modules/glob (Files): Remove m4/d-type.m4.
115197         (Depends-on): Add d-type.
115198         * modules/host-os: New module.
115199         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
115200         m4/inttypes_h.m4, m4/uintmax_t.m4.
115201         * Depends-on: Add stdint.
115202         (lib_SOURCES): Add human.h.
115203         * modules/inttostr (Files): Remove m4/intmax_t.m4,
115204         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
115205         m4/uintmax_t.m4, m4/ulonglong.m4.
115206         (Depends-on): Add stdint.
115207         (EXTRA_DIST): Add inttostr.h.
115208         * modules/lchmod: New module.
115209         * modules/link-follow: New module.
115210         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
115211         (Depends-on): Add lchmod.
115212         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
115213         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
115214         (Depends-on): Add stdint.
115215         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
115216         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
115217         (Depends-on): Add stdint.
115218         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
115219         * modules/perl: New module.
115220         * modules/regex (Depends-on): Add stdint.
115221         * modules/rmdir-errno: New module.
115222         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
115223         m4/intmax_t.m4.
115224         (Depends-on): Add stdint.
115225         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
115226         m4/uintmax_t.m4.
115227         (Depends-on): Add stdint.
115228         * modules/unlink-busy: New module.
115229         * modules/utimecmp (Depends-on): Add stdint.
115230         * modules/uptime: New module.
115231         * modules/winsz-ioctl: New module.
115232         * modules/winsz-termios: New module.
115233         * modules/xnanosleep (Depends-on): Add nanosleep.
115234         * modules/ullong_max: Remove.
115235         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
115236         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
115237         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
115238         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
115239         (Depends-on): Add inttypes.
115240         (lib_SOURCES): Add xstrtol.h.
115241         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
115242         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
115243         * MODULES.html.sh: Move 'assert' into the assert section.
115244         Move 'dummy' into the linking section.
115245         Remove ullong_max.
115246         Add section for compatibility checks for POSIX:2001 functions,
115247         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
115248         winsz-ioctl, and winsz-termios into it.
115249         Add lchmod.
115250         Add top-level Misc section and put host-os, perl, and uptime
115251         into it.
115253 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
115255         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
115256         now assume the stdint module.  Do not include inttypes.h.
115257         * lib/fsusage.h: Likewise.
115258         * lib/getndelim2.c: Likewise.
115259         * lib/human.h: Likewise.
115260         * lib/inttostr.h: Likewise.
115261         * lib/obstack.c: Likewise.
115262         * lib/regex_internal.h: Likewise.
115263         * lib/tempname.c: Likewise.
115264         * lib/utimecmp.c: Likewise.
115265         * lib/xstrtol.h: Likewise.
115267         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
115269         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
115270         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
115271         * lib/xtime.h: Likewise.
115273 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
115275         * modules/openat (Files): Add lib/fchmodat.c.
115276         Fixes problem reported by Jay Youngman.
115278 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
115280         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
115281         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
115283 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
115284             Bruno Haible  <bruno@clisp.org>
115286         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
115287         and is a script that invokes bison. Tighten the code. Add comments.
115289 2006-08-18  Jim Meyering  <jim@meyering.net>
115291         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
115292         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
115293         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
115294         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
115296 2006-08-18  Bruno Haible  <bruno@clisp.org>
115298         * modules/bison-i18n: New file.
115299         * MODULES.html.sh (Internationalization functions): Add it.
115301 2006-08-18  Bruno Haible  <bruno@clisp.org>
115303         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
115304         sys/statvfs.h. When getmntinfo was found, check its declaration and
115305         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
115307 2006-08-18  Bruno Haible  <bruno@clisp.org>
115309         * m4/bison-i18n.m4: New file, from bison.
115311 2006-08-18  Bruno Haible  <bruno@clisp.org>
115313         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
115314         (ME_DUMMY): Treat "kernfs" as a dummy.
115315         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
115317 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
115319         Update from coreutils.
115321         2006-08-15  Jim Meyering  <jim@meyering.net>
115323         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
115325         2006-01-17  Jim Meyering  <jim@meyering.net>
115327         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
115329         2006-01-11  Jim Meyering  <jim@meyering.net>
115331         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
115332         Check for the lchmod function.
115334 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
115336         Update from coreutils.
115338         * lib/__fpending.h: Add copyright notice.
115339         * lib/fprintftime.h: Likewise.
115340         * lib/savedir.c: Use (C) in copyright notice.
115341         * lib/savedir.h: Likewise.
115343         2006-08-15  Jim Meyering  <jim@meyering.net>
115345         * lib/at-func.c: New file, with the logic of all emulated at-functions.
115346         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
115347         in support of the EXPECTED_ERRNO macro.
115348         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
115349         definitions.  Instead, define the appropriate symbols and include
115350         "at-func.c".
115351         * lib/mkdirat.c (mkdirat): Likewise.
115352         * lib/fchmodat.c (fchmodat): Likewise.
115353         (ENOSYS): Remove definition.
115354         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
115355         it.  Don't include "unistd--.h" -- it wasn't ever used.
115357         2006-01-17  Jim Meyering  <jim@meyering.net>
115359         Rewrite fts.c not to change the current working directory,
115360         by using openat, fstatat, fdopendir, etc..
115362         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
115363         (HAVE_OPENAT_SUPPORT): Define.
115364         [_LIBC] (fchdir): Don't undef or define; no longer used.
115365         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
115366         Now, this `function' always succeeds, and consumes its file descriptor
115367         parameter -- so callers must not close such FDs.  Update callers.
115368         (diropen_fd, opendirat, cwd_advance_fd): New functions.
115369         (diropen): Add parameter, SP.  Adjust all callers.
115370         Implement using diropen_fd, rather than open.
115371         (fts_open): Initialize new member, fts_cwd_fd.
115372         Remove fts_rft-setting code.
115373         (fts_close): Close fts_cwd_fd, if necessary.
115374         (__opendir2): Define in terms of opendir or opendirat,
115375         depending on whether the FST_NOCHDIR flag is set.
115376         (fts_build): Since fts_safe_changedir consumes its FD, and since
115377         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
115378         and close the dup'd file descriptor upon failure.
115379         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
115380         (fts_safe_changedir): Tweak semantics to reflect that this function
115381         now calls cwd_advance_fd and hence consumes its FD argument.
115382         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
115383         [struct FTS] (fts_rft): Remove now-unused member.
115384         [struct FTS] (fts_cycle.state): Improve comment.
115386         * lib/openat.c (openat_needs_fchdir): New function.
115387         * lib/openat.h (openat_needs_fchdir): Declare it.
115389 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
115391         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
115392         Problem and fix reported by Pádraig Brady in
115393         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.
115395 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
115397         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
115399 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
115401         * lib/memcoll.c (memcoll): Optimize for the common case where the
115402         arguments are bytewise equal.
115404 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
115406         * doc/regexprops-generic.texi: Add a copyright notice.
115408 2006-08-15  Bruno Haible  <bruno@clisp.org>
115410         * modules/tmpdir (License): Change to LGPL.
115412 2006-08-15  Bruno Haible  <bruno@clisp.org>
115414         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
115415         module.
115417 2006-08-14  Simon Josefsson  <jas@extundo.com>
115419         * config/srclist.txt: Add gnupload.
115421 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
115423         Change copyright notice from LGPL 2 to GPL 2, since that's the
115424         standard form used in the gnulib repository.
115425         * tests/test-lock.c: Likewise.
115426         * tests/test-stdint.c: Likewise.
115427         * tests/test-tls.c: Likewise.
115429         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
115430         prelude-manager.  User shorter URLs for GNU projects, without '?'.
115431         Add copyright notice.
115433         * check-module: Add copyright notice.  Output a copyright
115434         notice if "--version" is specified.
115435         * modules/COPYING: New file.
115436         * tests/test-getaddrinfo.c: Add copyright notice.
115437         * tests/test-verify.c: Likewise.
115439 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
115441         Change copyright notice from LGPL 2 to GPL 2, since that's the
115442         standard form used in the gnulib repository.
115443         * lib/lock.c: LGPL -> GPL.
115444         * lib/lock.h: Likewise.
115445         * lib/strnlen1.c: Likewise.
115446         * lib/strnlen1.h: Likewise.
115447         * lib/tls.c: Likewise.
115448         * lib/tls.h: Likewise.
115449         * lib/tmpdir.c: Likewise.
115451         * lib/TODO: Remove; this belongs only in coreutils.
115453 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
115455         Add copyright notices to long-enough files that lack them, since
115456         otherwise the files aren't clearly free.  Use the same notice that
115457         getdate.texi already uses.
115458         * doc/alloca-opt.texi: Add copyright notice.
115459         * doc/alloca.texi: Likewise.
115460         * doc/ctime.texi: Likewise.
115461         * doc/functions.texi: Likewise.
115462         * doc/gcd.texi: Likewise.
115463         * doc/gnulib-tool.texi: Likewise.
115464         * doc/inet_ntoa.texi: Likewise.
115465         * doc/visibility.texi: Likewise.
115467         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
115468         * doc/quote.texi: Add copyright notice.
115470         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
115471         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
115472         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
115473         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
115474         is now obsolete, and give a pointer to the Sun list.
115475         Add copyright notice.
115477 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
115479         * config/srclistvars.sh: Add copyright notice.
115481 2006-08-14  Eric Blake  <ebb9@byu.net>
115483         Import the following change from libc:
115485         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
115487         Upstream bug 2997.
115488         * lib/misc/error.c: Add space between program name and message if file
115489         name is missing.
115491 2006-08-12  Karl Berry  <karl@gnu.org>
115493         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
115494         remove, these originate in gnulib now.
115496 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115498         * doc/Makefile (standards.info standards.html standards.dvi):
115499         Also depend on make-stds.texi.
115501 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
115503         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
115504         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
115506         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
115507         in wchar_t.  Problem reported by Eric Blake.
115509         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
115510         LEN is smaller than SIZE.  Suggested by Bruno Haible.
115511         Also, help the compiler to keep LEN in a register.
115513 2006-08-11  Eric Blake  <ebb9@byu.net>
115515         * users.txt: Sort.  Add tar.
115517 2006-08-11  Bruno Haible  <bruno@clisp.org>
115519         * users.txt: New file.
115521 2006-08-11  Bruno Haible  <bruno@clisp.org>
115523         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
115524         before <wchar.h>. Needed for OSF/1 and BSD/OS.
115526 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
115528         * modules/snprintf (Depends-on): Remove minmax.
115529         (Maintainer): Add self and Bruno.
115531 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
115533         * lib/.cppi-disable: Add snprintf.h, socket_.h.
115534         * lib/snprintf.c: Include <errno.h> and <limits.h>.
115535         (EOVERFLOW): Define if the system does not.
115536         Do not include "minmax.h"; it wasn't used.
115537         (snprintf): Don't assume size_t promotes to an unsigned type.
115538         Fix bug when generated string was too long for the buffer: the
115539         buffer's contents are supposed to be the initial prefix of the
115540         output.  Don't assume vasnprintf returns EOVERFLOW if the size
115541         exceeds INT_MAX; do the check ourselves.
115543         Import the following changes from libc:
115545         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
115547         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
115548         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
115549         set wc to the byte which couldn't be converted.
115550         (re_string_reconstruct): Don't clear valid_raw_len before calling
115551         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
115552         tip_context using re_string_context_at.
115554         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
115556         * lib/posix/regex.h: g++ still cannot handled [restrict].
115558         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
115560         * lib/posix/regex.h: Remove special handling for VMS.
115562 2006-08-10  Jim Meyering  <jim@meyering.net>
115564         * modules/same-inode: New module.
115565         * modules/dev-ino: New module.
115566         * modules/cycle-check: Depend on these modules, rather than simply
115567         including their .h files.
115568         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
115569         required via m4/cycle-check.m4.
115570         * modules/same: Depend on new same-inode module, rather than
115571         including same-inode.h.
115572         * modules/chdir-safer: New file.
115574         * modules/chown (Depends-on): Add stat-macros.
115576 2006-08-10  Jim Meyering  <jim@meyering.net>
115578         * m4/cycle-check.m4: New file.
115579         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
115580         * m4/dev-ino.m4, m4/same-inode.m4: New files.
115582 2006-08-10  Eric Blake  <ebb9@byu.net>
115584         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
115585         in from original proposal.
115587 2006-08-10  Eric Blake  <ebb9@byu.net>
115588         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
115590         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
115591         namespace.
115593 2006-08-10  Bruno Haible  <bruno@clisp.org>
115595         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
115596         as well.
115598 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
115600         Sync from coreutils.
115602         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
115604         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
115605         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
115607 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
115609         * modules/restrict: Remove; no longer needed now that we assume
115610         Autoconf 2.59 or later.
115611         * MODULES.html.sh: Remove 'restrict'.
115612         * modules/argp (Depends-on): Remove 'restrict'.
115613         * modules/base64 (Depends-on): Likewise.
115614         * modules/gc (Depends-on): Likewise.
115615         * modules/getaddrinfo (Depends-on): Likewise.
115616         * modules/glob (Depends-on): Likewise.
115617         * modules/inet_ntop (Depends-on): Likewise.
115618         * modules/inet_pton (Depends-on): Likewise.
115619         * modules/memxor (Depends-on): Likewise.
115620         * modules/regex (Depends-on): Likewise.
115621         * modules/strtok_r (Depends-on): Likewise.
115622         * modules/time_r (Depends-on): Likewise.
115624 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
115626         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
115627         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
115628         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
115629         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
115630         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
115631         * m4/memxor.m4 (gl_MEMXOR): Likewise.
115632         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
115633         gl_C_RESTRICT replaced by AC_C_RESTRICT.
115635         Merge from coreutils.
115636         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
115637         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
115638         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
115639         * m4/time_r.m4 (gl_TIME_R): Likewise.
115641 2006-08-09  Karl Berry  <karl@gnu.org>
115643         * config/srclist.txt: no more gettext-tools, per Bruno.
115645 2006-08-08  Eric Blake  <ebb9@byu.net>
115647         * modules/verror: New module.
115648         * MODULES.html.sh: Document it.
115650 2006-08-08  Eric Blake  <ebb9@byu.net>
115652         * lib/verror.h, lib/verror.c: New files.
115654 2006-08-08  Eric Blake  <ebb9@byu.net>
115656         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
115657         verror_at_line output complies with GNU Coding Standards even when
115658         file is NULL.
115660 2006-08-07  Bruno Haible  <bruno@clisp.org>
115662         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
115663         versions of AIX.
115664         Reported by Ralf Wildenhues.
115666 2006-08-07  Bruno Haible  <bruno@clisp.org>
115668         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
115669         in an AC_DEFUN. Needed so that the autoconf snippets can use
115670         AC_REQUIRE.
115672 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115674         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
115675         Initialize pkgdata_DATA.
115676         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
115677         overriding it.
115679 2006-08-06  Eric Blake  <ebb9@byu.net>
115681         * lib/error.h: Fold in some upstream changes from glibc.
115682         * lib/error.c: Likewise.
115684 2006-08-04  Bruno Haible  <bruno@clisp.org>
115686         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
115687         Make the mostlyclean-local rule depend on mostlyclean-generic.
115688         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
115690 2006-07-31  Bruno Haible  <bruno@clisp.org>
115692         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
115693         <stdlib.h>, <string.h>.
115695 2006-07-30  Bruno Haible  <bruno@clisp.org>
115697         * modules/readlink (License): Change to LGPL.
115699 2006-07-30  Bruno Haible  <bruno@clisp.org>
115701         * modules/javaversion (Makefile.am): Distribute javaversion.java and
115702         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
115703         set PKGDATADIR to point to it.
115705 2006-07-30  Bruno Haible  <bruno@clisp.org>
115707         * modules/csharpexec (configure.ac): Comment out macro invocation.
115708         * modules/javaexec (configure.ac): Likewise.
115709         * modules/javacomp-script (configure.ac): Likewise.
115711         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
115713 2006-07-30  Bruno Haible  <bruno@clisp.org>
115715         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
115716         linked-list.
115718 2006-07-30  Bruno Haible  <bruno@clisp.org>
115720         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
115722 2006-07-30  Bruno Haible  <bruno@clisp.org>
115724         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
115725         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
115726         get removed.
115728 2006-07-29  Bruno Haible  <bruno@clisp.org>
115730         Make it possible for gnulib-tool to work with locally modified or
115731         augmented gnulib repositories.
115732         * gnulib-tool (func_usage): Document --local-dir option.
115733         (local_gnulib_dir): New variable.
115734         Handle --local-dir option.
115735         (func_lookup_file): New function.
115736         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
115737         (func_get_description, func_get_filelist, func_get_description,
115738         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
115739         func_get_automake_snippet, func_get_include_directive,
115740         func_get_license, func_get_maintainer): Use func_lookup_file.
115741         (func_import, func_create_testdir): Use func_lookup_file.
115743 2006-07-29  Bruno Haible  <bruno@clisp.org>
115745         * modules/setenv (Depends-on): Add unistd.
115747 2006-07-29  Bruno Haible  <bruno@clisp.org>
115749         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
115751 2006-07-29  Bruno Haible  <bruno@clisp.org>
115753         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
115755 2006-07-29  Bruno Haible  <bruno@clisp.org>
115757         * gnulib-tool (import, update): If there is no Makefile.am, look at
115758         aclocal.m4, instead of bailing out.
115760 2006-07-29  Bruno Haible  <bruno@clisp.org>
115762         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
115763         Categorize the options by when they are useful.
115765 2006-07-29  Bruno Haible  <bruno@clisp.org>
115767         * gnulib-tool (func_usage): Document option --no-libtool.
115768         Handle option --no-libtool.
115769         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
115770         for changed semantics of $libtool variable.
115771         (func_import): Likewise. If libtool is not used, show this through
115772         an option --no-libtool.
115773         (func_create_testdir): Update.
115775 2006-07-29  Bruno Haible  <bruno@clisp.org>
115777         * gnulib-tool (func_import): Extend error message about missing
115778         --doc-base.
115780 2006-07-29  Bruno Haible  <bruno@clisp.org>
115782         * gnulib-tool (func_import): Don't create the $docbase directory if
115783         there is no file to store there.
115785 2006-07-29  Bruno Haible  <bruno@clisp.org>
115787         * gnulib-tool (autoconf_minversion): If a --dir option is given and
115788         relevant, look for configure.ac there, not in the current directory.
115789         Also use a simple search for AC_PREREQ, not "autoconf --trace".
115791 2006-07-29  Bruno Haible  <bruno@clisp.org>
115793         * gnulib-tool (SORT): New variable.
115794         (func_usage): Undocument --assume-autoconf option.
115795         Remove --assume-autoconf option handling.
115796         (autoconf_minversion): Determine from the contents of configure.ac.
115797         (func_import): Remove autoconf_minversion handling.
115798         Suggested by Eric Blake.
115800 2006-07-29  Bruno Haible  <bruno@clisp.org>
115802         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
115804 2006-07-29  Bruno Haible  <bruno@clisp.org>
115806         * config/srclist.txt (*setenv.[ch]): Remove rules.
115808 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
115810         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
115812 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
115814         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
115815         arpa/inet.h.
115817 2006-07-28  Simon Josefsson  <jas@extundo.com>
115819         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
115820         * modules/inet_pton (Depends-on): Likewise.
115822 2006-07-28  Simon Josefsson  <jas@extundo.com>
115824         * m4/netinet_in_h.m4: New file.
115826 2006-07-28  Simon Josefsson  <jas@extundo.com>
115828         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
115829         #include's.
115831 2006-07-28  Simon Josefsson  <jas@extundo.com>
115833         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
115834         #include's.
115836 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
115838         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
115839         setgid on directories only if they set these bits.
115840         * lib/modechange.h: Remove obsolete comment about masks.
115842 2006-07-28  Eric Blake  <ebb9@byu.net>
115844         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
115845         macro expansion.
115847 2006-07-28  Bruno Haible  <bruno@clisp.org>
115849         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
115851 2006-07-28  Bruno Haible  <bruno@clisp.org>
115853         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
115855 2006-07-28  Bruno Haible  <bruno@clisp.org>
115857         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
115858         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
115859         Define fallbacks.
115860         Avoids link error on FreeBSD 4.x.
115861         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
115863         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
115864         encoding.
115865         * lib/mbswidth.c (iswcntrl): Likewise.
115867 2006-07-27  Bruno Haible  <bruno@clisp.org>
115869         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
115870         test.
115872 2006-07-27  Bruno Haible  <bruno@clisp.org>
115874         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
115875         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
115876         defined.
115878 2006-07-26  Eric Blake  <ebb9@byu.net>
115880         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
115882 2006-07-26  Eric Blake  <ebb9@byu.net>
115884         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
115885         like mingw that lack mkstemp.
115886         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
115887         avoid compilation warning on mingw.
115889 2006-07-26  Bruno Haible  <bruno@clisp.org>
115891         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
115892         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
115893         INT_FAST*_MIN, INTPTR_MIN.
115895 2006-07-25  Bruno Haible  <bruno@clisp.org>
115897         * modules/version-etc (Depends-on): Add stdarg.
115899 2006-07-25  Bruno Haible  <bruno@clisp.org>
115901         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
115902         complex commands.
115904 2006-07-25  Bruno Haible  <bruno@clisp.org>
115906         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
115907         defined in <stdarg.h> or config.h.
115909 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
115911         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
115912         (gl_STDIO_SAFER): Remove.
115914 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
115916         * MODULES.html.sh (File stream based Input/Output):
115917         Add fopen-safer, tmpfile-safer; remove stdio-safer.
115918         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
115919         * modules/fopen-safer, modules/tmpfile-safer: New files.
115920         * modules/stdio-safer: Remove.
115922 2006-07-24  Bruno Haible  <bruno@clisp.org>
115924         * modules/tmpdir: New file.
115925         * MODULES.html.sh (File system functions): Add it.
115927 2006-07-24  Bruno Haible  <bruno@clisp.org>
115929         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
115930         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
115932 2006-07-24  Bruno Haible  <bruno@clisp.org>
115934         * modules/clean-temp: New file.
115936 2006-07-24  Bruno Haible  <bruno@clisp.org>
115938         * m4/tmpdir.m4: New file, from GNU gettext.
115940 2006-07-24  Bruno Haible  <bruno@clisp.org>
115942         * lib/tmpdir.h: New file, from GNU gettext.
115943         * lib/tmpdir.c: New file, from GNU gettext.
115945 2006-07-24  Bruno Haible  <bruno@clisp.org>
115947         * lib/clean-temp.h: New file, from GNU gettext.
115948         * lib/clean-temp.c: New file, from GNU gettext.
115950 2006-07-23  Eric Blake  <ebb9@byu.net>
115952         * modules/stdio-safer (Files): Add tmpfile-safer.c.
115953         (Depends-on): Add binary-io.
115955 2006-07-23  Eric Blake  <ebb9@byu.net>
115957         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
115959 2006-07-23  Eric Blake  <ebb9@byu.net>
115961         * lib/tmpfile-safer.c: New file.
115962         * lib/stdio-safer.h (fopen_safer): Add prototype.
115963         * lib/stdio--.h (tmpfile): Make safer.
115965 2006-07-23  Bruno Haible  <bruno@clisp.org>
115967         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
115968         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
115969         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
115970         gl_linked_remove_at): Use it.
115972 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
115973         and Simon Josefsson <jas@extundo.com>
115975         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
115977         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
115979 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
115981         * modules/close-stream: New file.
115982         * modules/closeout (Description): Make it clear that it exits
115983         with a diagnostic on error.
115984         (Depends-on): Add close-stream.  Remove fpending, stdbool.
115985         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
115987 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
115989         * m4/close-stream.m4: New file.
115991 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
115993         * lib/close-stream.c, lib/close-stream.h: New files.
115995 2006-07-22  Bruno Haible  <bruno@clisp.org>
115997         Merge from GNU gettext 0.15.
115999         2006-05-01  Bruno Haible  <bruno@clisp.org>
116001                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
116003         2006-07-22  Bruno Haible  <bruno@clisp.org>
116005                 * modules/javaversion: New file.
116006                 * MODULES.html.sh (Java): Add javaversion.
116008         2006-03-12  Bruno Haible  <bruno@clisp.org>
116010                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
116012         2005-12-04  Bruno Haible  <bruno@clisp.org>
116014                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
116015                 (untested).
116017         2006-06-21  Bruno Haible  <bruno@clisp.org>
116019                 Avoid warnings from recent versions of mcs.
116020                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
116021                 -o, -L, -r any more. Use options documented since mcs-1.0
116022                 instead. Similarly for -g.
116024         2005-12-04  Bruno Haible  <bruno@clisp.org>
116026                 * build-aux/csharpcomp.sh.in: Suffix for resources is
116027                 .resources, not .resource.
116029         2005-07-09  Bruno Haible  <bruno@clisp.org>
116031                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
116032                 add a .dll suffix.
116033                 Reported by Mark Junker <mjscod@gmx.de>.
116035         2006-07-22  Bruno Haible  <bruno@clisp.org>
116037                 * modules/gettext: Upgrade to gettext-0.15.
116038                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
116039                 m4/visibility.m4.
116040                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
116042 2006-07-22  Bruno Haible  <bruno@clisp.org>
116044         Merge from GNU gettext 0.15.
116046         2006-03-25  Bruno Haible  <bruno@clisp.org>
116048                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
116050         2006-07-21  Bruno Haible  <bruno@clisp.org>
116052                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
116053                 "1.1".
116055         2006-05-09  Bruno Haible  <bruno@clisp.org>
116057                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
116058                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
116059                 for the conftestver execution.
116061         2006-05-01  Bruno Haible  <bruno@clisp.org>
116063                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
116064                 optional target-version argument. Verify that the compiler
116065                 groks source of the specified source-version, or add -source
116066                 option as necessary. Verify that the compiler produces
116067                 bytecode in the specified target-version, or add -target and
116068                 -source options as necessary. Make the result of the test
116069                 available as variable CONF_JAVAC. Also log error output in
116070                 config.log.
116072         2006-03-11  Bruno Haible  <bruno@clisp.org>
116074                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
116076         2006-05-09  Bruno Haible  <bruno@clisp.org>
116078                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
116079                 CLASSPATH_SEPARATOR to a semicolon.
116081         2006-03-12  Bruno Haible  <bruno@clisp.org>
116083                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
116084                 available as variable CONF_JAVA, for subsequent autoconf
116085                 tests. Also log error output in config.log.
116087         2006-07-19  Bruno Haible  <bruno@clisp.org>
116089                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
116090                 that getline works on glibc2 systems. Needed to avoid trouble
116091                 in relocatable.c.
116092                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
116094         2005-12-04  Bruno Haible  <bruno@clisp.org>
116096                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
116097                 launcher (untested).
116099         2005-12-04  Bruno Haible  <bruno@clisp.org>
116101                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
116103         2006-07-22  Bruno Haible  <bruno@clisp.org>
116105                 * gettext.m4: Update from GNU gettext-0.15.
116106                 * nls.m4: Likewise.
116107                 * po.m4: Likewise.
116108                 * inttypes-pri.m4: Likewise.
116109                 * inttypes-h.m4: Renamed from inttypes.m4.
116110                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
116112 2006-07-22  Bruno Haible  <bruno@clisp.org>
116114         Merge from GNU gettext 0.15.
116116         2005-07-05  Bruno Haible  <bruno@clisp.org>
116118                 * printf-args.c (printf_fetchargs): Work around broken
116119                 definition of wint_t on mingw.
116121         2005-02-12  Bruno Haible  <bruno@clisp.org>
116123                 * xallocsa.h: Add extern "C" for C++.
116125         2006-05-17  Bruno Haible  <bruno@clisp.org>
116127                 Cygwin portability.
116128                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
116130         2006-04-30  Bruno Haible  <bruno@clisp.org>
116132                 * progreloc.c: Include <mach-o/dyld.h> if available.
116133                 (find_executable): Use _NSGetExecutablePath when possible.
116135         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
116137                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
116138                 function.
116140         2005-12-29  Bruno Haible  <bruno@clisp.org>
116142                 * progreloc.c (set_program_name_and_installdir): Fix
116143                 compilation error.
116145         2005-12-04  Bruno Haible  <bruno@clisp.org>
116147                 Cygwin portability.
116148                 * progreloc.c: Include <windows.h> also on Cygwin.
116149                 (find_executable): Add support for Cygwin.
116150                 (set_program_name_and_installdir): Handle also platforms with
116151                 nonempty EXEEXT.
116153         2006-07-11  Bruno Haible  <bruno@clisp.org>
116155                 * javacomp.c: Fix a comment.
116156                 Reported by Jim Meyering.
116158         2006-04-30  Bruno Haible  <bruno@clisp.org>
116160                 * javacomp.h (compile_java_class): Add source_version,
116161                 target_version arguments.
116162                 * javacomp.c: Rewritten to choose only a compiler that
116163                 respects the specified source_version and target_version.
116165         2006-06-27  Bruno Haible  <bruno@clisp.org>
116167                 Assume correct S_ISDIR macro.
116168                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
116170         2006-07-22  Bruno Haible  <bruno@clisp.org>
116172                 * javaversion.h: New file, from GNU gettext.
116173                 * javaversion.c: New file, from GNU gettext.
116174                 * javaversion.java: New file, from GNU gettext.
116175                 * javaversion.class: New file, from GNU gettext.
116177         2006-05-17  Bruno Haible  <bruno@clisp.org>
116179                 Cygwin portability.
116180                 * javaexec.c (execute_java_class): Test for jview program
116181                 also on Cygwin.
116183         2006-04-09  Bruno Haible  <bruno@clisp.org>
116185                 * fatal-signal.c: Don't include string.h.
116186                 (at_fatal_signal): Use a copying loop instead of memcpy.
116188         2005-12-04  Bruno Haible  <bruno@clisp.org>
116190                 * csharpexec.c: Add support for 'clix' launcher (untested).
116191                 (execute_csharp_using_sscli): New function.
116192                 (execute_csharp_program): Call it.
116194         2006-06-21  Bruno Haible  <bruno@clisp.org>
116196                 Avoid warnings from recent versions of mcs.
116197                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
116198                 -o, -L, -r any more. Use options documented since mcs-1.0
116199                 instead. Similarly for -g.
116201         2005-07-09  Bruno Haible  <bruno@clisp.org>
116203                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
116204                 add a .dll suffix.
116205                 Reported by Mark Junker <mjscod@gmx.de>.
116207         2006-06-17  Bruno Haible  <bruno@clisp.org>
116209                 * config.charset: Update for NetBSD 3.0.
116211         2006-05-17  Bruno Haible  <bruno@clisp.org>
116213                 Cygwin portability.
116214                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
116216         2006-05-16  Bruno Haible  <bruno@clisp.org>
116218                 * localcharset.c [CYGWIN]: Include <windows.h>.
116219                 (get_charset_aliases): For Cygwin, return the same CPxxx
116220                 aliases list as under WIN32.
116221                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
116222                 the environment variables. Fall back to GetACP().
116224         2006-04-05  Bruno Haible  <bruno@clisp.org>
116226                 * config.charset: Update Juan Manuel Guerrero's address.
116228         2005-02-12  Bruno Haible  <bruno@clisp.org>
116230                 * allocsa.h: Add extern "C" for C++.
116232         2005-02-10  Bruno Haible  <bruno@clisp.org>
116234                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
116235                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
116237         2006-07-22  Bruno Haible  <bruno@clisp.org>
116239                 * gettext.h: Update to GNU gettext-0.15.
116241 2006-07-22  Bruno Haible  <bruno@clisp.org>
116243         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
116244         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
116245         lib-prefix.m4, longdouble.m4, ssize_t.m4.
116247 2006-07-21  Eric Blake  <ebb9@byu.net>
116249         * modules/stdlib-safer: New file.
116250         * MODULES.html.sh (File stream based Input/Output): Add
116251         stdlib-safer.
116253 2006-07-21  Eric Blake  <ebb9@byu.net>
116255         * lib/stdlib-safer.h: New file from coreutils, required by
116256         stdlib--.h.
116258 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
116260         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
116262 2006-07-20  Bruno Haible  <bruno@clisp.org>
116264         * gnulib-tool: Recognize new option --assume-autoconf.
116265         (autoconf_minversion): New variable.
116266         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
116268 2006-07-20  Bruno Haible  <bruno@clisp.org>
116270         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
116272 2006-07-19  Derek R. Price  <derek@ximbiot.com>
116274         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
116275         Reindent and repaginate.
116277 2006-07-19  Derek Price  <derek@ximbiot.com>
116279         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
116280         Correct grammar.
116282 2006-07-17  Bruno Haible  <bruno@clisp.org>
116284         * modules/list: New file.
116285         * modules/array-list: New file.
116286         * modules/carray-list, modules/carray-list-tests: New files.
116287         * modules/linked-list, modules/linked-list-tests: New files.
116288         * modules/avltree-list, modules/avltree-list-tests: New files.
116289         * modules/rbtree-list, modules/rbtree-list-tests: New files.
116290         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
116291         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
116292         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
116293         * modules/oset: New file.
116294         * modules/array-oset: New file.
116295         * modules/avltree-oset, modules/avltree-oset-tests: New files.
116296         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
116297         * tests/test-carray_list.c: New file.
116298         * tests/test-linked_list.c: New file.
116299         * tests/test-avltree_list.c: New file.
116300         * tests/test-rbtree_list.c: New file.
116301         * tests/test-linkedhash_list.c: New file.
116302         * tests/test-avltreehash_list.c: New file.
116303         * tests/test-rbtreehash_list.c: New file.
116304         * tests/test-avltree_oset.c: New file.
116305         * tests/test-rbtree_oset.c: New file.
116306         * MODULES.html.sh (Container data structures): New section.
116308 2006-07-17  Bruno Haible  <bruno@clisp.org>
116310         * m4/gl_list.m4: New file.
116312 2006-07-17  Bruno Haible  <bruno@clisp.org>
116314         * lib/gl_list.h: New file.
116315         * lib/gl_list.c: New file.
116316         * lib/gl_array_list.h: New file.
116317         * lib/gl_array_list.c: New file.
116318         * lib/gl_carray_list.h: New file.
116319         * lib/gl_carray_list.c: New file.
116320         * lib/gl_linked_list.h: New file.
116321         * lib/gl_linked_list.c: New file.
116322         * lib/gl_anylinked_list1.h: New file.
116323         * lib/gl_anylinked_list2.h: New file.
116324         * lib/gl_avltree_list.h: New file.
116325         * lib/gl_avltree_list.c: New file.
116326         * lib/gl_anyavltree_list1.h: New file.
116327         * lib/gl_anyavltree_list2.h: New file.
116328         * lib/gl_rbtree_list.h: New file.
116329         * lib/gl_rbtree_list.c: New file.
116330         * lib/gl_anyrbtree_list1.h: New file.
116331         * lib/gl_anyrbtree_list2.h: New file.
116332         * lib/gl_anytree_list1.h: New file.
116333         * lib/gl_anytree_list2.h: New file.
116334         * lib/gl_linkedhash_list.h: New file.
116335         * lib/gl_linkedhash_list.c: New file.
116336         * lib/gl_anyhash_list1.h: New file.
116337         * lib/gl_anyhash_list2.h: New file.
116338         * lib/gl_avltreehash_list.h: New file.
116339         * lib/gl_avltreehash_list.c: New file.
116340         * lib/gl_rbtreehash_list.h: New file.
116341         * lib/gl_rbtreehash_list.c: New file.
116342         * lib/gl_anytreehash_list1.h: New file.
116343         * lib/gl_anytreehash_list2.h: New file.
116345         * lib/gl_oset.h: New file.
116346         * lib/gl_oset.c: New file.
116347         * lib/gl_array_oset.h: New file.
116348         * lib/gl_array_oset.c: New file.
116349         * lib/gl_avltree_oset.h: New file.
116350         * lib/gl_avltree_oset.c: New file.
116351         * lib/gl_rbtree_oset.h: New file.
116352         * lib/gl_rbtree_oset.c: New file.
116353         * lib/gl_anytree_oset.h: New file.
116355 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
116357         * m4/mkancesdirs.m4: New file.
116358         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
116359         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
116360         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
116361         it.
116363 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
116365         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
116366         * lib/mkancesdirs.h: New files.
116367         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
116368         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
116369         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
116370         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
116371         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
116372         callers changed.  Revamp internals significantly, by not
116373         attempting to create directories that are temporarily more
116374         permissive than the final results.  Do not attempt to use
116375         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
116376         This removes some race conditions, fixes some bugs, and simplifies
116377         things.  Use new dirchownmod function to do owner and mode changes.
116378         * lib/mkdir-p.h: Likewise.
116379         * lib/modechange.c (octal_to_mode): New function.
116380         (struct mode_change): New member mentioned.
116381         (make_node_op_equals): New arg mentioned.  All callers changed.
116382         (mode_compile): Keep track of which mode bits the user has explicitly
116383         mentioned.
116384         (mode_adjust): New arg DIR, so that we implement the X op correctly.
116385         New arg PMODE_BITS, to keep track of which mode bits the user
116386         mentioned; it treats S_ISUID and S_ISGID speciall.
116387         All callers changed.
116388         * lib/modechange.h: Likewise.
116390 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
116392         * MODULES.html.sh: Add mkancestors.
116393         * modules/mkancesdirs: New module.
116394         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
116395         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
116396         The chdir-safer and afs files are now orphans; I'll remove them
116397         unless someone speaks up.
116398         Add lib/dirchownmod.c, lib/dirchownmod.h.
116399         (Depends-on): Remove alloca, chown, save-cwd, dirname.
116400         Add lchown, mkancesdirs.
116401         (Maintainer): Add self.
116403 2006-07-15  Karl Berry  <karl@gnu.org>
116405         * gnulib-tool: help message wording/arrangement.
116407 2006-07-14  Simon Josefsson  <jas@extundo.com>
116409         * doc/gnulib.texi (Libtool and Windows): New section.
116411 2006-07-12  Simon Josefsson  <jas@extundo.com>
116413         * modules/gendocs (License): Fix license, approved by Karl.
116415 2006-07-12  Eric Blake  <ebb9@byu.net>
116417         * MODULES.html.sh: Add gendocs.
116419 2006-07-11  Eric Blake  <ebb9@byu.net>
116421         * modules/fdl: New module, to install doc/fdl.texi.
116422         * MODULES.html.sh: Add new section for documentation modules.
116423         * gnulib-tool: Avoid space-tab.
116424         (--doc-base): New option, to manage files from doc.
116426 2006-07-11  Eric Blake  <ebb9@byu.net>
116428         * m4/absolute-header.m4: Fix comments to match recent change.
116430 2006-07-11  Eric Blake  <ebb9@byu.net>
116432         * gnulib-tool: List --doc-base before --tests-base.
116434 2006-07-11  Derek R. Price  <derek@ximbiot.com>
116436         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
116438 2006-07-11  Bruno Haible  <bruno@clisp.org>
116440         * README: Mention where to put documentation.
116442 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116444         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
116446 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
116448         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
116449         to stdint.m4.
116451 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
116453         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
116454         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
116455         "no/such/file/stdint.h" when there is no such file, so that
116456         the resulting C code can be parsed by dodgy compilers.
116457         Problems reported by Bob Proulx.
116459 2006-07-10  Derek R. Price  <derek@ximbiot.com>
116461         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
116462         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
116463         macros into the GNU _D_EXACT_NAMLEN.
116464         * lib/savedir.c:  Likewise.
116465         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
116467 2006-07-10  Derek R. Price  <derek@ximbiot.com>
116468         and Paul Eggert  <eggert@cs.ucla.edu>
116470         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
116471         * m4/savedir.m4:
116472         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
116473         macros into the GNU _D_EXACT_NAMLEN.
116475 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
116477         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
116478         around the absolute name, to work around a problem with the HP-UX
116479         11.23 native C compiler, reported by Bob Proulx.
116481 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
116483         * doc/maintain.texi, make-stds.texi: Sync from
116484         <http://savannah.gnu.org/projects/gnustandards>.
116486 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
116488         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
116490 2006-07-09  Jim Meyering  <jim@meyering.net>
116492         * m4/glob.m4: Remove a doubled word in a comment.
116494 2006-07-09  Jim Meyering  <jim@meyering.net>
116496         * lib/argp-pv.c: Remove a doubled word in a comment.
116497         * lib/check-version.c (check_version): Likewise.
116498         * lib/javacomp.c (compile_java_class): Likewise.
116500 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
116502         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
116503         for the benefit of people using Autoconf 2.60.  If you want to
116504         support older Autoconf versions you can copy m4/onceonly_2_57.m4
116505         (or m4/onceonly.m4, if pre-2.57) manually.
116507 2006-07-08  Jim Meyering  <jim@meyering.net>
116509         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
116510         comment.
116511         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
116512         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
116513         comment.
116515 2006-07-08  Jim Meyering  <jim@meyering.net>
116517         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
116519 2006-07-07  Simon Josefsson  <jas@extundo.com>
116521         * tests/test-crc.c: Change expected crc value, the test vector
116522         were probably computed using the old broken crc.c?
116524 2006-07-06  Simon Josefsson  <jas@extundo.com>
116526         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
116527         now the canonical place for the M4 file).
116529         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
116530         from the sys_socket dependency now.
116532         * modules/inet_pton (Files): Ditto.
116534         * modules/inet_ntop (Files): Ditto.
116536 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
116538         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
116539         not gl_PREREQ_GETUSERSHELL.
116541 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116543         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
116544         with only one argument, for Autoconf 2.60.
116545         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
116546         expand to nothing, so add a shell command to avoid syntax error.
116547         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
116549 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116551         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
116553 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
116555         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
116556         no longer needed.  Check for isblank decl.
116557         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
116558         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
116559         of existence.
116561 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
116563         * lib/getloadavg.c: Use __VMS, not VMS.
116564         * lib/getopt.c: Likewise.
116565         * lib/getpagesize.h: Likewise.
116566         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
116567         and probably does not work.
116569 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
116571         * lib/.cppi-disable: Add wcwidth.
116572         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
116573         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
116574         (ISGRAPH): Remove.  All uses changed to isgraph.
116575         (FOLD) [!defined _LIBC]: Remove special case.
116576         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
116577         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
116578         HAVE_ISBLANK.
116579         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
116580         case.
116582 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
116584         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
116585         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
116586         brackets.  Other minor changes to suppress some compiler
116587         warnings.
116589 2006-07-06  Derek R. Price  <derek@ximbiot.com>
116590         and Paul Eggert  <eggert@cs.ucla.edu>
116592         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
116593         of invoking obsolescent AC_HEADER_DIRENT macro.
116594         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
116595         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
116596         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
116597         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
116598         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
116599         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
116600         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
116601         * m4/readdir.m4: Remove; no longer needed.
116603 2006-07-06  Derek R. Price  <derek@ximbiot.com>
116604         and Paul Eggert  <eggert@cs.ucla.edu>
116606         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
116607         Don't worry about this obsolete case any more.
116608         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
116609         directories.
116610         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
116611         worry about this obsolete case any more.
116612         * lib/fts.c: Likewise.
116613         * lib/getcwd.c: Likewise.
116614         * lib/glob.h: Likewise.
116615         * lib/savedir.c: Likewise.
116617 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
116619         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
116620         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
116621         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
116622         needed.
116623         All uses removed.
116624         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
116625         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
116626         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
116627         needed.
116628         * m4/getdate.m4 (gl_GETDATE): Likewise.
116629         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
116630         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
116631         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
116632         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
116633         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
116634         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
116635         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
116636         needed.
116638 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
116640         * lib/memcasecmp.c: Include <limits.h>.
116641         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
116642         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
116643         Don't assume isdigit succeeds only on '0' through '9'.
116645 2006-07-05  Eric Blake  <ebb9@byu.net>
116647         * modules/getaddrinfo (Depends-on): Add snprintf.
116649 2006-07-05  Eric Blake  <ebb9@byu.net>
116651         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
116652         to avoid 'header present but could not be compiled' on cygwin.
116654 2006-07-05  Eric Blake  <ebb9@byu.net>
116656         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
116657         missing from netdb.h.
116658         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
116660 2006-07-05  Derek R. Price  <derek@ximbiot.com>
116662         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
116663         no longer needed.
116664         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
116665         * m4/getdate.m4 (gl_GETDATE): Likewise.
116666         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
116667         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
116668         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
116669         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
116670         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
116672 2006-07-05  Derek R. Price  <derek@ximbiot.com>
116674         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
116675         All uses of is_space replaced by isspace.
116676         * lib/exit.h: Don't talk about STDC_HEADERS.
116677         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
116678         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
116679         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
116680         replaced by isprint etc.
116681         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
116682         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
116683         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
116684         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
116685         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
116686         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
116688 2006-07-05  Bruno Haible  <bruno@clisp.org>
116690         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
116691         the function exists, before testing against AIX.
116692         Reported by Martin Lambers <marlam@marlam.de>.
116694 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
116696         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
116697         From Mark D. Baushke.
116699 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
116701         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
116702         to the absolute name, not just one, to bypass Sun C 5.8's
116703         "warning: #include of /usr/include/... may be non-portable".
116705 2006-07-04  Eric Blake  <ebb9@byu.net>
116707         * modules/dirname-tests: New test module.
116708         * tests/test-dirname.c: New file, replacing dirname.c
116709         TEST_DIRNAME section that was recently deleted.
116711 2006-07-04  Bruno Haible  <bruno@clisp.org>
116713         Assume ANSI C header files and <ctype.h> functions.
116714         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
116715         (mbsnwidth): Use isprint, iscntrl instead.
116717 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
116719         Merge from coreutils.
116720         * MODULES.html.sh: Add xstrtold.
116721         * modules/xstrtold: New file.
116722         * modules/cycle-check (Files): Add lib/same-inode.h.
116723         * modules/dirname (Files): Add m4/double-slash-root.m4.
116724         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
116725         * modules/mkdir-p (Files): Add lib/same-inode.h.
116726         * modules/same (Files): Add lib/same-inode.h.
116728 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
116730         * m4/absolute-header.m4: Renamed from full-header-path.m4.
116731         This is to keep the terminology clean; POSIX talks about
116732         "absolute pathnames", not "full pathnames", but the GNU
116733         Coding Standards say to use "path" for something else;
116734         so use "absolute" to keep both sides happy.
116735         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
116736         Set gl_absolute_header, not gl_full_header_path.
116737         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
116738         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
116739         All uses changed.
116741         Merge from coreutils.
116743         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
116745         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
116746         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
116747         want to require the building of c-strtod.o.
116748         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
116749         needs -lm directly.
116750         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
116752         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
116754         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
116755         --as-needed option if available.  Problem reported by Albert Chin in
116756         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
116757         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
116758         cc merely issues a bunch of annoying warnings for --as-needed
116759         (this problem was reported by Bob Proulx).  Also, try linking with
116760         -lm to detect a bug in binutils 2.16 (this problem was reported
116761         by Ralf Wildenhues).
116763         2006-06-18  Jim Meyering  <jim@meyering.net>
116765         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
116766         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
116767         macro.
116768         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
116769         also check for glibc-2.4's abort-inducing bug.
116771         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
116772         Low-probability clean-up should be to use rmdir to get rid of
116773         the just-created directory, not unlink.
116775         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
116776         configure fail, and request a bug report to inform us about it.
116777         Add a comment that, barring reports to the contrary, in 2007 we'll
116778         assume ftruncate is universally available.
116780         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
116782         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
116784         2006-03-12  Jim Meyering  <jim@meyering.net>
116786         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
116787         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
116788         * m4/same.m4 (gl_SAME): Likewise.
116789         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
116791         2006-03-11  Eric Blake  <ebb9@byu.net>
116793         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
116794         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
116795         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
116796         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
116798 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
116800         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
116801         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
116802         reported by Mark D. Baushke, one in
116803         <http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.
116805         Merge from coreutils.
116807         * lib/.cppi-disable: Add stdint_.h.
116808         * lib/.cvsignore: Add stdint.h.
116810         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
116812         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
116813         both double and long double versions.
116814         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
116815         * lib/xstrtold.c: New file.
116816         * lib/xstrtod.h (xstrtold): New decl.
116818         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
116820         * lib/filemode.c (setst): Remove.
116821         (strmode): Rewrite to avoid setst.  This makes the code shorter,
116822         (arguably) clearer, and the generated code is a bit smaller on my
116823         Debian GNU/Linux stable x86 host.
116825         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
116827         * lib/filemode.c: Include "filemode.h" first, to test the interface.
116828         Assume that filemode.h includes sys/types.h and sys/stat.h.
116829         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
116830         (ftypelet): Reorder to put common cases first, for efficiency.
116831         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
116832         to do 'M'.
116833         (strmode): Renamed from mode_string, and now stores 12 bytes instead
116834         of 10, for compatibility with FreeBSD.  All callers changed.
116835         (filemodestring): Now stores 12 bytes instead of 10, and sets file
116836         types that can't be deduced solely from st_mode.  First arg is now a
116837         const pointer.
116838         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
116839         (strmode): Renamed from mode_string.
116840         (filemodestring): New decl.
116841         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
116842         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
116843         needed.
116844         (S_ISPORT, S_ISWHT): New macros, if not already defined.
116846         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
116848         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
116849         fsusage.h now does that.  Include fsusage.h first, to test interface.
116850         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
116851         at most one method (the old code could have generated decls that
116852         didn't conform to C89, not that this was ever exercised).
116853         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
116855         2006-03-19  Jim Meyering  <jim@meyering.net>
116857         Work even in a chroot where d_ino values for entries in "/"
116858         don't match the stat.st_ino values for the same names.
116859         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
116860         number, iterate through all entries again, using lstat instead.
116861         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
116862         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
116864         * lib/getcwd.c (__getcwd): Clarify a comment.
116865         Use memcpy in place of a call to strcpy.
116867         2006-03-12  Jim Meyering  <jim@meyering.net>
116869         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
116870         matches that of the current directory (which we're about to chdir ".."
116871         out of), then save the dev-ino of the parent, instead.
116873         * lib/same-inode.h (SAME_INODE): New file/macro.
116874         * lib/chdir-safer.c (SAME_INODE): Remove definition.
116875         Include "same-inode.h", instead.
116876         * lib/same.c: Likewise.
116877         * lib/cycle-check.h: Include "same-inode.h".
116878         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
116879         * lib/cycle-check.c (SAME_INODE): Remove definition.
116880         * lib/root-dev-ino.h: Include "same-inode.h".
116882         2006-03-11  Eric Blake  <ebb9@byu.net>
116884         * lib/same.c (same_name): s/base_name/last_component/
116885         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
116886         * lib/filenamecat.c (file_name_concat): Likewise.
116888         2006-03-11  Eric Blake  <ebb9@byu.net>,
116889                     Paul Eggert  <eggert@cs.ucla.edu>
116891         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
116892         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
116893         drive prefix.
116894         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
116895         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
116896         (last_component): New method.
116897         * lib/dirname.c (dir_len): Determine when drive letters need a
116898         subsequent slash.  Preserve // when it is special.
116899         (dir_name): Don't append dot when drive letter is absolute.
116900         [TEST_DIRNAME]: Move into a full-blown gnulib test.
116901         * lib/basename.c (base_name): New semantics - malloc the result.
116902         Preserve // when it is special.  Preserve relative files that look
116903         like drive letters.
116904         (base_len): Preserve // when it is special.
116905         (last_component): New method, similar to old base_name semantics.
116906         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
116907         base_name.  Strip redundant slashes from ///.
116909 2006-07-03  Jim Meyering  <jim@meyering.net>
116911         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
116912         macro is used before the first cycle_check call.
116914 2006-07-03  Eric Blake  <ebb9@byu.net>
116916         * modules/dirname (Depends-on): Add xstrndup.
116918 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
116920         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
116921         test cases, so that config.log is a bit easier to follow.
116923 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
116925         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
116926         both are 64 bits, since this seems to be the tradition, and this
116927         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
116928         we ever run into a host that prefers long long to long in this
116929         case, we'll need another configure-time test.  Problem reported by
116930         Jim Meyering.
116932 2006-07-02  Eric Blake  <ebb9@byu.net>
116934         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
116936 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
116938         * modules/inttypes (Depends-on): No longer depends on stdint.
116939         * modules/stdint (Description): Say more about assumptions.
116940         Say that the fast types might differ.  Say macros are used.
116941         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
116942         (Makefile.am): Revise list of substituted symbols to match
116943         new stdint.m4.
116944         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
116945         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
116946         * tests/test-stdint.c (verify_same_types)
116947         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
116948         the code conforms to C99/C89.
116949         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
116950         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
116952 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
116954         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
116955         but fix a bug, by requiring at least 64 bits.
116956         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
116957         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
116958         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
116959         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
116961         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
116962         changes.  Make 2.59 a prerequisite.  Check and substitute for
116963         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
116964         inttypes.h.  Do not use special include files; just use the
116965         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
116966         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
116967         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
116968         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
116969         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
116970         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
116971         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
116972         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
116973         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
116974         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
116975         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
116976         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
116977         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
116978         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
116979         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
116980         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
116981         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
116982         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
116983         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
116984         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
116985         WINT_MAX.  Check for C99 conformance more strictly, by detecting
116986         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
116987         not check for things that C99 does not require, e.g., int8_t.  If
116988         a test isn't needed unless <stdint.h> isn't working, and is
116989         unlikely to be needed for any other reason, then don't do it
116990         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
116991         size_t, since we assume C89 freestanding at least.  Do not check
116992         for sig_atomic_t, wchar_t, or wint_t, since the code now does
116993         the right thing even if the types are not defined.  Instead use:
116994         (gl_STDINT_TYPE_PROPERTIES): New macro.
116995         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
116996         testing whether <sys/types.h> clashes, as Autoconf does this for
116997         us now.  All uses removed.
116998         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
116999         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
117000         (gl_CHECK_TYPE_SAME):
117001         Remove; no longer needed.
117002         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
117003         exists, since we'll return 0 anyway in that case.
117004         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
117006 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
117008         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
117009         possible collision with system files.
117010         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
117011         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
117012         WCHAR_MIN and WCHAR_MAX in this case.
117013         (<stddef.h>): Do not include; no longer needed.
117014         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
117015         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
117016         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
117017         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
117018         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
117019         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
117020         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
117021         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
117022         !defined(__c99))]: Include in this case too, since it's harmless
117023         now.
117024         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
117025         dangerous to do so.
117026         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
117027         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
117028         (_STDINT_MIN, _STDINT_MAX): New macros.
117029         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
117030         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
117031         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
117032         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
117033         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
117034         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
117035         macros, not typedefs; this simplifies things quite a bit.
117036         Use long int for all types narrower than int64_t.
117037         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
117038         Define in terms of long long int or int64_t or long int,
117039         not int64_t or int32_t.  This saves some compile-time testing.
117040         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
117041         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
117042         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
117043         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
117044         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
117045         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
117046         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
117047         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
117048         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
117049         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
117050         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
117051         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
117052         undef any previous version and define our own version, for
117053         simplicity and consistency with the new macros for types.
117054         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
117055         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
117056         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
117057         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
117058         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
117059         @WINT_T_SUFFIX@ to keep things simple here.
117060         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
117061         Simplify by assuming typical 8/16/32/64 host, since we're
117062         already doing that elsewhere anyway.
117063         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
117064         and assume long long int is 64 bits if available.  This
117065         speeds up 'configure'.
117067 2006-07-01  Eric Blake  <ebb9@byu.net>
117069         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
117070         Reported by Andreas Buening.
117072 2006-07-01  Eric Blake  <ebb9@byu.net>
117074         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
117076 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
117078         * lib/getaddrinfo.c: fixed typo
117080 2006-06-29  Jim Meyering  <jim@meyering.net>
117082         * modules/strftime (Maintainer): Add my name, since with the
117083         FPRINTFTIME changes strftime.c has forked from glibc.
117085 2006-06-29  Eric Blake  <ebb9@byu.net>
117087         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
117089 2006-06-29  Eric Blake  <ebb9@byu.net>
117091         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
117093 2006-06-29  Eric Blake  <ebb9@byu.net>
117095         * lib/stat_.h: New file.
117097 2006-06-29  Eric Blake  <ebb9@byu.net>
117099         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
117100         unused static function.
117102 2006-06-29  Eric Blake  <ebb9@byu.net>
117104         * doc/functions.texi (Function Portability): Document missing lstat
117105         on mingw.
117107 2006-06-29  Eric Blake  <ebb9@byu.net>
117109         * MODULES.html.sh: Add sys_stat.
117110         * modules/sys_stat: New module.
117111         * modules/mkstemp (Depends-on): Add sys_stat.
117113 2006-06-29  Derek R. Price  <derek@ximbiot.com>
117115         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
117117 2006-06-29  Derek R. Price  <derek@ximbiot.com>
117119         * m4/c-bs-a.m4: Removed.
117121 2006-06-29  Derek R. Price  <derek@ximbiot.com>
117123         * lib/strftime.c: Assume strftime() exists.
117125 2006-06-29  Derek Price  <derek@ximbiot.com>
117127         * modules/c-bs-a: Removed - \a is C89.
117128         * MODULES.html.sh: Remove c-bs-a.
117130 2006-06-29  Bruno Haible  <bruno@clisp.org>
117132         * modules/wcwidth (License): Change to LGPL.
117134 2006-06-28  Simon Josefsson  <jas@extundo.com>
117136         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
117137         on _WIN32.
117139         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
117140         getnameinfo.
117142 2006-06-28  Simon Josefsson  <jas@extundo.com>
117144         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
117146 2006-06-28  Simon Josefsson  <jas@extundo.com>
117148         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
117149         functions there.  It will succeed on Windows XP, but on Windows
117150         2000 and (presumably) earlier, it will fail, and use the internal
117151         re-implementation.
117152         (use_win32_p): New function.
117153         (getaddrinfo): Use strtoul on servname, to support numeric ports.
117154         Support AI_NUMERICSERV to disable getservbyname.
117155         (getnameinfo): New function, only supports
117156         NI_NUMERICHOST|NI_NUMERICSERV for now.
117158         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
117159         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
117160         getnameinfo.
117162 2006-06-28  Eric Blake  <ebb9@byu.net>
117164         * modules/wcwidth: New file.
117165         * modules/mbchar (Depends-on): Add wcwidth.
117166         * modules/mbswidth (Depends-on): Add wcwidth.
117167         * MODULES.html.sh: Add wcwidth.
117169 2006-06-28  Eric Blake  <ebb9@byu.net>
117171         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
117172         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
117174 2006-06-28  Eric Blake  <ebb9@byu.net>
117176         * lib/xvasprintf.h: Fix comments.
117178 2006-06-28  Eric Blake  <ebb9@byu.net>
117180         * lib/mbchar.h (wcwidth): Include wcwidth.h.
117181         * lib/mbswidth.c (wcwidth): Move from here...
117182         * lib/wcwidth.h: ...to this new file.
117184 2006-06-28  Derek R. Price  <derek@ximbiot.com>
117186         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
117188         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
117189         it's obsolete.
117190         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
117192 2006-06-28  Derek R. Price  <derek@ximbiot.com>
117194         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
117195         Autoconf 2.60 says this stuff was obsolete.
117197 2006-06-28  Bruno Haible  <bruno@clisp.org>
117199         * modules/wcwidth (Files): Add m4/wchar_t.m4.
117201 2006-06-28  Bruno Haible  <bruno@clisp.org>
117203         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
117204         gt_TYPE_WCHAR_T.
117206 2006-06-28  Bruno Haible  <bruno@clisp.org>
117208         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
117209         declaration for wcwidth.
117210         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
117212 2006-06-28  Bruno Haible  <bruno@clisp.org>
117214         * lib/mkdtemp.c [MINGW]: Include <io.h>.
117215         (mkdir): Define using _mkdir.
117217 2006-06-28  Bruno Haible  <bruno@clisp.org>
117219         * lib/getaddrinfo.h: Fix POSIX URL.
117220         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
117221         _WIN32.
117222         (use_win32_p): Make static.
117223         (getaddrinfo): Reject service name if it is empty or does not consist
117224         solely of decimal digits, or if its value is > 65535.
117225         (getnameinfo): Remove useless casts.
117227 2006-06-27  Simon Josefsson  <jas@extundo.com>
117229         * modules/sys_select: New file, suggested by Bruno Haible, Paul
117230         Eggert and Martin Lambers.
117232 2006-06-27  Simon Josefsson  <jas@extundo.com>
117234         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
117235         Eggert and Martin Lambers.
117237 2006-06-27  Bruno Haible  <bruno@clisp.org>
117239         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
117240         result to 0, not to empty.
117241         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
117243 2006-06-27  Bruno Haible  <bruno@clisp.org>
117245         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
117247 2006-06-26  Simon Josefsson  <jas@extundo.com>
117249         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
117250         present.
117252 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
117254         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
117255         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
117256         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.
117258 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
117260         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
117262 2006-06-26  Bruno Haible  <bruno@clisp.org>
117264         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
117266 2006-06-26  Bruno Haible  <bruno@clisp.org>
117268         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
117270 2006-06-26  Bruno Haible  <bruno@clisp.org>
117272         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
117273         SGI C compiler in pre-C99 mode.
117274         Suggested by Mark D. Baushke and Larry Jones.
117276 2006-06-26  Bruno Haible  <bruno@clisp.org>
117278         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
117279         WCHAR_MAX.
117280         Reported by Mark D. Baushke and Larry Jones.
117282 2006-06-26  Bruno Haible  <bruno@clisp.org>
117284         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
117285         in pre-C99 mode.
117286         Suggested by Mark D. Baushke and Larry Jones.
117288 2006-06-23  Simon Josefsson  <jas@extundo.com>
117289             Bruno Haible  <bruno@clisp.org>
117291         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
117292         Emit mostlyclean-local rule.
117293         (func_emit_tests_Makefile_am): Likewise.
117294         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
117296 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
117298         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
117300 2006-06-23  Bruno Haible  <bruno@clisp.org>
117302         * tests/test-stdint.c: Update to match ISO C 99 Technical
117303         Corrigendum 1.
117305 2006-06-23  Bruno Haible  <bruno@clisp.org>
117307         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
117309 2006-06-23  Bruno Haible  <bruno@clisp.org>
117311         * lib/stdint_.h: Treat IRIX like OpenBSD.
117313 2006-06-23  Bruno Haible  <bruno@clisp.org>
117315         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
117316         ISO C 99 Technical Corrigendum 1.
117318 2006-06-22  Simon Josefsson  <jas@extundo.com>
117320         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
117321         MinGW.
117323 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
117325         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
117326         needed.  Some compiler complained about some of them.  Problem reported
117327         by Larry Jones in
117328         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.
117330 2006-06-21  Simon Josefsson  <jas@extundo.com>
117332         * tests/test-getaddrinfo.c: New file.
117334         * modules/getaddrinfo-tests: New file.
117336         * MODULES.html.sh: Add inet_pton.
117338         * modules/inet_pton: New file.
117340 2006-06-21  Simon Josefsson  <jas@extundo.com>
117342         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
117343         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
117344         of using the (limited) gnulib implementation on Windows XP.
117346         * m4/inet_pton.m4: New file.
117348 2006-06-21  Simon Josefsson  <jas@extundo.com>
117350         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
117351         variable.
117353         * lib/socket_.h: Don't define WINVER.
117355         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
117356         slightly modified to work in gnulib.
117358 2006-06-21  Simon Josefsson  <jas@extundo.com>
117360         * doc/gnulib.texi (Windows sockets): Add.
117362 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
117364         * lib/read-file.c (fread_file): Start with buffer allocation of
117365         0 bytes rather than 1 byte; this simplifies the code.
117366         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
117367         code to free buffer and save/restore errno.
117368         (internal_read_file): Remove unused local.
117370 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
117372         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
117373         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
117374         Problem reported by Denis Excoffier in
117375         <http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.
117377 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
117379         * modules/sys_socket, modules/socklen: Include sys/types since
117380         FreeBSD 4.x's sys/socket.h needs it.
117382 2006-06-19  Simon Josefsson  <jas@extundo.com>
117384         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
117386 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
117388         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
117390 2006-06-19  Bruno Haible  <bruno@clisp.org>
117392         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
117393         and FULL_PATH_INTTYPES_H in angle brackets.
117394         Reported by Mark D. Baushke <mdb@gnu.org>.
117396 2006-06-17  Eric Blake  <ebb9@byu.net>
117398         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
117399         errno.
117401 2006-06-17  Bruno Haible  <bruno@clisp.org>
117403         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
117404         <sys/inttypes.h>.
117406 2006-06-17  Bruno Haible  <bruno@clisp.org>
117408         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
117409         whether errno is declared. Assume <errno.h> declares errno.
117411 2006-06-17  Bruno Haible  <bruno@clisp.org>
117413         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
117415 2006-06-17  Bruno Haible  <bruno@clisp.org>
117417         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
117418         problem on Solaris 2.5.1.
117420 2006-06-16  Eric Blake  <ebb9@byu.net>
117422         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
117423         * lib/unicodeio.c [!defined errno]: Likewise.
117424         * lib/strtol.c [!defined errno]: Likewise.
117425         * lib/strtod.c [!defined errno]: Likewise.
117427 2006-06-15  Eric Blake  <ebb9@byu.net>
117429         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
117431 2006-06-15  Eric Blake  <ebb9@byu.net>
117433         * config/srclist.txt (ssize_t.m4): Lose sync.
117435 2006-06-15  Bruno Haible  <bruno@clisp.org>
117437         * modules/stdint (Files): Include m4/full-header-path.m4,
117438         m4/size_max.m4, m4/wchar_t.m4.
117439         (Makefile.am): Many more substitutions.
117440         * modules/stdint-tests: New file.
117441         * tests/test-stdint.c: New file.
117443 2006-06-15  Bruno Haible  <bruno@clisp.org>
117445         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
117446         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
117447         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
117448         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
117449         gl_CHECK_TYPE_SAME): New macros.
117451 2006-06-15  Bruno Haible  <bruno@clisp.org>
117453         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
117455 2006-06-15  Bruno Haible  <bruno@clisp.org>
117457         * lib/stdint_.h: Rewritten to be fully auto-configured.
117458         Fixes bug on HP-UX/IA64.
117460 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
117462         * lib/getdate.y (__attribute__): Don't define if already defined.
117463         Problem reported by Larry Jones.
117464         * lib/utimens.c (__attribute__): Likewise.
117466 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
117468         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
117469         reported by Andreas Schwab.
117471 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117472             Bruno Haible  <bruno@clisp.org>
117474         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
117475         check for the declaration of strnlen and a run test that exposes the
117476         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
117477         rpl_strndup.
117479 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117480             Bruno Haible  <bruno@clisp.org>
117482         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
117484 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117486         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
117487         compile test, for Tru64 4.0D.
117489 2006-05-28  Karl Berry  <karl@gnu.org>
117491         * config/srclist.txt (printf-args.c): lose sync.
117493 2006-05-26  Martin Lambers  <marlam@marlam.de>
117495         * lib/getpass.c: Updates the test for the native W32 API, and adds
117496         missing includes, thus fixing compilation warnings.
117498 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
117500         * lib/exclude.c (exclude_fnmatch): New function.
117501         (excluded_file_name): Call exclude_fnmatch.
117502         * lib/exclude.h (excluded_file_name): New prototype
117504 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
117506         * lib/tempname.c (small_open, large_open): New macros.
117507         (__open, __open64) [!_LIBC]: Remove.
117508         (__gen_tempname): Use small_open and large_open instead of __open
117509         and __open64.  This fixes a portability bug on HP-UX 11.11i
117510         reported by Simon Wing-Tang in
117511         <http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.
117513 2006-05-24  Bruno Haible  <bruno@clisp.org>
117515         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
117516         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
117517         Reported by Thorsten Maerz <torte@netztorte.de> via
117518         Aaron Stone <aaron@serendipity.cx>.
117520 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
117522         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
117523         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
117524         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
117525         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
117526         not really conditional on the cache.
117527         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
117529 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
117531         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
117532         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
117533         (my_usleep): Don't mishandle maximum value.
117535 2006-05-19  Jim Meyering  <jim@meyering.net>
117537         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
117539 2006-05-17  Bruno Haible  <bruno@clisp.org>
117541         Cygwin portability.
117542         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
117544 2006-05-17  Bruno Haible  <bruno@clisp.org>
117546         * lib/stdint_.h: Fix recognition of Cygwin.
117548 2006-05-15  Bruno Haible  <bruno@clisp.org>
117550         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
117551         on libtool patch by Ralf Wildenhues.
117553 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
117555         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
117556         test for C99 conformance; (bool) 0.5 is an integer constant
117557         expression, but (bool) -0.5 is not.  Problem reported by Fedor
117558         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
117560 2006-05-11  Simon Josefsson  <jas@extundo.com>
117562         * m4/xvasprintf.m4: Fix obvious typo.
117564 2006-05-11  Jim Meyering  <jim@meyering.net>
117566         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
117567         James Lemley.
117569 2006-05-10  Simon Josefsson  <jas@extundo.com>
117571         * lib/md4.c: Typo fix, update copyright years.
117572         (K1, K2): Don't use L because it turn computations into 64-bit on
117573         64-bit platforms.
117575 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
117577         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
117578         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
117579         unwanted sign propagation, e.g., on hosts with 64-bit int.
117580         There still are some problems with reeelly weird theoretical hosts
117581         (e.g., 33-bit int) but it's not worth worrying about now.
117582         * lib/sha1.c (rol): Likewise.
117583         (K1, K2, K3, K4): Remove unnecessary L suffix.
117585 2006-05-10  Bruno Haible  <bruno@clisp.org>
117587         * lib/des.c: Cast to avoid warnings.
117589 2006-05-09  Bruno Haible  <bruno@clisp.org>
117591         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
117592         (Depends-on): Depend also on xsize, stdarg.
117593         (configure.ac): Add gl_XVASPRINTF.
117595 2006-05-09  Bruno Haible  <bruno@clisp.org>
117597         * m4/xvasprintf.m4: New file.
117599 2006-05-09  Bruno Haible  <bruno@clisp.org>
117601         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
117602         (EOVERFLOW): Define fallback value.
117603         (xstrcat): New function.
117604         (xvasprintf): Recognize the special case of a string concatenation.
117606 2006-05-08  Eric Blake  <ebb9@byu.net>
117608         * gnulib-tool (func_version): Base copyright year on CVS date.
117609         (func_emit_copyright_notice): New function.
117610         (func_emit_lib_Makefile_am): Use it.
117611         (func_emit_tests_Makefile_am): Likewise.
117612         (func_import): Likewise.
117614 2006-05-08  Bruno Haible  <bruno@clisp.org>
117616         * modules/stdarg: New file.
117617         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
117619 2006-05-08  Bruno Haible  <bruno@clisp.org>
117621         * m4/stdarg.m4: New file, from GNU gettext.
117623 2006-05-08  Bruno Haible  <bruno@clisp.org>
117625         * config/srclist.txt (build-aux/config.rpath): different from latest
117626         release.
117628 2006-05-08  Bruno Haible  <bruno@clisp.org>
117630         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
117632 2006-05-05  Jim Meyering  <jim@meyering.net>
117634         * m4/warning.m4: New file, derived from bison's file by the same name.
117636 2006-05-03  Bruno Haible  <bruno@clisp.org>
117638         * lib/stdint_.h: Shorter URL.
117639         * lib/inttypes.h: Likewise.
117641 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
117643         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
117645 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
117647         * lib/verify.h: Document the internals better.  Most of this change
117648         was written by Bruno Haible.
117650 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
117652         * doc/verify.texi: New file, partly based on a proposal by
117653         Bruno Haible.
117655 2006-05-02  Bruno Haible  <bruno@clisp.org>
117657         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
117658         test from here...
117659         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
117661 2006-04-29  Bruno Haible  <bruno@clisp.org>
117663         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
117664         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
117666 2006-04-29  Bruno Haible  <bruno@clisp.org>
117668         * gnulib-tool: Make --update option actually work.
117670 2006-04-29  Bruno Haible  <bruno@clisp.org>
117672         * doc/gcd.texi: New file.
117673         * doc/gnulib.texi: Include it.
117675 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
117677         * lib/getdate.y (get_date): When adding relative date, start with the
117678         initial time, not with the result of the first mktime call.
117680 2006-04-25  Bruno Haible  <bruno@clisp.org>
117682         * gnulib-tool (func_import): Output the include directives in three
117683         blocks, sorted separately.
117684         Reported by Ben Pfaff <blp@cs.stanford.edu>.
117686 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
117688         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
117689         to define main with arguments, for C++.  Reported by Eric Blake.
117690         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
117691         Prefer 'int main ()' to 'int main (void)', for C++.
117692         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
117693         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
117694         for 'main', for C99 and C++.
117696 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
117698         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
117699         Don't assume that exit status -1 is valid.
117700         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
117701         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
117702         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
117703         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
117704         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
117705         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
117706         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
117707         functions can be used without declaring them, or that you can
117708         exit with status -1.
117709         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
117711 2006-04-24  Karl Berry  <karl@gnu.org>
117713         * config/srclist.txt (longdouble.m4): sync lost.
117715 2006-04-24  Eric Blake  <ebb9@byu.net>
117717         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
117719 2006-04-24  Bruno Haible  <bruno@clisp.org>
117721         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
117722         poll() implementation in AIX.
117723         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117725 2006-04-24  Bruno Haible  <bruno@clisp.org>
117727         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
117728         assigned exactly once.
117730 2006-04-23  Claudio Fontana  <claudio@gnu.org>
117731             Bruno Haible  <bruno@clisp.org>
117733         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
117734         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
117735         for AM_CPPFLAGS.
117737 2006-04-23  Bruno Haible  <bruno@clisp.org>
117739         * modules/copy-file: Depend on unistd.
117740         * modules/execute: Likewise.
117741         * modules/fatal-signal: Likewise.
117742         * modules/findprog: Likewise.
117743         * modules/mkdtemp : Likewise.
117744         * modules/pipe: Likewise.
117745         * modules/wait-process: Likewise.
117747 2006-04-23  Bruno Haible  <bruno@clisp.org>
117749         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
117750         condition was already detected.
117751         Reported by Ben Pfaff <blp@cs.stanford.edu>.
117753 2006-04-23  Bruno Haible  <bruno@clisp.org>
117755         * lib/copy-file.c: Include <unistd.h> unconditionally.
117756         * lib/execute.c: Likewise.
117757         * lib/fatal-signal.c: Likewise.
117758         * lib/findprog.c: Likewise.
117759         * lib/mkdtemp.c: Likewise.
117760         * lib/pipe.h: Likewise.
117761         * lib/pipe.c: Likewise.
117762         * lib/wait-process.h: Likewise.
117764 2006-04-23  Bruno Haible  <bruno@clisp.org>
117766         * gnulib-tool (func_usage): Fix --import description. Document
117767         --update.
117768         (func_import): Create temporary file in a temporary directory, if
117769         --dry-run is specified. Silence errors from 'grep' when there are no
117770         m4 files in $m4dir.
117771         (func_create_testdir): Silence errors from 'grep' when there are no
117772         m4 files in $m4dir.
117773         Reported by Karl Berry <karl@freefriends.org>.
117775 2006-04-20  Bruno Haible  <bruno@clisp.org>
117777         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
117778         one argument, so that the code will be portable to Autoconf 2.60.
117779         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
117780         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
117781         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
117783 2006-04-19  Derek Price  <derek@ximbiot.com>
117784             Eric Blake  <ebb9@byu.net>
117786         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
117787         rather than "/full/path.h".  Update comment to match.  Shorten &
117788         generalize m4_translit call via AS_TR_CPP.
117790 2006-04-19  Derek Price  <derek@ximbiot.com>
117791             Eric Blake  <ebb9@byu.net>
117793         * lib/inttypes.h: Correct grammar in comment.
117795 2006-04-18  Derek Price  <derek@ximbiot.com>
117796             Paul Eggert  <eggert@cs.ucla.edu>
117798         * modules/inttypes: New file.
117799         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
117801 2006-04-18  Derek Price  <derek@ximbiot.com>
117802             Paul Eggert  <eggert@cs.ucla.edu>
117804         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
117805         New files.
117807 2006-04-18  Derek Price  <derek@ximbiot.com>
117808             Paul Eggert  <eggert@cs.ucla.edu>
117810         * lib/inttypes.h: New file.
117811         * lib/strtoimax.c: Assume <inttypes.h>.
117813 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
117815         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
117816         isn't mounted.  Problem reported by Kir Kolyshkin.
117818 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
117820         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
117821         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
117822         Derek R. Price.
117823         * lib/regex.h (RE_DUP_MAX): Update comment to match current
117824         implementation.
117826 2006-04-12  Eric Blake  <ebb9@byu.net>
117828         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
117829         is now done automatically by the corresponding Autoconf macro.
117831 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
117833         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
117834         time_r.h.
117836 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
117838         Merge regex changes from libc, removing some of our
117839         POSIX-conformance changes that were rejected and redoing them in a
117840         less-intrusive way.
117842         * lib/regcomp.c (re_compile_internal, init_dfa):
117843         Length arg is now size_t, not Idx.  All uses changed.
117844         (peek_token): Forward decl now says internal_function.
117845         (__re_error_msgid, __re_error_msgid_idx):
117846         Now static rather than extern with attribute_hidden.
117847         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
117848         For some reason libc prefers K&R style defns for external functions.
117849         (regerror) [!defined _LIBC]: Likewise.
117850         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
117851         (seek_collating_symbol_entry, lookup_collation_sequence_value):
117852         (build_range_exp, build_collating_symbol):
117853         Use K&R-style defn.
117854         (re_compile_fastmap): Use '\0' to memset, not 0.
117855         (utf8_sb_map): Make the calculations more obvious.
117856         (init_dfa, parse_bracket_exp, build_charclass_op):
117857         Call calloc and cast result, as glibc does.
117858         (init_word_char, fetch_token, peek_token, peek_token_bracket):
117859         (build_range_exp, build_collating_symbol):
117860         Now internal functions.
117862         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
117864         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
117865         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
117866         Don't depend on VMS; depend on __VMS instead, for POSIX
117867         namespace cleanness.
117868         (regoff_t): Define to ssize_t, not long int.
117870         Remove the REG_ macros named below.  Instead, make the old names
117871         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
117872         __USE_GNU_REGEX.
117873         (REG_BACKSLASH_ESCAPE_IN_LISTS):
117874         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
117875         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
117876         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
117877         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
117878         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
117879         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
117880         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
117881         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
117882         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
117883         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
117884         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
117885         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
117886         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
117887         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
117888         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
117889         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
117890         (REG_NREGS):
117891         Remove.  All uses replaced by the old RE_* names.
117892         (RE_BACKSLASH_ESCAPE_IN_LISTS):
117893         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
117894         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
117895         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
117896         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
117897         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
117898         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
117899         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
117900         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
117901         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
117902         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
117903         Don't bother having these macros be independent of each others'
117904         values, since they no longer exist in the POSIX name space.
117906         Rename the following member names back to their old names,
117907         unless !__USE_GNU_REGEX.  All uses changed back.
117908         (buffer): Renamed from re_buffer.
117909         (allocated): Renamed from re_allocated.
117910         (used): Renamed from re_used.
117911         (syntax): Renamed from re_syntax.
117912         (fastmap): Renamed from re_fastmap.
117913         (translate): Renamed from re_translate.
117914         (can_be_null): Renamed from re_can_be_null.
117915         (regs_allocated): Renamed from re_regs_allocated.
117916         (fastmap_accurate): Renamed from re_fastmap_accurate.
117917         (no_sub): Renamed from re_no_sub.
117918         (not_bol): Renamed from re_not_bol.
117919         (not_eol): Renamed from re_not_eol.
117920         (newline_anchor): Renamed from re_newline_anchor.
117921         (num_regs): Renamed from rm_num_regs.
117922         (start): Renamed from rm_start.
117923         (end): Renamed from rm_end.
117925         (free_state): Move up a bit.
117927         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
117928         #define to be empty.
117929         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
117930         when that is what is intended.
117931         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
117932         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
117933         (MAX): New macro.
117934         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
117935         All uses changed back to re_malloc, etc.  It's now the caller's
117936         responsibility to check for overflow; all callers changed.
117937         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
117938         (re_x2nrealloc): Remove.
117939         (free_state): Remove decl.
117941         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
117942         (re_set_registers, re_exec):
117943         Use K&R-style defn.
117945         2006-01-31  Roland McGrath  <roland@redhat.com>
117947         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
117948         Reported by Mike Frysinger <vapier@gentoo.org>.
117950         2006-01-15  Andreas Jaeger  <aj@suse.de>
117952         [BZ #1950]
117953         * lib/regex_internal.c (re_string_reconstruct): Adjust for
117954         build_wcs_upper_buffer change.
117955         (build_wcs_upper_buffer): Change return type.
117957         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
117959         * lib/regex_internal.h: Include <stdint.h> if available.
117961         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
117963         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
117965         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
117967         * lib/regcomp.c: Adjust for changed secondary hash function.
117969         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
117971         * lib/regex.h: Pretty printing.
117972         Clean up namespace a bit.
117974         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
117976         * lib/regexec.c (update_cur_sifted_state, check_arrival,
117977         check_arrival_add_next_nodes): Avoid using uninitialized variable.
117979         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
117980                     Ulrich Drepper  <drepper@redhat.com>
117982         [BZ #1302]
117983         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
117984         changed.
117985         (bitset_word_t): Renamed from bitset_word.  All uses changed.
117987         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
117989         [BZ #281]
117990         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
117991         * lib/regcomp.c: Remove unnecessary uses of
117992         unsigned RE_TRANSLATE_TYPE.
117993         * lib/regex_internal.h: Likewise.
117994         * lib/regex_internal.c: Likewise.
117995         * lib/regexec.c: Likewise.
117996         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
117998         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
118000         * lib/regexec.c (find_recover_state): Remove unnecessary
118001         initialization.
118002         (transit_state_bkref): Make DFA a const pointer.
118003         (get_subexp): Likewise.
118004         (check_arrival): Likewise.
118005         (update_cur_sifted_state): Likewise.
118006         (re_search_internal): Likewise.
118007         (prune_impossible_nodes): Likewise.
118008         (acquire_init_state_context): Likewise.
118009         (proceed_next_node): Likewise.
118010         (set_regs): Likewise.
118011         (free_fail_stack_return): Likewise.
118012         (check_arrival_expand_ecl): Mark DFA parameter as const.
118013         (check_arrival_expand_ecl_sub): Likewise.
118014         (check_subexp_limits): Likewise.
118015         (sub_epsilon_src_nodes):  Likewise.
118016         (add_epsilon_src_nodes):  Likewise.
118017         (merge_state_array): Likewise.
118018         (update_regs): Likewise.
118019         (build_trtable): Likewise.
118020         (sift_states_backward): Mark MCTX parameter as const.
118021         (build_sifted_states): Likewise.
118022         (update_cur_sifted_state): Likewise.
118023         (sift_states_mkref): Likewise.
118024         (check_arrival_expand_ecl): Mark eclosure as const.
118025         (check_dst_limits_calc_pos_1): Likewise.
118026         * lib/regex_internal.h (re_match_context_t): Make dfa a const
118027         pointer.
118029         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
118031         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
118032         (transit_state_sb): Likewise.
118033         (transit_state_mb): Likewise.
118034         (sift_states_iter_mb): Likewise.
118035         (check_arrival_add_next_nodes): Likewise.
118036         (check_node_accept_bytes): Change first parameter to pointer-to-const.
118037         [_LIBC] (re_search_2_stub): Use mempcpy.
118039         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
118040         mbrtowc for very simple UTF-8 case.
118042         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
118043         a pointer-to-const.
118044         (re_acquire_state_context): Likewise.
118045         * lib/regex_internal.h: Adjust prototypes.
118047         * lib/regex.c: Prevent using C++ compilers.
118049         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
118050         (re_acquire_state_context): Likewise.
118052 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
118054         * modules/regex (Depends-on): Add ssize_t.
118056 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
118058         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
118059         translation table.
118061 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
118063         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
118065 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
118066             Bruno Haible  <bruno@clisp.org>
118068         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
118069         <sys/types.h> and <inttypes.h>.
118071 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
118073         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
118074         `__error_t_defined', so argp.h will not typedef the former.
118076 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
118078         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
118079         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
118080         glibc names.  Even if glibc is changed to conform to POSIX, the
118081         traditional names will be available anyway, since regex depends on
118082         the extensions module.  Also, fix a longstanding typo in the
118083         implementation of Spencer ERE test #75 from grep 2.3.  Problems
118084         reported by Emanuele Giaquinta.  Also, change sense of cached
118085         variable, so that the message makes sense.
118087 2006-03-24  Simon Josefsson  <jas@extundo.com>
118089         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
118090         including some doc fixes.
118091         (base64_encode_alloc): Fix +1 bug on allocation failures.
118093 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
118095         * lib/base64.c (base64_encode): Do not read past end of array with
118096         unsanitized input on systems with CHAR_BIT > 8.
118098 2006-03-24  Eric Blake  <ebb9@byu.net>
118100         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
118102 2006-03-22  Karl Berry  <karl@gnu.org>
118104         * config/srclist.txt (*setenv.[ch]): get from coreutils.
118105         * config/srclistvars.sh (COREUTILS): new var.
118107 2006-03-17  Jim Meyering  <jim@meyering.net>
118109         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
118110         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
118112 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
118114         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
118115         no longer needs it.  Instead, check that regoff_t is as least
118116         as wide as ptrdiff_t.
118118         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
118119         so that our regex.h stays compatible with the installed regex.
118120         This is helpful for installers who configure --without-included-regex.
118121         Problem reported by Emanuele Giaquinta.
118123 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
118125         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
118126         Typedef to long int, not to off_, as POSIX will likely change
118127         in that direction.
118129 2006-03-15  Eric Blake  <ebb9@byu.net>
118131         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
118133 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
118135         * lib/argp-help.c (validate_uparams): Fix typo
118136         * lib/argp-parse.c (argp_default_options): Consistently begin help
118137         messages with a lowercase letter.
118139 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
118141         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
118142         overrun buffers and shouldn't be used (much as gets shouldn't be
118143         used).
118144         * lib/time_r.c (asctime_r, ctime_r): Likewise.
118146 2006-03-08  Simon Josefsson  <jas@extundo.com>
118148         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
118149         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
118151 2006-03-08  Simon Josefsson  <jas@extundo.com>
118153         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
118154         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
118156 2006-03-08  Simon Josefsson  <jas@extundo.com>
118158         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
118159         signal that configure disabled the device.
118161 2006-03-08  Simon Josefsson  <jas@extundo.com>
118163         * build-aux/maint.mk: Fix refresh-po, to handle no translated
118164         languages.
118166 2006-03-07  Simon Josefsson  <jas@extundo.com>
118168         * modules/getopt (Depends-on): Add unistd.
118170         * modules/unistd: New file.
118172 2006-03-07  Simon Josefsson  <jas@extundo.com>
118174         * modules/gc-random: New file.
118176 2006-03-07  Simon Josefsson  <jas@extundo.com>
118178         * m4/unistd_h.m4: New file.
118180 2006-03-07  Simon Josefsson  <jas@extundo.com>
118182         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
118183         test to be side-effect free by storing the result in the cache
118184         variable gl_cv_lib_readline, and moving the assignment of
118185         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
118186         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
118188 2006-03-07  Simon Josefsson  <jas@extundo.com>
118190         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
118191         error on missing devices (the functions will return an error).
118193         * m4/gc.m4: Move random stuff to gc-random.m4
118195 2006-03-07  Simon Josefsson  <jas@extundo.com>
118197         * lib/unistd_.h: New file.
118199 2006-03-07  Simon Josefsson  <jas@extundo.com>
118201         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
118203 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
118205         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
118206         Problem reported by Juan Manuel Guerrero.
118208 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
118210         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
118211         the unistd module.
118212         * lib/getlogin_r.c: Likewise.
118213         * lib/getlogin_r.h: Likewise.
118214         * lib/glob.c: Likewise.
118215         * lib/pagealign_alloc.c: Likewise.
118216         * lib/unistd_.h: Remove; no longer needed.
118218 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
118220         * MODULES.html.sh (Support for systems lacking POSIX:2001):
118221         Add unistd.
118222         * modules/c-stack (Depends-on): Add unistd.
118223         * modules/getlogin_r: Likewise.
118224         * modules/glob: Likewise.
118225         * modules/pagealign_alloc: Likewise.
118226         * modules/unistd (Files): Remove lib/unistd_.h.
118227         (EXTRA_DIST): Remove.
118228         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
118229         need unistd_.h.
118230         (MOSTLYCLEANFILES): Remove unistd.h-t.
118232 2006-03-03  Simon Josefsson  <jas@extundo.com>
118234         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
118236 2006-03-03  Simon Josefsson  <jas@extundo.com>
118238         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
118239         libidn and bison.
118241 2006-03-03  Simon Josefsson  <jas@extundo.com>
118243         * build-aux/maint.mk: Add indent target.
118245 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
118247         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
118248         our replacement poll.h in any case, to avoid a differing
118249         declaration from a system header.  Seen on AIX.
118251 2006-03-01  Simon Josefsson  <jas@extundo.com>
118253         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
118254         <kasal@ucw.cz>.
118256 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
118258         * modules/gettime (Depends-on): Add extensions module.
118259         * modules/nanosleep (Depends-on): Likewise.
118260         * modules/settime (Depends-on): Likewise.
118262 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
118264         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
118265         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
118266         pedantically.
118267         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
118268         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
118270         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
118271         not "==".  Reported by Ralf Wildenhues.
118273 2006-03-01  Karl Berry  <karl@gnu.org>
118275         * doc/Copyright/request-*: new files, synced from gnuorg.
118277 2006-03-01  Karl Berry  <karl@gnu.org>
118279         * config/srclist.txt (Copyright/*): new entries.
118281 2006-02-28  Simon Josefsson  <jas@extundo.com>
118283         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
118285 2006-02-27  Simon Josefsson  <jas@extundo.com>
118287         * lib/base64.h: Indent #define's.  From Jim Meyering
118288         <jim@meyering.net>.
118290 2006-02-27  Jim Meyering  <jim@meyering.net>
118292         Revert the change of 2006-02-24, so these files can continue
118293         to be sync'd from gettext.
118294         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
118295         of `config.h'.
118297 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
118299         * modules/intprops: New file.
118300         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
118301         Add intprops.
118302         * modules/getloadavg (Files): Remove lib/intprops.h.
118303         (Depends-on): Add intprops.
118304         * modules/human: Likewise.
118305         * modules/inttostr: Likewise.
118306         * modules/openat: Likewise.
118307         * modules/sig2str: Likewise.
118308         * modules/userspec: Likewise.
118309         * modules/utimecmp: Likewise.
118310         * modules/xnanosleep: Likewise.
118311         * modules/xstrtol: Likewise.
118313 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
118315         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
118316         * modules/lock-tests (TESTS): Use $(EXEEXT).
118317         * modules/tls-tests: Likewise.
118318         * modules/argp-tests: Likewise.
118319         (check_PROGRAMS): New var, replacing...
118320         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
118322 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
118324         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
118325         `config.h'.
118327 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
118329         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
118331 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
118333         Sync from coreutils.
118334         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
118335         gl_CHDIR_SAFER.
118337 2006-02-22  Jim Meyering  <jim@meyering.net>
118339         Sync from coreutils.
118340         * m4/chdir-safer.m4: New file.
118342 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
118344         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
118345         AT_FDCWD exceeds INT_MAX.
118346         * lib/openat.h (AT_FDCWD): Likewise.
118348 2006-02-17  Eric Blake  <address@hidden>
118350         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
118352 2006-02-16  Simon Josefsson  <jas@extundo.com>
118354         * modules/getaddrinfo (Depends-on): Add sys_socket.
118356 2006-02-15  Simon Josefsson  <jas@extundo.com>
118358         * build-aux/maint.mk: Add dsyntax-check rule.
118360 2006-02-15  Eric Blake  <ebb9@byu.net>
118362         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
118363         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
118364         'present but cannot compile' warnings on cygwin.
118365         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
118366         use ws2tcpip.h if sys/socket.h works.
118367         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
118368         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
118370 2006-02-14  Simon Josefsson  <jas@extundo.com>
118372         * modules/maintainer-makefile (Files): Rename.
118374         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
118375         and (the local) Makefile.cfg to maint-cfg.mk.
118377         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
118378         to the latter.
118380         * modules/maintainer-makefile: New module.
118382         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
118383         severaly stripped to make it possible to build it up from scratch
118384         with reliable tests.
118386         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
118387         fixes to permit overriding the default actions when configure and
118388         makefile are not available.
118390 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
118392         Sync from coreutils.
118393         * modules/lstat (Depends-on): Don't depend on xalloc.
118394         (License): Change from GPL to LGPL, since this is now simply a
118395         replacement for a libc function.
118397 2006-02-14  Jim Meyering  <jim@meyering.net>
118399         Sync from coreutils.
118401         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
118402         failure on deficient systems, and simplify gnulib lgpl dependencies.
118403         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
118404         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
118406         * lib/xalloc-die.c: Remove unused definition of N_.
118408 2006-02-14  Jim Meyering  <jim@meyering.net>
118410         Sync from coreutils.
118411         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
118412         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
118413         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
118414         double-quote uses of that variable, to accommodate the rare case in
118415         which getmntent is available in none of the libraries checked.  This
118416         happens at least on FreeBSD 5.0.
118418 2006-02-13  Simon Josefsson  <jas@extundo.com>
118420         * gnulib-tool (Usage): Fix --import, from
118421         karl@freefriends.org (Karl Berry).
118423 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
118425         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
118427 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
118429         * lib/argp-namefrob.h: Restore changes accidentally lost during the
118430         "autoupdate" on 2005-12-12.
118432 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
118434         * modules/closeout (Depends-on): Remove atexit.
118436 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
118438         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
118439         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
118441 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
118443         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
118444         __EXTENSIONS__ if this causes compilation to fail.  Problem
118445         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
118446         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
118448 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
118450         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
118451         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
118452         <http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
118453         All uses changed.
118455 2006-01-26  Simon Josefsson  <jas@extundo.com>
118457         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
118458         prototype is visible on mingw32.
118460         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
118461         for mingw32.
118463         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
118464         mingw32).
118466 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
118468         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
118469         attempt to open for write; this always fails, at least on POSIX
118470         hosts.  This reinstates the 2006-01-09 change, which was
118471         inadvertently removed.
118473 2006-01-26  Bruno Haible  <bruno@clisp.org>
118475         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
118476         Reported by Paul Eggert.
118478 2006-01-26  Bruno Haible  <bruno@clisp.org>
118479             Paul Eggert  <eggert@cs.ucla.edu>
118481         * lib/stdbool_.h (_Bool)
118482         [(! (defined __cplusplus || defined __BEOS__)
118483           && !defined __GNUC__
118484           && !(defined __HP_cc || defined __xlc__
118485                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
118486                || defined __sgi))]:
118487         #define to signed char in these cases too; this simplifies
118488         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
118489         etc., separately) and makes it more conservative.
118491 2006-01-25  Simon Josefsson  <jas@extundo.com>
118493         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
118494         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
118495         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
118497 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
118499         * lib/argp-namefrob.h: Bugfix. Remove stray #
118501 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
118503         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
118504         so that we test the test.
118505         Check for yet another HP-UX cc bug involving *bool |= bool.
118507 2006-01-25  Karl Berry  <karl@gnu.org>
118509         * config/srclist.txt (vasnprintf.c): sync lost.
118511 2006-01-25  Jim Meyering  <jim@meyering.net>
118513         Sync from the stable (b5) branch of coreutils:
118515         * lib/fts.c (fts_children): Don't let close() clobber errno from
118516         failed fchdir().
118518         * lib/fts.c (fts_stat): When following a symlink-to-directory,
118519         don't necessarily interpret stat-fails+lstat-succeeds as indicating
118520         a dangling symlink.  That can also happen at least for ELOOP.
118521         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
118522         FYI, this bug predates the inclusion of fts.c in coreutils.
118524         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
118525         in their own block, so pre-c99 compilers don't object.
118527         Avoid the double-free (first in fts_read, second in fts_close) that
118528         would occur when an `active' directory is made inaccessible (e.g.,
118529         via chmod a-x) during a traversal.
118530         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
118531         before returning.  Reproduce this failure by
118532         mkdir -p a/b; cd a; chmod a-x . b
118533         Reported by Stavros Passas.
118535 2006-01-25  Jim Meyering  <jim@meyering.net>
118537         * lib/fileblocks.c: Remove more useless parentheses.
118538         * lib/readutmp.h: Likewise.
118540 2006-01-25  Bruno Haible  <bruno@clisp.org>
118542         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
118543         warnings.
118544         Reported by Paul Eggert.
118546 2006-01-25  Bruno Haible  <bruno@clisp.org>
118548         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
118549         rid of a trap command. For Solaris sh.
118550         Reported by Mark D. Baushke <mdb@gnu.org>.
118552 2006-01-24  Simon Josefsson  <jas@extundo.com>
118554         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
118555         Bruno.
118557 2006-01-24  Karl Berry  <karl@gnu.org>
118559         * config/srclist.txt (argp-namefrob.h): sync lost.
118561 2006-01-24  Jim Meyering  <jim@meyering.net>
118563         * modules/openat (Files): Add lib/intprops.h.
118564         From Mark D. Baushke.
118566 2006-01-24  Jim Meyering  <jim@meyering.net>
118568         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
118569         Reported by Mark D. Baushke.
118571 2006-01-24  Jim Meyering  <jim@meyering.net>
118573         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
118575 2006-01-24  Bruno Haible  <bruno@clisp.org>
118577         * modules/strnlen (Maintainer): Change from glibc to all.
118579 2006-01-24  Bruno Haible  <bruno@clisp.org>
118581         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
118582         Patch by Paul Eggert.
118584 2006-01-24  Bruno Haible  <bruno@clisp.org>
118586         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
118587         already has it.
118588         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
118589         2005-11-26.
118591         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
118592         'signed char' to avoid problems with the built-in _Bool type.
118593         Reported by Paul Eggert on 2005-11-26.
118595 2006-01-24  Bruno Haible  <bruno@clisp.org>
118597         * gnulib-tool (func_import): Avoid constructing complicated sed
118598         expressions inside backquote.
118599         Report and solution by Mark D. Baushke <mdb@gnu.org>.
118601 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
118603         These changes imported from libc.
118604         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
118605         test and two separate function calls.
118606         * lib/strndup.c (__strndup): Add libc_hidden_def.
118608 2006-01-23  Simon Josefsson  <jas@extundo.com>
118610         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
118611         Remove the test_*_SOURCES variable: automake infers it by default.
118612         * modules/tls-tests: Likewise.
118614 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
118616         Work around porting bugs reported by Dieter in
118617         <http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
118618         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
118619         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
118620         Include "getopt.h" first, to check interface.
118621         (getenv): Declare only if defined HAVE_DECL_GETENV &&
118622         !HAVE_DECL_GETENV.
118623         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
118624         (__strndup): Revert to K&R-style function dfns, the glibc style.
118625         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
118626         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
118627         Include strnlen.h first, to get prototype properly.
118628         (strnlen): Renamed from __strnlen.
118629         Remove weak alias.
118631 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
118633         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
118635 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
118637         * config/srclist.txt: Adjust to reflect glibc reorganization.
118638         This affects only comments.
118640 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
118642          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
118643          Reported by Bruce Korb <bkorb@gnu.org>.
118645 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
118647         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
118648         to pacify gcc -Wswitch-default.
118650 2006-01-22  Bruno Haible  <bruno@clisp.org>
118652         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
118653         temporary buffer for sprintf, take into account the precision also
118654         for 'd', 'i', 'u', 'o', 'x', 'X'.
118656 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
118658         * modules/argp-tests: New module
118659         * tests/test-argp.c: New file
118660         * tests/test-argp-2.sh: New file
118662 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
118664         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
118665         (__argp_base_name): Removed
118666         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
118667         typo.
118668         (__argp_base_name): Provide macro definition or extern declaration
118669         depending on the configuration
118671 2006-01-20  Simon Josefsson  <jas@extundo.com>
118673         * modules/inet_ntop (Depends-on): Depend on sys_socket.
118675 2006-01-20  Simon Josefsson  <jas@extundo.com>
118677         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
118679 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
118681         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
118682         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
118683         Suggested by Bruno Haible.
118685 2006-01-20  Karl Berry  <karl@gnu.org>
118687         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
118688         until changes propagate, I guess.
118690 2006-01-19  Simon Josefsson  <jas@extundo.com>
118692         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
118694 2006-01-19  Simon Josefsson  <jas@extundo.com>
118696         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
118698 2006-01-19  Simon Josefsson  <jas@extundo.com>
118700         * gnulib-tool: Set check_PROGRAMS.
118702         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
118703         modules/des-tests, modules/gc-arcfour-tests,
118704         modules/gc-arctwo-tests, modules/gc-des-tests,
118705         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
118706         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
118707         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
118708         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
118709         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
118710         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
118711         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
118712         test_*_SOURCES.
118714 2006-01-18  Simon Josefsson  <jas@extundo.com>
118716         * modules/socklen (Depends-on): Depend on sys_socket.
118718 2006-01-18  Simon Josefsson  <jas@extundo.com>
118720         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
118721         modules/des-tests, modules/gc-arcfour-tests,
118722         modules/gc-arctwo-tests, modules/gc-des-tests,
118723         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
118724         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
118725         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
118726         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
118727         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
118728         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
118729         $(EXEEXT) to automake TESTS variable, for mingw32.
118731 2006-01-17  Simon Josefsson  <jas@extundo.com>
118733         * modules/socklen (Include): Need sys/socket.h.
118735 2006-01-17  Bruno Haible  <bruno@clisp.org>
118737         * modules/ssize_t (Include): Add <sys/types.h>.
118739 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
118741         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
118742         it's not portable and it doesn't work with cross-compiles.
118743         Problem reported by Bruno Haible.  Fix missing-$ typo in
118744         'test "gl_cv_ignore_unused_libraries" ...' that prevented
118745         -zignore from being used with Sun's C compiler.
118747 2006-01-12  Simon Josefsson  <jas@extundo.com>
118749         * lib/base64.c: Fix warning, reported by Bruno Haible
118750         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
118752 2006-01-12  Bruno Haible  <bruno@clisp.org>
118754         * modules/ldd: New file.
118755         * build-aux/ldd.sh.in: New file.
118756         * MODULES.html.sh (Support for building libraries and executables): Add
118757         ldd.
118759 2006-01-12  Bruno Haible  <bruno@clisp.org>
118761         * m4/ldd.m4: New file.
118763 2006-01-12  Bruno Haible  <bruno@clisp.org>
118765         * gnulib-tool (func_import, func_create_testdir): Don't go into an
118766         endless loop while replacing $auxdir with build-aux.
118768 2006-01-11  Simon Josefsson  <jas@extundo.com>
118770         * lib/stdint_.h (SIZE_MAX): Add missing (.
118772 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
118774         Sync from coreutils.
118775         * lib/md5.c: Fix commentary typos.
118776         (alignof, UNALIGNED_P): No need for a GCC-specific version.
118777         * lib/md5.h (__attribute__): Remove; unused.
118778         * lib/sha1.c: Fix commentary to match md5 better.
118779         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
118780         so that we don't need to worry about alignment.  All uses changed.
118781         This merges the 2005-10-28 md5 change into sha1.
118783 2006-01-11  Jim Meyering  <jim@meyering.net>
118785         Sync from coreutils.
118786         * lib/md5.c (OP): Fix spacing.
118788 2006-01-11  Bruno Haible  <bruno@clisp.org>
118790         Ensure automatic ordering between gl_LOCK and gl_ARGP.
118791         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
118792         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
118794 2006-01-11  Bruno Haible  <bruno@clisp.org>
118796         Ensure automatic ordering between gl_LOCK and gl_ARGP.
118797         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
118798         the "early" section as well.
118800 2006-01-11  Bruno Haible  <bruno@clisp.org>
118802         Avoid "ar: no archive members specified" error on MacOS X.
118803         * gnulib-tool (func_modules_add_dummy): New function.
118804         (func_import, func_create_testdir): Invoke it.
118806 2006-01-11  Bruno Haible  <bruno@clisp.org>
118808         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
118809         with $auxdir in AC_CONFIG_FILES statements.
118811 2006-01-11  Bruno Haible  <bruno@clisp.org>
118813         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
118814         Initialize also noinst_HEADERS to empty.
118816 2006-01-11  Bruno Haible  <bruno@clisp.org>
118818         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
118819         variables.
118820         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
118821         autoreconf.
118823 2006-01-11  Bruno Haible  <bruno@clisp.org>
118825         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
118826         overridable by the user.
118827         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
118829 2006-01-10  Simon Josefsson  <jas@extundo.com>
118831         * modules/sys_socket: New file.
118833 2006-01-10  Simon Josefsson  <jas@extundo.com>
118835         * m4/sys_socket_h.m4: New file.
118837 2006-01-10  Simon Josefsson  <jas@extundo.com>
118839         * lib/socket_.h: New file.
118841 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
118843         * modules/readutmp (Maintainer): Add myself.
118845 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
118847         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
118848         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
118849         People who are still concerned with buggy memcmp implementations
118850         can invoke gl_FUNC_MEMCMP themselves.
118852 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
118854         * lib/regex_internal.h (BITSET_WORD_BITS):
118855         Work around a bug in 64-bit PGC (before version 6.1-2), where the
118856         preprocessor mishandles large unsigned values as if they were signed.
118857         Problem reported by Claudio Fontana in
118858         <http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.
118860 2006-01-10  Jim Meyering  <jim@meyering.net>
118862         Avoid the double-free (first in fts_read, second in fts_close) that
118863         would occur when an `active' directory is made inaccessible (e.g.,
118864         via chmod a-x) during a traversal.
118865         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
118866         before returning.  Reproduce this failure by
118867         mkdir -p a/b; cd a; chmod a-x . b
118868         Reported by Stavros Passas.
118870         Sync from coreutils.
118871         * lib/sha1.c: Tweak grammar in a comment.
118873 2006-01-10  Jim Meyering  <jim@meyering.net>
118875         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
118876         Patch by Joerg Sonnenberger.
118878 2006-01-10  Bruno Haible  <bruno@clisp.org>
118880         * modules/readutmp: Depend on module free.
118881         * modules/strtok_r: Depend on module restrict.
118883 2006-01-10  Bruno Haible  <bruno@clisp.org>
118885         * modules/gettext (configure.ac): Add an invocation of
118886         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
118888 2006-01-10  Bruno Haible  <bruno@clisp.org>
118890         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
118891         Reported by Werner Lemberg <wl@gnu.org>.
118893 2006-01-10  Bruno Haible  <bruno@clisp.org>
118895         * lib/localcharset.c: Update from GNU gettext.
118897 2006-01-10  Bruno Haible  <bruno@clisp.org>
118899         * lib/argp.h (__const): Remove macro. Use const instead.
118900         * lib/argp-fmtstream.h (__const): Likewise.
118901         * lib/glob_.h (__const): Remove macro.
118902         * lib/glob-libc.h: Use const instead of __const.
118904 2006-01-10  Bruno Haible  <bruno@clisp.org>
118906         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
118907         variable.
118908         Needed to avoid an automake error regarding the 'gettext' module.
118910 2006-01-09  Simon Josefsson  <jas@extundo.com>
118912         * modules/inet_ntop (Depends-on): Add restrict.
118914 2006-01-09  Simon Josefsson  <jas@extundo.com>
118916         * modules/gc-rijndael-tests (License): Put under LGPL.
118918         * modules/gc-des-tests (License): Likewise.
118920         * modules/gc-arcfour-tests (License): Likewise.
118922         * modules/gc-arctwo-tests (License): Likewise.
118924         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
118926         * modules/gc-hmac-sha1-tests (Files): Likewise.
118928         * modules/gc-hmac-md5-tests (License): Likewise.
118930         * modules/gc-sha1-tests (License): Likewise.
118932         * modules/gc-md5-tests (License): Likewise.
118934         * modules/gc-md4-tests (License): Likewise.
118936         * modules/gc-md2-tests (License): Likewise.
118938         * modules/gc-tests (License): Likewise.
118940         * modules/des-tests (License): Likewise.
118942         * modules/md4-tests (License): Likewise.
118944         * modules/md2-tests (License): Likewise.
118946 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
118948         Sync from coreutils:
118950         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
118951         * modules/lib-ignore: New file.
118952         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
118953         chdir-safer.m4, lchmod.m4.
118954         * modules/openat: Add mkdirat.c, openat-priv.h.
118956 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
118958         Sync from coreutils.
118959         * m4/lib-ignore.m4: New file.
118960         * m4/lchmod.m4: New file.
118962 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
118964         Sync from coreutils.
118965         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
118966         for write access: POSIX says that must fail.
118967         * lib/fts.c (diropen): Likewise.
118968         * lib/save-cwd.c (save_cwd): Likewise.
118969         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
118970         well, for minor improvements on hosts that lack O_DIRECTORY.
118971         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
118972         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
118973         Fall back on chown if open failed with EACCES.
118975         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
118976         Report an error at compile-time if only a 1-second nominal clock
118977         resolution is found.
118979         * lib/lchmod.h: New file.
118980         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
118981         (make_dir_parents): Use lchown rather than chown, and
118982         lchmod rather than chmod.
118984         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
118985         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
118986         "proc" reported by n0dalus.
118988         * lib/mountlist.c: Include <limits.h>.
118989         (dev_from_mount_options)
118990         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
118991         New function.  It no longer assumes "dev=" has the System V meaning
118992         on Linux (since it doesn't).  It also parses "dev=" more carefully.
118993         (read_file_system_list)
118994         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
118995         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
118996         dev= in that case.
118998         * lib/posixtm.h (PDS_PRE_2000): New macro.
118999         * lib/posixtm.c (year): Arg is now syntax_bits rather than
119000         allow_century.  All usages changed.  Reject dates outside the range
119001         1969-1999 if PDS_PRE_2000 is used.
119003 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
119005         Sync from coreutils.
119006         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
119007         (Time of day items): Mention the possibility of leap seconds.
119008         Problem reported by Dr. David Alan Gilbert.
119010 2006-01-09  Jim Meyering  <jim@meyering.net>
119012         Sync from coreutils.
119014         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
119016         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
119018         * lib/modechange.c (mode_compile): Reject an invalid mode string
119019         that starts with an octal digit.  From Andreas Gruenbacher.
119021         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
119022         and dup to open_safer and dup_safer, respectively.
119023         (openat_permissive): Fix typo in comment.
119025         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
119026         "gettext.h"; either no longer needed or are guaranteed by openat.h.
119027         (_): Remove; no longer needed.
119028         (openat): Renamed from rpl_openat; no need for rpl_openat
119029         since openat.h renames openat for us.
119030         Replace most of the body with a call to openat_permissive,
119031         to avoid duplicate code.
119032         Port to (probably hypothetical) environments were mode_t is
119033         wider than int.
119034         (openat_permissive): Require mode arg, so that we can check
119035         types better.  Put it just after flags.  Change cwd failure
119036         indicator from pointer-to-bool to pointer-to-errno-value.
119037         All callers changed.
119038         Invoke openat_save_fail and/or openat_restore_fail if
119039         cwd_errno is null, so that openat can call us.
119040         (openat_permissive, fdopendir, fstatat, unlinkat):
119041         Simplify errno handling to avoid some duplicate code,
119042         as it's OK to set errno on success.
119043         * lib/openat.h: Revamp code so that function macros depend on
119044         __OPENAT_PREFIX only, not also on AT_FDCWD.
119045         (openat_ro): Remove.  Caller changed to use openat_permissive.
119046         (openat_permissive): Now a macro, if not a function.
119047         (openat_restore_fail, openat_save_fail): Now always functions,
119048         since mkdirat needs them even if __OPENAT_PREFIX is defined.
119050         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
119051         and openat.c.
119052         * lib/mkdirat.c: Include openat-priv.h.
119053         Remove definitions of macros defined therein.
119054         * lib/openat.c: Likewise.
119056         * lib/mkdirat.c (mkdirat): New file and function.
119057         * lib/openat.h (mkdirat): Declare.
119059         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
119061         * lib/openat.h (openat_permissive): Declare.
119062         (openat_ro): Define.
119064         * lib/openat.c (EXPECTED_ERRNO): New macro.
119065         (openat_permissive): New function -- used in remove.c rewrite.
119066         (all functions): Set errno just before returning, only if there
119067         was an actual failure.
119068         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
119070         Emulate openat-family functions using Linux's procfs, if possible.
119071         Idea and some code based on Ulrich Drepper's glibc changes.
119073         * lib/openat.c: (BUILD_PROC_NAME): New macro.
119074         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
119075         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
119076         before falling back on save_cwd and restore_cwd.
119077         (fdopendir, fstatat, unlinkat): Likewise.
119079         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
119080         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
119082         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
119083         as second argument to va_arg.  Otherwise, some versions of gcc
119084         warn that `if this code is reached, the program will abort'.
119086 2006-01-09  Jim Meyering  <jim@meyering.net>
119088         Sync from coreutils.
119089         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
119090         Require openat-priv.h.
119092 2006-01-09  Bruno Haible  <bruno@clisp.org>
119094         * modules/strnlen (Include): Use strnlen.h.
119096 2006-01-09  Bruno Haible  <bruno@clisp.org>
119098         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
119100 2006-01-09  Bruno Haible  <bruno@clisp.org>
119102         * lib/sysexit_.h (EX_OK): New macro.
119103         Suggested by Martin Lambers <marlam@marlam.de>.
119105 2006-01-09  Bruno Haible  <bruno@clisp.org>
119107         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
119108         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
119110 2006-01-09  Bruno Haible  <bruno@clisp.org>
119112         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
119113         numbers.
119115 2006-01-09  Bruno Haible  <bruno@clisp.org>
119117         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
119118         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
119119         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
119120         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
119122 2006-01-09  Bruno Haible  <bruno@clisp.org>
119124         * build-aux/javacomp.sh.in: New file, moved from lib/.
119125         * modules/javacomp-script (Files): Update.
119126         (configure.ac): Add AC_CONFIG_FILES invocation.
119127         (EXTRA_DIST): Remove variable.
119129         * build-aux/javaexec.sh.in: New file, moved from lib/.
119130         * modules/javaexec (Files): Update.
119131         (configure.ac): Add AC_CONFIG_FILES invocation.
119132         (EXTRA_DIST): Remove javaexec.sh.in.
119134         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
119135         * modules/csharpcomp-script (Files): Update.
119136         (configure.ac): Add AC_CONFIG_FILES invocation.
119137         (EXTRA_DIST): Remove variable.
119139         * build-aux/csharpexec.sh.in: New file, moved from lib/.
119140         * modules/csharpexec (Files): Update.
119141         (configure.ac): Add AC_CONFIG_FILES invocation.
119142         (EXTRA_DIST): Remove csharpexec.sh.in.
119144 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
119146         Sync from coreutils.
119148         Add POSIX ACL support
119149         * lib/acl.h (copy_acl, set_acl): Add declarations.
119150         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
119151         systems other than Linux.
119152         (chmod_or_fchmod): New function: use fchmod when possible,
119153         and chmod otherwise.
119154         (file_has_acl): Add a POSIX ACL implementation, with a
119155         Linux-specific subcase.
119156         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
119157         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
119158         acls are unsupported.
119159         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
119160         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
119161         are unsupported.
119163 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
119165         Sync from coreutils.
119166         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
119168 2006-01-07  Bruno Haible  <bruno@clisp.org>
119170         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
119171         gl_EARLY.
119173 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
119175         * lib/strftime.c (tzname): Don't declare if it is already #defined.
119176         Problem reported for Mingw by Mark Junker.
119178 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
119180         * README: Gnulib normally doesn't generate a tarball.
119182 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
119184         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
119185         long int, not int, for nanosecond counts, so that people who are
119186         used to POSIX struct timespec won't be surprised.  Reported by Jim
119187         Meyering.
119189 2005-12-28  Bruno Haible  <bruno@clisp.org>
119191         * build-aux/config.rpath: Update from GNU gettext.
119193 2005-12-16  Jim Meyering  <jim@meyering.net>
119195         * modules/fprintftime: New module.
119196         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
119198 2005-12-16  Jim Meyering  <jim@meyering.net>
119200         * m4/fprintftime.m4: New file.
119202 2005-12-16  Jim Meyering  <jim@meyering.net>
119204         * lib/fprintftime.c, lib/fprintftime.h: New files.
119206 2005-12-15  Simon Josefsson  <jas@extundo.com>
119208         * modules/socklen (configure.ac): Fix M4 macro name, to align with
119209         new m4/socklen.m4.
119211 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
119213         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
119214         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
119216 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
119218         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
119219         * lib/argp-help.c (fill_in_uparams): Check if the constructed
119220         struct uparams is valid. Fall back to the default values if it is
119221         not.
119223 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
119225         * modules/argp (Files): Add argp-pin.c
119226         (Depends-on): dirname
119227         (lib_SOURCES): Add argp-pin.c
119229 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
119231         * m4/argp.m4:  Check if program_invocation_name and
119232         program_invocation_short_name are declared and define appropriate
119233         macros if they are not.
119235 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
119237         * lib/argp-help.c (__argp_base_name): New function
119238         (__argp_short_program_name): Rewrite using __argp_base_name
119239         * lib/argp-namefrob.h: Define program_invocation_name and
119240         program_invocation_short_name if requested
119241         (__argp_base_name): Add prototype
119242         * lib/argp-parse.c (argp_def): Use gettext wrappers
119243         (argp_default_parser): Use __argp_base_name
119244         * lib/argp-pin.c: New file. Defines program_invocation_name and
119245         program_invocation_short_name on systems that lack them.
119247 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
119249         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
119250         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
119251         porting problem reported by Georg Schwarz in
119252         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
119254 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
119256         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
119257         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
119258         porting problem reported by Georg Schwarz in
119259         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
119261 2005-12-05  Bruno Haible  <bruno@clisp.org>
119263         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
119264         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
119265         Reported by Mark Junker <mjscod@gmx.de>.
119267 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
119269         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
119270         Use implementation from Albert Chin, with some
119271         comments/corrections by Stepan Kasal and myself.
119273 2005-12-02  Bruno Haible  <bruno@clisp.org>
119275         * gnulib-tool (func_import): Accept GPLed build tool modules when
119276         --lgpl is given.
119277         * modules/csharpcomp-script: New file.
119278         * modules/csharpcomp: Depend on it.
119279         * modules/javacomp-script: New file.
119280         * modules/javacomp: Depend on it.
119281         Suggested by Simon Josefsson.
119283 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
119285         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
119286         statement, to work around an HP-UX 10.20 compiler bug reported by
119287         Peter O'Gorman.
119289 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
119291         * modules/savedir (Depends-on): Add openat.
119293 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
119295         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
119296         (uintmax_t) [defined uintmax_t]: Do not declare.
119297         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
119298         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
119299         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
119300         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
119301         sake of portability to weird hosts that C allows (though we don't
119302         know of any practical examples).
119304         * lib/savedir.h (fdsavedir): New decl.
119305         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
119306         contains most of the former guts of savedir.
119307         (savedir): Use savedirstream.
119308         Include "openat.h".
119310 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
119312         * modules/obstack (Files): Add m4/ulonglong.m4.
119313         Problem reported by Davide Angelocola.
119315 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
119317         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
119318         coreutils no longer futzes with rounding modes.
119320 2005-11-14  Jim Meyering  <jim@meyering.net>
119322         * lib/mkstemp-safer.c: Include <config.h>, required for possible
119323         replacement of mkstemp.
119325 2005-11-10  Simon Josefsson  <jas@extundo.com>
119327         * lib/readline.c: Remove EOL.
119329 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
119331         * modules/gethrxtime (Depends-on): Add gettime.
119333 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
119335         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
119336         or gettimeofday; no longer needed.
119338 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
119340         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
119341         time business.
119342         (gethrxtime) [! (HAVE_NANOUPTIME
119343         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
119344         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
119345         our own approximation.
119347 2005-11-08  Eric Blake  <ebb9@byu.net>
119349         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
119351 2005-11-08  Eric Blake  <ebb9@byu.net>
119353         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
119355 2005-11-04  Bruno Haible  <bruno@clisp.org>
119357         * gnulib-tool: Implement --update mode.
119359 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
119361         Fix porting problem reported by Theodoros V. Kalamatianos.
119362         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
119363         Don't assume that futimes failing means we must fail.
119365 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
119367         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
119368         variables to suggest the intended function of the PATH_MAX check.
119370 2005-10-30  Kean Johnston  <jkj@sco.com>
119372         Trivial changes to support SCO systems.
119373         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
119374         as PATH_MAX.
119375         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
119376         where __ptr is null when no I/O is pending.
119378 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
119380         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
119381         leave errno alone.  Problem reported by Dmitry V. Levin.
119383 2005-10-28  Simon Josefsson  <jas@extundo.com>
119385         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
119386         Test more.
119388         * tests/test-gc-md2.c, tests/test-md2.c: New files.
119390         * modules/md2, modules/md2-tests: New files.
119392 2005-10-28  Simon Josefsson  <jas@extundo.com>
119394         * m4/inet_ntop.m4: More tests.
119396         * m4/gc-md2.m4, md2.m4: New file.
119398 2005-10-28  Simon Josefsson  <jas@extundo.com>
119400         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
119401         "restrict" keywords, as per POSIX.  Protect the function
119402         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
119403         Don't use K&R prototypes.  Check the sprintf return values.
119404         Re-define EAFNOSUPPORT if not present.  Indent.
119406         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
119407         suggested by Bruno Haible <bruno@clisp.org>.
119409         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
119411         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
119413         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
119414         libgcrypt).
119416         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
119418         * lib/md2.h, lib/md2.c: New files.
119420 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
119422         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
119423         errno alone.  Problem reported by Frederic Jolliton.
119425 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
119427         * modules/verify (License): Change from GPL to LGPL.  This is a
119428         tiny module and there are apparently near-equivalents that are
119429         under the BSD license.
119431 2005-10-24  Simon Josefsson  <jas@extundo.com>
119433         * modules/sha1: Relicense to LGPL.
119435 2005-10-24  Simon Josefsson  <jas@extundo.com>
119437         * lib/md4.h: Shrink buffer size, now that we changed the type.
119439 2005-10-23  Simon Josefsson  <jas@extundo.com>
119441         * gnulib-tool (func_import): Fix --tests-base.
119443 2005-10-22  Simon Josefsson  <jas@extundo.com>
119445         * modules/arcfour (Depends-on): Need stdint.
119447 2005-10-22  Simon Josefsson  <jas@extundo.com>
119449         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
119450         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
119452 2005-10-22  Simon Josefsson  <jas@extundo.com>
119454         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
119455         suggested by Bruno Haible <bruno@clisp.org>.
119457 2005-10-22  Simon Josefsson  <jas@extundo.com>
119459         * lib/crc.h: Include stddef.h, for size_t.
119461 2005-10-22  Simon Josefsson  <jas@extundo.com>
119463         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
119464         arcfour_context struct (simplify test vector testing in GNU
119465         Shishi).
119467 2005-10-21  Simon Josefsson  <jas@extundo.com>
119469         * modules/des, modules/des-tests: New files.
119471         * modules/gc-des, modules/gc-des-tests: New files.
119473         * tests/test-des.c, tests/test-gc-des.c: New file.
119475 2005-10-21  Simon Josefsson  <jas@extundo.com>
119477         * modules/arctwo, modules/arctwo-tests: New files.
119479         * tests/test-arctwo.c: New file.
119481         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
119483         * tests/test-gc-arctwo.c: New file.
119485 2005-10-21  Simon Josefsson  <jas@extundo.com>
119487         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
119488         Bruno Haible <bruno@clisp.org>.
119490         * m4/gc-des.m4: New file.
119492 2005-10-21  Simon Josefsson  <jas@extundo.com>
119494         * m4/arctwo.m4: New file.
119496         * m4/gc-arctwo.m4: New file.
119498 2005-10-21  Simon Josefsson  <jas@extundo.com>
119500         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
119501         block.
119503 2005-10-21  Simon Josefsson  <jas@extundo.com>
119505         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
119506         <bruno@clisp.org>.
119508         * lib/hmac-sha1.c (hmac_sha1): Likewise.
119510         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
119511         Bruno Haible <bruno@clisp.org>.
119513         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
119514         <bruno@clisp.org>.
119516 2005-10-21  Simon Josefsson  <jas@extundo.com>
119518         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
119520 2005-10-21  Simon Josefsson  <jas@extundo.com>
119522         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
119524 2005-10-21  Simon Josefsson  <jas@extundo.com>
119526         * lib/des.h, lib/des.c: New files.
119528         * lib/gc-gnulib.c: Support DES.c
119530 2005-10-21  Simon Josefsson  <jas@extundo.com>
119532         * lib/arctwo.h, lib/arctwo.c: New files.
119534         * lib/gc-gnulib.c: Support ARCTWO.
119536 2005-10-21  Simon Josefsson  <jas@extundo.com>
119538         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
119539         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
119541 2005-10-21  Simon Josefsson  <jas@extundo.com>
119543         * gnulib-tool (func_import, func_create_testdir): Define automake
119544         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
119545         Makefile.am snippet),
119546         suggested by Bruno Haible <bruno@clisp.org>.
119548         * modules/gc (Makefile.am): Use it.
119550 2005-10-21  Bruno Haible  <bruno@clisp.org>
119552         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
119553         patch.
119555 2005-10-19  Simon Josefsson  <jas@extundo.com>
119557         * tests/test-gc-rijndael.c: New file.
119559         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
119561 2005-10-19  Simon Josefsson  <jas@extundo.com>
119563         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
119564         interface too.
119566 2005-10-19  Simon Josefsson  <jas@extundo.com>
119568         * tests/test-gc-arcfour.c: New file.
119570         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
119572 2005-10-19  Simon Josefsson  <jas@extundo.com>
119574         * modules/gc-md4, modules/gc-md4-tests: New file.
119576         * tests/test-gc-md4.c: New file.
119578 2005-10-19  Simon Josefsson  <jas@extundo.com>
119580         * m4/gc-md4.m4: New file.
119582 2005-10-19  Simon Josefsson  <jas@extundo.com>
119584         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
119585         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
119586         <kasal@ucw.cz>.
119588 2005-10-19  Simon Josefsson  <jas@extundo.com>
119590         * m4/gc-arcfour.m4: New file.
119592         * m4/gc-rijndael.m4: New file.
119594 2005-10-19  Simon Josefsson  <jas@extundo.com>
119596         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
119598 2005-10-19  Simon Josefsson  <jas@extundo.com>
119600         * lib/gc-gnulib.c: Support ARCFOUR.
119602 2005-10-19  Simon Josefsson  <jas@extundo.com>
119604         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
119605         support.
119607         * lib/gc.h: Add ECB enum type.
119609         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
119611 2005-10-18  Simon Josefsson  <jas@extundo.com>
119613         * tests/test-md5.c: New file.
119615         * modules/md5-tests: New file.
119617 2005-10-18  Simon Josefsson  <jas@extundo.com>
119619         * tests/test-md4.c: New file.
119621         * modules/md4, modules/md4-tests: New files.
119623 2005-10-18  Simon Josefsson  <jas@extundo.com>
119625         * m4/md4.m4: New file.
119627 2005-10-18  Simon Josefsson  <jas@extundo.com>
119629         * lib/md4.h, lib/md4.c: New files, based on md5.?.
119631 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
119633         * gnulib-tool (func_create_testdir): Omit the second check whether
119634         BUILT_SOURCES in nonempty.
119636 2005-10-17  Simon Josefsson  <jas@extundo.com>
119638         * tests/test-rijndael.c: New file.
119640 2005-10-17  Simon Josefsson  <jas@extundo.com>
119642         * modules/sha1: Depend on stdint instead of md5.
119644         * modules/md5: Depend on stdint, remove uint32_t.
119646 2005-10-17  Simon Josefsson  <jas@extundo.com>
119648         * modules/gc-sha1-tests: New file.
119650         * tests/test-gc-sha1.c: New file.
119652 2005-10-17  Simon Josefsson  <jas@extundo.com>
119654         * m4/md5.m4: Remove call to uint32_t.m4.
119656 2005-10-17  Simon Josefsson  <jas@extundo.com>
119658         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
119660         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
119661         md5.h.
119663         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
119665         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
119667 2005-10-17  Simon Josefsson  <jas@extundo.com>
119669         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
119671 2005-10-17  Simon Josefsson  <jas@extundo.com>
119673         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
119675 2005-10-17  Simon Josefsson  <jas@extundo.com>
119677         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
119679         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
119681 2005-10-17  Bruno Haible  <bruno@clisp.org>
119683         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
119684         that it can also be used in a test.
119686 2005-10-16  Bruno Haible  <bruno@clisp.org>
119688         * gnulib-tool (func_emit_tests_Makefile_am): Also define
119689         TESTS_ENVIRONMENT, so that individual tests can augment it.
119691         * gnulib-tool (func_create_testdir): Use an intermediate target for
119692         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
119693         macros, like $(ALLOCA_H), which cannot be passed through the command
119694         line.
119696 2005-10-15  Simon Josefsson  <jas@extundo.com>
119698         * modules/rijndael-tests: New file.
119700         * modules/rijndael: New file.
119702 2005-10-15  Simon Josefsson  <jas@extundo.com>
119704         * m4/rijndael.m4: New file.
119706 2005-10-15  Simon Josefsson  <jas@extundo.com>
119708         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
119710         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
119712 2005-10-14  Simon Josefsson  <jas@extundo.com>
119714         * tests/test-arcfour.c: New file.
119716         * modules/arcfour, modules/arcfour-tests: New files.
119718 2005-10-14  Simon Josefsson  <jas@extundo.com>
119720         * m4/arcfour.m4: New file.
119722 2005-10-14  Simon Josefsson  <jas@extundo.com>
119724         * lib/arcfour.h, lib/arcfour.c: New files.
119726 2005-10-14  Roland McGrath  <roland@redhat.com>
119728         Import from libc.  [BZ #1331]
119729         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
119730         macro argument.
119731         Reported by Matej Vela <vela@debian.org>.
119733 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
119735         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
119736         include <wchar.h>; no longer needed.
119738 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
119740         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
119742 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
119743         and  Ulrich Drepper  <drepper@redhat.com>
119745         Import from libc.
119746         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
119747         instead of inline stream orientation test and two separate
119748         function calls.  Pay no attention to USE_IN_LIBIO.
119750 2005-10-13  Simon Josefsson  <jas@extundo.com>
119752         * modules/gc-hmac-md5-tests: New file.
119754         * tests/test-gc-hmac-sha1.c: New file.
119756         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
119758         * modules/gc-hmac-md5-tests: New file.
119760         * tests/test-gc-md5.c: New file.
119762         * modules/gc-md5-tests: New file.
119764 2005-10-13  Simon Josefsson  <jas@extundo.com>
119766         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
119767         Move memory allocation outside of loop.
119769 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
119771         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
119772         intermediate directory is in a read-only file system.  Problem
119773         reported by Eric Blake.
119775 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
119777         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
119779 2005-10-12  Simon Josefsson  <jas@extundo.com>
119781         * tests/test-hmac-sha1.c: New file.
119783         * modules/hmac-sha1-tests: New file.
119785         * modules/hmac-sha1: New file.
119787 2005-10-12  Simon Josefsson  <jas@extundo.com>
119789         * modules/gc-sha1: New file.
119791 2005-10-12  Simon Josefsson  <jas@extundo.com>
119793         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
119795         * tests/test-gc-pbkdf2-sha1.c: New file.
119797 2005-10-12  Simon Josefsson  <jas@extundo.com>
119799         * modules/gc-md5, modules/gc-hmac-md5: New files.
119801         * modules/gc (Files): Remove md5, memxor and hmac files.
119803 2005-10-12  Simon Josefsson  <jas@extundo.com>
119805         * m4/gc-pbkdf2-sha1.m4: New file.
119807         * m4/gc-hmac-sha1.m4: New file.
119809         * m4/gc-sha1: New file.
119811         * m4/hmac-sha1.m4: New file.
119813 2005-10-12  Simon Josefsson  <jas@extundo.com>
119815         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
119817         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
119819 2005-10-12  Simon Josefsson  <jas@extundo.com>
119821         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
119822         suggested by Bruno Haible <bruno@clisp.org>.
119824 2005-10-12  Simon Josefsson  <jas@extundo.com>
119826         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
119828 2005-10-12  Simon Josefsson  <jas@extundo.com>
119830         * lib/gc-pbkdf2-sha1.c: New file.
119832         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
119834 2005-10-12  Simon Josefsson  <jas@extundo.com>
119836         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
119838         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
119840 2005-10-12  Simon Josefsson  <jas@extundo.com>
119842         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
119843         GC_USE_HMAC_MD5, respectively.
119845         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
119846         (gc_md5): Fix typo.
119848         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
119850         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
119852         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
119854 2005-10-12  Bruno Haible  <bruno@clisp.org>
119856         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
119857         Reported by Stepan Kasal <kasal@ucw.cz>.
119859 2005-10-11  Simon Josefsson  <jas@extundo.com>
119861         * tests/test-crc.c: New file.
119863         * modules/crc, modules/crc-tests: New files.
119865 2005-10-11  Simon Josefsson  <jas@extundo.com>
119867         * m4/crc.m4: New file.
119869 2005-10-11  Simon Josefsson  <jas@extundo.com>
119871         * lib/gc.h: Add gc_hash and gc_hash_buffer.
119873         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
119875         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
119877 2005-10-11  Simon Josefsson  <jas@extundo.com>
119879         * lib/crc.h, lib/crc.c: New files.
119881         * lib/gc.h (gc_hash_buffer): Add doc.
119883 2005-10-11  Bruno Haible  <bruno@clisp.org>
119885         * modules/c-strcasestr: New file.
119886         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
119888 2005-10-11  Bruno Haible  <bruno@clisp.org>
119890         * modules/c-strcase: New file.
119891         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
119893 2005-10-11  Bruno Haible  <bruno@clisp.org>
119895         * lib/strcasecmp.c: Include limits.h.
119896         (strcasecmp): Avoid integer overflow on exotic platforms.
119897         * lib/strncasecmp.c: Include limits.h.
119898         (strncasecmp): Avoid integer overflow on exotic platforms.
119899         Reported by Paul Eggert.
119901 2005-10-11  Bruno Haible  <bruno@clisp.org>
119903         * lib/c-strcasestr.h: New file, from GNU gettext.
119904         * lib/c-strcasestr.c: New file, from GNU gettext.
119906 2005-10-11  Bruno Haible  <bruno@clisp.org>
119908         * lib/c-strcase.h: New file, from GNU gettext.
119909         * lib/c-strcasecmp.c: New file, from GNU gettext.
119910         * lib/c-strncasecmp.c: New file, from GNU gettext.
119912 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
119914         * modules/mempcpy (License): GPL -> LGPL.
119915         * modules/strchrnul (License): Likewise.
119916         * modules/sysexits (License): Likewise.
119918 2005-10-08  Simon Josefsson  <jas@extundo.com>
119920         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
119922 2005-10-07  Simon Josefsson  <jas@extundo.com>
119924         * m4/memxor.m4: Remove gl_C_RESTRICT call.
119926 2005-10-06  Simon Josefsson  <jas@extundo.com>
119928         * tests/test-hmac-md5.c: New file.
119930         * modules/hmac-md5-tests: New file.
119932         * modules/hmac-md5: New file.
119934 2005-10-06  Simon Josefsson  <jas@extundo.com>
119936         * m4/hmac-md5.m4: New file.
119938         * m4/memxor.m4: Require gl_C_RESTRICT.
119940 2005-10-06  Simon Josefsson  <jas@extundo.com>
119942         * lib/memxor.c (memxor): Avoid casts and warnings.
119944 2005-10-06  Simon Josefsson  <jas@extundo.com>
119946         * lib/hmac-md5.c: New file.
119948         * lib/hmac.h: New file.
119950 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
119952         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
119953         promotes to int, not unsigned int, to catch the AIX 5.3
119954         compiler bug.
119956 2005-10-05  Simon Josefsson  <jas@extundo.com>
119958         * modules/memxor: New file.
119960         * modules/iconv (Files): Move config.rpath to havelib, it is used
119961         there.
119963         * modules/havelib (Files): Add config.rpath.
119965 2005-10-05  Simon Josefsson  <jas@extundo.com>
119967         * m4/memxor.m4: New file.
119969 2005-10-05  Simon Josefsson  <jas@extundo.com>
119971         * lib/memxor.c (memxor): Fix compiler error.
119973         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
119974         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
119976         * lib/memxor.h, lib/memxor.c: New files.
119978         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
119979         we assume all systems have it, suggested by Jim Meyering
119980         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
119981         any systems lack sys/socket.h; mingw32 is known to lack it, but we
119982         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
119983         same reasons.
119985 2005-10-05  Simon Josefsson  <jas@extundo.com>
119987         * config/srclist.txt: Add glibc bug 1423 for md5.h.
119989 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
119991         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
119992         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
119993         needed, since the source code now assumes these .h files.
119995 2005-10-05  Derek Price  <derek@ximbiot.com>
119997         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
119999 2005-10-05  Bruno Haible  <bruno@clisp.org>
120001         * modules/stdint (License): Change to LGPL.
120003 2005-10-04  Simon Josefsson  <jas@extundo.com>
120005         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
120006         D. Baushke" <mdb@gnu.org>.
120008 2005-10-04  Bruno Haible  <bruno@clisp.org>
120010         * lib/verify.h (verify_true): Provide alternative definition for C++.
120012 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
120014         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
120015         (SSIZE_MAX): New macro, if not already defined.
120016         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
120017         than 2 GiB.
120019 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
120021         Sync from coreutils.
120022         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
120023         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
120024         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
120025         ULLONG_MAX doesn't work with 2.7.2.1.
120027 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
120029         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
120030         From Ben Pfaff.
120032         * modules/exclude (Depends-on): Depend on verify.
120033         * modules/strtoimax (Depends-on): Likewise.
120034         * modules/utimecmp (Depends-on): Likewise.
120036 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
120038         * lib/exclude.c: Include verify.h.
120039         (verify): Remove.  All callers changed to use verify.h's version.
120040         * lib/strtoimax.c: Likewise.
120041         * lib/utimecmp.c: Likewis.e
120043         Sync from coreutils.
120044         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
120045         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
120046         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
120047         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
120048         bother returning ENOSYS if settimeofday or stime fails; just let
120049         them return whatever errno they want to return.
120050         * lib/utimens.c: Include unistd.h, for dup2.
120051         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
120052         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
120054 2005-10-02  Jim Meyering  <jim@meyering.net>
120056         Sync from coreutils.
120057         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
120058         from glibc-2.2.5 that fails for read-only files.
120060 2005-10-02  Jim Meyering  <jim@meyering.net>
120062         Sync from coreutils.
120063         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
120064         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
120065         `#if HAVE_CONFIG_H'.
120066         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
120067         Remove AT_FDCWD test.
120068         Do not consume the fd unless successful.
120069         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
120070         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
120071         block, so that we don't even try to compile it if settimeofday is
120072         available.  This works around a compilation failure on OSF1 V5.1,
120073         due to stime requiring a `long int*' while tv_sec is `int'.
120075 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
120077         Sync from coreutils.
120078         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
120079         against `yes', rather than just testing for nonempty.
120081 2005-10-01  Simon Josefsson  <jas@extundo.com>
120083         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
120084         and Darwin.
120086         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
120087         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
120088         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
120089         freeaddrinfo and gai_strerror are declared by the POSIX headers.
120090         Check if struct addrinfo is declared.
120092 2005-10-01  Simon Josefsson  <jas@extundo.com>
120094         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
120095         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
120096         AI_* and EAI_* definitions.  Protect function declarations.
120098 2005-10-01  Jim Meyering  <jim@meyering.net>
120100         Sync from coreutils.
120102         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
120103         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
120104         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
120105         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
120106         in the inet and nsl libraries.  Required on Solaris 5.7.
120108 2005-10-01  Jim Meyering  <jim@meyering.net>
120110         Sync from coreutils.
120111         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
120112         in the inet and nsl libraries.  Required on Solaris 5.7.
120114 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
120116         * lib/getdelim.c (getdelim): Remove unused variables.
120118 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
120120         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
120121         so that the code works even with ancient cpp.  Portability problem
120122         with GCC 2.7.2.1 reported by Thomas M.Ott.
120124 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
120126         * modules/regex (Depends-on): Add strcase.
120128         * modules/gethostname (Licence): Change from GPL to LGPL, since
120129         gethostname.c is a trivial implementation of a standard library
120130         function.
120131         * modules/poll (License): Change from GPL to LGPL, since it's
120132         derived from LGPL code.
120134 2005-09-27  Jim Meyering  <jim@meyering.net>
120136         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
120137         HAVE_CONFIG_H.
120139         * lib/intprops.h (signed_type_or_expr__): Define.
120140         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
120141         for unsigned types.
120143 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
120145         * lib/verify.h (verify_expr): Remove, replacing with:
120146         (verify_true): New macro that returns true instead of void.
120147         (verify_type__): Remove.
120148         (verify): Use verify_true rather than verify_type__.
120150 2005-09-26  Bruno Haible  <bruno@clisp.org>
120152         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
120153         is necessary.
120154         (lib_SOURCES): Remove mbchar.c.
120155         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
120156         (Files): Add m4/mbrtowc.m4.
120157         * modules/mbiter: Likewise.
120158         * modules/mbuiter: Likewise.
120160 2005-09-26  Bruno Haible  <bruno@clisp.org>
120162         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
120163         compile mbchar.c if they are not both present.
120164         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
120165         * m4/mbiter.m4 (gl_MBITER): Likewise.
120166         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
120167         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
120168         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
120170 2005-09-25  Jim Meyering  <jim@meyering.net>
120172         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
120173         also uses socklen_t.
120175 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
120177         * lib/utimens.c (ENOSYS): Define if not already defined.
120178         (futimens): Support having a null PATH if the file descriptor
120179         is nonnegative.
120181         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
120182         Remove.
120183         (__attribute): Define to empty unless GCC 3.1 or later.
120184         This works around a core dump on OpenBSD 3.4, which has GCC
120185         2.95.3, which dumps core when given __attribute__(()).  It also
120186         simplifies other tests, since we really don't want to bother with
120187         worrying about which ancient version of GCC supported what.
120188         Original problem reported by Yoann Vandoorselaere, with part of
120189         the fix suggested by Derek Price.
120191 2005-09-24  Jim Meyering  <jim@meyering.net>
120193         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
120194         so we can once again use a positive bitfield width of 1 -- now we
120195         don't have to explain why we were using a bitfield width of 2.
120197 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
120199         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
120200         and similarly for the other external symbols.  Problem reported
120201         by James Gallager.
120203         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
120204         bug reported by Jim Meyering.
120206         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
120207         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
120208         not needed, since socklen is a prerequisite module.
120210 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
120212         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
120213         Problem reported by Eric Blake.
120214         (getaddrinfo): Initialize se so that it's not garbage.
120215         Redo internal storage allocation so that it doesn't make unportable
120216         assumptions about alignment.
120217         Fix a memory leak.
120219         * lib/utimens.c (futimens): Use futimesat if available.
120220         Prefer it to futimes since it doesn't have the futimes bug.
120222         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
120223         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
120224         Instead, declare a function that returns a pointer to an array,
120225         and use verify_type__ to declare the size of the array.
120226         Problem and germ of a solution reported by Bruno Haible.
120227         (verify_type__): Use 2, not 1, for bitfield size, to avoid
120228         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
120230 2005-09-23  Jim Meyering  <jim@meyering.net>
120232         Sync from coreutils.
120233         Correct build failure (socklen_t not defined) on at least
120234         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
120235         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
120237 2005-09-23  Jim Meyering  <jim@meyering.net>
120239         * modules/getaddrinfo (Depends-on): Add socklen.
120241 2005-09-23  Bruno Haible  <bruno@clisp.org>
120243         * tests/test-verify.c: New file.
120245 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
120247         Sync from coreutils.
120249         * modules/argmatch (Depends-on): Add verify.
120250         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
120251         unistd-safer.
120252         * modules/save-cwd (Depends-on): Likewise.
120254         * modules/openat (Files): Add lib/openat-die.c.
120255         (Depends-on): Remove error, exitfail.
120256         Add dirname.
120258         * modules/verify: New file.
120259         * MODULES.html.sh (Diagnostics <assert.h>): New section,
120260         with "verify" module.
120262 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
120264         Sync from coreutils.
120266         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
120267         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
120268         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
120269         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
120270         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
120271         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
120272         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
120273         Don't bother checking for string.h, stdlib.h, unistd.h.
120274         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
120275         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
120276         module's job.
120277         * m4/jm-macros.m4 (gl_MACROS): Likewise.
120278         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
120280         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
120281         (gl_GETDATE): Use it.
120283         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
120285 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
120287         Sync from coreutils.
120289         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
120290         stat-time.h.
120291         * lib/argmatch.h: Include verify.h
120292         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
120293         (ARGMATCH_ASSERT): Remove; unused.
120294         * lib/canonicalize.c: Assume STDC_HEADERS.
120295         * lib/exclude.c: Include "strcase.h".
120296         * lib/regex_internal.h [!defined _LIBC]: Likewise.
120297         * lib/getusershell.c: Include stdio--.h rather than stdio.h
120298         and stdio-safer.h.
120299         (getusershell): Call fopen, not fopen_safer.
120300         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
120301         Do not include unistd-safer.h.
120302         (save_cwd): Don't call fd_safer; no longer needed
120303         now that we include fcntl--.h.
120305         * lib/getdate.y (relative_time): New type.
120306         (RELATIVE_TIME_0): New constant.
120307         (parser_control): Use relative_time instead of doing it ourselves.
120308         (%union): Add new relative_time rel member.
120309         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
120310         Now typeless.
120311         (relunit, relunit_snumber): Now of type rel.
120312         (zone, rel, relunit, get_date): Adjust to above changes.
120314         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
120315         Do not include unistd-safer.h.
120316         (getloadavg): Don't call fd_safer; no longer needed
120317         now that we include fcntl--.h.
120319         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
120320         (make_dir_parents): Treat ENOSYS like EEXIST.
120322         Improve quality of diagnostics on restore_cwd failure.
120323         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
120324         (make_dir_parents): Last arg is now int * (for errno), not bool *.
120325         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
120326         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
120327         each time through the loop.  Do not diagnose restore_cwd failure;
120328         that is the caller's job (and perhaps the caller does not care).
120330         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
120331         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
120332         If the file already exists but is not a directory, don't bother
120333         to try to make its parents.
120334         Close potential file descriptor leak if we can't chdir("/") (!).
120335         Don't always return true if chdir($PWD) fails; return true only
120336         if the requested action was done successfully (except for the
120337         chdir($PWD)).
120338         Don't log final directory unless we actually made it.
120339         Refactor to avoid duplicate code to fix up permissions.
120340         Don't attempt to fix up parent permissions if chdir($PWD) fails.
120342         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
120343         to make it a bit faster and (I hope) clearer.
120344         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
120345         Fix bug in formats like %2N.
120347         * lib/verify.h: New file.
120349 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
120351         Sync from coreutils.
120352         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
120354 2005-09-22  Jim Meyering  <jim@meyering.net>
120356         Sync from coreutils.
120358         * m4/lstat.m4 (gl_FUNC_LSTAT):
120359         Use AC_LIBSOURCES to require lstat.c and lstat.h.
120360         Remove obsolete comment.
120361         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
120362         * m4/xstrtod.m4: Likewise.
120364         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
120366 2005-09-22  Jim Meyering  <jim@meyering.net>
120368         Sync from coreutils.
120370         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
120372         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
120373         the .tm_year member, since otherwise gcc-4.0 would now warn about
120374         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
120376         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
120377         order to avoid an unsuppressible warning from gcc on 64-bit systems.
120379         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
120380         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
120381         when run in a time zone for which daylight savings time is in effect
120382         for the starting date.
120384         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
120385         stop us from restricting permissions of just-created absolute-named
120386         directories.
120387         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
120388         to restore initial working directory.
120389         * lib/mkdir-p.c (make_dir_parents): New parameter:
120390         different_working_dir, to tell caller if/when we change the working
120391         directory and are unable to return to the initial one.
120392         * lib/mkdir-p.h (make_dir_parents): Update prototype.
120393         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
120394         `return false'.  This fixes a bug introduced on 2004-07-30.
120396         * lib/openat.c (fdopendir): Be sure to close the supplied
120397         file descriptor before returning.  This makes our replacement
120398         implementation a little closer to Solaris's, where fdopendir
120399         ties the file descriptor to the returned DIR* pointer.
120400         * lib/openat.c (unlinkat): New function.
120401         * lib/openat.h (unlinkat): Add prototype.
120402         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
120403         (openat_restore_fail): Rename from openat_restore_die.
120404         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
120406         Provide an alternative to exiting immediately upon save_cwd or
120407         restore_cwd failure.  Now, an application can arrange e.g.,
120408         to perform a longjump in that case.
120409         * lib/openat.c: Include dirname.h.
120410         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
120411         (rpl_openat, fdopendir, fstatat): Call openat_save_die
120412         and openat_restore_die rather than calling error directly.
120413         Don't include "error.h" or "exitfail.h"; they're no longer needed.
120415         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
120416         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
120417         define.
120419         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
120420         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
120421                             int utc, int nanoseconds);
120422         Background:
120423         date should not have to allocate a megabyte of virtual memory to
120424         handle a format argument like +%1048575T.  When implemented with
120425         strftime, it must allocate such a buffer, use strftime to fill it
120426         in, print it, then free it.
120427         With fprintftime, it simply prints everything and exits.
120428         With no need for memory allocation, that's one fewer way to fail.
120429         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
120430         optional field width, not before, so we accept %9:z, not %:9z.
120431         (my_strftime): Be sure to use L_('x') for literals.
120433         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
120434         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
120435         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
120436         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
120437         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
120438         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
120439         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
120440         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
120441         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
120442         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
120443         * lib/xgethostname.c, lib/xreadlink.c:
120444         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
120446         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
120447         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
120448         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
120449         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
120450         and don't include <sys/file.h>).
120452 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
120454         Sync from coreutils.
120456         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
120457         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
120458         [!LDAV_DONE]: Avoid unused variable warning.
120460 2005-09-21  Bruno Haible  <bruno@clisp.org>
120462         * lib/unicodeio.h (unicode_to_mb): New declaration.
120464 2005-09-20  Derek Price  <derek@ximbiot.com>
120466         * lib/getaddrinfo.c: Don't include <netdb.h> included from
120467         getaddrinfo.h.
120469 2005-09-20  Bruno Haible  <bruno@clisp.org>
120471         * gnulib-tool: Remove trailing slashes from the values specified for
120472         --source-base, --m4-base, --tests-base, --aux-dir.
120473         Suggested by Simon Josefsson <jas@extundo.com>.
120475 2005-09-20  Bruno Haible  <bruno@clisp.org>
120477         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
120478         func_modules_to_filelist, func_import, func_create_testdir): Make all
120479         sorting results locale-independent, so that gnulib-cache.m4 doesn't
120480         change when gnulib-tool is invoked in a different locale.
120482 2005-09-19  Simon Josefsson  <jas@extundo.com>
120484         * m4/socklen.m4: Fix typo.
120486 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
120488         Use a consistent style for including <config.h>.
120489         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
120490         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
120491         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
120492         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
120493         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
120494         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
120495         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
120496         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
120497         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
120498         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
120499         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
120500         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
120501         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
120502         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
120503         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
120504         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
120505         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
120506         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
120507         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
120508         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
120509         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
120510         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
120511         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
120512         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
120513         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
120514         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
120515         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
120516         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
120517         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
120518         lib/xstrtoumax.c, lib/yesno.c:
120519         Standardize inclusion of config.h.
120520         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
120521         lib/inttostr.h:  Removed inclusion of config.h from header files.
120522         * lib/inttostr.c:  Adjusted in-tree users.
120523         * lib/timespec.h: Remove superfluous warning to include config.h.
120524         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
120525         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
120526         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
120527         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
120528         config.h with HAVE_CONFIG_H.
120530 2005-09-19  Jim Meyering  <jim@meyering.net>
120532         * modules/pathmax (License): Change to LGPL.
120534 2005-09-19  Derek Price  <derek@ximbiot.com>
120536         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
120538 2005-09-19  Bruno Haible  <bruno@clisp.org>
120540         * gnulib-tool (import): Provide default for --tests-base.
120542 2005-09-19  Bruno Haible  <bruno@clisp.org>
120544         * doc/quote.texi: New file, extracted from gnulib.texi.
120545         * doc/ctime.texi: New file, extracted from gnulib.texi.
120546         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
120547         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
120548         * doc/gnulib.texi: Include them.
120550 2005-09-18  Bruno Haible  <bruno@clisp.org>
120552         Portability fix.
120553         * gnulib-tool (func_readlink): New function.
120554         (func_ln_if_changed): Use it.
120556 2005-09-18  Bruno Haible  <bruno@clisp.org>
120558         * gnulib-tool: Support --with-tests also with --import.
120559         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
120560         (func_import): Use variables $testsbase and $inctests. Emit a
120561         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
120562         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
120563         SUBDIRS += $testsdir.
120564         (func_create_testdir): Update.
120566 2005-09-18  Bruno Haible  <bruno@clisp.org>
120568         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
120569         instead of $dry_run.
120570         (func_cp_if_changed, func_mv_if_changed): Remove functions.
120571         (func_ln_if_changed): Don't handle dry-run here.
120572         (func_import): In dry-run mode, detect more precisely which actions
120573         would be performed, and don't use "...ing" verbs.
120575 2005-09-18  Bruno Haible  <bruno@clisp.org>
120577         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
120578         (func_import): Use join on two temporary files instead of three nested
120579         loops, in order to determine which files are new or old.
120581 2005-09-18  Bruno Haible  <bruno@clisp.org>
120583         * gnulib-tool (func_import): Comment out code that spits out the
120584         new files with --dry-run.
120586 2005-09-18  Bruno Haible  <bruno@clisp.org>
120588         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
120590 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
120592         * lib/stat-time.h: New file.
120593         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
120594         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
120595         in a different way.
120596         (timespec_cmp): New function.
120597         * lib/utimecmp.c: Include stat-time.h.
120598         (SYSCALL_RESOLUTION): Depend on whether various struct stat
120599         members exist, not on the obsolescent ST_MTIM_NSEC.
120600         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
120602 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
120604         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
120606 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
120608         * MODULES.html.sh (File system functions): Add stat-time.
120609         * modules/stat-time: New file.
120610         * modules/timespec (Files): Remove m4/st_mtim.m4; this
120611         is now done in a different way, by the stat-time module.
120612         * modules/utimecmp (Depends-on): Add stat-time.
120614 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
120616         * m4/st_mtim.m4: Remove.  Superseded by...
120617         * m4/stat-time.m4: New file.
120618         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
120619         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
120621 2005-09-15  Derek Price  <derek@ximbiot.com>
120623         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
120625 2005-09-15  Derek Price  <derek@ximbiot.com>
120627         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
120628         * lib/regex_internal.c: Ditto, using this...
120629         (__GNUC_PREREQ): ...new macro.
120630         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
120631         using...
120632         (__GNUC_PREREQ): ...this new macro.
120634         * lib/strstr.h: Include string.h. Define strstr as a macro here.
120636 2005-09-15  Derek Price  <derek@ximbiot.com>
120637             Paul Eggert  <eggert@cs.ucla.edu>
120639         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
120640         changes, consolidating in...
120641         * lib/regex_internal.h: ...this file.
120643 2005-09-13  Jim Meyering  <jim@meyering.net>
120645         * lib/canon-host.c: Filter through gnu indent and reword comments
120646         slightly.
120647         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
120649 2005-09-13  Derek Price  <derek@ximbiot.com>
120651         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
120652         failure.
120653         Reported by Jim Meyering  <jim@meyering.net>.
120655 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
120657         * lib/base64.c: Typo.
120658         (base64_encode): Put b64str in initialized data section.
120660 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
120662         Merge glibc and coreutils changes into gnulib, plus a few
120663         extra fixes.
120664         * lib/md5.c: Use #error rather than a string.
120665         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
120666         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
120667         (__attribute__): Define to empty for non recent-GCC.
120668         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
120669         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
120670         Renamed from their non-__ counterparts, with new macros replacing
120671         them if not _LIBC.  Add __THROW attribute.
120672         (rol): Remove.
120673         (struct md5_ctx): Align buffer if using GCC.
120674         * lib/sha1.h (struct sha1_ctx): Likewise.
120675         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
120676         The old name was backwards.
120677         (NOTSWAP): Remove; not used.
120678         (rol): New macro, moved here from md5.h.
120679         (sha1_process_block): Remove a FIXME that doesn't make sense.
120681 2005-09-12  Derek Price  <derek@ximbiot.com>
120683         Return usable errors from canon-host.
120684         * lib/canon-host.h: New file.
120685         * lib/canon-host.c (canon_host): Wrap...
120686         (canon_host_r): ...this new function, which now relies exclusively on
120687         getaddrinfo.
120688         (ch_strerror): New function.
120689         (last_cherror): New global.
120690         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
120691         interface.
120692         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
120693         void *.
120694         (freeaddrinfo): Free ai->ai_canonname when set.
120696 2005-09-12  Derek Price  <derek@ximbiot.com>
120698         Make canon-host require getaddrinfo.
120699         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
120700         AC_LIBSOURCE canon-host.h.  Call...
120701         (gl_PREREQ_CANON_HOST): ...this new function, which requires
120702         gl_GETADDRINFO.
120703         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
120705 2005-09-12  Derek Price  <derek@ximbiot.com>
120707         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
120708         LGPL.
120709         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
120711 2005-09-12  Derek Price  <derek@ximbiot.com>
120713         * lib/gai_strerror.c: Include config.h when available.  Include
120714         getaddrinfo.h before other headers to test interface.
120715         Reported by Larry Jones <lawrence.jones@ugs.com>.
120717 2005-09-12  Derek Price  <derek@ximbiot.com>
120718             Paul Eggert  <eggert@cs.ucla.edu>
120720         * modules/glob (Files): Add glob-libc.h.
120722 2005-09-12  Derek Price  <derek@ximbiot.com>
120723             Paul Eggert  <eggert@cs.ucla.edu>
120725         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
120726         glob_.h, glob-libc.h.
120727         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
120729 2005-09-12  Derek Price  <derek@ximbiot.com>
120730             Paul Eggert  <eggert@cs.ucla.edu>
120732         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
120733         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
120734         protecting things that should be done only in gnulib contexts.
120735         * lib/glob_.h: New file, containing only the glob things needed for
120736         gnulib.
120737         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
120738         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
120739         (glob, globfree, glob_pattern_p): Now defined simply in terms of
120740         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
120741         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
120742         and to respect the namespace rules better.
120744 2005-09-08  Simon Josefsson  <jas@extundo.com>
120746         * modules/socklen: New file.
120748 2005-09-08  Simon Josefsson  <jas@extundo.com>
120750         * m4/socklen.m4: New file.
120752 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
120754         * modules/utimens (Files): Add m4/utimbuf.m4, since
120755         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
120756         Reported by Sergey Poznyakoff.
120758 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
120760         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
120761         definitions, since that's the preferred style in glibc.
120762         Fix a minor spacing issue, and update copyright notice to match
120763         glibc's.
120765 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
120767         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
120769 2005-09-06  Simon Josefsson  <jas@extundo.com>
120771         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
120772         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
120774 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
120776         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
120777         warning.
120779 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
120781         * config/srclist.txt: Add glibc bug 1302.
120783 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
120785         Change bitset word type from unsigned int to unsigned long int,
120786         as this has better performance on typical 64-bit hosts.
120787         Port bitset code to hosts with unusual word sizes.
120788         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
120789         (build_collating_symbol):
120790         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
120791         argument is a bitset.  This is merely a style issue, but it makes
120792         it clearer that an entire array is expected.
120793         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
120794         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
120795         Port to the case where bitset_word is not the same as unsigned int.
120796         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
120797         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
120798         Likewise.
120799         * lib/regexec.c (check_dst_limits_calc_pos_1,
120800         check_subexp_matching_top):
120801         (build_trtable, group_nodes_into_DFAstates):
120802         Likewise.
120803         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
120804         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
120805         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
120806         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
120807         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
120808         * lib/regcomp.c (optimize_subexps, lower_subexp):
120809         Work even if bitset_word has holes in its bitwise representation.
120810         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
120811         * lib/regexec.c (check_dst_limits_calc_pos_1,
120812         check_subexp_matching_top):
120813         Likewise.
120814         * lib/regex_internal.c (re_string_reconstruct):
120815         Don't assume UCHAR_MAX == 255.
120816         * lib/regex_internal.h (bitset_set_all): Likewise.
120817         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
120818         All uses changed.
120819         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
120820         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
120821         All uses changed.
120822         (BITSET_WORD_MAX): New macro.
120823         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
120824         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
120825         (bitset_empty, bitset_copy):
120826         Prefer sizeof (bitset) to multiplying it out ourselves.
120827         (bitset_not_merge): Remove; unused.
120828         (bitset_contain): Return bool, not unsigned int with one bit on.
120829         All callers changed.
120830         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
120831         alignment than re_node_set; do this by defining a new internal
120832         type struct dests_alloc and using it to allocate memory.
120834 2005-09-05  Bruno Haible  <bruno@clisp.org>
120836         * gnulib-tool (func_import): Fix comparison in handling of symbolic
120837         links.
120839 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
120841         * modules/size_max (Makefile.am): Add size_max.h
120843 2005-09-04  Derek Price  <derek@ximbiot.com>
120845         * gnulib-tool (func_import): Fix reversed $symbolic logic.
120847 2005-09-03  Simon Josefsson  <jas@extundo.com>
120849         * gnulib-tool: Fix typo.
120851 2005-09-03  Simon Josefsson  <jas@extundo.com>
120853         * config/srclist.txt: Add glibc bug 1293.
120855 2005-09-03  Derek Price  <derek@ximbiot.com>
120857         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
120858         From Larry Jones <lawrence.jones@ugs.com>.
120860 2005-09-02  Simon Josefsson  <jas@extundo.com>
120862         * modules/socklen: New file.
120864 2005-09-02  Simon Josefsson  <jas@extundo.com>
120866         * modules/havelib: New module.
120868         * modules/gettext, modules/iconv, modules/lock, modules/readline:
120869         Use havelib.
120871 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
120873         Check for arithmetic overflow when calculating sizes, to prevent
120874         some buffer-overflow issues.  These patches are conservative, in the
120875         sense that when I couldn't determine whether an overflow was possible,
120876         I inserted a run-time check.
120877         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
120878         macros.
120879         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
120880         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
120881         (re_xnrealloc, re_x2nrealloc): New inline functions.
120882         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
120883         parse_bracket_exp):
120884         (build_equiv_class, build_charclass): Check for arithmetic overflow
120885         in size expression calculations.
120886         * lib/regex_internal.c (re_string_realloc_buffers):
120887         (build_wcs_upper_buffer, re_node_set_add_intersect):
120888         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
120889         (re_dfa_add_node, register_state): Likewise.
120890         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
120891         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
120892         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
120893         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
120895 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
120897         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
120898         m4/ulonglong.m4.  Problem reported by Martin Lambers.
120900 2005-09-02  Bruno Haible  <bruno@clisp.org>
120902         Support for lib vs. lib64 distinction on biarch platforms.
120903         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
120904         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
120905         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
120907 2005-09-02  Bruno Haible  <bruno@clisp.org>
120909         * gnulib-tool (import): In the other first-use case, provide defaults
120910         as well.
120912 2005-09-02  Bruno Haible  <bruno@clisp.org>
120914         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
120915         patches not yet found in the latest gettext release.
120917 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
120919         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
120920         to avoid a collision with bits/local_lim.h in glibc.
120921         All uses changed.  Problem reported by Dmitry V. Levin in
120922         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
120924         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
120925         bugs in int versus size_t comparisons.
120926         (re_string_context_at): Fix bug where the code assumed that
120927         Idx is signed.
120929         Use bool where appropriate.
120930         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
120931         All callers changed.
120932         (calc_eclosure_iter): Likewise, for ROOT arg.
120933         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
120934         (build_charclass_op): Likewise, for NON_MATCH arg.
120935         * lib/regex_internal.c (re_string_allocate, re_string_construct):
120936         (re_string_construct_common): Likewise, for ICASE arg.
120937         * lib/regexec.c (re_search_2_stub, re_search_stub):
120938         Likewise, for RET_LEN arg.
120939         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
120940         (set_regs): Likewise, for FL_BACKTRACK arg.
120941         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
120942         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
120943         (calc_eclosure_iter, parse_bracket_exp):
120944         Use bool for internal variables that are booleans.
120945         * lib/regexec.c (re_search_internal, check_matching,
120946         proceed_next_node):
120947         (set_regs, build_sifted_states, sift_states_bkref):
120948         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
120949         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
120950         (find_collation_sequence_value):
120951         Likewise.
120952         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
120953         (re_node_set_compare):
120954         Return bool, not int. All callers changed.
120955         * lib/regexec.c (check_halt_node_context, check_dst_limits):
120956         (build_trtable, check_node_accept): Likewise.
120957         * lib/regex_internal.h: Include stdbool.h.
120959         Fix bugs uncovered when converting to bool.
120960         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
120961         failure instead of charging ahead blindly.
120962         * lib/regex_internal.c (register_state): Likewise.
120963         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
120964         for freeing internal storage.
120965         (group_nodes_into_DFA_states): Use unsigned int, not int, for
120966         bitset pieces used as boolean, to avoid undefined behavior
120967         on hosts that do int overflow checking.
120969 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
120971         * config/srclist.txt: Add glibc bugs 1285-1287.
120973 2005-09-01  Jim Meyering  <jim@meyering.net>
120975         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
120976         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
120977         Require gl_STAT_MACROS, too.
120979 2005-09-01  Bruno Haible  <bruno@clisp.org>
120981         * gnulib-tool (import): In the first-use case, provide defaults.
120983 2005-09-01  Bruno Haible  <bruno@clisp.org>
120985         * gnulib-tool (func_import): Remove the .tmp files.
120987 2005-09-01  Bruno Haible  <bruno@clisp.org>
120989         * gnulib-tool (func_import): Fix handling of symbolic links.
120991 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
120993         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
120994         old glibc regex code mishandles strings longer than 2**31 bytes.
120995         This patch fixes this when the regex code is used in gnulib
120996         (i.e., outside glibc).
120998         This patch should not affect the use of the regex code inside
120999         glibc.  No doubt this problem also needs to be handled for glibc
121000         as well, but the result will be an incompatible change to the
121001         glibc ABI, and the old ABI will have to be supported too.  That
121002         can be the subject for another patch.
121004         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
121005         governing whether the rest of this patch is active.  By default,
121006         the macro is disabled and the patch has no effect.
121007         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
121008         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
121009         (struct re_pattern_buffer, re_search, re_search_2, re_match):
121010         (re_match_2, re_set_registers): Use the new types.
121011         * lib/regex_internal.h (Idx, re_hashval_t): New types.
121012         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
121013         New macros.
121014         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
121015         (re_string_context_at, bin_tree_t, re_dfastate_t):
121016         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
121017         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
121018         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
121019         (re_string_char_size_at, re_string_wchar_at):
121020         (re_string_elem_size_at):
121021         Use the new types and macros to port to 64-bit hosts.
121022         Use unsigned types for internal values, so that the code
121023         mostly works even for arrays larger than SSIZE_MAX.
121024         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
121025         (search_duplicated_node, calc_eclosure_iter, fetch_number):
121026         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
121027         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
121028         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
121029         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
121030         (calc_inveclosure, parse_dup_op, build_range_exp):
121031         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
121032         (fetch_number, create_token_tree, mark_opt_subexp):
121033         Likewise.
121034         * lib/regex_internal.c (re_string_construct_common,
121035         create_ci_newstate):
121036         (create_cd_newstate, re_string_allocate, re_string_construct):
121037         (re_string_realloc_buffers, build_wcs_upper_buffer):
121038         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
121039         (re_string_reconstruct, re_string_peek_byte_case):
121040         (re_string_fetch_byte_case, re_string_context_at):
121041         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
121042         (re_node_set_init_copy, re_node_set_add_intersect):
121043         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
121044         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
121045         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
121046         (re_acquire_state, re_acquire_state_context, register_state):
121047         Likewise.
121048         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
121049         search_cur_bkref_entry):
121050         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
121051         (re_search_internal, re_search_2_stub, re_search_stub)
121052         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
121053         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
121054         (update_cur_sifted_state, check_dst_limits):
121055         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
121056         (check_subexp_limits, sift_states_bkref, merge_state_array):
121057         (check_subexp_matching_top, get_subexp, get_subexp_sub):
121058         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
121059         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
121060         (expand_bkref_cache, check_node_accept_bytes):
121061         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
121062         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
121063         (acquire_init_state_context, check_halt_node_context):
121064         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
121065         (sift_states_backward, clean_state_log_if_needed):
121066         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
121067         (find_recover_state, transit_state_sb, transit_state_mb):
121068         (transit_state_bkref, build_trtable, match_ctx_clean):
121069         Likewise.
121070         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
121071         to work around an assumption that REG_MISSING is negative.
121073         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
121074         (seek_collating_symbol_entry) [defined _LIBC]:
121075         (lookup_collation_sequence_value) [defined _LIBC]:
121076         (build_range_exp, build_collating_symbol) [defined _LIBC]:
121077         Use prototypes rather than old-style function definitions.
121078         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
121079         (transit_state_sb) [0]:
121080         (find_collation_sequence_value) [defined _LIBC]: Likewise.
121082         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
121083         rm_eo.
121085         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
121086         (optimize_subexps, lower_subexp):
121087         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
121088         since the signed shift might overflow.  Use 1u<<31 instead.
121089         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
121090         Likewise.
121091         * lib/regexec.c (check_dst_limits_calc_pos_1,
121092         check_subexp_matching_top): Likewise.
121094         * lib/regcomp.c (optimize_subexps, lower_subexp):
121095         Use CHAR_BIT rather than 8, for clarity.
121096         * lib/regexec.c (check_dst_limits_calc_pos_1):
121097         (check_subexp_matching_top): Likewise.
121098         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
121099         have to worry about portability issues when shifting it left.
121100         Remove no-longer-needed test for table_size > 0.
121101         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
121102         in a word, as the resulting behavior is undefined.
121103         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
121104         in one case, a <= should have been an <, and in another case the
121105         whole test was missing.
121106         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
121107         the standard name CHAR_BIT.
121108         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
121109         this is not true on one's complement and signed-magnitude hosts.
121111         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
121112         next_last_offset.
121113         (struct re_dfa_t): Remove unused member states_alloc.
121114         * lib/regcomp.c (init_dfa): Don't initialize unused members.
121116 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
121118         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
121119         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
121120         and large-file glibc and in 32-bit large-file Solaris.
121122 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
121124         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
121125         lengths fit in regoff_t; this isn't true if regoff_t is the same
121126         width as size_t.
121127         * lib/regex.c (re_search_internal): 5th arg is LAST_START
121128         (= START + RANGE) instead of RANGE.  This avoids overflow
121129         problems when regoff_t is the same width as size_t.
121130         All callers changed.
121131         (re_search_2_stub): Check for overflow when adding the
121132         sizes of the two strings.
121133         (re_search_stub): Check for overflow when adding START
121134         to RANGE; if it occurs, substitute the extreme value.
121136 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
121138         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
121140 2005-08-31  Jim Meyering  <jim@meyering.net>
121142         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
121143         a pointer-to-const.
121144         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
121145         (register_state): Likewise.
121146         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
121147         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
121148         (group_nodes_into_DFAstates): Likewise.
121150 2005-08-31  Jim Meyering  <jim@meyering.net>
121152         * check-module: Add a FIXME comment.
121154 2005-08-31  Eric Blake  <ebb9@byu.net>
121156         * modules/unistd-safer (Files): Add unistd--.h.
121157         * modules/stdio-safer (Files): Add stdio--.h.
121159 2005-08-31  Derek Price  <derek@ximbiot.com>
121161         * lib/getdelim.c (getdelim): Return EOF on EOF.
121162         Reported by Larry Jones <lawrence.jones@ugs.com>.
121164 2005-08-31  Bruno Haible  <bruno@clisp.org>
121166         Avoid unnecessary diffs in the generated lib/Makefile.am.
121167         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
121168         the generated files.
121169         (func_import): Don't set cmd.
121171 2005-08-31  Bruno Haible  <bruno@clisp.org>
121173         * lib/strstr.c: Include <stddef.h>, for NULL.
121174         * lib/strcasestr.c: Likewise.
121175         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
121177 2005-08-31  Bruno Haible  <bruno@clisp.org>
121179         * gnulib-tool: New option --macro-prefix.
121180         (func_import): Use macro_prefix.
121181         (import): Handle option --macro-prefix.
121183 2005-08-31  Bruno Haible  <bruno@clisp.org>
121185         * gnulib-tool (import): Rename most ac_* variables to cached_*.
121186         Also use new variables cached_lgpl, cached_libtool.
121188 2005-08-31  Bruno Haible  <bruno@clisp.org>
121190         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
121191         always instantiating them.
121193 2005-08-31  Bruno Haible  <bruno@clisp.org>
121195         * gnulib-tool (func_import): Read the previous cached settings
121196         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
121197         earlier added by gnulib but are now dropped. Warn when a gnulib file
121198         overwrites a non-gnulib file.
121200 2005-08-31  Bruno Haible  <bruno@clisp.org>
121202         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
121203         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
121204         projects that don't keep autogenerated files in CVS. Put into
121205         actioncmd only the specified modules, not the transitive closure.
121207 2005-08-31  Bruno Haible  <bruno@clisp.org>
121209         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
121210         Create directories that shall be filled.
121211         (import): Don't look for gl_* macros in configure.ac. Recurse across
121212         all directories containing a gnulib-cache.m4 files, if meaningful.
121214 2005-08-31  Bruno Haible  <bruno@clisp.org>
121216         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
121217         (import): Set seen_libtool when we see gl_LIBTOOL.
121219 2005-08-31  Bruno Haible  <bruno@clisp.org>
121221         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
121222         declaration macro definitions from generated gnulib.m4.
121224 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
121226         * lib/iconvme.h: Add prototype for iconv_alloc.
121228 2005-08-29  Simon Josefsson  <jas@extundo.com>
121230         * lib/iconvme.c: Fix errno.
121232 2005-08-29  Bruno Haible  <bruno@clisp.org>
121234         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
121235         that it works when the directory contains spaces.
121237 2005-08-29  Bruno Haible  <bruno@clisp.org>
121239         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
121241 2005-08-29  Bruno Haible  <bruno@clisp.org>
121243         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
121244         Emit more advice.
121246 2005-08-29  Bruno Haible  <bruno@clisp.org>
121247         and Stepan Kasal  <kasal@ucw.cz>
121249         * check-module: If more parameters are given, check each of them
121250         separately; add more exceptions, as noted by Jim Meyering.
121251         (check_module): New procedure.
121252         (%exempt_header): Now contains all exceptions.
121254 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
121256         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
121258 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
121260         * lib/iconvme.c: Split iconv_string into iconv_alloc.
121262 2005-08-28  Bruno Haible  <bruno@clisp.org>
121264         * m4/gnulib-tool.m4: New file.
121266 2005-08-27  Jim Meyering  <jim@meyering.net>
121268         * modules/unistd-safer (Files): Add pipe-safer.c.
121269         * modules/fcntl-safer (Files): Add creat-safer.c.
121271 2005-08-27  Jim Meyering  <jim@meyering.net>
121273         * m4/stdlib-safer.m4: New file.  From coreutils.
121274         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
121275         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
121276         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
121277         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
121278         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
121280 2005-08-27  Jim Meyering  <jim@meyering.net>
121282         * lib/fopen-safer.c: Merge minor changes from coreutils.
121283         * lib/dup-safer.c: Likewise.
121284         * lib/fd-safer.c: Likewise.
121286         Merge from coreutils.
121287         * lib/stdio--.h: New file.
121288         * lib/stdlib--.h: New file.
121289         * lib/mkstemp-safer.c: New file.
121291         GNU tar needs these.
121292         * lib/pipe-safer.c: New file.
121293         * lib/creat-safer.c: New file.
121294         * lib/fcntl--.h (creat): Define to creat_safer.
121295         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
121296         * lib/unistd--.h (pipe): Define to pipe_safer.
121297         * lib/unistd-safer.h: Declare pipe_safer.
121299 2005-08-26  Simon Josefsson  <jas@extundo.com>
121301         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
121302         Haible <bruno@clisp.org>.
121304 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
121306         * lib/regex_internal.h: Remove all references to
121307         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
121308         or better.
121309         (bitset_not, bitset_merge, bitset_not_merge):
121310         (bitset_mask, re_string_allocate, re_string_construct):
121311         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
121312         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
121313         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
121314         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
121315         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
121316         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
121317         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
121318         (re_acquire_state_context):
121319         Remove unnecessary forward decls.
121320         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
121321         Put __attribute at function definition,
121322         now that the function decl has been removed.
121323         * lib/regex_internal.c (re_string_peek_byte_case):
121324         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
121325         Likewise.
121327 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
121329         * m4/regex.m4: Add AC_PREREQ(2.50).
121330         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
121332 2005-08-25  Simon Josefsson  <jas@extundo.com>
121334         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
121335         __fsetlocking.
121337 2005-08-25  Simon Josefsson  <jas@extundo.com>
121339         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
121340         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
121341         GLIBC specific code.
121343 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
121345         Make regex safe for g++.  This fixes one real bug (an "err"
121346         that should have been "*err").  g++ problem reported by
121347         Sam Steingold.
121348         * lib/regex_internal.h (re_calloc): New macro, consistent with
121349         re_malloc etc.  All callers of calloc changed to use re_calloc.
121350         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
121351         not int.  All callers changed.
121352         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
121353         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
121354         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
121355         (find_recover_state): Change "err" to "*err"; this fixes what
121356         appears to be a real bug.
121357         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
121358         versus int.
121360 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
121362         * modules/regex (Depends-on): Add malloc, since the code
121363         assumes that !malloc(0) means failure.
121365 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
121367         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
121369         alloca modernization/simplification for regex.
121370         * lib/regex.c: Remove portability cruft for alloca.  This no longer
121371         needs to be at the start of the file, and can be moved into
121372         regex_internal.h and simplified.
121373         * lib/regex_internal.h: Include <alloca.h>.
121374         (__libc_use_alloca) [!defined _LIBC]: New macro.
121375         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
121376         now works outside glibc.
121378 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
121380         * config/srclist.txt: Add glibc bugs 1241, 1245.
121382 2005-08-25  Jim Meyering  <jim@meyering.net>
121384         * lib/open-safer.c: Include <config.h>.
121385         Otherwise, we'd lose LARGEFILE support in any file using
121386         e.g. "fcntl--.h"
121388 2005-08-25  Bruno Haible  <bruno@clisp.org>
121390         * m4/minmax.m4: Require autoconf 2.52.
121391         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
121392         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
121393         alternatives of translit over the alphabet.
121394         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
121396 2005-08-24  Simon Josefsson  <jas@extundo.com>
121398         * tests/test-getpass.c: New file.
121400 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
121402         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
121403         for GNU regex features.
121405 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
121407         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
121408         * lib/regex.h (regerror): Likewise.
121410         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
121411         requires this.  (The code never needed it.)
121413         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
121414         All uses of recently-renamed identifiers changed to use the new,
121415         POSIX-compliant names.  The code will build and run just fine
121416         without these changes, but it's better to eat our own dog food
121417         and use the standard-conforming names.
121419         * lib/regex.h: Fix a multitude of POSIX name space violations.
121420         These changes have an effect only for programs that define
121421         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
121422         do not change anything for programs compiled in the normal way.
121423         Also, there is no effect on the ABI.
121425         (_REGEX_SOURCE): New macro.
121426         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
121427         defined and _GNU_SOURCE is not; this fixes a name space violation.
121429         Rename the following macros to obey POSIX requirements.
121430         The old names are still visible as macros if _REGEX_SOURCE is defined.
121431         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
121432         RE_BACKSLASH_ESCAPE_IN_LISTS.
121433         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
121434         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
121435         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
121436         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
121437         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
121438         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
121439         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
121440         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
121441         (REG_INTERVALS): renamed from RE_INTERVALS.
121442         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
121443         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
121444         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
121445         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
121446         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
121447         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
121448         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
121449         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
121450         RE_UNMATCHED_RIGHT_PAREN_ORD.
121451         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
121452         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
121453         (REG_DEBUG): renamed from RE_DEBUG.
121454         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
121455         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
121456         unusual, since we can't clash with the POSIX REG_ICASE.
121457         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
121458         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
121459         (REG_NO_SUB): renamed from RE_NO_SUB.
121460         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
121461         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
121462         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
121463         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
121464         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
121465         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
121466         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
121467         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
121468         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
121469         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
121470         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
121471         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
121472         RE_SYNTAX_POSIX_MINIMAL_BASIC.
121473         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
121474         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
121475         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
121476         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
121477         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
121478         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
121479         (REG_FIXED): Renamed from REGS_FIXED.
121480         (REG_NREGS): Renamed from RE_NREGS.
121482         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
121483         of other REG_* macros, since POSIX says the user is allowed to
121484         #undef these macros selectively.
121486         (reg_errcode_t): Update comment stating what other tables need
121487         to be consistent.
121489         Rename the following enum values to obey POSIX requirements.
121490         The old names are still visible as macros.
121491         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
121492         is not defined, since GNU is supposed to be a superset of POSIX as
121493         much as possible, and since we want reg_errcode_t to be a signed
121494         type for implementation consistency.
121495         (_REG_NOERROR): Renamed from REG_NOERROR.
121496         (_REG_NOMATCH): Renamed from REG_NOMATCH.
121497         (_REG_BADPAT): Renamed from REG_BADPAT.
121498         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
121499         (_REG_ECTYPE): Renamed from REG_ECTYPE.
121500         (_REG_EESCAPE): Renamed from REG_EESCAPE.
121501         (_REG_ESUBREG): Renamed from REG_ESUBREG.
121502         (_REG_EBRACK): Renamed from REG_EBRACK.
121503         (_REG_EPAREN): Renamed from REG_EPAREN.
121504         (_REG_EBRACE): Renamed from REG_EBRACE.
121505         (_REG_BADBR): Renamed from REG_BADBR.
121506         (_REG_ERANGE): Renamed from REG_ERANGE.
121507         (_REG_ESPACE): Renamed from REG_ESPACE.
121508         (_REG_BADRPT): Renamed from REG_BADRPT.
121509         (_REG_EEND): Renamed from REG_EEND.
121510         (_REG_ESIZE): Renamed from REG_ESIZE.
121511         (_REG_ERPAREN): Renamed from REG_ERPAREN.
121512         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
121513         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
121514         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
121515         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
121517         (_REG_RE_NAME, _REG_RM_NAME): New macros.
121518         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
121519         changed.  But support the old name if the new one is not defined
121520         and if _REGEX_SOURCE.
121522         Change the following member names in struct re_pattern_buffer.
121523         The old names are still supported if !_REGEX_SOURCE.
121524         The new names are always supported, regardless of _REGEX_SOURCE.
121525         (re_buffer): Renamed from buffer.
121526         (re_allocated): Renamed from allocated.
121527         (re_used): Renamed from used.
121528         (re_syntax): Renamed from syntax.
121529         (re_fastmap): Renamed from fastmap.
121530         (re_translate): Renamed from translate.
121531         (re_can_be_null): Renamed from can_be_null.
121532         (re_regs_allocated): Renamed from regs_allocated.
121533         (re_fastmap_accurate): Renamed from fastmap_accurate.
121534         (re_no_sub): Renamed from no_sub.
121535         (re_not_bol): Renamed from not_bol.
121536         (re_not_eol): Renamed from not_eol.
121537         (re_newline_anchor): Renamed from newline_anchor.
121539         Change the following member names in struct re_registers.
121540         The old names are still supported if !_REGEX_SOURCE.
121541         The new names are always supported, regardless of _REGEX_SOURCE.
121542         (rm_num_regs): Renamed from num_regs.
121543         (rm_start): Renamed from start.
121544         (rm_end): Renamed from end.
121546         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
121547         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
121548         Prepend __ to parameter names.
121550         Undo yesterday's changes.
121552 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
121554         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
121555         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
121556         lib/regex.c.
121558 2005-08-24  Jim Meyering  <jim@meyering.net>
121560         Sync from coreutils.
121561         * m4/fcntl-safer.m4: New file.
121563         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
121564         and object files for this module.
121566 2005-08-24  Jim Meyering  <jim@meyering.net>
121568         Sync from coreutils.
121569         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
121571 2005-08-24  Jim Meyering  <jim@meyering.net>
121573         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
121574         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
121576 2005-08-24  Jim Meyering  <jim@meyering.net>
121578         * modules/fcntl-safer: New module.
121579         * modules/fts (Depends-on): Add fcntl-safer.
121580         * MODULES.html.sh (File descriptor based Input/Output):
121581         Add fcntl-safer.
121583 2005-08-24  Bruno Haible  <bruno@clisp.org>
121585         Support for unit test modules.
121586         * modules/README: Mention tests modules.
121587         * modules/TEMPLATE-TESTS: New file.
121588         * gnulib-tool: New options --extract-tests-module, --with-tests and
121589         --tests-base (unused for the moment).
121590         (testsbase, inctests): New variables.
121591         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
121592         (func_verify_module): Exclude TEMPLATE-TESTS.
121593         (func_verify_nontests_module, func_verify_tests_module): New functions.
121594         (func_get_dependencies): Add implicit dependency for tests modules.
121595         (func_get_tests_module): New function.
121596         (func_modules_transitive_closure): When --with-tests was specified,
121597         include the unit tests as well, unless explicitly avoided.
121598         (func_emit_lib_Makefile_am): Ignore the tests modules here.
121599         (func_emit_tests_Makefile_am): New function.
121600         (func_create_testdir): When --with-tests was specified, emit a
121601         tests/ directory.
121602         * MODULES.html.sh (Future developments): Update.
121604 2005-08-24  Bruno Haible  <bruno@clisp.org>
121606         * modules/tls-tests: New file.
121607         * tests/test-tls.c: New file, from GNU gettext.
121609 2005-08-24  Bruno Haible  <bruno@clisp.org>
121611         * modules/lock-tests: New file.
121612         * tests/test-lock.c: New file, from GNU gettext.
121614 2005-08-24  Bruno Haible  <bruno@clisp.org>
121616         * lib/lock.h: Add multiple inclusion guard.
121617         * lib/tls.h: Add multiple inclusion guard.
121619 2005-08-24  Bruno Haible  <bruno@clisp.org>
121621         * gnulib-tool: Add support for the --aux-dir option to
121622         --create-testdir, --create-megatestdir, --test, --megatest.
121623         (func_create_testdir, func_create_megatestdir): Optionally emit a
121624         AC_CONFIG_AUX_DIR directive.
121625         (create-testdir, create-megatestdir, test, megatest): Provide a
121626         default value for $auxdir.
121628 2005-08-24  Bruno Haible  <bruno@clisp.org>
121630         * gnulib-tool (import): Use compound statement instead of subshell
121631         where possible.
121633 2005-08-24  Bruno Haible  <bruno@clisp.org>
121635         * gnulib-tool (import): Change --aux-dir default to "build-aux".
121637 2005-08-24  Bruno Haible  <bruno@clisp.org>
121639         * gnulib-tool (func_version): Update.
121641 2005-08-24  Bruno Haible  <bruno@clisp.org>
121643         * gnulib-tool (func_import, func_create_testdir,
121644         func_create_megatestdir): Quote all autoconf macro arguments.
121646 2005-08-24  Bruno Haible  <bruno@clisp.org>
121648         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
121649         option --force, because --force causes the aclocal.m4 of each
121650         subdirectory to be newer than the corresponding config.h.in.
121652 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
121654         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
121655         All contents moved to gl_REGEX.
121656         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
121657         assume that it does.
121659 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
121661         * lib/regex.h (REG_NOSYS)
121662         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
121663         Define, since POSIX requires it as of 2001.
121664         (_REG_ENOSYS)
121665         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
121666         New private symbol, used to keep the enum signed in all cases.
121667         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
121668         Youngman in
121669         <http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.
121671         * lib/regex_internal.c (re_string_skip_chars, register_state):
121672         (calc_state_hash):
121673         Remove forward decls; no longer needed now that we use prototypes.
121674         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
121675         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
121676         (clean_state_log_if_needed): Likewise.
121678 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
121680         * config/srclist.txt: Add glibc bugs 1231-1233.
121682 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
121684         Fix problems reported by Sam Steingold in
121685         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
121686         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
121687         assumed that reg_errcode_t is a signed type, which is not
121688         necessarily true if _XOPEN_SOURCE is not defined.
121689         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
121690         since some compilers warn about it otherwise.
121692 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
121694         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
121695         (init_word_char, create_initial_state, duplicate_node_closure):
121696         (fetch_token, peek_token_bracket, build_range_exp):
121697         (build_collating_symbol): Remove forward decls; no longer needed
121698         now that we use prototypes.
121700         * lib/regcomp.c:
121701         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
121702         (re_compile_fastmap_iter, regcomp, regerror, regfree):
121703         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
121704         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
121705         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
121706         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
121707         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
121708         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
121709         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
121710         (build_range_exp, build_collating_symbol, parse_bracket_exp):
121711         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
121712         (build_charclass, build_charclass_op, fetch_number, create_tree):
121713         (create_token_tree, mark_opt_subexp, duplicate_tree):
121714         Use prototypes rather than old-style definitions.
121716         * lib/regex_internal.c:
121717         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
121718         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
121719         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
121720         (re_string_reconstruct, re_string_peek_byte_case):
121721         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
121722         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
121723         (re_node_set_init_copy, re_node_set_add_intersect):
121724         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
121725         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
121726         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
121727         (re_acquire_state, re_acquire_state_context, register_state):
121728         (create_ci_newstate, create_cd_newstate, free_state):
121729         Likewise.
121730         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
121731         re_search_2):
121732         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
121733         (re_search_internal, prune_impossible_nodes):
121734         (acquire_init_state_context, check_matching, static):
121735         (check_halt_node_context, check_halt_state_context, proceed_next_node):
121736         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
121737         (update_regs, sift_states_backward, build_sifted_states):
121738         (clean_state_log_if_needed, merge_state_array):
121739         (update_cur_sifted_state, add_epsilon_src_nodes):
121740         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
121741         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
121742         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
121743         (find_recover_state, check_subexp_matching_top, transit_state_mb):
121744         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
121745         (check_arrival, check_arrival_add_next_nodes):
121746         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
121747         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
121748         (check_node_accept_bytes, check_node_accept, extend_buffers):
121749         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
121750         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
121751         (sift_ctx_init):
121752         Likewise.
121754         * lib/regex_internal.h:
121755         (re_string_allocate, re_string_construct, re_string_reconstruct):
121756         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
121757         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
121758         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
121759         (re_string_context_at, re_string_peek_byte_case):
121760         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
121761         is defined, since we now use prototypes always.
121763         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
121764         C89 or better.  All uses removed.
121766 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
121768         * config/srclist.txt: Add glibc bugs 1220-1227.
121770 2005-08-20  Jim Meyering  <jim@meyering.net>
121772         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
121773         of unused local, dfa.
121775 2005-08-20  Bruno Haible  <bruno@clisp.org>
121777         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
121779 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
121781         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
121782         (re_node_set_insert_last, re_dfa_add_node):
121783         Rename local variables to avoid GCC shadowing warnings.
121785 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
121787         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
121788         [defined lint]: Suppress bogus uninitialized-variable warnings.
121790         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
121791         and let the caller return REG_ESPACE if out of space.  This
121792         removes an uninitialied-variable warning with GCC 4.0.1, and also
121793         avoids taking the address of a local variable.  All callers
121794         changed.
121796 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
121798         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
121799         $LIBCSRC/posix/regexec.c.
121800         Add glibc bug 1217 for regcomp.c.
121802 2005-08-19  Jim Meyering  <jim@meyering.net>
121804         * lib/regexec.c (proceed_next_node): Redo local variables to
121805         avoid GCC shadowing warnings.
121807 2005-08-18  Bruno Haible  <bruno@clisp.org>
121809         * lib/strstr.c (strstr): Fix return value in multibyte case.
121810         * lib/strcasestr.c (strcasestr): Likewise.
121812 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
121814         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
121816 2005-08-17  Jim Meyering  <jim@meyering.net>
121818         Make the %s format (seconds since the epoch) work for a negative
121819         number and when used with a zero-padded field width, e.g. %015s.
121821         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
121822         label so that it precedes the code to set `digits'.  Otherwise,
121823         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
121824         print `00-22'.  Now, it prints `-0022', as it should.
121826 2005-08-17  Bruno Haible  <bruno@clisp.org>
121828         * modules/strstr (Files): Add m4/mbrtowc.m4.
121829         (Depends-on): Add mbuiter.
121831 2005-08-17  Bruno Haible  <bruno@clisp.org>
121833         * modules/strcasestr: New file.
121834         * MODULES.html.sh (String handling, based on ANSI C 89): Add
121835         strcasestr.
121837 2005-08-17  Bruno Haible  <bruno@clisp.org>
121839         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
121841 2005-08-17  Bruno Haible  <bruno@clisp.org>
121843         * modules/mbuiter: New file.
121844         * MODULES.html.sh (Extended multibyte and wide character utilities):
121845         Add mbuiter.
121847 2005-08-17  Bruno Haible  <bruno@clisp.org>
121849         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
121850         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
121852 2005-08-17  Bruno Haible  <bruno@clisp.org>
121854         * m4/strcasestr.m4: New file.
121856 2005-08-17  Bruno Haible  <bruno@clisp.org>
121858         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
121859         * lib/strstr.c: Completely rewritten, with multibyte locale support.
121861 2005-08-17  Bruno Haible  <bruno@clisp.org>
121863         * lib/strcasestr.h: New file.
121864         * lib/strcasestr.c: New file.
121866 2005-08-17  Bruno Haible  <bruno@clisp.org>
121868         * lib/strcasecmp.c: Use mbuiter.h.
121870 2005-08-17  Bruno Haible  <bruno@clisp.org>
121872         * lib/mbuiter.h: New file.
121874 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
121876         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
121877         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
121878         and gl_GETOPT are both invoked via different paths (as happens
121879         with GNU tar CVS because it uses both argp and getopt), the former
121880         wins.
121882 2005-08-16  Bruno Haible  <bruno@clisp.org>
121884         * modules/tls: New file.
121885         * MODULES.html.sh (Multithreading): Add tls.
121887 2005-08-16  Bruno Haible  <bruno@clisp.org>
121889         * modules/strnlen1: New file.
121890         * MODULES.html.sh (String handling): Add strnlen1.
121892 2005-08-16  Bruno Haible  <bruno@clisp.org>
121894         * modules/strcase (Files): Add m4/mbrtowc.m4.
121895         (Depends-on): Add strnlen1, mbchar.
121897 2005-08-16  Bruno Haible  <bruno@clisp.org>
121899         * modules/mbiter: New file.
121900         * MODULES.html.sh (Extended multibyte and wide character utilities):
121901         Add mbiter.
121903 2005-08-16  Bruno Haible  <bruno@clisp.org>
121905         * modules/mbfile: New file.
121906         * MODULES.html.sh (Extended multibyte and wide character utilities):
121907         Add mbfile.
121909 2005-08-16  Bruno Haible  <bruno@clisp.org>
121911         * modules/mbchar: New file.
121912         * MODULES.html.sh (Extended multibyte and wide character utilities):
121913         New section.
121915 2005-08-16  Bruno Haible  <bruno@clisp.org>
121917         * m4/tls.m4: New file, from GNU gettext.
121919 2005-08-16  Bruno Haible  <bruno@clisp.org>
121921         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
121922         always.
121923         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
121925 2005-08-16  Bruno Haible  <bruno@clisp.org>
121927         * m4/mbiter.m4: New file.
121929 2005-08-16  Bruno Haible  <bruno@clisp.org>
121931         * m4/mbfile.m4: New file.
121933 2005-08-16  Bruno Haible  <bruno@clisp.org>
121935         * m4/mbchar.m4: New file.
121937 2005-08-16  Bruno Haible  <bruno@clisp.org>
121939         * lib/tls.h: New file, from GNU gettext.
121940         * lib/tls.c: New file, from GNU gettext.
121942 2005-08-16  Bruno Haible  <bruno@clisp.org>
121944         * lib/strnlen1.h: New file.
121945         * lib/strnlen1.c: New file.
121947 2005-08-16  Bruno Haible  <bruno@clisp.org>
121949         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
121950         (mbi_init): Update.
121951         (mbi_avail, mbi_advance): Let the iteration end before the terminating
121952         NUL byte, not after it.
121954 2005-08-16  Bruno Haible  <bruno@clisp.org>
121956         * lib/strcase.h (strcasecmp): Add note in comments.
121957         * lib/strncasecmp.c: Use code from strcasecmp.c.
121958         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
121959         (strcasecmp): Work correctly in multibyte locales.
121961 2005-08-16  Bruno Haible  <bruno@clisp.org>
121963         * lib/mbiter.h: New file.
121965 2005-08-16  Bruno Haible  <bruno@clisp.org>
121967         * lib/mbfile.h: New file.
121969 2005-08-16  Bruno Haible  <bruno@clisp.org>
121971         * lib/mbchar.h: New file.
121972         * lib/mbchar.c: New file.
121974 2005-08-16  Bruno Haible  <bruno@clisp.org>
121976         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
121977         the valid ones. Makes the comparison operations transitive:
121978         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
121979         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
121981 2005-08-15  Simon Josefsson  <jas@extundo.com>
121983         * modules/ssize_t (License): Change to 'unlimited'.
121985         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
121987 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
121989         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
121990         Add comments for each pending glibc patch.
121992 2005-08-15  Bruno Haible  <bruno@clisp.org>
121994         * lib/regex.h (__restrict_arr): Don't define to __restrict if
121995         __cplusplus is defined.
121997 2005-08-14  Jim Meyering  <jim@meyering.net>
121999         Sync from coreutils.
122001         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
122002         Use the hash-table-based cycle-detection code not just when
122003         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
122004         Reported by James Youngman in
122005         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
122006         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
122007         FTS_TIGHT_CYCLE_CHECK.
122008         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
122009         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
122010         once again.
122011         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
122012         * lib/fts.c (fd_safer): Remove decl.
122013         Include fcntl--.h rather than unistd-safer.h
122014         (fts_safe_changedir): Don't call fd_safer; no longer needed
122015         now that we include fcntl--.h.
122017 2005-08-12  Simon Josefsson  <jas@extundo.com>
122019         * modules/getndelim2: Use ssize_t module.
122020         * modules/getnline: Likewise.
122021         * modules/safe-read: Likewise.
122022         * modules/xreadlink: Likewise.
122024         * modules/ssize_t: New file.
122026 2005-08-12  Simon Josefsson  <jas@extundo.com>
122028         * m4/readline.m4: Look for termcap, curses or ncurses if required.
122030 2005-08-12  Simon Josefsson  <jas@extundo.com>
122032         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
122033         ssize_t.
122035 2005-08-12  Simon Josefsson  <jas@extundo.com>
122037         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
122038         readline, getdelim and check_version.
122039         (Support for systems lacking ISO C 99: Sizes of integer types):
122040         Add size_max.
122042 2005-08-12  Bruno Haible  <bruno@clisp.org>
122044         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
122046 2005-08-11  Simon Josefsson  <jas@extundo.com>
122048         * modules/readline: New file.
122050         * modules/strnlen (Files): Add strnlen.h.
122052 2005-08-11  Simon Josefsson  <jas@extundo.com>
122054         * m4/readline.m4: New file.
122056 2005-08-11  Simon Josefsson  <jas@extundo.com>
122058         * lib/readline.h, readline.c: New file.
122060 2005-08-11  Simon Josefsson  <jas@extundo.com>
122062         * doc/gnulib.texi (Initial import, Finishing touches): Mention
122063         gl_AVOID.
122065 2005-08-11  Bruno Haible  <bruno@clisp.org>
122067         * lib/strnlen.h (strnlen): Change parameter name to match comment.
122069 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
122071         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
122073 2005-08-10  Simon Josefsson  <jas@extundo.com>
122075         * tests/test-iconvme.c: New file.
122077 2005-08-10  Simon Josefsson  <jas@extundo.com>
122079         * m4/strnlen.m4: New file.
122081         * m4/strndup.m4: Don't check for strnlen declaration, done in
122082         strnlen.m4.
122084 2005-08-10  Simon Josefsson  <jas@extundo.com>
122086         * lib/strndup.c: Use strnlen.h.
122088         * lib/strnlen.h: New file.
122090 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
122092         * README: Typos.
122094 2005-08-02  Simon Josefsson  <jas@extundo.com>
122096         * modules/readline: New file.
122098 2005-08-02  Simon Josefsson  <jas@extundo.com>
122100         * modules/getdelim: New file.
122102         * modules/getline: Rewrite, don't use getndelim2.
122104 2005-08-02  Simon Josefsson  <jas@extundo.com>
122106         * m4/getline.m4: Separate out getdelim stuff into separate module.
122108         * m4/getdelim.m4: New file.
122110 2005-08-02  Simon Josefsson  <jas@extundo.com>
122112         * lib/getline.h, getline.c: Rewrite.
122114         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
122116 2005-07-31  Bruno Haible  <bruno@clisp.org>
122118         * lib/lock.h (gl_lock_initializer): New macro.
122119         (gl_lock_define_initialized): Use it.
122120         (gl_rwlock_initializer): New macro.
122121         (gl_rwlock_define_initialized): Use it.
122122         (gl_recursive_lock_initializer): New macro.
122123         (gl_recursive_lock_define_initialized): Use it.
122125 2005-07-30  Karl Berry  <karl@gnu.org>
122127         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
122128         Report from Ben Pfaff, regarding getopt.
122130 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
122132         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
122133         normal way.
122134         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
122135         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
122136         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
122137         (gl_GETOPT): Use the new macros.  Most of the implementation
122138         is moved to the new macros.  This is for programs like Emacs
122139         that don't want all the functionality of gl_GETOPT.
122141 2005-07-26  Bruno Haible  <bruno@clisp.org>
122143         * m4/lock.m4: Update from GNU gettext.
122145 2005-07-26  Bruno Haible  <bruno@clisp.org>
122147         * lib/lock.h: Update from GNU gettext.
122148         * lib/lock.c: Update from GNU gettext.
122150 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
122152         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
122153         obsolescent AC_TRY_RUN.  Include the default includes files, for
122154         'exit'.
122156 2005-07-24  Bruno Haible  <bruno@clisp.org>
122158         * modules/visibility: New file.
122159         * MODULES.html.sh (Misc): Add visibility.
122161 2005-07-24  Bruno Haible  <bruno@clisp.org>
122163         * m4/visibility.m4: New file.
122165 2005-07-24  Bruno Haible  <bruno@clisp.org>
122167         * doc/visibility.texi: New file.
122169 2005-07-22  Bruno Haible  <bruno@clisp.org>
122171         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
122172         $(ALLOCA_H), redundant through BUILT_SOURCES.
122173         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
122174         redundant through BUILT_SOURCES.
122175         * modules/byteswap (Makefile.am): Remove explicit dependency on
122176         $(BYTESWAP_H), redundant through BUILT_SOURCES.
122177         * modules/fnmatch (Makefile.am): Remove explicit dependency on
122178         $(FNMATCH_H), redundant through BUILT_SOURCES.
122179         * modules/getopt (Makefile.am): Remove explicit dependency on
122180         $(GETOPT_H), redundant through BUILT_SOURCES.
122181         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
122182         redundant through BUILT_SOURCES.
122183         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
122184         redundant through BUILT_SOURCES.
122185         * modules/stdbool (Makefile.am): Remove explicit dependency on
122186         $(STDBOOL_H), redundant through BUILT_SOURCES.
122187         * modules/stdint (Makefile.am): Remove explicit dependency on
122188         $(STDINT_H), redundant through BUILT_SOURCES.
122189         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
122190         Remove explicit dependency on $(SYSEXITS_H).
122191         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
122193 2005-07-18  Simon Josefsson  <jas@extundo.com>
122195         * lib/check-version.c (check_version): Accept identical versions too.
122197 2005-07-18  Bruno Haible  <bruno@clisp.org>
122199         * modules/lock: New file.
122200         * MODULES.html.sh (Multithreading): New section.
122202 2005-07-18  Bruno Haible  <bruno@clisp.org>
122204         * m4/lock.m4: New file, from GNU gettext.
122206 2005-07-18  Bruno Haible  <bruno@clisp.org>
122208         * lib/lock.h: New file, from GNU gettext.
122209         * lib/lock.c: New file, from GNU gettext.
122211 2005-07-18  Bruno Haible  <bruno@clisp.org>
122213         * lib/lock.h (gl_once_t): New type.
122214         (gl_once_define, gl_once): New macros.
122215         * lib/lock.c (fresh_once): New variable.
122216         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
122217         functions.
122219 2005-07-16  Simon Josefsson  <jas@extundo.com>
122221         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
122222         workaround, suggested by Bruno.
122224 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
122226         * modules/xalloc (Depends-on): Add xalloc-die.
122227         * modules/xvasprintf (Depends-on): Add xalloc-die.
122229 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
122231         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
122232         with a minor change.
122234 2005-07-15  Bruno Haible  <bruno@clisp.org>
122236         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
122237         When using lib/poll.c, define poll as rpl_poll.
122239 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
122241         * modules/argp (Depends-on): Remove unlocked-io.
122243 2005-07-14  Derek Price  <derek@ximbiot.com>
122245         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
122246         for glob symlink bug.
122248 2005-07-14  Bruno Haible  <bruno@clisp.org>
122250         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
122251         Instead, test for *_unlocked function declarations directly.
122253 2005-07-11  Simon Josefsson  <jas@extundo.com>
122255         * modules/size_max: New file.
122257         * modules/xsize: Depend on size_max module for size_max.m4.
122259 2005-07-11  Simon Josefsson  <jas@extundo.com>
122261         * lib/size_max.h: New file.
122263 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
122265         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
122266         copyright symbol and the year.
122267         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
122268         (version_etc_va): Use parameterized copyright notice.
122269         Reword to conform to the current GNU coding standards.
122271 2005-07-11  Karl Berry  <karl@gnu.org>
122273         * doc/gnulib.texi (Quoting): new node.
122274         (Initial import): more info, from Patrice.
122276 2005-07-11  Bruno Haible  <bruno@clisp.org>
122278         * gnulib-tool (func_usage): Document option --avoid.
122279         (Command line options): Handle --avoid.
122280         (func_acceptable): New function.
122281         (func_modules_transitive_closure): Use it.
122283 2005-07-11  Bruno Haible  <bruno@clisp.org>
122285         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
122286         Reported by Jim Meyering.
122288 2005-07-10  Bruno Haible  <bruno@clisp.org>
122290         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
122291         Needed when size_t is smaller than 'unsigned int'.
122292         Reported by Paul Eggert.
122294 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
122296         * modules/argp (Depends-on): Add unlocked-io
122298 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
122300         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
122301         block of defines.
122303 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
122305         * config/srclist.txt: Comment out regcomp.c, since we have a porting
122306         fix now.
122308 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
122309         and Paul Eggert  <eggert@cs.ucla.edu>
122311         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
122312         in wint_t, not wchar_t.  Remove now-unnecessary cast.
122314 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
122316         * modules/regex (Files): Add lib/regex_internal.c,
122317         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
122318         (Depends-on): Add extensions.
122319         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
122321 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
122323         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
122324         pathconf.
122325         * m4/same.m4 (gl_SAME): Likewise.
122326         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
122328         * m4/regex.m4: Adjust to new libc regex implementation.
122329         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
122330         all the .c and .h parts of (the new) regex.
122331         Quote the m4 stuff better.
122332         Check for RE_ICASE bug of old gnulib.
122333         Check for REG_STARTEND of recent libc.
122334         Rename local variables from jm_* to gl_*.
122335         Quote operand of "test -f".
122336         Say "recent enough" version of libc, not "version 2".
122337         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
122338         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
122339         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
122340         Remove check for btowc, isascii.
122341         Require AM_LANGINFO_CODESET.
122343 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
122345         * lib/regex.c, regex.h: Sync from libc.
122346         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
122347         * lib/regexec.c:
122348         New files, synced from libc, except that regex_internal.h
122349         currently has a small porting fix.
122351 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
122353         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
122354         regex_internal.c, regexec.c.
122355         Add regex_internal.h too, but as a comment, since the libc version
122356         is currently broken in gnulib mode.
122358 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
122360         Support programs like Emacs that use gnulib but not gettext.
122361         * MODULES.html.sh (Internationalization functions): Add gettext-h.
122362         * modules/gettext-h: New file.
122363         * modules/gettext (Files): Remove lib/gettext.h.
122364         (Depends-on): Add gettext-h.
122365         (Makefile.am): Remove lib_SOURCES.
122366         * modules/argmatch, modules/c-stack, modules/closeout:
122367         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
122368         * modules/execute, modules/file-type, modules/getaddrinfo:
122369         * modules/getopt, modules/human, modules/javacomp:
122370         * modules/javaexec, modules/mkdir-p, modules/obstack:
122371         * modules/openat, modules/pagealign_alloc, modules/pipe:
122372         * modules/quotearg, modules/regex, modules/rpmatch:
122373         * modules/unicodeio, modules/userspec, modules/version-etc:
122374         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
122375         * modules/xsetenv:
122376         Depend on gettext-h, not gettext.
122378 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
122380         * gnulib-tool (func_import): Add support for 'public domain' license.
122381         * modules/alloca, modules/atexit, modules/memmove:
122382         Now public domain, not GPL.
122383         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
122384         * modules/realloc, modules/strerror, modules/strtod:
122385         Now LGPL, not GPL.
122387 2005-07-05  Bruno Haible  <bruno@clisp.org>
122389         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
122390         autoconf CVS. Needed for mingw.
122392 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
122394         Remove the dependency of the strftime module on the tzset module.
122395         * modules/strftime (Depends-on): Remove dependency on tzset.
122397 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
122399         Remove the dependency of the strftime module on the tzset module.
122400         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
122401         gl_FUNC_TZSET_CLOBBER.
122403 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
122405         Remove the dependency of the strftime module on the tzset module.
122406         * lib/strftime.c (my_strftime)
122407         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
122408         Copy the input structure, to work around some of the bug with
122409         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
122410         Solaris releases, you should also use the tzset module, but we won't
122411         require it as a dependency any more since we don't want LGPLed code
122412         to depend on GPLed code.
122414 2005-07-02  Jim Meyering  <jim@meyering.net>
122416         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
122417         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
122418         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
122419         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
122421 2005-07-02  Jim Meyering  <jim@meyering.net>
122423         * lib/backupfile.c (backup_args): Change a `0' to NULL.
122425 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
122427         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
122428         declares only 'struct timespec;' (!).
122430 2005-07-01  Jim Meyering  <jim@meyering.net>
122432         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
122433         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
122434         * lib/save-cwd.c, tempname.c:
122435         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
122436         and don't include <sys/file.h>).
122438 2005-06-29  Jim Meyering  <jim@meyering.net>
122440         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
122441         type name.  Use the variable name instead.
122442         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
122443         Likewise.
122445 2005-06-28  Simon Josefsson  <jas@extundo.com>
122447         * modules/check-version (Files): Add check-version.m4.
122449 2005-06-28  Simon Josefsson  <jas@extundo.com>
122451         * m4/check-version.m4: New file, suggested by Jim Meyering
122452         <jim@meyering.net>.
122454 2005-06-28  Simon Josefsson  <jas@extundo.com>
122456         * lib/check-version.h, lib/check-version.c: New files.
122458 2005-06-28  Simon Josefsson  <jas@extundo.com>
122460         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
122461         collision with global variable.  Better indentation.  Don't
122462         increment buffer pointer beyond buffer end.  Based on comments
122463         from Paul Eggert <eggert@cs.ucla.edu>.
122465         * lib/base64.h: Indent.
122467 2005-06-28  Simon Josefsson  <jas@extundo.com>
122469         * doc/gnulib.texi (Library version handling): New section.
122471 2005-06-28  Jim Meyering  <jim@meyering.net>
122473         * check-module (find_included_lib_files): Hard-code another
122474         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
122475         but modules/fts-lgpl (correctly) does not list those files.
122477         * modules/canonicalize (Files): Add lib/pathmax.h.
122479 2005-06-25  Simon Josefsson  <jas@extundo.com>
122481         * modules/check-version: New file.
122483 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
122485         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
122486         initializer of struct addrinfo, as an indication that we don't
122487         care how many members the structure has.
122489 2005-06-24  Derek Price  <derek@ximbiot.com>
122490         and Bruno Haible  <bruno@clisp.org>
122492         Remove stat module & update lstat.
122493         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
122494         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
122495         * m4/stat.m4: Remove this file.
122497 2005-06-24  Derek Price  <derek@ximbiot.com>
122498         and Bruno Haible  <bruno@clisp.org>
122500         Remove stat module & update lstat.
122501         * lib/stat.c: Remove this file...
122502         (slash_aware_lstat): ...moving this content and its support...
122503         * lib/lstat.c (rpl_lstat): ...into here.
122504         * lib/lstat.h: New file.
122506 2005-06-24  Derek Price  <derek@ximbiot.com>
122507         and Bruno Haible  <bruno@clisp.org>
122509         Remove stat module & update lstat.
122510         * config/srclist.txt (libc sources): Remove stat.
122512 2005-06-24  Derek Price  <derek@ximbiot.com>
122513         and Bruno Haible  <bruno@clisp.org>
122515         Remove stat module & update lstat.
122516         * MODULES.html.sh (stat): Remove.
122517         * MODULES.html: Regenerated.
122518         * modules/lstat (Description): Correct function name.
122519         (Files): Add "lstat.h".
122520         (Depends-on): Remove stat, add xalloc, stat-macros.
122521         * modules/stat: Remove this file.
122522         (Include): Add "lstat.h", remove <sys/stat.h>.
122524 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
122526         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
122527         (ranged_convert): Don't save conversion in a temporary struct.
122528         This causes a warning with GCC 4.0.0, and anyway in the typical
122529         case it's not worth the extra 100 bytes or so of code.
122530         (ranged_convert, __mktime_internal): When calling a function via a
122531         pointer P, use P () rather than (*P) (), as we now assume C89 or
122532         better.
122534 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
122536         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
122537         "who -r" failed to give output.  Problem reported by Tim Waugh.
122539         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
122540         (xcalloc): Use it to avoid needless tests.
122541         Problem reported by Jim Meyering.
122543 2005-06-20  Derek Price  <derek@ximbiot.com>
122545         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
122546         unnecessary for Autoconfs > 2.59c.
122548 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122550         * lib/argp.h (__option_is_short): Check upper limit of
122551         __key. Isprint() requires its argument to have the value
122552         of an unsigned char or EOF.
122554 2005-06-16  Jim Meyering  <jim@meyering.net>
122556         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
122557         when either N or S is zero.
122559 2005-06-16  Derek Price  <derek@ximbiot.com>
122561         * m4/bison.m4: Declare YACC & YFLAGS precious.
122563 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
122565         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
122566         multibyte string or pattern, fall back on unibyte matching.
122567         Problem reported by James Youngman.
122569 2005-06-08  Bruno Haible  <bruno@clisp.org>
122571         * modules/csharpcomp: New file.
122572         * MODULES.html.sh (C#): Add csharpcomp.
122574 2005-06-08  Bruno Haible  <bruno@clisp.org>
122576         * m4/csharpcomp.m4: New file, from GNU gettext.
122578 2005-06-08  Bruno Haible  <bruno@clisp.org>
122580         * lib/csharpcomp.h: New file, from GNU gettext.
122581         * lib/csharpcomp.c: New file, from GNU gettext.
122582         * lib/csharpcomp.sh.in: New file, from GNU gettext.
122584 2005-06-08  Bruno Haible  <bruno@clisp.org>
122586         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
122587         warning on mingw.
122589 2005-06-07  Derek Price  <derek@ximbiot.com>
122591         Sync from CVS.
122592         * lib/glob_.h: Indent nested #ifdef.
122594 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
122596         Sync from coreutils.
122597         Use "file name" when talking about file names, instead of "filename"
122598         or "path", as per the GNU coding standards.
122599         * lib/mkdir-p.c: Renamed from makepath.c.
122600         (make_dir_parents): Renamed from make_path.  All callers changed.
122601         * lib/mkdir-p.h: Likewise.  All includers changed.
122602         * lib/filenamecat.c: Renamed from path-concat.c.
122603         (file_name_concat): Renamed from path_concat.  All callers changed.
122604         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
122605         * lib/filenamecat.h: Likewise.  All includers changed.
122606         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
122607         in comments or local variable names.
122608         * lib/basename.c: Likewise.
122609         * lib/canonicalize.c, canonicalize.h: Likewise.
122610         * lib/dirname.c, dirname.h: Likewise.
122611         * lib/euidaccess.c: Likewise.
122612         * lib/exclude.c: Likewise
122613         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
122614         * lib/fsusage.c, fsuage.h: Likewise.
122615         * lib/fts.c, fts_.h: Likewise.
122616         * lib/getcwd.c: Likewise.
122617         * lib/getloadavg.c: Likewise.
122618         * lib/mkstemp.c: Likewise.
122619         * lib/mountlist.c, mountlist.h: Likewise.
122620         * lib/openat.c, openat.h: Likewise.
122621         * lib/readlink-stub.c: Likewise.
122622         * lib/readutmp.c, readutmp.h: Likewise.
122623         * lib/rename.c: Likewise.
122624         * lib/rmdir.c: Likewise.
122625         * lib/same.c: Likewise.
122626         * lib/savedir.c: Likewise.
122627         * lib/stripslash.c: Likewise.
122628         * lib/tempname.c: Likewise.
122629         * lib/xreadlink.c: Likewise.
122630         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
122631         All uses changed.
122632         * lib/exclude.h: Likewise.
122634         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
122635         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
122636         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
122637         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
122638         * lib/pathmax.h: Include <limits.h> unconditionally, since other
122639         files have been getting away with it for years (MORE/BSD 4.3
122640         is extinct now).
122641         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
122642         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
122644         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
122645         Define to 256, not 255, as per modern POSIX.
122647 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
122649         Sync from coreutils.
122650         Use "file name" when talking about file names, instead of "filename"
122651         or "path", as per the GNU coding standards.
122652         * MODULES.html.sh: mkdir-p renamed from makepath.
122653         filenamecat renamed from path-concat.
122654         * modules/filenamecat: Renamed from modules/path-concat.
122655         (Files): filenamecat.h and filenamecat.c renamed from
122656         path-concat.h and path-concat.c.
122657         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
122658         (Include): filenamecat.h, not path-concat.h.
122659         * modules/mkdir-p: Renamed from modules/makepath.
122660         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
122661         makepath.c.
122662         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
122663         (Include): mkdir-p.h, not makepath.h.
122665 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
122667         Sync from coreutils.
122668         * m4/mkdir-p.m4: Renamed from makepath.m4.
122669         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
122670         Rename files from makepath.c to mkdir-p.c, and from
122671         makepath.h to mkdir-p.h.
122672         * m4/filenamecat.m4: Renamed from path-concat.m4.
122673         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
122674         Rename files from path-concat.c to filenamecat.c,
122675         and from path-concat.h to filenamecat.h.
122676         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
122677         "file name" in local variables or comments.
122678         * m4/rename.m4: Likewise.
122680 2005-06-01  Bruno Haible  <bruno@clisp.org>
122682         * modules/csharpexec: New file.
122683         * MODULES.html.sh (C#): New section.
122685 2005-06-01  Bruno Haible  <bruno@clisp.org>
122687         * m4/csharp.m4: New file, from GNU gettext.
122688         * m4/csharpexec.m4: New file, from GNU gettext.
122690 2005-06-01  Bruno Haible  <bruno@clisp.org>
122692         * lib/csharpexec.h: New file, from GNU gettext.
122693         * lib/csharpexec.c: New file, from GNU gettext.
122694         * lib/csharpexec.sh.in: New file, from GNU gettext.
122696 2005-05-31  Derek Price  <derek@ximbiot.com>
122697             Paul Eggert  <eggert@cs.ucla.edu>
122699         Sync from cvs.
122700         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
122702 2005-05-31  Derek Price  <derek@ximbiot.com>
122703             Paul Eggert  <eggert@cs.ucla.edu>
122705         Sync from cvs.
122706         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
122708 2005-05-29  Derek Price  <derek@ximbiot.com>
122710         * config/srclist.txt (glob_.h, glob.c): Add these files.
122712 2005-05-29  Derek Price  <derek@ximbiot.com>
122714         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
122715         * modules/glob: New file.
122716         * modules/getlogin_r: Add link to POSIX spec in description.
122718 2005-05-29  Derek Price  <derek@ximbiot.com>
122719             Paul Eggert  <eggert@cs.ucla.edu>
122721         * m4/glob.m4: New file.
122723 2005-05-29  Derek Price  <derek@ximbiot.com>
122724             Paul Eggert  <eggert@cs.ucla.edu>
122726         * lib/glob_.h, lib/glob.c: New files.
122728 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
122730         * modules/fts (Files): Remove m4/inttypes-pri.m4.
122731         * modules/fts-lgpl (Depends-on): Remove gettext.
122733 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
122735         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
122736         and don't require gt_INTTYPES_PRI.
122738 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
122740         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
122742         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
122743         the configuration hassle isn't worth it.
122744         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
122745         (LONGEST_MODIFIER, PRIuMAX): Remove.
122747 2005-05-27  Bruno Haible  <bruno@clisp.org>
122749         * lib/getlogin_r.h: Remove second include of <stddef.h>.
122751 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
122753         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
122754         _POSIX_PTHREAD_SEMANTICS for Solaris.
122756 2005-05-25  Derek Price  <derek@ximbiot.com>
122758         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
122760 2005-05-25  Derek Price  <derek@ximbiot.com>
122761             Paul Eggert  <eggert@cs.ucla.edu>
122763         * modules/getlogin_r, m4/getlogin_r.m4: New files.
122764         * lib/getlogin_r.c, getlogin_r.h: New files.
122766 2005-05-25  Bruno Haible  <bruno@clisp.org>
122767             Derek Price  <derek@ximbiot.com>
122769         * lib/getlogin_r.h: Simplify API documentation.
122771 2005-05-23  Derek Price  <derek@ximbiot.com>
122773         * modules/minmax (Files): Add m4/minmax.m4.
122774         (configure.ac): Add gl_MINMAX.
122776 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
122778         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
122779         so that unistd-safer.h (GPL'ed code) need not be included.
122781 2005-05-22  Bruno Haible  <bruno@clisp.org>
122783         * m4/minmax.m4: New file.
122784         Based on a patch by Derek Price <derek@ximbiot.com>.
122786 2005-05-22  Bruno Haible  <bruno@clisp.org>
122788         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
122789         (INT64_MIN): Fix definition.
122790         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
122792         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
122793         NEED_SIGNED_INT_TYPES.
122795         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
122796         HAVE_SYSTEM_INTTYPES.
122798 2005-05-22  Bruno Haible  <bruno@clisp.org>
122800         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
122801         Also include <sys/param.h> if it defines MIN, MAX.
122802         Based on a patch by Derek Price <derek@ximbiot.com>.
122804 2005-05-21  Jim Meyering  <jim@meyering.net>
122806         * modules/fts (Files): Add m4/inttypes-pri.m4.
122807         (Depends-on): Add lstat and remove gettext.  Alphabetize.
122809 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
122811         New fts module.
122812         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
122813         (setup_dir, free_dir): New functions.
122814         (enter_dir, leave_dir): Define trivial
122815         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
122816         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
122817         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
122818         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
122819         Move to fts-cycle.c.
122820         (fts_open): Use setup_dir.
122821         (fts_close): Use free_dir.
122822         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
122823         This adds a label and some gotos, but the alternatives were messier.
122824         Check for memory allocation failure when entering a dir.
122825         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
122826         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
122827         (FTS): New member fts_cycle, that is a union that contains the
122828         old active_dir_ht and cycle_state.  All uses changed to mention
122829         fts_cycle.ht and fts_cycle.state.
122830         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
122831         fts.c, with the following changes:
122832         (setup_dir, free_dir): New functions.
122833         (enter_dir): Now returns bool.  Return true if successful, false
122834         if memory exhausted.  All callers changed.
122835         Do not bother partly cleaning up on
122836         memory allocation failure; that is free_dir's job.
122837         However, free ad if hash_insert fails, to avoid memory leak.
122838         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
122839         fts->fts_options to see which union member to use.
122841 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
122843         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
122844         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
122846 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
122848         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
122850 2005-05-20  Jim Meyering  <jim@meyering.net>
122852         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
122853         Now a macro, to pacify GCC.
122855 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
122857         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
122858         of -1.
122860 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
122862         * lib/chown.c (rpl_chown): Return -1 on failure.
122864 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
122866         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
122867         Don't check for stddef.h.
122868         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
122869         don't use its results.
122870         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
122871         since we include them unconditionally.  Don't require
122872         AM_STDBOOL_H, since stdbool is a prerequisite.
122873         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
122874         since we assume C89 or better.
122875         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
122876         as we don't use their results.
122877         Don't check for fchdir, memmove, memset, strrchr, as we use
122878         them unconditionally.
122879         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
122880         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
122882 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
122884         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
122885         Include <stddef.h> unconditionally, since we assume C89 now.
122886         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
122887         * lib/fts.c: Include fts_.h first, to check interface.
122888         Do not include intprops.h; no longer needed.
122889         Include cycle-check.h and hash.h, since fts_.h no longer does.
122890         Remove unnecessary casts of closedir to void.
122891         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
122892         decide whether to decrement nlinks.
122893         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
122894         (FTS): Use struct hash_table * instead of Hash_table, so that
122895         we no longer need to include hash.h here.
122897 2005-05-18  Jim Meyering  <jim@meyering.net>
122899         * modules/dirfd (License): Change to LGPL.  Most of the code
122900         is already in the public domain.
122902 2005-05-18  Jim Meyering  <jim@meyering.net>
122904         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
122905         Reported by Yoann Vandoorselaere.
122907 2005-05-17  Jim Meyering  <jim@meyering.net>
122909         * m4/fts.m4: New file, from coreutils.
122911 2005-05-17  Jim Meyering  <jim@meyering.net>
122913         * lib/fts.c, lib/fts_.h: New files, from coreutils.
122915 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
122917         Sync from coreutils.
122918         * m4/unlinkdir.m4: New file.
122920 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
122922         Sync from coreutils.
122923         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
122924         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
122925         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
122926         White space changes only.
122927         * lib/makepath.c (make_path): Port to hosts where leading "//" is
122928         special.
122929         * lib/yesno.c: Include getline.h, not ctype.h.
122930         (yesno): Don't remove leading white space; POSIX doesn't allow it.
122931         Use getline to remove arbitrary restriction on response length.
122933 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
122935         * config/srclist-update: Spell out "Street" in FSF postal
122936         mail address; this is the style the FSF seems to prefer.
122938         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
122939         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
122940         this updates FSF postal mail address.
122942         Sync from coreutils.
122943         * modules/unlinkdir: New file.
122944         * modules/yesno (Depends-on): Add getline.
122945         * MODULES.html.sh (File system functions): Add unlinkdir.
122947 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
122949         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
122950         lib/strsep.h:
122951         Change the initial comment to refer to GPL, not LGPL.
122952         gnulib-tool will change it to LGPL as needed.
122954         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
122955         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
122956         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
122957         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
122958         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
122959         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
122960         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
122961         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
122962         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
122963         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
122964         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
122965         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
122966         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
122967         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
122968         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
122969         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
122970         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
122971         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
122972         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
122973         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
122974         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
122975         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
122976         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
122977         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
122978         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
122979         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
122980         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
122981         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
122982         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
122983         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
122984         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
122985         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
122986         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
122987         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
122988         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
122989         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
122990         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
122991         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
122992         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
122993         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
122994         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
122995         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
122996         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
122997         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
122998         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
122999         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
123000         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
123001         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
123002         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
123003         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
123004         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
123005         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
123006         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
123007         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
123008         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
123009         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
123010         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
123011         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
123012         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
123013         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
123014         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
123015         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
123016         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
123017         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
123018         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
123019         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
123020         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
123021         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
123022         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
123023         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
123024         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
123025         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
123026         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
123027         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
123028         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
123029         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
123030         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
123031         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
123032         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
123033         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
123034         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
123035         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
123036         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
123037         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
123038         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
123039         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
123040         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
123041         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
123042         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
123043         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
123044         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
123045         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
123046         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
123047         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
123048         lib/yesno.c, lib/yesno.h:
123049         Update FSF postal mail address.
123051 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
123053         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
123054         tests/test-memmem.c, tests/test-stpncpy.c:
123055         Update FSF postal mail address.
123057 2005-05-13  Bruno Haible  <bruno@clisp.org>
123059         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
123060         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
123061         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
123062         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
123063         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
123064         Add support for 64-bit integers in the MSVC compiler.
123066 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123068         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
123070 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
123072         * gnulib-tool (func_import): Sort and uniquify recommended includes.
123074 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
123076         * doc/getdate.texi (General date syntax): Don't say that date
123077         date --iso-8601=ns generates acceptable dates; it doesn't yet.
123078         Problem reported by Nic Ferrier.
123080 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
123082         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
123083         specified in ai_socktype. Fix invalid ai_protocol
123084         check. ai_protocol is usually set to 0 or depending on
123085         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
123086         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
123087         ai_socktype / ai_protocol in the returned addrinfo structure.
123089 2005-05-10  Simon Josefsson  <jas@extundo.com>
123091         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
123092         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
123094 2005-05-10  Karl Berry  <karl@gnu.org>
123096         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
123097         (from http://www.gnu.org/licenses).
123098         * doc/COPYING.LIB: also rename to COPYING.LESSER.
123099         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
123100         fdl.texi suffices.
123102 2005-05-10  Karl Berry  <karl@gnu.org>
123104         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
123105         (COPYING.DOC): remove.
123107         * config/srclist-update: new FSF address.
123109 2005-05-10  Derek Price  <derek@ximbiot.com>
123111         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
123112         possible.
123114 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
123115             Bruno Haible  <bruno@clisp.org>
123117         * modules/inet_ntop: New file.
123118         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
123119         inet_ntop.
123121 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
123122             Bruno Haible  <bruno@clisp.org>
123124         * m4/inet_ntop.m4: New file.
123126 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
123127             Bruno Haible  <bruno@clisp.org>
123129         * lib/inet_ntop.h: New file.
123130         * lib/inet_ntop.c: New file, from glibc with modifications.
123132 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
123134         * modules/time_r (License): Change to LGPL.
123135         * modules/extensions (License): Change to LGPL.  Actually,
123136         the license is more permissive than that, but currently gnulib-tool
123137         doesn't know how to handle more-permissive licenses.
123139         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
123140         Problem reported by Dave Love.
123142 2005-05-08  Jim Meyering  <jim@meyering.net>
123144         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
123145         blank.
123147 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
123149         * modules/argmatch (Depends-on): Add stdbool.
123150         * modules/backupfile (Depends-on): Likewise.
123151         * modules/chdir-long (Depends-on): Likewise.
123152         * modules/closeout (Depends-on): Likewise.
123153         * modules/cycle-check (Depends-on): Likewise.
123154         * modules/dirname (Depends-on): Likewise.
123155         * modules/fnmatch (Depends-on): Likewise.
123156         * modules/fsusage (Depends-on): Likewise.
123157         * modules/fwriteerror (Depends-on): Likewise.
123158         * modules/getcwd (Depends-on): Likewise.
123159         * modules/getloadavg (Depends-on): Likewise.
123160         * modules/hard-locale (Depends-on): Likewise.
123161         * modules/makepath (Depends-on): Likewise.
123162         * modules/mountlist (Depends-on): Likewise.
123163         * modules/nanosleep (Depends-on): Likewise.
123164         * modules/posixtm (Depends-on): Likewise.
123165         * modules/quotearg (Depends-on): Likewise.
123166         * modules/readtokens (Depends-on): Likewise.
123167         * modules/readtokens0 (Depends-on): Likewise.
123168         * modules/readutmp (Depends-on): Likewise.
123169         * modules/save-cwd (Depends-on): Likewise.
123170         * modules/strftime (Depends-on): Likewise.
123171         * modules/userspec (Depends-on): Likewise.
123172         * modules/utimecmp (Depends-on): Likewise.
123173         * modules/xgetcwd (Depends-on): Likewise.
123174         * modules/xnanosleep (Depends-on): Likewise.
123175         * modules/xstrtod (Depends-on): Likewise.
123176         * modules/yesno (Depends-on): Likewise.
123178 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
123180         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
123181         needless checks.
123183 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
123185         Merge from coreutils.  Among other things,
123186         add bulletproofing for cases where stdin, stdout, or stderr are closed.
123187         * lib/fd-safer.c: New file.
123188         * lib/fcntl-safer.h, open-safer.c: Remove.
123189         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
123190         * lib/dup-safer.c: Include unistd-safer.h first.
123191         Don't include errno.h.
123192         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
123193         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
123194         * lib/file-type.c: Rely on file-type.h change.
123195         * lib/getloadavg.c: Include unistd-safer.h.
123196         (getloadavg): Use safer open.
123197         * lib/getusershell.c: Include "stdio-safer.h".
123198         (getusershell): Use safer fopen.
123199         * lib/long-options.c (long_options): Use NULL rather than 0.
123200         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
123201         'free'.
123202         * lib/modechange.c: Likewise.
123203         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
123204         (MODE_DONE): New constant.
123205         (struct mode_change): Remove 'next' member.
123206         (make_node_op_equals): New function; like the old one of the
123207         same name, except it allocates an array.
123208         (mode_compile, mode_create_from_ref): Use it.
123209         (mode_compile): Allocate result as an array, not a linked list.
123210         Parse octal string ourself, so that we catch mistakes like "+0".
123211         (mode_adjust): Arg is an array, not a linked list.
123212         * lib/modechange.c: Include stat-macros.h, xalloc.h.
123213         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
123214         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
123215         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
123216         Remove.  This is now stat-macros.h's job.
123217         (talloc): Remove.  All callers replaced by xalloc, so that
123218         our invokers don't have to worry about reporting memory failures.
123219         (make_node_op_equals): Remove.
123220         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
123221         New constants.
123222         (struct mode_change): Moved here from modechange.h.
123223         (mode_append_entry): Remove.
123224         (mode_compile): Remove MASKED_OPS arg, since it encouraged
123225         apps to have incorrect behavior.  Use simpler algorithm for head
123226         and tail.  Don't futz with umask; that's now the job of mode_adjust.
123227         Detect more invalid usages rather than having somewhat-random behavior.
123228         Don't insert an "a=" action, as that leads to incorrect behavior.
123229         (mode_compile, mode_create_from_ref): Return NULL on error instead
123230         of an enum, since now there's only one way to have an error.  All
123231         callers changed.
123232         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
123233         at the correct time.  Simplify calculation of "+u" and its ilk.
123234         Don't mishandle "+X".
123235         (mode_free): Remove "register" and localize decls.
123236         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
123237         (struct mode_change): Move to modechange.c; callers don't
123238         need to see this stuff.
123239         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
123240         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
123241         (mode_change, mode_adjust): Reflect the new signatures noted above.
123242         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
123243         that might redefine system include files.
123244         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
123245         (my_usleep): Use NULL rather than (void *) 0.
123246         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
123247         Use siginterrupt to specify that system calls should be interrupted.
123248         (rpl_nanosleep): Move initialization of suspended closer to call of
123249         my_usleep.
123250         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
123251         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
123252         (desirable_utmp_entry): New function.
123253         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
123254         using x2nrealloc, to simplify logic.
123255         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
123256         size calculation.  Do not assume utmp file is a regular file.
123257         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
123258         (READ_UTMP_CHECK_PIDS): New constant.
123259         * lib/save-cwd.c: Include unistd-safer.h.
123260         (save_cwd): Use fd_safer.
123261         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
123262         [!_LIBC] Include "stat-macros.h" instead.
123263         * lib/unistd-safer.h (fd_safer): New decl.
123265 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
123267         * modules/getloadavg (Depends-on): Add unistd-safer.
123268         * modules/getusershell (Depends-on): Add stdio-safer.
123269         * modules/lstat (Depends-on): Remove xalloc.
123270         * modules/mkstemp (Depends-on): Add stat-macros.
123271         * modules/modechange (Depends-on): Remove xstrtol.
123272         Add stat-macros, xalloc.
123273         * modules/save-cwd (Depends-on): Add unistd-safer.
123274         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
123275         * modules/unistd-safer (Files): Add lib/fd-safer.c
123276         (Makefile.am): Remove lib_SOURCES.
123278         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
123279         Remove fcntl-safer; unistd-safer supersedes it.
123281 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
123283         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
123284         AC_HEADER_STAT.
123285         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
123286         (gl_PREREQ_CHOWN): Remove.
123287         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
123288         it.  Don't require AC_HEADER_STAT.
123289         (gl_PREREQ_LSTAT): Remove.
123290         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
123291         Don't require AC_HEADER_STAT.
123292         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
123293         (gl_PREREQ_RMDIR): Remove.
123294         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
123295         mention stat-macros.h or AC_HEADER_STAT, since we'll make
123296         the stat-macros module a prerequisite.
123297         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
123298         * m4/filemode.m4 (gl_FILEMODE): Likewise.
123299         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
123300         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
123301         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
123302         variable names.
123303         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
123304         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
123305         variable prefixes.
123306         * m4/fcntl-safer.m4: Remove.
123307         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
123308         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
123309         Invoke gl_PREREQ_FD_SAFER.
123310         (gl_PREREQ_FD_SAFER): New macro.
123311         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
123312         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
123313         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
123314         Remove duplicate call to AC_LIBOBJ(readutmp).
123315         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
123317         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
123318         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
123320 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
123322         * MODULES.html.sh (Misc): Add byteswap.
123324 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
123326         * modules/getcwd (Depends-on): Add extensions.
123327         * modules/openat (Depends-on): Likewise.
123329 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
123331         * modules/byteswap: New file.
123333 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
123335         * m4/byteswap.m4: New file.
123337 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
123339         * lib/byteswap_.h: New file.
123341 2005-04-25  Karl Berry  <karl@gnu.org>
123343         * m4/gettext.m4: Update from GNU gettext 0.14.4.
123345 2005-04-25  Albert Chin  <china@thewrittenword.com>
123347         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
123348         Toolkit C bug.
123350 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
123352         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
123353         (func_ln_if_changed): Remove forcibly for no error message
123354         in case file does not exist.
123356 2005-04-19  Simon Josefsson  <jas@extundo.com>
123358         * gnulib-tool (Options): Make --symlink mean --symbolic.
123360 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
123362         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
123364 2005-04-16  Simon Josefsson  <jas@extundo.com>
123366         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
123368 2005-04-15  Simon Josefsson  <jas@extundo.com>
123370         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
123372 2005-04-15  Simon Josefsson  <jas@extundo.com>
123374         * gnulib-tool: Rename --symlink to --symbolic.
123376 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
123378         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
123379         symbolic links to files instead of copying/moving.  Add --aux-dir,
123380         specifying directory relative --dir where auxiliary build tools
123381         are placed.
123383 2005-04-14  Bruno Haible  <bruno@clisp.org>
123385         * modules/allocsa (License): Change to LGPL.
123386         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
123388 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
123390         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
123391         that "UTC +1 second" continues to work.  Problem reported
123392         by Dmitry V. Levin.
123393         (relunit_snumber): New rule.
123394         (relunit): Use it.
123396 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
123398         * lib/getdate.y (universal_time_zone_table): New constant.
123399         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
123400         universal_time_zone_table.
123401         (lookup_zone): Prefer universal_time_zone_table to
123402         local_time_zone_table, so that "GMT" time stamps are allowed in
123403         London during the summer.  Problem reported by Ian Abbott.
123405 2005-04-12  Jim Meyering  <jim@meyering.net>
123407         * lib/human.c (humblock): Set *options even when returning due to
123408         xstrtoumax conversion failure.  Thanks to a used-uninitialized
123409         warning from gcc-4.
123411 2005-04-09  Jim Meyering  <jim@meyering.net>
123413         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
123414         -Wuninitialized: initialize tm0.tm_year.
123416 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
123418         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
123419         count, since there's no maximum.  All uses changed.
123420         Add member dsts_seen.
123421         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
123422         not being INT_MAX.
123423         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
123424         Use pc_rels_seen to decide whether a date is absolute.
123426         * lib/getdate.y (number): Don't overwrite year.
123427         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
123428         check.
123430 2005-04-02  Simon Josefsson  <jas@extundo.com>
123432         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
123433         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
123435 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
123437         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
123438         where no absolute path name can be longer than PATH_MAX.
123440 2005-03-27  Jim Meyering  <jim@meyering.net>
123442         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
123444 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
123446         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
123447         "one's complement" -> "ones' complement" in comment, as per Knuth.
123448         "value of type" -> "type or expression" in comment.
123449         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
123451 2005-03-26  Jim Meyering  <jim@meyering.net>
123453         Comment nits.
123454         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
123455         Correct typos: s/or/of/.
123457 2005-03-26  Jim Meyering  <jim@meyering.net>
123459         * modules/check-include-files: Move to ../ and rename to...
123460         * check-module: ...this.
123462 2005-03-25  Jim Meyering  <jim@meyering.net>
123464         * modules/xvasprintf (Files): Add xalloc.h.
123466 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
123468         * modules/gettext (Files): config/config.rpath ->
123469         build-aux/config.rpath
123470         * modules/iconv (Files): Likewise.
123471         Problem reported by Oskar Liljeblad.
123473 2005-03-23  Jim Meyering  <jim@meyering.net>
123475         * modules/check-include-files: New script to check for
123476         missing dependencies, multiple includes, etc.
123478         * modules/c-strtold (Depends-on): Add xalloc.
123479         * modules/c-strtod (Depends-on): Add xalloc.
123480         * modules/hash (Depends-on): Add xalloc.
123481         (Files): Remove lib/xalloc.h.
123483         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
123484         * modules/userspec (Files): Add lib/inttostr.h.
123486 2005-03-23  Jim Meyering  <jim@meyering.net>
123488         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
123490 2005-03-22  Jim Meyering  <jim@meyering.net>
123492         * modules/stat-macros: New module.
123493         * modules/canonicalize, modules/euidaccess, modules/file-type,
123494         * modules/filemode, modules/lchown, modules/makepath,
123495         * modules/rmdir, modules/stat: Depend on new stat-macros module
123496         rather than listing lib/stat-macros.h manually.
123497         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
123499 2005-03-22  Jim Meyering  <jim@meyering.net>
123501         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
123503 2005-03-22  Bruno Haible  <bruno@clisp.org>
123505         * config/srclist.txt: Replace target directory 'config' with
123506         'build-aux'.
123507         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
123508         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
123509         ../build-aux/.
123511 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
123513         * modules/chdir-long (Depends-on): Add mempcpy.
123515         * modules/acl, modules/backupfile, modules/c-strtod,
123516         modules/c-strtold, modules/canon-host, modules/canonicalize,
123517         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
123518         modules/exclude, modules/exitfail, modules/file-type,
123519         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
123520         modules/getdate, modules/getline, modules/getpagesize,
123521         modules/getpass, modules/getugroups, modules/group-member,
123522         modules/hard-locale, modules/hash, modules/human, modules/idcache,
123523         modules/inttostr, modules/long-options, modules/makepath,
123524         modules/md5, modules/memcasecmp, modules/memcoll,
123525         modules/modechange, modules/mountlist, modules/path-concat,
123526         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
123527         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
123528         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
123529         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
123530         modules/strftime, modules/strndup, modules/strverscmp,
123531         modules/timespec, modules/unlocked-io, modules/userspec,
123532         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
123533         modules/yesno:
123534         Remove lib_SOURCES line from Makefile.am section, as this is now
123535         done automatically by the corresponding Autoconf macro.
123537 2005-03-21  Jim Meyering  <jim@meyering.net>
123539         Changes imported from coreutils.
123541         * lib/cycle-check.c: Don't include xalloc.h.
123543         * lib/path-concat.c: Don't include assert.h.
123544         (path_concat): Remove assertion that would have triggered
123545         for ABASE starting with more than one slash.
123546         Reported by Andreas Schwab.
123548         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
123549         properly when ABASE is an absolute file name.
123550         Correct the description of this function.
123551         Include <assert.h>.
123552         Add an assertion and a test driver.
123553         This fixes a bug introduced on 2004-07-02.
123554         Andreas Schwab reported the resulting failure of cp --parents:
123555         http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html
123557 2005-03-21  Jim Meyering  <jim@meyering.net>
123559         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
123560         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
123562 2005-03-21  Jim Meyering  <jim@meyering.net>
123563         and  Paul Eggert  <eggert@cs.ucla.edu>
123565         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
123566         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
123567         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
123568         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
123569         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
123570         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
123571         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
123572         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
123573         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
123574         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
123575         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
123576         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
123577         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
123578         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
123579         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
123580         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
123581         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
123582         for these modules.
123584 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
123586         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
123587         (which shouldn't happen), generate nothing instead of returning 0
123588         immediately, so that nstrftime (NULL, ...) doesn't return 0.
123590 2005-03-16  Bruno Haible  <bruno@clisp.org>
123592         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
123593         HAVE_LONGLONG_64BIT.
123595 2005-03-16  Bruno Haible  <bruno@clisp.org>
123597         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
123598         HAVE_LONGLONG_64BIT.
123600 2005-03-16  Bruno Haible  <bruno@clisp.org>
123602         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
123603         HAVE_LONGLONG_64BIT.
123605 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
123607         * lib/strftime.c (my_strftime): Prepend space to format so that we can
123608         reliably distinguish strftime failure from empty output on POSIX
123609         hosts.
123611 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
123613         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
123614         (iconv_string): Don't guess a size-zero buffer, as that might cause
123615         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
123616         result would be 'too large', where 'too large' is (heuristically)
123617         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
123618         overflow concerns.  This will prevent some unwanted malloc failures
123619         when the inputs are very large.
123621 2005-03-15  Karl Berry  <karl@gnu.org>
123623         * config/srclist.txt (config.rpath): from gettext.
123624         * config/config.rpath: update.
123626 2005-03-15  Bruno Haible  <bruno@clisp.org>
123628         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
123629         to 'negate'.
123631         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
123632         variable.
123634         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
123635         results.
123637 2005-03-14  Simon Josefsson  <jas@extundo.com>
123639         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
123640         <fx@gnu.org>.
123642 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
123644         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
123645         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
123646         intprops.h.
123647         * lib/strtol.c: Likewise.
123649 2005-03-14  Jim Meyering  <jim@meyering.net>
123651         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
123652         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
123653         to be nonzero so that we (and caller) can detect the difference
123654         between a valid zero-length expansion and an error return, even
123655         when the underlying strftime fails before writing anything into
123656         that location.
123658 2005-03-14  Bruno Haible  <bruno@clisp.org>
123660         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
123661         Update from GNU gettext 0.14.3.
123663 2005-03-10  Jim Meyering  <jim@meyering.net>
123665         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
123667 2005-03-10  Jim Meyering  <jim@meyering.net>
123669         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
123670         so that this module works on systems without fchdir.
123672 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
123674         Factor int-properties macros into a single file, except for
123675         glibc-related files.
123676         * lib/intprops.h: New file.
123677         * lib/getloadavg.c: Include it instead of limits.h.
123678         (INT_STRLEN_BOUND): Remove.
123679         * lib/human.c: Include intprops.h.
123680         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
123681         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
123682         302/1000.
123683         * lib/inttostr.h: Include intprops.h instead of limits.h.
123684         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
123685         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
123686         for consistency with intprops.h.
123687         (time_t_is_integer, twos_complement_arithmetic): Use them.
123688         * lib/sig2str.h: Include <signal.h>, intprops.h.
123689         (INT_STRLEN_BOUND): Remove.
123690         * lib/strftime.c (TYPE_SIGNED): Remove.
123691         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
123692         * lib/strtol.c: Adjust comments to match intprops.h.
123693         * lib/userspec.c: Include intprops.h.
123694         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
123695         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
123696         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
123697         instead of rolling our own expressions.
123698         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
123700         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
123701         instead of int.
123702         (my_strftime): Do not mishandle years close to INT_MAX, by doing
123703         the right thing even if adding 1900 would overflow.  Similarly
123704         for tm_mon + 1 and tm_yday + 1.
123705         Make %Y always equivalent to %C%y, and similarly for %G and %g.
123706         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
123707         (DO_SIGNED_NUMBER): New macro.
123708         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
123710 2005-03-07  Bruno Haible  <bruno@clisp.org>
123712         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
123714 2005-03-07  Bruno Haible  <bruno@clisp.org>
123716         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
123718 2005-03-04  Derek R. Price  <derek@ximbiot.com>
123720         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
123721         (func_import): Only replace files via --import when they have actually
123722         changed.
123724 2005-03-03  Derek R. Price  <derek@ximbiot.com>
123726         * m4/mmap-anon.m4: New file.
123727         * m4/pagealign_alloc.m4: New file.
123729 2005-03-03  Derek R. Price  <derek@ximbiot.com>
123730             Bruno Haible  <bruno@clisp.org>
123732         * modules/pagealign_alloc: New file.
123733         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
123735 2005-03-03  Derek R. Price  <derek@ximbiot.com>
123736             Bruno Haible  <bruno@clisp.org>
123738         * lib/pagealign_alloc.h: New file.
123739         * lib/pagealign_alloc.c: New file.
123741 2005-03-03  Bruno Haible  <bruno@clisp.org>
123743         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
123744         Use an all-permissive copyright notice, recommended by RMS.
123746 2005-03-02  Bruno Haible  <bruno@clisp.org>
123748         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
123749         of AIX, the replacement has to be done only after <string.h> is
123750         included, therefore not in config.h. stpncpy.h does the replacement,
123751         and stpncpy.c uses it.
123753 2005-03-02  Bruno Haible  <bruno@clisp.org>
123755         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
123756         stpncpy.c uses it.
123758 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
123760         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
123761         The workaround isn't strictly needed for POSIX conformance, and
123762         it's too much of a pain to configure and maintain.  We'll ask
123763         people to fix their kernels instead.
123764         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
123765         (NANOSLEEP_BUG_WORKAROUND): Remove.
123766         (xnanosleep): Remove the workaround.
123768 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
123770         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
123771         Reported by Derek Price.
123772         (Include): Add "timespec.h".
123774         * modules/xnanosleep (Depends-on): Remove gethrxtime.
123776 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
123778         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
123779         to detect nanosleep bug.
123781 2005-03-01  Bruno Haible  <bruno@clisp.org>
123783         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
123785 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
123787         * modules/gethrxtime: New file.
123788         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
123789         (Depends-on): Add gethrxtime.
123790         (configure.ac): Add gl_XNANOSLEEP.
123791         (Makefile.am): Remove lib_SOURCES line.
123793 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
123795         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
123796         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
123798 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
123800         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
123801         * lib/timespec.h (gettime): Return void, since it always
123802         succeeds now.  All uses changed.
123803         * lib/gettime.c (gettime): Likewise.
123804         [HAVE_NANOTIME]: Prefer nanotime.
123805         Assume gettimeofday succeeds, as POSIX requires.
123806         Assime time () succeeds, since other code already does.
123807         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
123808         (timespec_subtract): Remove.
123809         (NANOSLEEP_BUG_WORKAROUND): New constant.
123810         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
123811         things considerably.  Use it only on GNU/Linux hosts, since the
123812         workaround shouldn't be needed elsewhere.
123814 2005-02-24  Bruno Haible  <bruno@clisp.org>
123816         * modules/gettext (Files): Add m4/glibc2.m4.
123818 2005-02-24  Bruno Haible  <bruno@clisp.org>
123820         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
123821         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
123822         * m4/progtest.m4:
123823         Update from GNU gettext 0.14.2.
123824         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
123826 2005-02-24  Bruno Haible  <bruno@clisp.org>
123828         * lib/localcharset.c: Update from GNU gettext 0.14.2.
123829         * lib/config.charset: Update from GNU gettext 0.14.2.
123831 2005-02-24  Bruno Haible  <bruno@clisp.org>
123833         * lib/gettext.h: Update from GNU gettext 0.14.2.
123835 2005-02-23  Simon Josefsson  <jas@extundo.com>
123837         * m4/iconvme.m4: New file.
123839 2005-02-23  Jim Meyering  <jim@meyering.net>
123841         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
123842         change.
123843         Thanks to Bruno Haible for catching it.
123845 2005-02-22  Simon Josefsson  <jas@extundo.com>
123847         * modules/iconvme: New file.
123849         * MODULES.html.sh: Add iconvme.
123851 2005-02-22  Simon Josefsson  <jas@extundo.com>
123853         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
123855 2005-02-22  Simon Josefsson  <jas@extundo.com>
123857         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
123859 2005-02-22  Jim Meyering  <jim@meyering.net>
123861         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
123862         s/ifndef/ifdef/.
123864 2005-02-20  Neil Conway  <neilc@samurai.com>
123866         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
123867         returned by OSX/Darwin if the specified buffer is not large
123868         enough for the hostname.
123870 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123872         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
123873         pass it to _help, otherwise the latter coredumps trying to
123874         dereference state.root_argp.
123876 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
123878         * modules/chdir-long (Depends-on): Add memrchr.
123879         * modules/memrchr (Files): Add lib/memrchr.h.
123880         (Include): "memrchr.h".
123882 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
123884         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
123886 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
123888         * lib/memrchr.h: New file.
123889         * lib/chdir-long.c: Include it.
123890         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
123891         Don't bother including stddef.h.
123893 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
123895         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
123896         inclusion.
123897         Include <sys/types.h>, for dev_t.
123898         (ME_DUMMY, ME_REMOTE): Move from here....
123899         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
123900         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
123901         Dmitry V. Levin.
123902         Include mountlist.h first, to test the interface.
123904 2005-01-29  Bruno Haible  <bruno@clisp.org>
123906         * lib/progname.c (program_name): Initialize.
123907         Needed when linking statically on MacOS X.
123909 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
123911         Sync from coreutils.
123912         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
123913         (Depends-on): Add c-strtod.
123914         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
123916 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
123918         Sync from coreutils.
123919         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
123921         Remove files that are specific to coreutils.
123922         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
123924 2005-01-28  Bruno Haible  <bruno@clisp.org>
123926         * modules/javacomp: New file.
123927         * MODULES.html.sh (Java): Add javacomp.
123929 2005-01-28  Bruno Haible  <bruno@clisp.org>
123931         * m4/javacomp.m4: New file, from GNU gettext.
123933 2005-01-28  Bruno Haible  <bruno@clisp.org>
123935         * lib/javacomp.sh.in: New file, from GNU gettext.
123936         * lib/javacomp.h: New file, from GNU gettext.
123937         * lib/javacomp.c: New file, from GNU gettext.
123939 2005-01-26  Simon Josefsson  <jas@extundo.com>
123941         * lib/gai_strerror.c: Use GPL in header.
123943 2005-01-26  Bruno Haible  <bruno@clisp.org>
123945         * modules/javaexec: New file.
123946         * MODULES.html.sh (Java): Add javaexec.
123948 2005-01-26  Bruno Haible  <bruno@clisp.org>
123950         * m4/javaexec.m4: New file, from GNU gettext.
123952 2005-01-26  Bruno Haible  <bruno@clisp.org>
123954         * lib/javaexec.sh.in: New file, from GNU gettext.
123955         * lib/javaexec.h: New file, from GNU gettext.
123956         * lib/javaexec.c: New file, from GNU gettext.
123958 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123960         * modules/lchown (Depends-on): Remove lchown.h
123962 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123964         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
123965         must be defined if the header file was not found, in order
123966         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
123968 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123970         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
123971         initializers for struct pentry_state.
123972         (__argp_error): Check return value of __asprintf
123973         (__argp_failure): Translate error message
123975         * lib/argp-parse.c: Removed braces around the expansion of N_()
123977 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
123979         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
123980         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
123981         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
123982         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
123983         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
123984         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
123985         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
123986         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
123987         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
123988         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
123989         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
123990         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
123991         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
123992         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
123993         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
123994         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
123995         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
123996         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
123997         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
123998         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
123999         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
124000         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
124001         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
124002         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
124003         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
124004         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
124005         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
124006         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
124007         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
124008         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
124009         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
124010         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
124011         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
124012         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
124013         xstrtol.m4, xstrtoumax.m4, yesno.m4:
124014         Use an all-permissive copyright notice, recommended by RMS.
124016 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
124018         * modules/chdir-long (Depends-on): Remove mempcpy.
124020 2005-01-21  Jim Meyering  <jim@meyering.net>
124022         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
124023         same value as for Solaris 9.
124025         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
124026         component length.  This included changing the parameter to be
124027         of type `char *' rather than `char const *'.
124028         * lib/chdir-long.h (chdir_long): Update prototype.
124030         * lib/openat.c (fdopendir, fstatat): New functions.
124031         * lib/openat.h: Include headers required for use of DIR and struct
124032         stat.
124033         [AT_SYMLINK_NOFOLLOW]: Define.
124034         (fdopendir, fstatat): Add prototypes.
124036 2005-01-21  Bruno Haible  <bruno@clisp.org>
124038         * modules/classpath: New file.
124039         * MODULES.html.sh (Java): Add classpath.
124041 2005-01-21  Bruno Haible  <bruno@clisp.org>
124043         * lib/classpath.h: New file, from GNU gettext.
124044         * lib/classpath.c: New file, from GNU gettext.
124046 2005-01-20  Simon Josefsson  <jas@extundo.com>
124048         * modules/version-etc-fsf: New file.
124050 2005-01-20  Simon Josefsson  <jas@extundo.com>
124052         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
124053         * lib/version-etc.c: Remove version_etc_copyright.
124054         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
124055         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
124057 2005-01-20  Simon Josefsson  <jas@extundo.com>
124059         * lib/base64.h (isbase64): Add.
124061         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
124062         using a unsigned prototype, don't inline.
124063         (base64_decode): Use it.
124065 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
124067         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
124068         it.
124070 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
124072         * lib/save-cwd.c (save_cwd): Remove code to support the case
124073         where fchdir is missing or flaky.
124075 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
124077         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
124079 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
124081         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
124082         AC_LIBSOURCES now does this.
124083         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
124084         with new ullong_max module.
124086 2005-01-19  Bruno Haible  <bruno@clisp.org>
124088         * modules/sh-quote: New file.
124089         * MODULES.html.sh (Executing programs): Add sh-quote.
124091 2005-01-19  Bruno Haible  <bruno@clisp.org>
124093         * lib/sh-quote.h: New file, from GNU gettext.
124094         * lib/sh-quote.c: New file, from GNU gettext.
124096 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
124098         Merge from coreutils.
124099         * m4/ullong_max.m4: New file.
124100         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
124101         (gl_MACROS): Assume localeconv exists.
124103 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
124105         Merge changes from coreutils, as described below in several
124106         changelogs dated today.
124108         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
124109         (O_DIRECTORY): Remove; not needed here, since "." must be
124110         a directory.  All uses removed.
124111         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
124112         universal on Suns, and we also need to test for IRIX.
124113         Revamp code to use 'if' rather than '#if'.
124114         Avoid unnecessary comparison of cwd->desc to 0.
124116         * lib/utimens.c (futimens): Robustify the previous patch, by checking
124117         for known valid error numbers rather than observed invalid ones.
124119 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
124121         * modules/ullong_max: New file.
124123         * modules/chdir-long, modules/openat: New files.
124124         * modules/save-cwd (Depends-on): Depend on chdir-long.
124125         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
124127 2005-01-18  Jim Meyering  <jim@meyering.net>
124129         Merge from coreutils.
124130         * m4/chdir-long.m4, m4/openat.m4: New files.
124131         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
124132         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
124133         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
124134         is sane and DOES follow symlinks.  Besides, testing 20 different
124135         systems found no broken chown implementations.
124136         Prompted by a change in rsync's copy of this macro.
124137         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
124139         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
124141         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
124142         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
124143         NULL-means-set-to-current-time semantics.
124144         Remove temporary file immediately, rather than waiting
124145         for configure's at-exit trap code to do it.
124147 2005-01-18  Jim Meyering  <jim@meyering.net>
124149         * lib/version-etc.c (version_etc_copyright): Update copyright date.
124151         * lib/utimens.c (futimens): Account for the fact that futimes
124152         can also fail with errno == ENOSYS or errno == ENOENT.
124153         Patch from Dmitry V. Levin.
124155         Change the name of the robust chdir function from chdir to chdir_long.
124156         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
124157         (restore_cwd): Use chdir_long, not chdir.
124158         * lib/chdir-long.c: Renamed from chdir.c.
124159         * lib/chdir-long.h: Renamed from chdir.h.
124160         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
124161         Hurd.
124163 2005-01-18  Bruno Haible  <bruno@clisp.org>
124165         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
124166         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
124167         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
124168         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
124169         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
124170         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
124171         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
124172         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
124173         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
124174         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
124175         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
124176         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
124177         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
124178         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
124179         Use an all-permissive copyright notice, recommended by RMS.
124181 2005-01-18  Bob Proulx  <bob@proulx.com>
124183         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
124184         simplify offsetof() macro construct to avoid compile failure with
124185         native HP-UX 11.0 ANSI C compiler.
124187 2005-01-17  Bruno Haible  <bruno@clisp.org>
124189         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
124190         redundant because stpncpy.m4 takes care of it.
124192 2005-01-17  Bruno Haible  <bruno@clisp.org>
124194         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
124196 2005-01-17  Bruno Haible  <bruno@clisp.org>
124198         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
124199         used.
124201 2005-01-17  Bruno Haible  <bruno@clisp.org>
124203         * lib/fwriteerror.h (fwriteerror): Change specification to include
124204         fclose.
124205         * lib/fwriteerror.c: Include <stdbool.h>.
124206         (fwriteerror): At the end, close the file stream. Record whether
124207         stdout was already closed.
124209 2005-01-17  Bruno Haible  <bruno@clisp.org>
124211         * lib/execute.c (environ): Declare if needed.
124212         * lib/pipe.c (environ): Likewise.
124213         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
124215 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124217         * modules/argp: Depend on vsnprintf
124219 2005-01-10  Jim Meyering  <jim@meyering.net>
124221         * modules/closeout (Depends-on): Add atexit.
124223 2005-01-06  Bruno Haible  <bruno@clisp.org>
124225         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
124227 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
124229         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
124230         definitions to be after all include files, to avoid collisions.
124231         Problem reported by Bob Proulx.
124233 2005-01-04  Jim Meyering  <jim@meyering.net>
124235         Changes imported from coreutils.
124236         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
124237         as the mkstemp template, use a temporary directory and an
124238         8.3-friendly template to avoid trouble on systems like DJGPP.
124239         Reported by Juan M. Guerrero via Stepan Kasal.
124240         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
124241         close. Remove the temporary directory right away, rather than waiting
124242         for configure's at-exit trap code to do it.
124243         Suggestion from Stepan Kasal.
124245 2005-01-01  Simon Josefsson  <jas@extundo.com>
124247         * gnulib-tool: Print #include directives when --import'ing.
124249 2004-12-28  Simon Josefsson  <jas@extundo.com>
124251         * tests/test-base64.c: Include required header files.  Remove
124252         unused variables.
124254 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
124256         * modules/error (Depends-on): Remove gettext.
124258 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
124260         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
124261         not needed.  This removes a dependency on the gettext module.
124262         [defined _LIBC]: Do not include <libintl.h>; not needed.
124264 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
124266         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
124267         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
124269 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
124271         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
124272         HAVE_DECL_STRTOLD.
124274 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
124276         * modules/getdate (Depends-on): Remove alloca-opt.
124278 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
124280         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
124282 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
124284         * lib/argp-parse.c: Include <stddef.h>.
124285         (alignof, alignto): New macros.
124286         (parser_init): Don't assume that void * is aligned sufficiently
124287         for struct option.
124289         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
124290         need to extend the stack.
124291         (YYINITDEPTH): New macro, so that the initial stack isn't overly
124292         large.
124294 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124296         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
124298 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
124300         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
124301         (2004-10-24) change.  Apparently this was a false alarm.
124303         * modules/getdate: Depend on alloca-opt, not alloca.
124305 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
124307         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
124308         Remove now-obsolete comment about AIX.
124309         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
124310         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
124311         (YYMAXDEPTH): New macro.
124313 2004-12-18  Simon Josefsson  <jas@extundo.com>
124315         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
124317 2004-12-18  Bruno Haible  <bruno@clisp.org>
124319         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
124321 2004-12-18  Bruno Haible  <bruno@clisp.org>
124323         * lib/fatal-signal.c (fatal_signals): Make non-const.
124324         (init_fatal_signals): New function.
124325         (uninstall_handlers, install_handlers): Ignore signals that were set to
124326         SIG_IGN.
124327         (at_fatal_signal): Call init_fatal_signals.
124328         (init_fatal_signal_set): Likewise. Ignore signals that were set to
124329         SIG_IGN.
124330         Reported by Paul Eggert.
124332 2004-12-18  Bruno Haible  <bruno@clisp.org>
124334         * doc/alloca.texi: New file.
124335         * doc/alloca-opt.texi: New file.
124337 2004-12-17  Jim Meyering  <jim@meyering.net>
124339         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
124340         Otherwise, install-sh could exit with improper exit status when
124341         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
124343 2004-12-16  Simon Josefsson  <jas@extundo.com>
124345         * tests/test-base64.c: Add license.
124347 2004-12-15  Stepan Kasal  <address@hidden>
124349         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
124351 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
124353         * modules/getcwd (Files): Add m4/d-ino.m4.
124354         Suggested by Mark D. Baushke.
124356 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
124358         * lib/getdate.y (textint): New member "negative".
124359         (time_zone_hhmm): New function.
124360         Expect 14 shift-reduce conflicts, not 13.
124361         (o_colon_minutes): New rule.
124362         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
124363         (yylex): Set the "negative" member of signed numbers.
124365 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
124367         * doc/getdate.texi (Time of day items, Time zone items):
124368         Describe new formats +00:00, UTC+00:00.
124370 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
124372         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
124373         spurious "-l"s.  Problem reported by Stepan Kasal.
124375 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
124377         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
124378         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
124380 2004-12-04  Simon Josefsson  <jas@extundo.com>
124382         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
124383         Vandoorselaere <yoann@prelude-ids.org>.
124385 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
124387         Changes imported from coreutils.
124388         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
124389         exist.
124390         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
124392 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
124394         Changes imported from coreutils.
124395         * lib/hard-locale.c: Assume <locale.h> exists.
124396         Include "strdup.h".
124397         (GLIBC_VERSION): New macro.
124398         (hard_locale): Assume setlocale exists.
124399         Rewrite to avoid #ifdef.
124400         Use strdup rather than malloc + strcpy.
124401         * lib/human.c: Assume <locale.h> exists.
124402         (human_readable): Assume localeconv exists.
124404 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
124406         * modules/hard-locale (Depends-on): Add strdup.
124408 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
124410         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
124411         convert T2, not T.  (Imported from libc.)
124413 2004-11-30  Simon Josefsson  <jas@extundo.com>
124415         * modules/restrict (License): Change to LGPL.
124417 2004-11-30  Simon Josefsson  <jas@extundo.com>
124419         * m4/restrict.m4: Add copyright and copying conditions.
124421 2004-11-30  Simon Josefsson  <jas@extundo.com>
124423         * m4/base64.m4: New file.
124425 2004-11-30  Simon Josefsson  <jas@extundo.com>
124427         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
124428         base64.
124430         * tests/test-base64.c: New file.
124432         * modules/base64: New file.
124434 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
124436         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
124437         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
124439         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
124441 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
124443         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
124444         (__getcwd.c): Don't restore errno; glibc doesn't.
124445         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
124446         first, falling back to our code only if its results look suspicious.
124447         Ensure that the resulting buffer is only as large as necessary.
124449         * lib/readutmp.c: Include readutmp.h first.
124450         Include <errno.h>, since readutmp.h no longer does that.
124451         * lib/readutmp.h: Don't include <errno.h>,
124452         <sys/param.h>, <time.h>; not needed to establish interface.
124453         (errno): Remove decl.
124454         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
124455         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
124456         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
124458 2004-11-28  Simon Josefsson  <jas@extundo.com>
124460         * lib/base64.h, base64.c: New file.
124462 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
124464         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
124466 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
124468         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
124469         (Depends-on): Remove pathmax, same.  Add mempcpy.
124470         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
124471         (Makefile.am): Append getcwd.h to lib_SOURCES.
124472         (Include): Add getcwd.h.
124473         (Maintainer): Change from Jim Meyering to "all, glibc",
124474         since getdate now uses intended-for-glibc code.
124475         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
124476         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
124478 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
124480         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
124481         HP's ANSI C compiler.
124482         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
124483         Declaring int functions causes warnings on some modern systems and
124484         shouldn't be needed to compile on ancient ones.
124485         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
124486         defined.
124488         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
124489         with the following changes.
124490         (__set_errno): Parenthesize properly.
124491         Include <stdbool.h>.
124492         (MIN, MAX, MATCHING_INO): New macros.
124493         (__getcwd): Define with prototype, not K&R form.
124494         Use heuristics to allocate default buffer on stack if possible.
124495         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
124496         behavior, and to avoid the PATH_MAX limit when computing
124497         ../../../../...
124498         Use MATCHING_INO to compare inode number to file.
124499         Check for arithmetic overflow in size calculations.
124500         Fix bug in reallocation of dot array that caused getcwd to fail
124501         on directories nested deeper than 75.
124502         Be more careful about saving errno on error.
124503         Do not use realloc; use only free+malloc, as this is a bit
124504         more flexible and avoids a needless copy operation.
124505         Do not inspect st_dev and st_ino for symbolic links; POSIX
124506         doesn't specify the latter.
124507         Check for closedir errors.
124508         Avoid needless casts.
124509         Use "#ifdef weak_alias" around weak_alias, to be like other
124510         glibc code.
124511         The following changes to getcwd.c have effect only when used in
124512         gnulib; they have no effect inside glibc proper.
124513         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
124514         as alloca isn't used.
124515         (alloca, __alloca): Likewise.
124516         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
124517         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
124518         unconditionally, as gnulib assumes C89 or better.
124519         Do not include <sys/param.h>.
124520         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
124521         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
124522         better.
124523         (NULL) [!defined NULL]: Remove; we assume C89 or better.
124524         Include <dirent.h> in a way that is compatible with modern Autoconf.
124525         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
124526         New macros, if not already defined.
124527         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
124528         Use "_LIBC", not "defined _LIBC", for consistency.
124529         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
124530         a mempcpy module.
124531         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
124532         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
124533         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
124534         credit only to Jim Meyering and adjust the copyright dates.
124535         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
124536         <stdlib.h>, <unistd.h>, "pathmax.h".
124537         Instead, include "xgetcwd.h" (first) and "getcwd.h".
124538         (INITIAL_BUFFER_SIZE): Remove.
124539         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
124541 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
124543         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
124544         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
124545         Use the _ONCE methods, for efficiency.
124546         Check for fcntl.h.  In test program, include <errno.h>
124547         and <fcntl.h> if available.  Remove old K&R cruft from
124548         test program.  Check for common errors in GNU/Linux,
124549         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
124550         don't do AC_LIBOBJ, as that's getcwd.m4's job.
124551         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
124552         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
124553         name accordingly.
124554         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
124555         accommodate new getcwd.c.
124556         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
124557         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
124558         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
124559         that's all we need now.
124561 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124563         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
124564         argp-parse.c depends on getopt internals, that means we should
124565         always use our getopt, to be on the safe side.
124566         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
124567         order not to spoil the result of an eventual previous invocation
124568         of gl_GETOPT_SUBSTITUTE.
124570 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124572         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
124573         redefinition warnings. To avoid them, include the defines
124574         in `#if !defined __need_getopt ... #endif'. The only place
124575         where __getopt_argv_const is used is in definitions
124576         of getopt_long and getopt_long_only below, which are as well
124577         protected by `#ifndef __need_getopt'.
124578         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
124579         __need_getopt after including <stdio.h> and <unistd.h> These
124580         headers might have defined it.
124582 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
124584         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
124586 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
124588         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
124589         (futimens): New function, which uses futimes if available.
124590         (futimens, utimens): Support timespec==NULL, with same semantics
124591         as utime and utimens.
124592         * lib/utimens.h (futimens): New decl.
124594 2004-11-23  Jim Meyering  <jim@meyering.net>
124596         * lib/getopt_.h: Remove trailing blanks.
124598 2004-11-23  Jim Meyering  <jim@meyering.net>
124600         * lib/__fpending.c: Add comment.
124602 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
124604         * modules/canonicalize (Depends-on): Add xreadlink.
124605         Problem reported by James Youngman.
124607 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
124609         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
124610         New macros.
124611         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
124612         optopt): Use them instead of invoking ## directly; otherwise, the
124613         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
124615 2004-11-19  Bruno Haible  <bruno@clisp.org>
124617         * lib/strtok_r.c: Move comments from here...
124618         * lib/strtok_r.h: ... to here.
124620 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
124622         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
124623         implementations that mishandle size_t overflow.
124625 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
124627         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
124628         might fail.  Problem reported by Yoann Vandoorselaere.
124629         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
124630         implementations that mishandle size_t overflow.
124632 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124634         * modules/canon-host (Depends-on): Add strdup.
124636 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124638         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
124640 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124642         * lib/canon-host.c: Include "strdup.h".
124643         (canon_host): Use getaddrinfo if available, so that IPv6 works.
124644         Use strdup instead of malloc/strcpy to duplicate strings.
124646         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
124647         (human_space_before_unit): New constant.
124648         * lib/human.c (human_readable): Support it.
124650         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
124651         (xgetcwd): Set errno correctly when failing.
124652         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
124653         the failure is actually due to a PATH_MAX problem.
124655         Further getopt changes to make it more likely that glibc will
124656         buy the changes back.
124657         * lib/getopt.c (POSIXLY_CORRECT): New constant.
124658         (getopt): Use it, so to preserve glibc semantic
124659         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
124660         when compiling for libc.
124661         * lib/getopt_.h (__getopt_argv_const): Bring it back.
124662         (getopt_long, getopt_long_only): Use it.
124664         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
124665         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
124666         (getopt): Argv is now char * const *, as per standard.
124667         (_getopt_internal_r, _getopt_internal): Argv is now char **,
124668         not char *__getopt_argv_const *.
124669         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
124670         _getopt_long_only_r): Likewise.
124671         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
124672         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
124673         _getopt_long_r, _getopt_long_only_r): Likewise.
124674         * lib/getopt_.h (__getopt_argv_const): Remove.
124675         (getopt): Argv is now char * const *, as per standard.
124677         * lib/getdate.y (tORDINAL): New token.
124678         (day, relunit): Allow it for relative times.
124679         (relative_time_table): Use tORDINAL for ordinals.
124681 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124683         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
124684         Document that "second" isn't allowed as an ordinal number.
124686 2004-11-16  Jim Meyering  <jim@meyering.net>
124688         * modules/closeout (Depends-on): Add fpending.
124690 2004-11-15  Jim Meyering  <jim@meyering.net>
124692         * lib/closeout.c: Include "__fpending.h" once again.
124693         Include <stdbool.h>.
124694         (close_stdout): Don't fail just because stdout was closed initially,
124695         since some programs don't write to stdout in the normal course of
124696         operation (other than --version and --help), and we don't want this
124697         function to make e.g. `touch file >&-' fail.
124698         But do fail if it was closed and someone has tried to write to it.
124699         E.g., `printf foo >&-' must fail.
124701 2004-11-13  Jim Meyering  <jim@meyering.net>
124703         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
124705 2004-11-12  Simon Josefsson  <jas@extundo.com>
124707         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
124708         small doc fix is still pending.
124710 2004-11-11  Simon Josefsson  <jas@extundo.com>
124712         * modules/strtok_r: New file.
124714         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
124715         strtok_r.
124717 2004-11-11  Simon Josefsson  <jas@extundo.com>
124719         * m4/strtok_r.m4: New file.
124721         * m4/getopt.m4: Replace opterr.
124723 2004-11-11  Simon Josefsson  <jas@extundo.com>
124725         * lib/strtok_r.h, strtok_r.c: New file.
124727 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
124729         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
124730         of replacing opterr, getopt, etc.  This should handle the
124731         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
124733 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
124735         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
124736         we can stop lying to compilers about the constness of argv when we
124737         are compiled outside glibc.
124738         (getopt, getopt_long, getopt_long_only): Use it.
124739         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
124740         _getopt_internal, getopt): Likewise.
124741         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
124742         _getopt_long_only_r): Likewise.
124743         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
124744         _getopt_long_r, _getopt_long_only_r): Likewise.
124746         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
124747         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
124748         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
124749         the other external symbols.
124750         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
124751         declaration, since the above renaming now works around collisions.
124753 2004-11-11  Jim Meyering  <jim@meyering.net>
124755         * lib/linebreak.c: Remove trailing blanks.
124756         * lib/alloca_.h: Likewise.
124757         * lib/acosl.c: Likewise.
124758         * lib/euidaccess.c: Likewise.
124759         * lib/allocsa.h: Likewise.
124761 2004-11-10  Simon Josefsson  <jas@extundo.com>
124763         * m4/getaddrinfo.m4: New file.
124765 2004-11-10  Simon Josefsson  <jas@extundo.com>
124767         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
124769 2004-11-10  Simon Josefsson  <jas@extundo.com>
124771         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
124772         getaddrinfo.
124774         * modules/getaddrinfo: New file.
124776 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
124778         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
124780 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
124782         * lib/mktime.c (SHR): New macro, which is a portable
124783         substitute for >> that should work even on Crays.
124784         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
124785         Problem reported by Mark D. Baushke in
124786         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
124787         * lib/getdate.y (SHR): Likewise.
124788         (tm_diff): Use it.
124789         * lib/strftime.c (SHR): Likewise.
124790         (tm_diff): Use it.
124791         * lib/quotearg.c (struct quoting_options): Use unsigned int for
124792         quote_these_too, so that right shifts are well defined.  All uses
124793         changed.
124795 2004-11-10  Jim Meyering  <jim@meyering.net>
124797         Ensure that no close failure goes unreported.
124798         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
124799         return early when it seems there's nothing to flush.
124800         Don't include __fpending.h.
124802 2004-11-10  Jim Meyering  <jim@meyering.net>
124804         * modules/closeout (Depends-on): Remove fpending.
124806 2004-11-10  Jim Meyering  <jim@meyering.net>
124808         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
124810 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
124812         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
124813         gl_FUNC_STRFTIME.
124814         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
124815         and AC_REQUIRE when possible, to avoid duplicate checks.
124816         Check for <wchar.h>.
124818 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
124820         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
124822 2004-11-09  Bruno Haible  <bruno@clisp.org>
124824         * m4/sockpfaf.m4: New file.
124826 2004-11-05  Bruno Haible  <bruno@clisp.org>
124828         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
124829         Reported by Mark D. Baushke <mdb@cvshome.org>.
124831 2004-11-04  Bruno Haible  <bruno@clisp.org>
124833         2004-09-11  Bruno Haible  <bruno@clisp.org>
124834                 * allocsa.valgrind: New file.
124835         2004-02-06  Bruno Haible  <bruno@clisp.org>
124836                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
124837                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
124838                 Reported by Christopher Seip <chris.seip@hp.com>.
124840 2004-11-04  Bruno Haible  <bruno@clisp.org>
124842         * modules/allocsa (Files): Add lib/allocsa.valgrind.
124843         (Makefile.am): Distribute it.
124845 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
124847         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
124848         with errno == ERANGE if the buffer is too small.
124849         Problem reported by Mark D. Baushke.
124851 2004-11-03  Albert Chin  <china@thewrittenword.com>
124852             Paul Eggert  <eggert@cs.ucla.edu>
124854         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
124855         equivalent, substitute $ac_type for equivalent type rather than
124856         blindly using uint32_t *always* which won't work if uint32_t is not
124857         available.  Define _UINT32_T to work around typedef of uint32_t if
124858         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
124859         2.5.1.
124861 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
124863         * m4/jm-macros.m4: Sync from coreutils.
124864         (gl_MACROS): Check for mbrlen, for pathchk.
124865         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
124867 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
124869         * lib/xreadlink.c (MAXSIZE): New macro.
124870         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
124871         size does not exceed MAXSIZE.  Avoid cast.
124872         As suggested by Mark D. Baushke in
124873         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
124874         if readlink fails with buffer size just under MAXSIZE, try again
124875         with MAXSIZE.
124877 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
124879         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
124881 2004-11-02  Derek R. Price  <derek@ximbiot.com>
124882         and  Paul Eggert  <eggert@cs.ucla.edu>
124884         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
124885         (get_date): Overparenthesize to avoid GCC warning.
124887 2004-11-02  Bruno Haible  <bruno@clisp.org>
124889         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
124890         returns void.
124892 2004-11-02  Bruno Haible  <bruno@clisp.org>
124894         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
124895         function returns void.
124897 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
124899         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
124900         fflush_unlocked, flockfile, funlockfile, funlockfile,
124901         fputs_unlocked, putc_unlocked.
124903 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
124905         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
124906         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
124907         already declared.
124909 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
124911         * modules/getdate (Files): Add doc/getdate.texi.
124912         (Depends-on): Add setenv, xalloc.
124914 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
124916         * lib/getdate.y: Add support for TZ="foo" within a date string.
124917         Fix some bugs near time_t boundaries.  Reject dates with
124918         out-of-range components, e.g., "Sept 31".
124919         Include <stdlib.h>, "setenv.h", "xalloc.h".
124920         (ISDIGIT_LOCALE): Remove; unused.
124921         Note that the TZ and time functions used here are not reentrant.
124922         (mktime_ok, get_tz): New functions.
124923         (TZBUFSIZE): New constant.
124924         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
124925         This requires that we sometimes generate our own TZ="XXX..." setting.
124927 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
124929         * doc/getdate.texi: New file, from coreutils with modifications for
124930         the new TZ parsing.
124932 2004-10-27  Derek R. Price  <derek@ximbiot.com>
124934         * lib/mktime.c (not_equal_tm): Remove redundant check.
124936 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
124938         * modules/regex (lib_SOURCES): Add regex.c.
124939         Reported by James Youngman in
124940         <http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.
124942 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
124944         * lib/getdate.y: Use Bison 1.875 features, and some minor
124945         code cleanups.  This change does not affect semantics.
124946         Don't include <stdlib.h>; no longer needed.
124947         Don't include unlocked-io.h; only the "#if TEST" code uses
124948         stdio, and performance isn't crucial there.
124949         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
124950         Bison 1.875 features as described below.
124951         All uses of "PC." replaced by "pc->".
124952         (YYSTYPE): Add a forward declaration.
124953         (yylex, yyerror): Use full prototypes in forward decls.
124954         Use "%pure-parser" rather than obsolescent "%pure_parser".
124955         Use %parse-param and %lex-param instead of obsolescent
124956         YYPARSE_PARAM and YYLEX_PARAM.
124957         (meridian_table, month_and_day_table, time_units_table,
124958         relative_time_table, time_zone_table, military_table,
124959         lookup_zone, lookup_word, get_date):
124960         Use NULL instead of 0 where appropriate.
124961         (to_hour): Avoid abort (), to avoid a dependency on
124962         stdlib.h.
124963         (yyerror, yylex): Now accepts parser_control * arg.
124964         (main) [TEST]: Use '\0' rather than 0 for char.
124966 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
124968         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
124970 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
124972         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
124973         It's now the caller's responsibility to handle the case where
124974         !HAVE_GETPAGESIZE && !defined getpagesize.
124976         * lib/mktime.c (leapyear): Arg is long int, not int.
124978 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
124980         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
124982 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
124984         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
124985         missing.  Problem reported by James Youngman.
124987 2004-10-16  Simon Josefsson  <jas@extundo.com>
124989         * gnulib-tool: Fix comments.  Fix parse problem.
124990         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
124992 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
124994         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
124995         implementation of getopt_long.  Problem reported by Alexander Taler in:
124996         http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html
124998 2004-10-15  Bruno Haible  <bruno@clisp.org>
125000         * gnulib-tool: Untabify. Initialize supplied_libname.
125001         (func_usage): More homogenous output.
125002         (func_modules_transitive_closure, func_modules_to_filelist,
125003         func_emit_lib_Makefile_am): New functions.
125004         (func_import): New function, extracted from big case statement. Use
125005         func_get_license, func_modules_transitive_closure,
125006         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
125007         opt_lgpl. Don't use test -a, as it's not portable.
125008         (func_create_testdir): Use func_modules_transitive_closure,
125009         func_modules_to_filelist, func_emit_lib_Makefile_am.
125011 2004-10-15  Bruno Haible  <bruno@clisp.org>
125013         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
125015 2004-10-15  Bruno Haible  <bruno@clisp.org>
125017         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
125018         the portions belonging to each module.
125019         Suggested by Derek Robert Price <derek@ximbiot.com>.
125021 2004-10-12  Simon Josefsson  <jas@extundo.com>
125023         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
125024         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
125025         to real functions.
125027 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125029         * modules/vsnprintf: New file.
125031 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125033         * m4/vsnprintf.m4: New file.
125035 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125037         * lib/vsnprintf.h: New file.
125038         * lib/vsnprintf.c: New file.
125040 2004-10-11  Bruno Haible  <bruno@clisp.org>
125042         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
125043         vsnprintf.
125045 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
125047         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
125049 2004-10-07  Bruno Haible  <bruno@clisp.org>
125051         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
125052         fits into the provided buffer.
125054 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
125056         * lib/diacrit.c, diacrit.h: Add GPL notice.
125058         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
125059         notice.
125060         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
125061         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
125062         This avoids a potential constant-folding bug.
125064 2004-10-05  Bruno Haible  <bruno@clisp.org>
125066         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
125067         for the declaration of strsep.
125069 2004-10-05  Bruno Haible  <bruno@clisp.org>
125071         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
125073 2004-10-04  Simon Josefsson  <jas@extundo.com>
125075         * modules/memmem: New file.
125076         * tests/test-memmem.c: New file.
125077         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
125079 2004-10-04  Simon Josefsson  <jas@extundo.com>
125081         * m4/memmem.m4: New file.
125083 2004-10-04  Simon Josefsson  <jas@extundo.com>
125085         * lib/memmem.h: New file.
125086         * lib/memmem.c: New file, taken from glibc.
125088 2004-10-04  Simon Josefsson  <jas@extundo.com>
125090         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
125091         '#ifdef USE_UNLOCKED_IO'.
125093 2004-10-04  Simon Josefsson  <jas@extundo.com>
125095         * config/srclist.txt: Add memmem from glibc.
125097 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
125099         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
125101         * modules/argmatch, modules/argp, modules/closeout, modules/error,
125102         modules/exclude, modules/getdate, modules/getline,
125103         modules/getndelim2, modules/getpass, modules/getpass-gnu,
125104         modules/getusershell, modules/linebuffer, modules/md5,
125105         modules/mountlist, modules/posixtm, modules/readtokens,
125106         modules/readutmp, modules/regex, modules/sha1,
125107         modules/version-etc, modules/yesno:
125108         Remove dependency on unlocked-io.
125110 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
125112         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
125114         * m4/unlocked-io.m4: Add copyright notice.
125115         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
125117 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
125119         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
125120         * lib/xmalloc.c (xmemdup): Likewise.
125121         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
125122         XFREE): Remove these long-obsolescent macros.
125123         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
125124         * lib/xstrdup.c: Remove.
125126         * lib/regex.c (re_comp): Cast gettext return value to char *,
125127         Problem reported by Martin Neitzel via Mark D. Baushke.
125129 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
125131         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
125132         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
125133         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
125134         regex.c, sha1.c, version-etc.c, yesno.c:
125135         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
125136         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
125137         the includer's responsibility.
125139         Sync from coreutils.
125141         * lib/modechange.c (mode_compile): Don't decrement a pointer that
125142         points to the start of a string, as the C Standard says the
125143         resulting behavior is undefined.
125145         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
125146         simple -> simple_backups, numbered_existing ->
125147         numbered_existing_backups, numbered -> numbered_backups
125148         to avoid shadowing problems.  All uses changed.
125149         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
125150         * lib/backupfile.c (check_extension, numbered_backup):
125151         Rename locals to avoid shadowing 'basename'.
125152         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
125153         once.
125155         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
125156         * lib/.cvsignore: Add getopt.h.
125158 2004-10-04  Bruno Haible  <bruno@clisp.org>
125160         * modules/README: New file.
125161         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
125162         not a module.
125164 2004-10-02  Jim Meyering  <jim@meyering.net>
125166         * lib/dirfd.h, getpagesize.h: Add copyright notice.
125168 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125170         * modules/strsep: New file.
125172 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125174         * m4/strsep.m4: New file.
125176 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125178         * lib/strsep.h: New file.
125179         * lib/strsep.c: New file.
125181 2004-10-01  Simon Josefsson  <jas@extundo.com>
125183         * lib/snprintf.c (snprintf): Handle size==0.
125185 2004-10-01  Simon Josefsson  <jas@extundo.com>
125186             Bruno Haible  <bruno@clisp.org>
125188         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
125189         (snprintf): Declare 'args'.
125191 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
125193         * lib/snprintf.c: Remove comments as to why each header is needed.
125195 2004-10-01  Bruno Haible  <bruno@clisp.org>
125197         * MODULES.html.sh: Add strsep.
125199 2004-09-30  Simon Josefsson  <jas@extundo.com>
125201         * modules/snprintf: New file.
125203 2004-09-30  Simon Josefsson  <jas@extundo.com>
125205         * m4/snprintf.m4: New file.
125207 2004-09-30  Simon Josefsson  <jas@extundo.com>
125209         * lib/snprintf.h, lib/snprintf.c: New files.
125211 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
125213         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
125214         (hol_entry_help): Never translate an empty string.
125215         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
125216         * lib/argp.h (OPTION_NO_TRANS): New option.
125218 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
125220         * modules/argp (Maintainer): Replace Simon Josefsson
125221         by Sergey Poznyakoff.
125223 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
125225         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
125226         changes merged back into glibc.
125228 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
125230         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
125232 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
125234         * lib/xvasprintf.c: Include xalloc.h.
125235         (xvasprintf): Use xalloc_die, not xmalloc_die.
125237 2004-09-29  Bruno Haible  <bruno@clisp.org>
125239         * modules/alloca-opt: New file, derived from modules/alloca.
125240         * modules/allocsa: Depend on alloca-opt instead of alloca.
125241         * modules/setenv: Likewise.
125242         * modules/vasnprintf: Likewise.
125243         * MODULES.html.sh: Add alloca-opt.
125245 2004-09-28  Simon Josefsson  <jas@extundo.com>
125247         * gnulib-tool: New parameter --lgpl, to asseert that modules are
125248         LGPL, and to replace license template from GPL to LGPL.
125250 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
125252         * modules/dummy: Change license to LGPL.
125254 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
125256         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
125258 2004-09-24  Simon Josefsson  <jas@extundo.com>
125260         * modules/minmax (License): Change from GPL to LGPL.
125262 2004-09-23  Simon Josefsson  <jas@extundo.com>
125264         * gnulib-tool (--import): Typo.
125266 2004-09-23  Simon Josefsson  <jas@extundo.com>
125268         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
125270 2004-09-22  Bruno Haible  <bruno@clisp.org>
125272         * modules/*: Add 'License' field.
125273         * gnulib-tool: Accept --extract-license option.
125274         (func_get_license): New function.
125276 2004-09-21  Bruno Haible  <bruno@clisp.org>
125278         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
125279         Reported by Simon Josefsson.
125281 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
125283         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
125284         gl_AC_TYPE_LONG_LONG.
125286 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
125288         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
125290 2004-09-18  Simon Josefsson  <jas@extundo.com>
125291         and  Paul Eggert  <eggert@cs.ucla.edu>
125293         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
125294         calls with autoreconf.  Define GL_LIB.
125296 2004-09-14  Karl Berry  <karl@gnu.org>
125298         * config/srclist.txt: unsync setenv.c, sigh.
125300 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
125302         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
125303         Problem reported by Bruno Haible in:
125304         http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html
125306 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
125308         * config/srclist.txt: Comment out argp-pvh.c.
125310 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
125312         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
125313         in case some system header has #define'd it.  Problem reported by
125314         Soeren D. Schulze in
125315         <http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.
125317 2004-09-09  Karl Berry  <karl@gnu.org>
125319         * regex.[ch]: delete from the root.  These were supposed to be
125320                 synced with emacs cvs, but this has not happened for about
125321                 a year, and anyway nothing else uses emacs regex.[ch].
125322                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
125323                 lib/regex[.ch] is untouched.
125325 2004-09-09  Bruno Haible  <bruno@clisp.org>
125327         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
125329 2004-09-09  Bruno Haible  <bruno@clisp.org>
125331         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
125332         modifications.
125333         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
125335 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
125337         * modules/xvasprintf: New file.
125338         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
125340 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
125342         * lib/xvasprintf.h: New file.
125343         * lib/xvasprintf.c: New file.
125344         * lib/xasprintf.c: New file.
125346 2004-09-08  Bruno Haible  <bruno@clisp.org>
125348         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
125350 2004-09-08  Bruno Haible  <bruno@clisp.org>
125352         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
125353         length is > INT_MAX.
125354         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
125355         more.
125357 2004-09-08  Bruno Haible  <bruno@clisp.org>
125359         * lib/stdint_.h: New file, taken from GNU clisp.
125361 2004-09-08  Bruno Haible  <bruno@clisp.org>
125362             Oskar Liljeblad  <oskar@osk.mine.nu>
125364         * modules/stdint: New file.
125365         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
125367 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
125369         Import from coreutils.
125370         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
125371         strings on unbounded length.  alloca's performance benefits aren't
125372         that important here.
125373         (V_STRDUP): Remove.
125374         (parse_with_separator): New function, with most of the internals
125375         of the old parse_user_spec.  Allow user to omit both user and group,
125376         for compatibility with FreeBSD.
125377         Clone only the user name, not the entire spec.
125378         Do not set *uid, *gid unless entirely successful.
125379         Avoid memory leak in some failing cases.
125380         Fix regression for USER.GROUP reported by Dmitry V. Levin in
125381         <http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
125382         (parse_user_spec): Rewrite to use parse_with_separator.
125384 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
125386         * modules/userspec: Don't depend on alloca.
125388 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
125390         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
125392 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
125394         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
125395         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
125396         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
125398 2004-08-16  Simon Josefsson  <jas@extundo.com>
125400         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
125401         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
125402         Add --dry-run for --import.
125403         Let user provided command line parameters override configure.ac
125404         settings.
125406 2004-08-12  Simon Josefsson  <jas@extundo.com>
125408         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
125409         as discussed with Paul Eggert in threads rooted at
125410         <http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
125411         and
125412         <http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
125413         Before, the test was empty, and relied on ELIDE_CODE in source
125414         code.)
125415         (gl_PREREQ_GETOPT): New macro.
125416         (gl_GETOPT): Use them.
125418 2004-08-12  Simon Josefsson  <jas@extundo.com>
125420         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
125421         * lib/getopt_.h: Renamed from getopt.h.
125423 2004-08-12  Simon Josefsson  <jas@extundo.com>
125425         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
125426         Change default library name from libfoo to libgnu.
125427         Now, if you have a configure.ac that says:
125428                 gl_SOURCE_BASE(gl)
125429                 gl_M4_BASE(gl/m4)
125430                 gl_MODULES(error getopt etcetera)
125431                 gl_INIT
125432         you can import all you need by running:
125433                 ../gnulib/gnulib-tool --import
125435         * modules/getopt (Files): Rename getopt.h to getopt_.h.
125436         (Makefile.am): Rewrite, use logic from argz.
125437         (Include): Use <getopt.h> instead of "getopt.h".
125439 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
125441         * modules/argp (Files): Add m4/unlocked-io.m4.
125442         (Depends-on): Add extensions.
125444 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
125446         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
125447         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
125448         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
125449         Check for program_invocation_name, program_invocation_short_name,
125450         flockfile, funlockfile, features.h, _getopt_long_only_r.
125452 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
125454         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
125455         its complicated substitute.
125456         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
125457         and program_invocation_name.
125458         (__argp_basename) [!_LIBC]: Remove; the only use was
125459         replaced by its body.
125460         (__argp_short_program_name): Change condition from
125461         !defined __argp_short_program_name to
125462         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
125463         to match argp-namefrob.h.
125464         (__argp_failure): Don't assume strerror_r returns char *.
125465         * lib/argp-parse.c (N_): Define unconditionally.
125466         (argp_default_options): Fill out initializers with 0 to avoid
125467         gcc warnings.
125469 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
125471         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
125472         getopt1.c.
125474 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
125476         Merge from coreutils.
125478         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
125480         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
125481         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
125483 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
125485         Merge from coreutils.
125487         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
125488         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
125489         for Reliant Unix 5.43.
125491         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
125492         (union fooround): Use uintmax_t, not long int.
125493         The rest is a merge from libc:
125494         [defined _LIBC]: Include <shlib-compat.h>.
125495         (_obstack) [defined _LIBC]: Remove after 2.3.4.
125497         * lib/settime.c (settime): Recode to avoid warning with
125498         Sun Forte C 6U2.
125500         * lib/strverscmp.c: Convert to UTF-8.
125502 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
125504         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
125505         m4/uintmax_t.m4.
125507 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
125509         * modules/xalloc-die: New file.
125510         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
125512         * modules/md5 (Files): Add m4/uint32_t.m4.
125513         * modules/sha1: Renamed from modules/sha.
125514         (Files):
125515         Rename lib/sha.h to lib/sha1.h.
125516         Rename lib/sha.c to lib/sha1.c.
125517         Rename m4/sha.m4 to m4/sha1.m4.
125518         (lib_SOURCES): Likewise.
125519         (configure.ac): Rename gl_SHA to gl_SHA1.
125520         (Include): sha.h -> sha1.h.
125522 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
125524         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
125525         * m4/sha1.m4: Renamed from sha.m4.
125526         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
125528 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
125530         * lib/obstack.h (obstack_empty_p):
125531         Don't assume that chunk->contents is suitably aligned.
125532         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
125533         Likewise. Problem reported by Benno in
125534         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
125536         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
125537         readable.  This could be improved further but it'd take some work.
125539 2004-08-08  Simon Josefsson  <jas@extundo.com>
125541         * modules/xgethostname (Depends-on): Remove exit and error (not
125542         used).
125544         * modules/getpass-gnu: Add getpass.h.
125545         (Depends-on): Add stdbool.
125546         * modules/getpass: Add getpass.h.
125548 2004-08-08  Simon Josefsson  <jas@extundo.com>
125550         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
125551         Check getpass declaration.
125553 2004-08-08  Simon Josefsson  <jas@extundo.com>
125555         * lib/xgethostname.c: Don't include error.h (not used).
125557         * lib/getpass.h: Add.
125558         * lib/getpass.c: Include getpass.h first.
125560 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
125562         * lib/xalloc-die.c: New file.
125563         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
125564         All uses removed.
125565         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
125566         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
125567         xalloc-die.c.
125568         (_, N_, xalloc_die): Move to xalloc-die.c.
125569         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
125570         so that we needn't mess with xalloc_msg_memory_exhausted.
125572         * lib/sha1.h: Renamed from sha.h.
125573         (SHA1_H): Renamed from _SHA_H.
125574         (sha1_ctx): Renamed from sha_ctx.
125575         (sha1_init_ctx): Renamed from sha_init_ctx.
125576         (sha1_process_block): Renamed from sha_process_block.
125577         (sha1_process_bytes): Renamed from sha_process_bytes.
125578         (sha1_finish_ctx): Renamed from sha_finish_ctx.
125579         (sha1_read_ctx): Renamed from sha_read_ctx.
125580         (sha1_stream): Renamed from sha_stream.
125581         (sha1_buffer): Renamed from sha_buffer.
125582         * lib/sha1.c: Likewise; renamed from sha.c.
125583         Do not include <sys/types.h>.
125584         Include <stddef.h> rather than <stdlib.h>.
125586 2004-08-08  Bruno Haible  <bruno@clisp.org>
125588         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
125589         FILESYSTEM_PREFIX_LEN.
125590         * lib/progreloc.c: Likewise.
125591         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
125593 2004-08-06  Simon Josefsson  <jas@extundo.com>
125595         * modules/progname (Depends-on): Don't depend on stdbool.
125597 2004-08-06  Simon Josefsson  <jas@extundo.com>
125599         * modules/getsubopt: New file.
125600         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
125601         getsubopt.
125603 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
125605         More merge from coreutils.
125607         * m4/utimens.m4, m4/utimecmp.m4: New files.
125608         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
125609         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
125610         prereq.m4, sha.m4: Import changes from coreutils.
125612 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
125614         More merge from coreutils.
125615         * modules/raise, modules/readtokens0, modules/utimens:
125616         * modules/utimecmp, module/xnanosleep: New files.
125617         * modules/strftime: Add lib/strftime.h.
125618         Change include from <time.h> to "strftime.h".
125619         * modules/yesno: Add lib/yesno.h.
125620         * modules/backupfile: Remove lib/addext.c.
125621         * modules/euidaccess: Add stat-macros.h.
125622         * modules/canonicalize, modules/euidaccess,
125623         modules/filemode, modules/lchown, modules/makepath,
125624         modules/rmdir, modules/stat: Likewise.
125626 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
125628         Merge from tar.
125629         * lib/argp-help.c (make_hol, hol_append): Don't assume that
125630         SIZE_MAX is a valid preprocessor constant.
125631         (__argp_basename): Change from "#ifndef _LIBC"
125632         to "#ifndef __argp_short_program_name", so that
125633         we don't compile these functions for tar.
125635         More merges from coreutils.
125636         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
125637         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
125638         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
125639         * lib/addext.c: Remove; no longer needed.
125640         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
125641         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
125642         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
125643         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
125644         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
125645         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
125646         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
125647         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
125648         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
125649         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
125650         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
125651         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
125652         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
125653         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
125654         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
125655         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
125656         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
125657         Import changes from coreutils.
125659 2004-08-05  Simon Josefsson  <jas@extundo.com>
125661         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
125663 2004-08-05  Simon Josefsson  <jas@extundo.com>
125665         * m4/getsubopt.m4: New file.
125667 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
125669         Merge from coreutils.
125671         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
125672         * m4/getcwd-path-max.m4: New files.
125674         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
125675         FILESYSTEM_PREFIX_LEN ->
125676         FILE_SYSTEM_PREFIX_LEN.
125677         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
125678         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
125679         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
125680         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
125682         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
125683         prerequisite modules now handle the DOS stuff.
125684         Don't check for unistd.h.
125686 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
125688         Merge from coreutils.
125690         * lib/.gdb-history: Remove; this doesn't belong here.
125692         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
125693         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
125694         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
125695         * lib/getcwd.c: New files.
125697         * lib/dirname.h: Include <stdbool.h>.
125698         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
125699         for consistency with POSIX terminology.  All uses changed.
125700         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
125701         (strip_trailing_slashes): Use bool for booleans.
125702         * lib/stripslash.c (strip_trailing_slashes): Likewise.
125704         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
125705         sometimes returns a positive errno value even when it succeeds.
125706         (print_errno_message) [!LIBC]: Fall back on strerror if
125707         __strerror_r fails.
125709         * lib/path-concat.c (mempcpy): Don't define if a system header defines
125710         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
125711         (longest_relative_suffix): New function.
125712         (path_concat): Use it.  Assume first argument is not NULL.
125713         Port to DOS.  Omit redundant separators.
125714         Report an error instead of returning NULL.
125715         Use mempcpy instead of memcpy.
125716         (xpath_concat): Remove: not declared or used.
125718         * lib/same.h: Include <stdbool.h>
125719         (same_name): Return bool, not int.
125720         * lib/same.c (same_name): Likewise.
125721         (errno): Don't declare; we assume C89 or better now.
125723         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
125724         if not already defined.
125726         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
125727         * lib/dup-safer.c (errno): Likewise.
125729 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
125731         Merge from coreutils.
125732         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
125733         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
125734         * modules/path-concat: Don't depend on strdup.
125736 2004-08-03  Simon Josefsson  <jas@extundo.com>
125738         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
125739         * lib/progname.h: Don't include stdbool.h.
125741 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
125743         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
125744         * MODULES.html.sh (func_all_modules): Remove fatal.
125746 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
125748         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
125750 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
125752         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
125753         working.
125755 2004-08-02  Simon Josefsson  <jas@extundo.com>
125757         * lib/getsubopt.h: New file, with comments from Bruno Haible.
125758         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
125759         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
125761 2004-08-01  Simon Josefsson  <jas@extundo.com>
125763         * lib/xgetdomainname.c: Include stdlib.h, for free().
125765 2004-07-19  Bruno Haible  <bruno@clisp.org>
125767         * MODULES.html.sh (func_all_modules): Add dummy.
125769 2004-07-16  Simon Josefsson  <jas@extundo.com>
125771         * modules/dummy: New file.
125773 2004-07-16  Simon Josefsson  <jas@extundo.com>
125775         * lib/dummy.c: New file.
125777 2004-07-16  Bruno Haible  <bruno@clisp.org>
125779         * lib/backupfile.h: Add extern "C" for C++.
125780         * lib/closeout.h: Likewise.
125781         * lib/copy-file.h: Likewise.
125782         * lib/findprog.h: Likewise.
125783         * lib/full-write.h: Likewise.
125784         * lib/pathname.h: Likewise.
125785         * lib/progname.h: Likewise.
125786         * lib/stpcpy.h: Likewise.
125787         * lib/stpncpy.h: Likewise.
125788         * lib/strcase.h: Likewise.
125789         * lib/strstr.h: Likewise.
125790         * lib/xalloc.h: Likewise.
125792         * lib/mbswidth.h: Add extern "C" for C++.
125793         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
125795 2004-07-13  Robert Millan  <robertmh@gnu.org>
125797         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
125799 2004-07-09  Simon Josefsson  <jas@extundo.com>
125801         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
125802         failed without this.)
125804 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
125806         * modules/chown (Files): Add lib/fchown-stub.c, since
125807         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
125809 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
125811         * lib/fchown-stub.c: New file.
125813 2004-06-24  Jim Meyering  <jim@meyering.net>
125815         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
125817 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125819         * modules/argz: Omit "#include".
125821         * MODULES.html.sh (func_all_modules): Add calloc, to match
125822         2004-06-01 addition of calloc module.
125824 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125826         * m4/argz.m4: New file, which is autoupdated from libtool.
125828 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125830         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
125831         libtool.
125833 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125835         * config/srclist-update: Don't insist on "USA." before the
125836         close-comment, as libtool omits the period and puts the */ on a
125837         separate line.
125838         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
125839         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
125841 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
125843         * modules/argz: New file.
125844         * MODULES.html.sh (func_all_modules): Add argz.
125846 2004-06-12  Jim Meyering  <jim@meyering.net>
125847         and  Paul Eggert  <eggert@cs.ucla.edu>
125849         * modules/hash (Files): Add lib/xalloc.h.
125850         * modules/pipe (Depends-on): Add wait-process.
125851         * modules/stat (Depends-on): Add xalloc.
125852         * modules/userspec (Files): Add lib/userspec.h.
125853         * modules/xstrto
125855         Upgrade from gettext-0.13.
125856         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
125857         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
125858         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
125860 2004-06-10  Jim Meyering  <jim@meyering.net>
125862         * lib/calloc.c: New file.
125864 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
125866         * lib/getdate.y (yylex): Allow space between sign and number.
125867         Problem reported by Dan Jacobson.
125869 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
125871         Merge from coreutils CVS.
125873         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
125874         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
125875         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
125876         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
125877         xstrtol.m4: Fix copyright date and/or serial number.
125879         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
125880         See if we need an fchown replacement.
125881         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
125882         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
125883         and use the replacement function if we detect either defect.
125885         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
125886         gl_UTIMECMP.
125888 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
125889         and  Jim Meyering  <jim@meyering.net>
125891         Merge from coreutils CVS.
125893         * lib/stat-macros.h: New file, with contents from file-type.h
125894         and coreutils' system.h.
125895         * lib/file-type.c: Include "stat-macros.h".
125896         * lib/file-type.h (file_type): Move all macro definitions to new file,
125897         stat-macros.h.
125899         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
125900         Wrap old code with this conditional.
125901         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
125902         function that does not dereference symlinks.
125903         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
125905         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
125906         dependency problems.
125907         (xreadlink): Accept new arg SIZE, for efficiency.
125908         All decls and uses changed.
125909         * lib/xreadlink.h: Include <stddef.h>, for size_t.
125911         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
125912         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
125914         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
125915         sysexits.h.
125917 2004-06-01  Jim Meyering  <jim@meyering.net>
125919         * m4/calloc.m4: New file.
125921 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
125923         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
125924         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
125925         Also, fix a typo in a diagnostic.
125927 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
125929         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
125930         or AC_FUNC_REALLOC.
125932 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
125934         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
125935         macros to be defined.
125936         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
125937         the allocator returns NULL because the requested size is zero.
125939 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
125941         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
125942         var.  Add comment explaining why libc still defines it.  This
125943         merges the following patch from glibc:
125944         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
125946 2004-05-20  Andreas Schwab  <schwab@suse.de>
125948         * m4/free.m4: Replace free if it not known to work, not the other
125949         way round.
125951 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
125953         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
125954         present in glibc since revision 1.1 of this file.
125955         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
125956         obstack_alignment_mask, obstack_alloc, obstack_base,
125957         obstack_blank, obstack_blank_fast, obstack_chunk_size,
125958         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
125959         obstack_grow0, obstack_init, obstack_int_grow,
125960         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
125961         obstack_next_free, obstack_object_size, obstack_ptr_grow,
125962         obstack_ptr_grow_fast, obstack_room): Remove declarations of
125963         nonexistent functions.
125965 2004-05-18  Karl Berry  <karl@gnu.org>
125967         * config/srclist.txt: break link for vasnprintf.c.
125969 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
125971         Port obstack to the AS/400, where pointers are 16 bytes wide and
125972         you cannot cast an integer to a valid pointer.  This patch is
125973         currently waiting to be integrated into glibc; see
125974         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
125976         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
125977         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
125978         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
125979         (struct obstack): temp member is now a union of a pointer and
125980         an integer, instead of an integer.  All integer uses changed.
125981         This does not affect the physical layout of struct obstack,
125982         except on hosts (like the AS/400) where the size or alignment of
125983         void * is greater than that of ptrdiff_t.
125984         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
125985         __STDC__)]: Store temporary in pointer member of union, not
125986         integer member.
125987         * lib/obstack.c: Include <stddef.h>, for offsetof.
125988         (struct fooalign): Remove; it doesn't need a name.
125989         (union fooround): Change double to long double, and add void *.
125990         (DEFAULT_ALIGNMENT): Use offsetof to compute.
125991         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
125992         not a macro.  Hence the values are always int; so remove all
125993         casts-to-int in uses.
125995 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
125997         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
125998         we can get this patch merged into glibc.
126000 2004-05-17  Derek R. Price  <derek@ximbiot.com>
126001             Paul Eggert  <eggert@cs.ucla.edu>
126003         * m4/argp: Depend on alloca.
126005 2004-05-17  Derek R. Price  <derek@ximbiot.com>
126006             Paul Eggert  <eggert@cs.ucla.edu>
126008         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
126009         freecoding.
126011 2004-05-17  Bruno Haible  <bruno@clisp.org>
126013         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
126014         precision that consists of a '.' followed by an empty digit string.
126015         Patch by Tor Lillqvist <tml@iki.fi>.
126017 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
126019         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
126020         for backward compatibility with older code.  We need our own
126021         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
126022         it under some other name, and our alloca.h will define it.
126024 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
126025             Derek Price  <derek@ximbiot.com>
126027         * lib/alloca.c: Include <alloca.h>, to get our interface.
126028         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
126029         include <alloca.h> first.  Use C89 prototype for alloca; this
126030         requires including <stddef.h> for size_t.  Use extern "C" if C++.
126031         Use #elif for simplicity, since we can assume C89 now.
126032         Don't try to source the system alloca.h since it will not be found
126033         and to prevent recursively including its replacement.
126034         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
126035         * lib/regex.c: Likewise.
126037 2004-05-16  Derek Price  <derek@ximbiot.com>
126038             Paul Eggert  <eggert@cs.ucla.edu>
126040         getline cleanup.  This changes the getndelim2 API: both order of
126041         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
126042         no delimiter).
126044         * lib/getline.c: Don't include stddef.h or stdio.h, since our
126045         interface does that.
126046         (getline): Always use getdelim, so that we don't have two
126047         copies of this code.
126048         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
126049         if available.
126050         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
126051         (GETNDELIM2_MAXIMUM): New macro.
126052         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
126053         instead of the old practice of delim2==0.  All callers changed.
126054         Return -1 on overflow, instead of returning junk.
126055         Do not set *linesize unless allocation succeeds.
126056         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
126057         that we include sys/types.h.
126058         * lib/getnline.h: Likewise.
126059         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
126060         (getndelim2): Reorder arguments.
126061         * lib/getnline.c (getnline, getndelim):
126062         Don't discard the NMAX argument.
126063         (getnline): Invoke getndelim, to avoid code duplication.
126064         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
126065         of (size_t) -1 by callers of the getnline family.
126067 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
126069         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
126070         Check for gettimeofday.
126071         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
126072         Check for settimeofday, stime.
126074 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
126076         * lib/nanosleep.c (suspended): Change its type from int to
126077         sig_atomic_t volatile.
126078         (first_call): Make it private to rpl_nanosleep, and have it
126079         be zero initially as that's a bit faster.
126080         (my_usleep): Round up fractional times instead of truncating them,
126081         as this is the usual meaning for 'sleep'.
126083         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
126084         doesn't work.
126085         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
126086         (ENOSYS): Define if not defined.
126087         (settime): Fall back on stime if it exists and settimeofday fails.
126088         But don't bother with fallbacks if a method fails with errno == EPERM.
126090 2004-05-11  Jim Meyering  <jim@meyering.net>
126092         Prior to this change, the save_cwd caller required read access to the
126093         current directory on most systems (ones with the fchdir function).
126095         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
126096         fails, try write-only, and finally, resort to using xgetcwd.
126098 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
126100         * lib/obstack.c, obstack.h: Import changes from libc.
126102 2004-04-28  Bruno Haible  <bruno@clisp.org>
126104         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
126105         also implicitly appends .exe to executables.
126106         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
126107         accepts Windows pathnames.
126108         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
126109         Treat Cygwin like Windows, since it now accepts Windows pathnames.
126110         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
126111         Treat Cygwin like Windows, since it now accepts Windows pathnames.
126112         Reported by Derek Robert Price <derek@ximbiot.com>.
126114 2004-04-21  Karl Berry  <karl@gnu.org>
126116         * config/srclist.txt (localcharset.c): break sync.
126118 2004-04-20  Paul Eggert  <eggert@twinsun.com>
126120         * m4/host-os.m4: Add a copyright notice.
126122 2004-04-20  Jim Meyering  <jim@meyering.net>
126124         Change UTILS_ to gl_ in AC_DEFINE'd names.
126125         Change utils_- and jm_-prefixed variables, too.
126126         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
126127         UTILS_FUNC_MKDIR_TRAILING_SLASH.
126128         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
126130         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
126131         Don't emit trailing blanks.
126132         Also rename jm_-prefixed variables to have gl_ prefix.
126134         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
126135         Also rename jm_-prefixed variables to have gl_ prefix.
126137         * m4/jm-macros.m4: Reflect the renamings.
126138         * m4/prereq.m4: Likewise.
126140 2004-04-20  Jim Meyering  <jim@meyering.net>
126142         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
126143         memory.
126145 2004-04-20  Jim Meyering  <jim@meyering.net>
126146             Bruno Haible  <bruno@clisp.org>
126148         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
126149         memory when realloc fails.
126151 2004-04-19  Jim Meyering  <jim@meyering.net>
126153         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
126154         now that readutmp.c may call `free (0)'.
126156 2004-04-19  Bruno Haible  <bruno@clisp.org>
126158         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
126159         * m4/inttypes_h.m4: Likewise.
126160         * m4/stdint_h.m4: Likewise.
126161         * m4/intmax_t.m4: Likewise.
126162         * m4/uintmax_t.m4: Likewise.
126164 2004-04-18  Jim Meyering  <jim@meyering.net>
126166         * m4/prereq.m4: Don't forbid jm_ prefix.
126168         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
126169         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
126170         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
126171         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
126172         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
126173         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
126174         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
126175         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
126176         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
126177         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
126178         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
126179         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
126180         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
126181         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
126182         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
126183         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
126184         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
126185         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
126186         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
126188 2004-04-18  Jim Meyering  <jim@meyering.net>
126190         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
126191         failure, don't leak memory and do call END_UTMP_ENT.
126193 2004-04-16  Jim Meyering  <jim@meyering.net>
126195         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
126196         coreutils' stat program.
126197         (gl_PREREQ): Don't require jm_PREREQ_STAT.
126199 2004-04-11  Paul Eggert  <eggert@twinsun.com>
126201         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
126202         C89.
126203         (CHAR_BIT): Remove, since we assume C89.
126204         Include <stdint.h> if available, as per current Autoconf CVS advice.
126206 2004-03-31  Jim Meyering  <jim@meyering.net>
126208         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
126209         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
126210         * m4/xalloc.m4: Likewise.
126212 2004-03-30  Paul Eggert  <eggert@twinsun.com>
126214         Merge from coreutils.
126216         * m4/inttostr.m4: New file.
126217         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
126218         Require AM_STDBOOL_H and gl_TIMESPEC instead.
126219         Require gl_CLOCK_TIME.
126220         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
126222 2004-03-30  Paul Eggert  <eggert@twinsun.com>
126224         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
126225         not bool, to be more consistent with Unix conventions.
126226         Suggested by Bruno Haible.
126228         Merge from coreutils.
126230         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
126231         * lib/umaxtostr.c: New files.
126233         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
126234         the usual <time.h> dance.
126235         (get_date): Change signature to support fractional time stamps.
126236         All callers changed.
126237         * lib/getdate.y: Include "getdate.h" first, as we can now
126238         assume C89 and don't need to worry about 'const'.
126239         Similarly, include "unlocked-io.h" near start, not in middle.
126240         Include <limits.h>.
126241         (textint.value): Use long int rather than int.
126242         (textint.digits): Use size_t rather than int.
126243         (BILLION, LOG10_BILLION): New constants.
126244         (parser_control): New member rel_ns.  Members day_ordinal,
126245         time_zone, month, day, hour, minutes, rel_year, rel_month,
126246         rel_day, rel_hour, rel_minutes, rel_seconds
126247         are now long int, not int.  Member seconds is now struct timespec,
126248         not int.  New member timespec_seen.  Members dates_seen, days_seen,
126249         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
126250         not int.
126251         (%union.intval): Now long int, not int.
126252         New member timespec.
126253         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
126254         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
126255         (spec): Now is a timespec or an item list.
126256         (timespec, items): New nonterminals.
126257         (time, rel, relunit, number, get_date):
126258         Add support for fractional seconds.
126259         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
126260         (gmtime, localtime, mktime): Remove decls; not needed with C89.
126261         (to_hour): First arg is now long int, not int.
126262         (to_year): Returns long int, not int.
126263         Don't treat year -70 like 70.
126264         (tm_diff): Returns long int, not int.
126265         (lookup_word): Use bool instead of int when appropriate.
126266         (yylex): Use size_t for count, not int.
126267         Detect overflow when parsing large integer constants.
126268         Add support for fractions.
126269         (get_date): Make pointers 'const' if possible.
126270         Use more-portable code to detect integer overflow.
126271         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
126272         Don't use ctime; it's not reliable if the year has >4 digits.
126274         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
126275         This is for compatibility with BSD.
126277         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
126278         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
126279         From coreutils' system.h.
126281         * lib/userspec.c: Don't include "posixver.h".
126282         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
126283         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
126284         compatible extension.  Simplify code by removing a boolean int
126285         that was always nonzero if a string was nonnull.
126287 2004-03-30  Jim Meyering  <jim@meyering.net>
126289         Merge from coreutils.
126291         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
126292         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
126293         on some systems one must include <grp.h> before it.
126294         Reported by Christian Krackowizer.
126296 2004-03-30  Jim Meyering  <jim@meyering.net>
126298         Merge from coreutils.
126300         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
126302         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
126303         an empty input stream.
126305         * lib/readtokens.c: Include <stdbool.h>.
126306         (readtoken): Use `size_t' rather than int/long.
126307         All callers adjusted.
126308         Use `bool' rather than `int' where appropriate.
126309         Use memset rather than an explicit loop.
126310         Use x2nrealloc rather than xrealloc.
126311         Allow the use of `\0' as a delimiter.
126312         (readtokens): Likewise.
126313         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
126315 2004-03-30  Jim Meyering  <jim@meyering.net>
126317         * m4/realloc.m4: Remove file, since now it does no more than
126318         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
126319         the `configure.ac' section of module/realloc.
126320         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
126322 2004-03-30  Bruno Haible  <bruno@clisp.org>
126324         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
126325         nonnull.
126327 2004-03-29  Paul Eggert  <eggert@twinsun.com>
126329         Merge changes to getloadavg.c from coreutils and Emacs.
126331         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
126332         Define to an expression, not to the empty string.
126333         Include cloexec.h and xalloc.h.
126334         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
126335         Use set_cloexec_flag rather than rolling our own.
126336         * lib/cloexec.c, lib/cloexec.h: New files.
126338 2004-03-29  Paul Eggert  <eggert@twinsun.com>
126340         * m4/cloexec.m4: New file.
126342 2004-03-18  Paul Eggert  <eggert@twinsun.com>
126344         * lib/getopt.h: Sync with libc CVS.
126346 2004-03-18  Paul Eggert  <eggert@twinsun.com>
126347             Bruno Haible  <bruno@clisp.org>
126349         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
126350         mbswidth.
126352 2004-03-18  Paul Eggert  <eggert@twinsun.com>
126353             Bruno Haible  <bruno@clisp.org>
126355         * lib/mbswidth.h: Include <wchar.h> only if
126356         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
126357         <wchar.h>.
126358         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
126360 2004-03-09  Paul Eggert  <eggert@twinsun.com>
126362         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
126363         Sync with libc CVS.
126364         * lib/getopt_int.h: New file, also synced from libc.
126366 2004-03-09  Paul Eggert  <eggert@twinsun.com>
126368         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
126369         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
126370         Bring back getopt.c, getopt.h, getopt1.c.
126372 2004-03-07  Paul Eggert  <eggert@twinsun.com>
126374         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
126375         All uses changed.  Check for sa_sigaction member; this fixes
126376         a bug first reported by Jason Andrade in
126377         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
126379 2004-03-07  Paul Eggert  <eggert@twinsun.com>
126381         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
126382         '#if' expressions.  Unlike the code it replaces, it does not
126383         depend on (defined _SC_PAGESIZE).  However, it does depend on
126384         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
126385         first reported by Jason Andrade in
126386         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
126388 2004-02-25  Simon Josefsson  <jas@extundo.com>
126390         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
126392 2004-02-25  Simon Josefsson  <jas@extundo.com>
126394         * lib/strdup.h: New file.
126395         * lib/strdup.c: Include it.
126396         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
126397         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
126399 2004-02-23  Karl Berry  <karl@gnu.org>
126401         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
126402         (from fencepost.gnu.org:/gd/gnuorg).
126404 2004-02-23  Karl Berry  <karl@gnu.org>
126406         * config/srclistvars.sh (GNUORG) [karl]: redefine.
126407         * config/srclist.txt: add maintain/standards documents.
126409 2004-02-18  Bruno Haible  <bruno@clisp.org>
126411         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
126412         Reported by Derek Robert Price <derek@ximbiot.com>.
126414 2004-02-16  Karl Berry  <karl@gnu.org>
126416         * config/mkinstalldirs, install-sh: update from automake.
126418 2004-02-06  Karl Berry  <karl@gnu.org>
126420         * m4/po.m4: update from gettext 0.14.1.
126422 2004-02-06  Karl Berry  <karl@gnu.org>
126424         * lib/config.charset: update from gettext 0.14.1.
126426 2004-02-05  Paul Eggert  <eggert@twinsun.com>
126428         Add comments and code, prompted by suggestions from Bruno Haible
126429         for sh-quote.
126430         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
126431         describing the enum quoting_style values.
126432         * lib/quotearg.c (quotearg_alloc): New function.
126433         (quotearg_buffer_restyled): Treat lone { and } as special.
126434         Treat = as special.  Work around bug with older shells
126435         that "see" a '\' that is really the 2nd byte of a multibyte char.
126436         Quote empty string with shell_quoting_style.
126438 2004-02-03  Bruno Haible  <bruno@clisp.org>
126440         * m4/pipe.m4: New file, from GNU gettext.
126442 2004-02-03  Bruno Haible  <bruno@clisp.org>
126444         * lib/pipe.h: New file, from GNU gettext.
126445         * lib/pipe.c: New file, from GNU gettext.
126447 2004-01-27  Bruno Haible  <bruno@clisp.org>
126449         * m4/execute.m4: New file, from GNU gettext.
126451 2004-01-27  Bruno Haible  <bruno@clisp.org>
126453         * lib/execute.h: New file, from GNU gettext.
126454         * lib/execute.c: New file, from GNU gettext.
126455         * lib/w32spawn.h: New file, from GNU gettext.
126457 2004-01-24  Paul Eggert  <eggert@twinsun.com>
126459         Merge from diffutils.
126461         * lib/file-type.c (file_type): Add typed memory objects.
126462         * lib/file-type.h (S_TYPEISTMO): New macro.
126464         * lib/c-stack.h (c_stack_action): Remove argv argument.
126465         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
126466         (die): Don't calculate message unless segv_action returns.
126467         (get_stack_location, min_address_from_argv, max_address_from_argv,
126468         volatile stack_base, volatile_stack_size): Remove.
126469         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
126470         that every segmentation violation is a stack overflow.  (Ouch!)
126471         See Debian bug 136249 (still outstanding) for more info about why
126472         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
126474 2004-01-24  Paul Eggert  <eggert@twinsun.com>
126476         Exit-status fix from coreutils.
126478         Use exit_failure consistently in place of EXIT_FAILURE,
126479         so that program exit statuses are consistent on failure.
126481         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
126482         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
126483         * lib/argmatch.h: Comment fix to match the above.
126484         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
126485         Now a macro referring to exit_failure, instead of a separate
126486         variable.  Include "exitfail.h" to get it.
126487         * lib/xstrtol.h: Include "exitfail.h".
126488         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
126490         * lib/long-options.c (parse_long_options): Use prototype
126491         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
126492         for clarity.
126494 2004-01-21  Jim Meyering  <jim@meyering.net>
126496         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
126497         so as not to conflict with a different-sized __mktime_internal
126498         function in GNU libc.
126499         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
126500         Problem building statically-linked `ls' reported by Michael Brunnbauer.
126502 2004-01-20  Karl Berry  <karl@gnu.org>
126504         * config/config.guess: update from config.
126506         * config/srclistvars.sh: GNUWWWLICENSES for karl.
126508 2004-01-20  Bruno Haible  <bruno@clisp.org>
126510         Safer stack allocation.
126511         * lib/setenv.c: Include allocsa.h.
126512         (alloca): Remove fallback definition.
126513         (freea): Remove macro.
126514         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
126515         instead of freea.
126517 2004-01-20  Bruno Haible  <bruno@clisp.org>
126519         * m4/eealloc.m4: New file, from GNU gettext.
126521 2004-01-20  Bruno Haible  <bruno@clisp.org>
126523         * m4/allocsa.m4: New file, from GNU gettext.
126525 2004-01-20  Bruno Haible  <bruno@clisp.org>
126527         * lib/xallocsa.h: New file, from GNU gettext.
126528         * lib/xallocsa.c: New file, from GNU gettext.
126530 2004-01-20  Bruno Haible  <bruno@clisp.org>
126532         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
126534 2004-01-20  Bruno Haible  <bruno@clisp.org>
126536         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
126537         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
126538         specially.
126540 2004-01-20  Bruno Haible  <bruno@clisp.org>
126542         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
126543         patch.
126545 2004-01-20  Bruno Haible  <bruno@clisp.org>
126547         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
126549 2004-01-20  Bruno Haible  <bruno@clisp.org>
126551         * lib/eealloc.h: New file.
126553 2004-01-20  Bruno Haible  <bruno@clisp.org>
126555         * lib/binary-io.h: Avoid warnings on Cygwin.
126557 2004-01-20  Bruno Haible  <bruno@clisp.org>
126559         * lib/allocsa.h: New file, from GNU gettext.
126560         * lib/allocsa.c: New file, from GNU gettext.
126562 2004-01-18  Karl Berry  <karl@gnu.org>
126564         * doc/gpl.texi, doc/lgpl.texi: new files.
126566 2004-01-18  Karl Berry  <karl@gnu.org>
126568         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
126569         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
126571 2004-01-15  Paul Eggert  <eggert@twinsun.com>
126573         Merge from coreutils.
126575         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
126576         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
126577         (gl_DEFAULT_POSIX2_VERSION): Move
126578         the documentation from 'configure' into 'config.hin',
126579         so that 'configure --help' isn't burdened by it and
126580         we don't have to worry about its formatting there.
126581         Reword the documentation so that it's more succinct
126582         and can be run together into a single paragraph.
126583         * m4/same.m4 (gl_SAME): Check for pathconf.
126585 2004-01-15  Paul Eggert  <eggert@twinsun.com>
126587         Merge from coreutils.
126589         * lib/posixver.c: Include posixver.h.
126591         * lib/same.c: Include <stdbool.h>, <limits.h>.
126592         (_POSIX_NAME_MAX): Define if not defined.
126593         (MIN): New macro.
126594         (same_name): If file names are silently truncated, report
126595         that the file names are the same if they are the same after
126596         the silent truncation.
126598         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
126599         conversion function.
126600         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
126601         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
126602         longer needed.
126604 2004-01-15  Jim Meyering  <jim@meyering.net>
126606         Merge from coreutils.
126608         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
126609         if no library is required.
126610         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
126611         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
126612         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
126613         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
126614         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
126615         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
126616         value, $ac_cv_search_crypt, if it's "none required".
126617         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
126618         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
126619         not gl_FUNC_GETLOADAVG.
126620         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
126621         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
126623 2004-01-15  Jim Meyering  <jim@meyering.net>
126625         Merge from coreutils.
126627         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
126628         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
126629         http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html
126631         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
126632         optional configure-time default.
126634         * lib/version-etc.c (version_etc_copyright): Update copyright date.
126636         * lib/xreadlink.c (xreadlink): Correct outdated comment.
126638 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
126640         Merge from coreutils.
126642         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
126643         value, $ac_cv_search_nanosleep, if it's "none required".
126645 2004-01-14  Paul Eggert  <eggert@twinsun.com>
126647         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
126648         with like-named macro in fnmatch.c.
126649         (EXT): Use an internal constant instead.
126651         Merge fnmatch patches from glibc.
126652         * lib/fnmatch.c (mbsinit): Remove define.
126653         Add libc_hidden_ver (__fnmatch, fnmatch).
126654         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
126655         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
126657 2004-01-14  Karl Berry  <karl@gnu.org>
126659         * config/install-sh: update from automake.
126661 2004-01-13  Karl Berry  <karl@gnu.org>
126663         * config/install-sh: update from automake.
126665 2004-01-09  Karl Berry  <karl@gnu.org>
126667         * config/install-sh: update from automake.
126669 2004-01-05  Karl Berry  <karl@gnu.org>
126671         * config/config.{sub,guess}: update from config.
126673 2003-12-31  Karl Berry  <karl@gnu.org>
126675         * config/depcomp: update from automake.
126677 2003-12-14  Karl Berry  <karl@gnu.org>
126679         * lib/config.charset: update from gettext-runtime.
126681 2003-12-03  Paul Eggert  <eggert@twinsun.com>
126683         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
126684         Bug reported by Alfred M. Szmidt.
126686 2003-12-03  Bruno Haible  <bruno@clisp.org>
126688         * m4/gettext.m4: Upgrade from gettext-0.13.
126689         * m4/po.m4: Upgrade from gettext-0.13.
126690         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
126691         * m4/intmax.m4: New file, from gettext-0.13.
126692         * m4/printf-posix.m4: New file, from gettext-0.13.
126694 2003-11-29  Karl Berry  <karl@gnu.org>
126696         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
126698 2003-11-25  Paul Eggert  <eggert@twinsun.com>
126699             Bruno Haible  <bruno@clisp.org>
126701         * lib/printf-parse.h: Don't include sys/types.h.
126702         (ARG_NONE): New macro.
126703         (char_directive): Change type of *arg_index fields to size_t.
126704         * lib/printf-parse.c: Don't include sys/types.h.
126705         (SSIZE_MAX): Remove macro.
126706         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
126707         Remove unnecessary overflow check.
126708         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
126709         fields.
126711 2003-11-25  Bruno Haible  <bruno@clisp.org>
126713         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
126715 2003-11-25  Bruno Haible  <bruno@clisp.org>
126717         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
126718         gt_TYPE_SSIZE_T.
126720 2003-11-24  Paul Eggert  <eggert@twinsun.com>
126722         * modules/alloca: Remove dependency on xalloc.
126724 2003-11-24  Paul Eggert  <eggert@twinsun.com>
126726         * lib/alloca.c: Remove dependency on xalloc module.
126727         (xalloc_die): Remove.
126728         (memory_full) [!defined emacs]: New macro.
126729         [!defined emacs]: Don't include xalloc.h.
126730         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
126731         address arithmetic overflows.  Change datatypes a bit to avoid
126732         unnecessary casts.
126734 2003-11-22  Jim Meyering  <jim@meyering.net>
126736         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
126737         s/size/size_t/.
126739 2003-11-21  Karl Berry  <karl@gnu.org>
126741         * config/config.{sub,guess}: update from config.
126743 2003-11-18  Karl Berry  <karl@gnu.org>
126745         * config/config.{sub,guess}: update from config.
126747         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
126749 2003-11-17  Paul Eggert  <eggert@twinsun.com>
126751         * README: Mention that S+T cannot overflow if S is the size of
126752         an existing object and T is sufficiently small.
126754 2003-11-17  Jim Meyering  <jim@meyering.net>
126756         On systems without utime and without a utimes function capable of
126757         dealing with a NULL struct utimbuf* argument, this utime replacement
126758         could -- in unusual circumstances -- leak a file descriptor.
126759         * lib/utime.c: Include <unistd.h> and <errno.h>.
126760         (utime_null): Be sure to close `fd' and to preserve errno.
126761         Reported by Geoff Collyer via Arnold Robbins.
126763 2003-11-17  Bruno Haible  <bruno@clisp.org>
126765         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
126766         (Depends-on): Add xsize.
126768 2003-11-17  Bruno Haible  <bruno@clisp.org>
126770         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
126772 2003-11-17  Bruno Haible  <bruno@clisp.org>
126774         * lib/vasnprintf.c (alloca): Remove fallback definition.
126775         (freea): Remove definition.
126776         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
126777         Reported by Paul Eggert.
126779 2003-11-16  Paul Eggert  <eggert@twinsun.com>
126780             Bruno Haible  <bruno@clisp.org>
126782         Protect against address arithmetic overflow.
126783         * lib/printf-args.h: Include stddef.h.
126784         (arguments): Change type of field 'count' to size_t.
126785         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
126786         'unsigned int' where appropriate.
126787         * lib/printf-parse.h: Include sys/types.h.
126788         (char_directive): Change type of *arg_index fields to ssize_t.
126789         (char_directives): Change type of fields 'count', max_*_length to
126790         size_t.
126791         * lib/printf-parse.c: Include sys/types.h and xsize.h.
126792         (SSIZE_MAX): Define fallback value.
126793         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
126794         instead of 'int' where appropriate. Check a_allocated, d_allocated
126795         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
126796         * lib/vasnprintf.c: Include xsize.h.
126797         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
126798         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
126799         overflow. Avoid wraparound when converting a width or precision from
126800         decimal to binary.
126802 2003-11-16  Bruno Haible  <bruno@clisp.org>
126804         Update from GNU gettext.
126805         * lib/printf-parse.c: Generalize to it can be compiled for wide
126806         strings.
126807         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
126808         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
126809         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
126810         SNPRINTF): New macros.
126811         Don't include <alloca.h> if the file is used inside libintl.
126812         (local_wcslen): New function, for Solaris 2.5.1.
126813         (VASNPRINTF): Use it instead of wcslen.
126815 2003-11-16  Bruno Haible  <bruno@clisp.org>
126817         * lib/xsize.h (xmax): New function.
126818         (xsum, xsum3, xsum4): Declare as "pure" functions.
126820 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126822         * modules/xalloc (Files): Undo latest change, since xalloc.h
126823         no longer needs SIZE_MAX or PTRDIFF_MAX.
126825 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126827         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
126828         gl_PTRDIFF_MAX.
126830 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126832         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
126833         "return", to pacify some unknown compiler.  Problem reported
126834         by Joerg Schilling.
126836 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126838         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
126839         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
126840         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
126841         heuristic is just as accurate as far as we know, and it removes a
126842         dependency on size_max.m4 and ptrdiff_max.m4.
126844 2003-11-11  Bruno Haible  <bruno@clisp.org>
126846         * modules/xsize (Files): Add m4/size_max.m4.
126847         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
126849 2003-11-11  Bruno Haible  <bruno@clisp.org>
126851         * m4/size_max.m4: New file.
126852         * m4/ptrdiff_max.m4: New file.
126853         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
126854         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
126855         (gl_XALLOC): Invoke it.
126857 2003-11-11  Bruno Haible  <bruno@clisp.org>
126859         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
126860         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
126861         defined.
126863 2003-11-10  Paul Eggert  <eggert@twinsun.com>
126865         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
126866         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
126867         rejected some allocations of exactly SIZE_MAX - 2 bytes.
126868         From Bruno Haible.
126869         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
126870         not (size_t) -1, since it's defined here.
126872 2003-11-09  Karl Berry  <karl@gnu.org>
126874         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
126876 2003-11-06  Paul Eggert  <eggert@twinsun.com>
126878         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
126879         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
126880         Reject sizes of exactly SIZE_MAX bytes.
126881         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
126882         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
126884 2003-11-05  Bruno Haible  <bruno@clisp.org>
126886         * lib/xsize.h: Include limits.h, to avoid a possible collision with
126887         SIZE_MAX defined in <limits.h> on Solaris.
126889 2003-11-04  Jim Meyering  <jim@meyering.net>
126891         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
126892         variable names, rather than @VAR@.
126893         * modules/poll: Likewise.
126895 2003-11-04  Bruno Haible  <bruno@clisp.org>
126897         * modules/xsize: New file.
126898         * modules/linebreak: Depend on xsize.
126899         * MODULES.html.sh (func_all_modules): Add xsize.
126901 2003-11-04  Bruno Haible  <bruno@clisp.org>
126903         * m4/xsize.m4: New file.
126905 2003-11-04  Bruno Haible  <bruno@clisp.org>
126907         * lib/xsize.h: New file.
126908         * lib/linebreak.c: Include xsize.h.
126909         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
126910         argument for overflow.
126911         Suggested by Paul Eggert.
126913 2003-11-03  Karl Berry  <karl@gnu.org>
126915         * config/config.{guess,sub}: update from config.
126917 2003-11-03  Jim Meyering  <jim@meyering.net>
126919         * modules/userspec (lib_SOURCES): Add userspec.h.
126920         (Include): Add "userspec.h".
126921         Improve description.
126923 2003-11-03  Jim Meyering  <jim@meyering.net>
126925         * lib/userspec.c: Include "userspec.h".
126926         * lib/userspec.h: New file.
126928 2003-11-03  Bruno Haible  <bruno@clisp.org>
126930         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
126932 2003-11-03  Bruno Haible  <bruno@clisp.org>
126934         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
126935         available, to avoid (extremely rare) race condition.
126936         Suggested by Paul Eggert.
126938 2003-11-02  Karl Berry  <karl@gnu.org>
126940         * config/srclist.txt (vasprintf.c): sync broken, sigh.
126942 2003-10-31  Paul Eggert  <eggert@twinsun.com>
126944         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
126945         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
126946         (read_filesystem_list): Set and use me_type_malloced.
126947         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
126948         whatever the type happens to be), for brevity and consistency.
126949         Check for size calculation overflow on Alphas running OSF/1.
126951 2003-10-31  Jim Meyering  <jim@meyering.net>
126953         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
126955         * lib/linebuffer.c: Include <string.h> for declaration of memset.
126957 2003-10-30  Paul Eggert  <eggert@twinsun.com>
126958             Bruno Haible  <bruno@clisp.org>
126960         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
126961         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
126963 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
126965         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
126966         netbsd*-gnu*.  Suggested by Robert Millan.
126968 2003-10-29  Paul Eggert  <eggert@twinsun.com>
126970         * modules/group-member: Depend on stdbool.
126972 2003-10-29  Paul Eggert  <eggert@twinsun.com>
126974         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
126976 2003-10-29  Paul Eggert  <eggert@twinsun.com>
126978         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
126979         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
126980         after the 'gnu' in these cases.  This fixes some bugs in the
126981         previous change, and is based on suggestions by Robert Millan.
126983 2003-10-29  Paul Eggert  <eggert@twinsun.com>
126985         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
126986         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
126987         no longer needed.
126988         * lib/quotearg.c (quotearg_n_options): Use it.
126989         * lib/group-member.c: Include <stdbool.h>.
126990         (free_group_info): Arg is now const *; don't free arg.
126991         (get_group_info): Now returns bool and accepts struct group_info *,
126992         rather than returning a malloc'ed struct group_info *.
126993         All uses changed.  Check for overflow in internal size calculation.
126995         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
126996         rather than xmalloc/xrealloc.
126997         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
126998         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
126999         conformance bug: the old code used a pointer after freeing the
127000         storage that it addressed.
127001         * lib/hash.c (hash_initialize): Simplify the code by using
127002         xalloc_oversized rather than doing it by hand.
127003         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
127004         the buffer preserved.  Use free and xmalloc instead.
127005         * lib/quotearg.c (quotearg_n_options): Likewise.
127006         Use a simpler test for size overflow.  Don't use xalloc_oversized
127007         because unsigned int might be wider than size_t (!); this suggests
127008         that we should switch from unsigned int to size_t for slot numbers.
127010 2003-10-28  Paul Eggert  <eggert@twinsun.com>
127012         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
127013         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
127014         NetBSD kernels.  Requested by Richard Stallman.
127016 2003-10-27  Paul Eggert  <eggert@twinsun.com>
127018         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
127019         to allocate the returned structure.  Do not allocate a subarray,
127020         as x2nrealloc will do that.
127021         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
127022         instead of xnrealloc.
127023         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
127025 2003-10-27  Bruno Haible  <bruno@clisp.org>
127027         * lib/stdbool_.h: Better support for BeOS.
127029 2003-10-26  Paul Eggert  <eggert@twinsun.com>
127031         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
127032         now uses inline.
127034 2003-10-26  Paul Eggert  <eggert@twinsun.com>
127036         * lib/xalloc.h (xalloc_oversized): New static inline function, for
127037         callers that want to do their own size-overflow checking.  Include
127038         <stdbool.h>, since xalloc_oversized returns bool.
127039         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
127040         to use xalloc_oversized.
127042         Add two functions x2realloc, x2nrealloc, for programs that grow
127043         arrays dynamically by doubling their sizes.
127044         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
127045         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
127046         New functions.
127048         Port to C99 semantics for 'inline' of external functions.
127049         Bug reported by Bruno Haible.
127050         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
127051         with the old contents of xnmalloc.
127052         (xnmalloc, xmalloc): Use it.
127053         (xnrealloc_inline): New static inline function,
127054         with the old contents of xnrealloc.
127055         (xnrealloc, xrealloc): Use it.
127057         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
127058         that.
127060 2003-10-26  Karl Berry  <karl@gnu.org>
127062         * config/srclist.txt (COPYING.DOC): no longer available from
127063         /gd/gnuorg; don't know where the ultimate source is.
127065 2003-10-25  Paul Eggert  <eggert@twinsun.com>
127067         Fix several address-calculation bugs in the hash modules,
127068         plus some minor code cleanup.
127070         * lib/hash.h: Include <stdbool.h>, for bool.
127071         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
127072         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
127073         hash_get_n_entries, hash_get_max_bucket_length,
127074         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
127075         hash_rehash): Use size_t rather than unsigned.
127076         * lib/hash.c (struct hash_table, hash_get_n_buckets,
127077         hash_get_n_buckets_used, hash_get_n_entries,
127078         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
127079         hash_get_entries, hash_do_for_each, hash_string, is_prime,
127080         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
127081         Likewise.
127082         (SIZE_MAX): Define if not defined.
127083         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
127084         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
127085         hash_print):
127086         Use const * when possible.
127087         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
127088         (check_tuning): Fix bug: if tuning parameters were very close to
127089         0 or 1, rounding errors could have caused subscript violations.
127090         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
127091         (hash_initialize): Add 'fail:' label
127092         to free table and return NULL, and use it to simplify code.
127093         Use calloc rather than clearing the storage ourself.
127094         (hash_initialize, hash_rehash): Check for arithmetic overflow in
127095         buffer size calculations.
127096         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
127097         Include <stddef.h>, for size_t.
127098         * lib/hash-pjw.c (hash_pjw): Likewise.
127099         Switch to method described by Bruno Haible.
127100         Include <limits.h>, for CHAR_BIT.
127101         (SIZE_BITS): New macro.
127103 2003-10-23  Paul Eggert  <eggert@twinsun.com>
127105         * m4/getline.m4 (AM_FUNC_GETLINE):
127106         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
127107         hosts.  Problem reported by Derek Robert Price in
127108         <http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
127109         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
127110         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
127112 2003-10-21  Paul Eggert  <eggert@twinsun.com>
127114         * lib/getndelim2.c (getndelim2): When size calculation overflows,
127115         ceiling the allocation at NMAX bytes rather than silently
127116         discarding input bytes before NMAX is reached.  This makes
127117         a difference only if NMAX exceeds SIZE_MAX / 2.
127119         * lib/obstack.c: Merge from glibc.
127120         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
127121         Add libc_hidden_def (_obstack_newchunk).
127122         (_obstack_free) [! defined _LIBC]: Remove.
127123         [defined _LIBC]: Make a strong alias from obstack_free, rather than
127124         a clone of the function body.
127125         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
127126         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
127128         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
127129         glibc.
127130         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
127131         arg to memcpy.
127133         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
127134         (obstack_ptr_grow_fast, obstack_int_grow_fast):
127135         Don't use lvalue casts, as GCC plans to remove support for them
127136         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
127137         was also present in the non-GCC version, indicating that this
127138         code had always been buggy and had never been widely used.
127139         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
127140         Use the fast variant of each macro, rather than copying the
127141         definiens of the fast variant; that way, we'll be more likely to
127142         catch future bugs in the fast variants.
127144 2003-10-20  Bruno Haible  <bruno@clisp.org>
127146         * modules/wait-process: New file.
127147         * MODULES.html.sh (func_all_modules): Add wait-process.
127149 2003-10-20  Bruno Haible  <bruno@clisp.org>
127151         * m4/wait-process.m4: New file.
127153 2003-10-20  Bruno Haible  <bruno@clisp.org>
127155         * lib/wait-process.h: New file, from GNU gettext.
127156         * lib/wait-process.c: New file, from GNU gettext.
127158 2003-10-19  Jim Meyering  <jim@meyering.net>
127160         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
127161         HPUX 10.20.
127163 2003-10-18  Karl Berry  <karl@gnu.org>
127165         * config/config.guess: update from config.
127167 2003-10-16  Paul Eggert  <eggert@twinsun.com>
127169         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
127170         (getgroups): First arg is int, not size_t.
127171         Don't let 'free' mangle errno.
127173 2003-10-16  Paul Eggert  <eggert@twinsun.com>
127175         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
127177 2003-10-16  Karl Berry  <karl@gnu.org>
127179         * config/config.{guess,sub}: update from config.
127181 2003-10-16  Jim Meyering  <jim@meyering.net>
127183         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
127184         memcpy.
127186 2003-10-15  Paul Eggert  <eggert@twinsun.com>
127188         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
127189         (SIZE_MAX): Remove.
127190         (new_exclude, add_exclude_file): Initial size no longer needs to
127191         be a power of 2.
127192         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
127193         our own address arithmetic overflow checking.
127195         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
127196         (fnmatch): Do not alloca more than 2000 wide characters;
127197         instead, use malloc for large buffers.
127198         Check for address arithmetic overflow, and return -1
127199         with errno set to ENOMEM in that case.
127200         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
127201         (NEW_PATTERN): Do not alloca more than 8000 bytes;
127202         instead, return -1.  Check for address arithmetic overflow.
127204 2003-10-14  Paul Eggert  <eggert@twinsun.com>
127206         Handle invalid suffixes and overflow independently, so that
127207         callers can treat them independently as needed.  Fix some bugs in
127208         suffix handling, e.g., "100k@" was not diagnosed as an invalid
127209         suffix for a human-readable blocksize.  The major caller-visible
127210         change is the addition of a new
127211         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
127212         that both overflow and suffix chars were found.
127214         * lib/human.c (humblock): Don't check separately for invalid suffix
127215         char; that is xstrtoumax's job (now that its bug is fixed).
127216         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
127217         INTMAX_MAX]: New macros.
127218         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
127219         TYPE_MAXIMUM): New macros.
127220         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
127221         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
127222         if overflow occurs, as it's what __strtol does and it's more useful
127223         in practice.
127224         (__xstrtol): If __strtol reports some error other than ERANGE,
127225         reflect it to the caller as LONGINT_INVALID.  If it reports
127226         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
127227         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
127228         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
127229         value.
127230         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
127231         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
127232         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
127233         [defined UINTMAX_MAX]: New macros.
127235 2003-10-14  Bruno Haible  <bruno@clisp.org>
127237         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
127239 2003-10-14  Bruno Haible  <bruno@clisp.org>
127241         * m4/sig_atomic_t: New file, from GNU gettext.
127242         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
127244 2003-10-14  Bruno Haible  <bruno@clisp.org>
127246         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
127247         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
127248         Also use volatile where needed.
127250 2003-10-12  Paul Eggert  <eggert@twinsun.com>
127252         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
127253         Change maintainer from Bruno Haible to 'all'.
127255 2003-10-12  Paul Eggert  <eggert@twinsun.com>
127257         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
127259 2003-10-12  Paul Eggert  <eggert@twinsun.com>
127261         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
127262         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
127263         and define in terms of the other primitives.
127264         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
127265         (SIZE_MAX): Define if not already defined.
127266         (array_size_overflow): New function.
127267         (xalloc_die): Abort instead of exiting if 'error' returns.
127268         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
127269         (xmalloc, xrealloc): Use them.
127270         (xcalloc): Check for address arithmetic overflow.
127271         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
127272         a bit faster than strcpy.
127274 2003-10-10  Simon Josefsson  <jas@extundo.com>
127276         * modules/argp (Depends-on): Add restrict and strcase.
127278 2003-10-10  Simon Josefsson  <jas@extundo.com>
127280         * m4/argp.m4: Add AC_C_INLINE.
127282 2003-10-08  Paul Eggert  <eggert@twinsun.com>
127284         Merge getpass from libc, plus a few fixes.
127286         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
127287         Include <stdbool.h>.
127288         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
127289         __fsetlocking to empty.
127290         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
127291         do include <bits/libc-lock.h>.
127292         Do not include <fcntl.h>; not needed.
127293         [_LIBC]: Include <wchar.h>.
127294         (NOTCANCEL_MODE): New macro.
127295         (flockfile, funlockfile) [_LIBC]: New macros.
127296         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
127297         [!_LIBC]: New macros.
127298         (call_fclose): New function.
127299         (getpass): Use it.  Save tty stream separately; this simplifies the
127300         code and makes it more reliable if stdin happens to equal stdout.
127301         Invoke __fsetlocking on tty.
127302         Handle thread cancellation if needed.
127303         Namespace cleanup (use __tcgetattr, __getline).
127304         Use bool for Booleans.
127305         [USE_IN_LIBIO]: Handle wide streams.
127306         [!_LIBC]: Unconditionally do the fseek, since we don't know what
127307         stream might go where.
127309         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
127310         doesn't have to include <stdio.h> before us.
127311         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
127312         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
127313         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
127314         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
127315         if not declared, so that we can use getpass.c code from libc without
127316         rewriting it.
127317         (flockfile, ftrylockfile, funlockfile): New macros.
127319 2003-10-08  Paul Eggert  <eggert@twinsun.com>
127321         * modules/getpass: Depend on stdbool.
127323 2003-10-08  Paul Eggert  <eggert@twinsun.com>
127325         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
127327 2003-10-07  Karl Berry  <karl@gnu.org>
127329         * config/config.{guess,sub}: update from config.
127331 2003-10-06  Jim Meyering  <jim@meyering.net>
127332             Bruno Haible  <bruno@clisp.org>
127334         This lets translators provide better translations for the
127335         "Written by ..." part of --version output.
127336         * lib/version-etc.h: Include stdarg.h.
127337         (version_etc_copyright): Declare as readonly.
127338         (version_etc): Make this function variadic with a NULL-terminated list
127339         of author name strings.
127340         (version_etc_va): New declaration.
127341         * lib/version-etc.c: Include stdarg.h, stdlib.h.
127342         (version_etc_copyright): Declare as readonly.
127343         (version_etc_va): New function. Provide a different translatable string
127344         for each possible number of authors < 10. Abbreviate when there are 10
127345         authors or more.
127346         (version_etc): Make this function variadic. Call version_etc_va.
127347         Suggestion from Gary V. Vaughan.
127349         * lib/long-options.h (parse_long_options): Change prototype: the
127350         authors string is moved to the end and becomes variadic.
127351         * lib/long-options.c: Include stdarg.h.
127352         (parse_long_options): Make this function variadic, too.
127353         Call version_etc_va, not version_etc.
127355 2003-10-06  Bruno Haible  <bruno@clisp.org>
127357         * modules/version-etc-2: Remove file.
127358         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
127360 2003-10-06  Bruno Haible  <bruno@clisp.org>
127362         * modules/fatal-signal: New file.
127363         * MODULES.html.sh (func_all_modules): Add fatal-signal.
127365 2003-10-06  Bruno Haible  <bruno@clisp.org>
127367         * m4/fatal-signal.m4: New file.
127368         * m4/signalblocking.m4: New file, from GNU gettext.
127370 2003-10-06  Bruno Haible  <bruno@clisp.org>
127372         * lib/version-etc-2.h: Remove file.
127373         * lib/version-etc-2.c: Remove file.
127375 2003-10-06  Bruno Haible  <bruno@clisp.org>
127377         * lib/fatal-signal.h: New file, from GNU gettext.
127378         * lib/fatal-signal.c: New file, from GNU gettext.
127380 2003-10-05  Paul Eggert  <eggert@twinsun.com>
127382         * README: Rework advice for preventing empty .o files.
127383         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
127384         not <sys/types.h>.
127386 2003-10-04  Karl Berry  <karl@gnu.org>
127388         * lib/argp*: update from libc.
127390 2003-10-04  Karl Berry  <karl@gnu.org>
127392         * config/config.{guess,sub}: update from config.
127394 2003-10-02  Bruno Haible  <bruno@clisp.org>
127396         * modules/lchown (Include): Add lchown.h.
127397         * modules/time_r (Include): Use "..." syntax.
127398         * modules/xgetdomainname (Include): Add xgetdomainname.h.
127400 2003-10-01  Simon Josefsson  <jas@extundo.com>
127402         * MODULES.html.sh (func_all_modules): Move gethostname from section
127403         'based on' to section 'lacking' POSIX:2001.
127405 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
127407         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
127408         to output mode on the same stream.
127410 2003-09-29  Paul Eggert  <eggert@twinsun.com>
127412         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
127413         Fix arg typo in previous patch.
127415 2003-09-28  Jim Meyering  <jim@meyering.net>
127417         * lib/error.c: Correct cpp indentation.
127419 2003-09-27  Paul Eggert  <eggert@twinsun.com>
127421         * modules/free: New file.
127423 2003-09-27  Paul Eggert  <eggert@twinsun.com>
127425         * m4/free.m4: New file.
127427 2003-09-27  Paul Eggert  <eggert@twinsun.com>
127429         * lib/minmax.h (MIN, MAX)
127430         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
127431         Omit the special code that used __typeof__, since we worry that
127432         it could be more trouble than it's worth.  See:
127433         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
127434         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html
127436         * lib/free.c: New file.
127438 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
127440         Trivial fixes to Makefile.am parts of module listings.
127441         * modules/strstr: Append strstr.h to lib_SOURCES.
127442         * modules/strcase: Likewise, for strcase.h.
127444 2003-09-27  Karl Berry  <karl@gnu.org>
127446         * config/mkinstalldirs: update from automake.
127448 2003-09-26  Paul Eggert  <eggert@twinsun.com>
127450         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
127451         (error_tail): Do not loop, reallocating temporary buffer, since
127452         the output cannot contain more wide characters than the input
127453         contains bytes, the size must be big enough already.  This avoids
127454         one potential size overflow calculation.  Check for size overflow
127455         when calculating temporary buffer size.  Free temporary buffer
127456         when done, if it was allocated with malloc; this plugs a memory
127457         leak.  Remove casts from void * to pointers, that are no longer
127458         needed now that we're assuming C89 or better.
127460         Merge error changes from glibc.
127462         * lib/error.c, error.h: Update copyright notice header to match glibc.
127463         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
127464         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
127465         Disable cancellation while printing error.
127466         * lib/error.h: Prepend __ to parameter names.
127468 2003-09-26  Jim Meyering  <jim@meyering.net>
127470         * lib/error.c (error_tail): Move some declarations
127471         into inner scope where the local variables are used.
127473 2003-09-26  Bruno Haible  <bruno@clisp.org>
127475         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
127476         stpncpy().
127477         Don't define stpncpy through config.h; it's now done through stpncpy.h.
127479 2003-09-26  Bruno Haible  <bruno@clisp.org>
127481         * lib/stpncpy.h (gnu_stpncpy): New declaration.
127482         (stpncpy): Define as alias for gnu_stpncpy.
127483         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
127485 2003-09-25  Simon Josefsson  <jas@extundo.com>
127487         * lib/xgetdomainname.h: New file.
127488         * lib/xgetdomainname.c: New file.
127490 2003-09-25  Simon Josefsson  <jas@extundo.com>
127491             Bruno Haible  <bruno@clisp.org>
127493         * modules/getdomainname: New file.
127494         * modules/xgetdomainname: New file.
127495         * MODULES.html.sh (func_all_modules): Add getdomainname,
127496         xgetdomainname.
127498 2003-09-25  Simon Josefsson  <jas@extundo.com>
127499             Bruno Haible  <bruno@clisp.org>
127501         * m4/getdomainname.m4: New file.
127503 2003-09-25  Simon Josefsson  <jas@extundo.com>
127504             Bruno Haible  <bruno@clisp.org>
127506         * lib/getdomainname.h: New file.
127507         * lib/getdomainname.c: New file.
127509 2003-09-25  Karl Berry  <karl@gnu.org>
127511         * lib/argp-fmtstream.c, argp-help.c: update from libc.
127513 2003-09-25  Karl Berry  <karl@gnu.org>
127515         * config/install-sh: update from automake.
127517 2003-09-25  Bruno Haible  <bruno@clisp.org>
127519         * modules/version-etc-2: New file, from modules/version-etc with
127520         modifications.
127521         * MODULES.html.sh (func_all_modules): Add version-etc-2.
127523 2003-09-25  Bruno Haible  <bruno@clisp.org>
127525         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
127526         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
127528 2003-09-24  Simon Josefsson  <jas@extundo.com>
127530         * modules/xgethostname: Add xgethostname.h.
127532 2003-09-24  Paul Eggert  <eggert@twinsun.com>
127534         * lib/linebuffer.c (freebuffer): Don't free the argument, just
127535         the buffer associated with the argument.  Bug reported by
127536         Simon Josefsson.
127538 2003-09-24  Paul Eggert  <eggert@twinsun.com>
127540         * README: Document assumptions that 'int' is at least 32 bits
127541         wide, that integer arithmetic is 2's complement without overflow,
127542         that there are no holes in integer values, that adding sizes of
127543         two nonoverlapping objects can't overflow, and that all-bits-zero
127544         yields scalar zero.  Fix spelling and capitalization typos.
127546 2003-09-19  Karl Berry  <karl@gnu.org>
127548         * lib/argp.h: update from libc.
127550 2003-09-17  Paul Eggert  <eggert@twinsun.com>
127552         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
127553         to avoid spurious warnings like "AC_RUN_IFELSE was called before
127554         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
127556 2003-09-17  Paul Eggert  <eggert@twinsun.com>
127558         * gnulib-tool: Use "test -h", not "test -L", for portability
127559         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
127560         (tags_regexp): Remove, since \| doesn't conform to POSIX.
127561         (sed_extract_prog): Issue s commands one-by-one, rather than
127562         using \| in one s command.
127564 2003-09-16  Paul Eggert  <eggert@twinsun.com>
127566         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
127567         input error, instead of returning NULL the next time we are called
127568         (and therefore losing track of errno).
127570 2003-09-16  Bruno Haible  <bruno@clisp.org>
127572         * gnulib-tool (func_create_testdir): Warn about duplicated
127573         dependencies.
127575 2003-09-15  Paul Eggert  <eggert@twinsun.com>
127577         * modules/argmatch, modules/fatal, modules/obstack,
127578         modules/xalloc, modules/xgethostname: Sort dependencies by
127579         importance, not alphabetically.
127581 2003-09-15  Paul Eggert  <eggert@twinsun.com>
127583         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
127584         fails, so that the caller gets the proper errno.
127586         * lib/readutmp.c (read_utmp): Likewise.
127587         Check for fstat error.  Close stream and free storage
127588         when failing.
127590 2003-09-14  Karl Berry  <karl@gnu.org>
127592         * config/srclist.txt (strdup.c): disable for c89 changes.
127594 2003-09-14  Jim Meyering  <jim@meyering.net>
127596         * lib/getloadavg.c: Correct cpp indentation.
127597         * lib/strdup.c: Likewise.
127598         * lib/vasnprintf.c: Likewise.
127600 2003-09-14  Bruno Haible  <bruno@clisp.org>
127602         * modules/fwriteerror: New file.
127603         * MODULES.html.sh (func_all_modules): Add fwriteerror.
127605 2003-09-14  Bruno Haible  <bruno@clisp.org>
127607         * lib/fwriteerror.h: New file.
127608         * lib/fwriteerror.c: New file.
127610 2003-09-12  Paul Eggert  <eggert@twinsun.com>
127612         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
127613         modules/xgethostname, modules/xalloc: Depend on exit.
127615 2003-09-12  Paul Eggert  <eggert@twinsun.com>
127617         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
127619         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
127620         and AC_MINIX, too, so that their extensions are available.
127622         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
127623         This macro has been superseded by gl_BACKUPFILE.
127625         More patches to assume C89 or better.
127627         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
127629         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
127630         unconditionally.
127631         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
127632         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
127633         Include <string.h>, <stdlib.h> unconditionally.
127634         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
127635         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
127636         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
127637         headers or for string.h.
127638         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
127639         or strtoul.
127641         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
127642         headers.
127643         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
127644         * m4/userspec.m4 (gl_USERSPEC): Likewise.
127645         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
127646         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
127647         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
127648         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
127649         memcpy, memset.
127650         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
127651         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
127652         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
127653         strtol.
127654         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
127655         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
127656         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
127657         strtoul.
127659 2003-09-12  Paul Eggert  <eggert@twinsun.com>
127661         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
127662         * lib/obstack.c [!defined _LIBC]: Likewise.
127663         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
127664         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
127665         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
127667         More changes to assume C89 or better.
127669         * lib/error.c (error_tail): Assume vprintf.
127671         * lib/argmatch.c (getenv): Remove decl.
127672         * lib/progreloc.c (get_full_program_name): Define via prototype.
127673         * lib/setenv.c (clearenv): Likewise.
127674         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
127675         needed.
127676         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
127677         (malloc, memcpy): Remove decls.
127678         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
127679         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
127680         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
127681         (memcpy): Remove macro.
127682         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
127683         (__P): Remove.  All uses removed.
127684         (PTR): Remove.  All uses changed to void *.
127685         (CHAR_BIT, NULL): Remove.
127686         (spaces, zeros, memset_space, memset_zero)
127687         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
127688         Remove.
127689         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
127690         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
127691         Define with prototype.
127692         Remove now-unnecessary prototype decl.
127693         (extra_args_spec): Assume ANSI C.  All uses changed.
127694         (extra_args_spec_iso): Remove.
127695         (my_strftime, emacs_strftimeu): Define via prototype.
127696         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
127697         unconditionally.
127698         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
127699         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
127700         (strtoul, strtol): Remove decls.
127701         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
127702         LONG_MAX): Remove.
127703         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
127704         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
127705         (LOCALE_PARAM_PROTO): New macro.
127706         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
127707         (INTERNAL (strtol), strtol): Define with a prototype.
127708         (PARAMS): Remove.  All uses removed.
127709         * lib/tempname.c: Include <string.h> unconditionally.
127710         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
127711         * lib/xgethostname.c (main): Define with a prototype.
127712         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
127713         Include <stdlib.h> unconditionally.
127714         (calloc, malloc, realloc, free): Remove decls.
127715         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
127716         Include <stdlib.h> unconditionally.  Sort include file names.
127717         (strtod): Remove.
127718         (xstrtod): Define with a prototype.
127719         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
127720         (strtol, strtoul): Remove decls.
127722 2003-09-11  Paul Eggert  <eggert@twinsun.com>
127724         More patches to assume C89 or better.
127725         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
127726         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
127727         string.h, memchr, STDC_HEADERS.
127729 2003-09-11  Paul Eggert  <eggert@twinsun.com>
127731         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
127732         Include <stdlib.h>, <string.h> unconditionally.
127733         Remove now-unnecessary cast to char *.
127734         * lib/strnlen.c: Include <string.h> unconditionally.
127735         * lib/yesno.c (yesno): Define with a prototype.
127737 2003-09-11  Bruno Haible  <bruno@clisp.org>
127739         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
127741 2003-09-10  Jim Meyering  <jim@meyering.net>
127743         * lib/error.c: Correct indentation of cpp directives.
127745 2003-09-10  Bruno Haible  <bruno@clisp.org>
127747         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
127748         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
127749         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
127750         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
127751         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
127752         <stdlib.h> and <string.h> checks.
127753         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
127754         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
127756 2003-09-10  Bruno Haible  <bruno@clisp.org>
127758         * lib/strcspn.c: Include <string.h> unconditionally.
127759         * lib/strpbrk.c: Include <string.h> unconditionally.
127760         * lib/strstr.c: Include <string.h> unconditionally.
127761         * lib/unicodeio.c: Include <string.h> unconditionally.
127762         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
127763         * lib/unsetenv.c: Likewise.
127764         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
127765         * lib/yesno.c: Include <stdlib.h> unconditionally.
127766         (rpmatch): Add prototype.
127768 2003-09-09  Paul Eggert  <eggert@twinsun.com>
127770         More patches to assume C89 or better.
127771         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
127772         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
127773         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
127774         or for string.h.
127775         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
127776         stdlib.h.
127777         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
127778         C headers.
127779         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
127780         string.h.
127781         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
127782         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
127783         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
127784         or for string.h.
127785         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
127786         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
127787         C headers.
127788         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
127789         memcpy.
127790         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
127791         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
127792         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
127793         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
127794         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
127795         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
127796         string.h, free.
127797         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
127798         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
127799         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
127800         C headers, or for string.h.
127801         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
127802         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
127803         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
127804         headers, memory.h, stdlib.h, string.h, strings.h.
127805         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
127806         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
127807         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
127808         strchr.
127809         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
127810         headers, memory.h, string.h.
127811         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
127812         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
127813         free.
127814         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
127815         headers.
127816         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
127817         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
127818         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
127819         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
127820         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
127822 2003-09-09  Paul Eggert  <eggert@twinsun.com>
127824         More K&R removal.
127826         * lib/acosl.c (main): Use a prototype.
127827         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
127828         tanl.c: Likewise.
127830         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
127832         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
127833         (getopt, etopt_long, getopt_long_only, _getopt_internal)
127834         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
127835         with a prototype.
127836         * lib/getopt.c (const): Remove macro.
127837         Include <string.h> unconditionally.
127838         (my_index): Remove; all uses changed to strchr.
127839         (strlen): Remove decl.
127840         (exchange): Remove forward decl; no longer needed.
127841         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
127842         Define with prototype.
127843         * lib/getopt1.c (const): Remove macro.
127844         (getopt_long, getopt_long_only, main): Define with prototype.
127846         * lib/getugroups.c: Include <string.h> unconditionally.
127848         * lib/getusershell.c: Include <stdlib.h> unconditionally.
127849         (getusershell, setusershell, endusershell, readname, main):
127850         Define with prototypes.
127852         * lib/group-member.c: Include group-member.h first.
127853         Include <stdlib.h> unconditionally.
127855         * lib/hard-locale.c: Include hard-locale.h first.
127856         Include <stdlib.h>, <string.h> unconditionally.
127858         * lib/hash.c (free, malloc): Remove decls.
127859         Include <stdlib.h> unconditionally.
127861         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
127862         (getenv): Do not declare.
127864         * lib/idcache.c: Include <string.h> unconditionally.
127866         * lib/long-options.c: Include long-options.h first, to test interface.
127867         Include <stdlib.h> unconditionally.
127869         * lib/makepath.c: Include makepath.h first, to test interface.
127870         Include <stdlib.h> and <string.h> unconditionally.
127872         * lib/linebuffer.c: Include <stdlib.h>.
127873         (free): Remove decl.
127875         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
127876         stddef.h. rpl_malloc returns void *, not char *.
127877         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
127878         prototype.
127880         * lib/md5.h: Include <limits.h> unconditionally.
127881         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
127882         (__P): Remove; all uses removed.
127883         * lib/md5.c: Include "md5.h" first.
127884         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
127885         md5_buffer, md5_process_bytes, md5_process_block):
127886         Define with prototypes.
127887         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
127888         * lib/sha.c: Include "sha.h" first.
127889         Include <stdlib.h>, <string.h> unconditionally.
127891         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
127892         * lib/memcmp.c (__ptr_t): Likewise.
127893         * lib/memrchr.c (__ptr_t): Likewise.
127894         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
127895         Include <string.h> unconditionally.
127896         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
127897         * lib/memchr.c: Include <stdlib.h> unconditionally.
127898         * lib/memchr.c (LONG_MAX): Remove.
127899         * lib/memrchr.c (LONG_MAX): Likewise.
127900         * lib/memchr.c (__memchr): Define via a prototype.
127901         * lib/memrchr.c (__memrchr): Likewise.
127902         * lib/memcmp.c (__P): Remove, and remove all uses.
127903         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
127904         Remove forward decls; no longer needed.
127905         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
127906         Use types required by C89 in prototype.
127908         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
127909         * lib/savedir.c: Likewise.
127910         * lib/mkdir.c (free): Remove decl.
127911         * lib/rmdir.c (rmdir): Define with a prototype.
127912         * lib/savedir.c: Include savedir.h first, to test interface.
127914         * lib/mktime.c (STDC_HEADERS): Remove.
127915         Include <stdlib.h>, <string.h> unconditionally.
127917         * lib/modechange.c: Include <stdlib.h> unconditionally.
127918         (malloc): Remove decl.
127920         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
127921         (free): Remove decl.
127923         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
127924         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
127925         (This type really should be intptr_t, but that's a C99ism.)
127926         (_obstack_memcpy): Remove: all uses changed to memcpy.
127927         Include <string.h> unconditionally.
127928         (struct obstack): Assume __STDC__ for types of members
127929         chunkfun, freefun, extra_arg.
127930         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
127931         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
127932         obstack_begin, obstack_specify_allocation,
127933         obstack_specify_allocation_with_arg, obstack_chunkfun,
127934         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
127935         Remove unprototyped decls and the macros that use them.
127936         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
127937         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
127938         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
127939         (defined __STDC__ && __STDC__)]:
127940         Remove nonprototyped code.
127941         Include <stdlib.h> unconditionally.
127942         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
127943         _obstack_allocated_p, _obstack_free, obstack_free,
127944         _obstack_memory_used, print_and_abort):
127945         Define using prototypes.
127946         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
127947         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
127948         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
127949         obstack_next_free, obstack_object_size, obstack_room) [0]:
127950         Remove unused, unprototyped code.
127952         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
127954         * lib/physmem.c (physmem_total, physmem_available, main): Define
127955         with prototypes.
127957         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
127958         (main): Define with a prototype.
127960         * lib/posixver.c (getenv): Remove decl.
127962         * lib/putenv.c (malloc): Returns void *, not char *.
127963         Include <string.h> unconditionally.
127964         (strchr, memcpy, NULL): Do not define.
127966         * lib/readtokens.c: Include readtokens.h first, to test interface.
127967         Include <stdlib.h>, <string.h> unconditionally.
127968         (init_tokenbuffer): Define with a prototype.
127970         * lib/regex.c (PARAMS): Remove.  All uses removed.
127971         All uses of _RE_ARGS removed, too.
127972         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
127973         unconditionally.
127974         (bzero): Assume memset exists.
127975         (memcmp, memcpy, NULL): Remove.
127976         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
127977         char, or assignments to local vars of type signed char.
127978         (init_syntax_once, PREFIX(extract_number_and_incr),
127979         PREFIX(print_partial_compiled_pattern),
127980         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
127981         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
127982         PREFIX(regex_grow_registers), PREFIX(regex_compile),
127983         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
127984         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
127985         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
127986         wcs_compile_range, byte_compile_range, truncate_wchar,
127987         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
127988         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
127989         count_mbs_length, wcs_re_match_2_internal,
127990         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
127991         PREFIX(alt_match_null_string_p),
127992         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
127993         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
127994         regfree, PREFIX(extract_number)): Define with prototype.  Remove
127995         now-unnecessary declaration, if any.
127996         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
127997         regcomp, regexec):
127998         Remove now-unnecessary casts among pointer types.
127999         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
128001         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
128002         (free): Remove decl.
128004         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
128006         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
128007         (free): Remove decl.
128009         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
128010         * lib/xgetcwd.c: Likewise.
128012         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
128013         (free): Remove decl.
128015         * lib/strchrnul.c (strchrnul): Define with a prototype.
128016         Fix bug: c_in was not converted to char before searching.
128018         The following changes are not K&R related:
128020         * lib/group-member.h: Include <sys/types.h>, so that this file is
128021         self-contained.
128022         * lib/makepath.h: Likewise.
128024         * lib/getusershell.c (readname, default_index, line_size, readname):
128025         Use size_t, not int, for sizes.
128026         (readname): If the size overflows, report an error instead of
128027         looping forever.
128029 2003-09-09  Paul Eggert  <eggert@twinsun.com>
128031         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
128032         libc.
128034 2003-09-09  Paul Eggert  <eggert@twinsun.com>
128036         * README: New section: portability guidelines.
128038 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
128040         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
128041         C89 spec.
128043 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
128045         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
128047 2003-09-08  Paul Eggert  <eggert@twinsun.com>
128049         Assume C89 or better; remove K&R cruft.
128050         A few of these changes were first proposed by Derek Robert Price
128051         in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.
128053         * lib/addext.c: Include <string.h> unconditionally.
128054         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
128055         Don't declare getenv or malloc.
128057         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
128058         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
128059         (NULL): Remove.
128060         (find_stack_direction, alloca): Use prototypes.
128062         * lib/atexit.c (atexit): Define using a prototype.
128064         * lib/basename.c, dirname.c, stripslash.c:
128065         Include <string.h> unconditionally.
128067         * lib/bcopy.c: Include <stddef.h>.
128068         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
128070         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
128072         * lib/error.h (error, error_at_line, error_print_progname)
128073         [! (defined (__STDC__) && __STDC__)]: Remove decls.
128074         * lib/error.c: Include error.h first, to check interface.
128075         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
128076         (VA_START): Remove; all uses changeed to va_start.
128077         (exit, strerror): Remove decls.
128078         (error_print_progname): Prototype uncondionally.
128079         Don't include <errno.h>; no longer needed.
128080         (private_strerror): Remove.
128081         (error_tail): Always define.
128082         (error, error_at_line): Assume C89 or better; always use prototypes.
128083         * lib/fatal.c: Include "fatal.h" first, to test interface.
128084         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
128085         (VA_START): Remove; all uses changed to va_start.
128086         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
128087         this case.
128088         (exit): Remove decl.
128089         (fatal): Prototype unconditionally.  Assume va_start works.
128090         Abort at end, to pacify gcc.
128092         * lib/euidaccess.c (main): Define with a prototype.
128094         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
128096         * lib/exitfail.c: Include <stdlib.h> unconditionally.
128098         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
128099         prototypes.
128100         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
128101         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
128102         (getenv): Remove decl.
128103         (fnmatch): Define using a prototype.
128104         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
128105         (FCT): Define using a prototype.
128107         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
128109         * lib/gethostname.c: Include <stddef.h>.
128110         (gethostname): Define with prototype.  Length is size_t, not int.
128112 2003-09-08  Paul Eggert  <eggert@twinsun.com>
128114         Assume C89 or better; remove K&R cruft.
128115         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
128116         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
128117         string.h, getenv, malloc.
128118         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
128119         headers.
128120         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
128121         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
128122         do not check for strerror.
128123         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
128124         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
128125         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
128126         do not check for doprnt or vprintf.
128127         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
128128         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
128130 2003-09-08  Paul Eggert  <eggert@twinsun.com>
128132         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
128133         getversion.c should have been removed then, but was accidentally
128134         preserved.
128136         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
128137         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
128139 2003-09-08  Karl Berry  <karl@gnu.org>
128141         * config/config.sub, config.guess, srclistvars.sh: update from savannah
128142                 config, forget about prep.
128144         * config/depcomp, missing: update from automake.
128146 2003-09-07  Paul Eggert  <eggert@twinsun.com>
128148         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
128149         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
128151 2003-09-07  Paul Eggert  <eggert@twinsun.com>
128153         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
128154         copy_tm_result.  Bug reported by Simon Josefsson in
128155         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
128157 2003-09-06  Paul Eggert  <eggert@twinsun.com>
128159         * m4/time_r.m4: New file.
128160         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
128161         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
128162         is. Check for timegm declaration.
128163         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
128164         Do not check for gmtime_r.
128165         Replace mktime if __mktime_internal does not exist and if mktime
128166         hasn't been replaced already.
128168 2003-09-06  Paul Eggert  <eggert@twinsun.com>
128170         * lib/time_r.c, lib/time_r.h: New files.
128172         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
128173         __localtime_r.
128174         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
128175         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
128177         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
128178         __gmtime_r.
128179         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
128180         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
128181         Include <time_r.h>.
128183         * lib/timegm.c: Switch to glibc implementation, with the following
128184         changes:
128185         [defined HAVE_CONFIG_H]: Include <config.h>.
128186         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
128187         (__mktime_internal) [!defined _LIBC]: New decl.
128188         (__gmtime_r) [!defined _LIBC]: New macro and function.
128189         (timegm): Use a prototype, since gnulib assumes C89.
128190         Do not bother declaring tmp to be const, as it's not really usefu.
128191         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
128192         (timegm): Declare only if HAVE_DECL_TIMEGM.
128194 2003-09-06  Paul Eggert  <eggert@twinsun.com>
128196         * MODULES.html.sh (func_all_modules): Add time_r.
128197         * modules/time_r: New file.
128198         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
128199         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
128201 2003-09-03  Paul Eggert  <eggert@twinsun.com>
128203         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
128204         Bug reported by Lute Kamstra in
128205         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.
128207         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
128208         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
128209         course with correspondingly smaller numbers for tomorrow and
128210         yesterday.  From Tadayoshi Funaba.  Originally installed into
128211         sh-utils on 1999-08-07, but the patch got lost (I guess during the
128212         coreutils merge?).
128214 2003-08-31  Simon Josefsson  <jas@extundo.com>
128216         * modules/timegm: New file.
128217         * MODULES.html.sh (func_all_modules): Add timegm.
128219 2003-08-31  Simon Josefsson  <jas@extundo.com>
128221         * m4/timegm.m4: New file.
128223 2003-08-31  Simon Josefsson  <jas@extundo.com>
128225         * lib/timegm.h: New file.
128226         * lib/timegm.c: New file.  Based on
128227         wget-1.8.2/src/http.c:mktime_from_utc.
128229 2003-08-31  Karl Berry  <karl@gnu.org>
128231         * lib/argp.h: update from libc.
128233 2003-08-28  Bruno Haible  <bruno@clisp.org>
128235         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
128236         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
128237         followed by '#define fnmatch fnmatch_posix' gives an error.
128239 2003-08-28  Bruno Haible  <bruno@clisp.org>
128241         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
128242         warning on QNX, which defines O_BINARY to 000000.
128244 2003-08-27  Jim Meyering  <jim@meyering.net>
128246         * m4/mkstemp.m4: Require that the system mkstemp be able to create
128247         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
128248         would fail after 32.  Reported by Danny Levinson.  Details here:
128249         http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html
128251 2003-08-24  Bruno Haible  <bruno@clisp.org>
128253         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
128254         MSVC7 <stdio.h> is included later.
128256 2003-08-22  Simon Josefsson  <jas@extundo.com>
128258         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
128260 2003-08-20  Karl Berry  <karl@gnu.org>
128262         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
128264 2003-08-20  Bruno Haible  <bruno@clisp.org>
128266         * modules/progname: New file.
128267         * MODULES.html.sh (func_all_modules): Add progname.
128269 2003-08-20  Bruno Haible  <bruno@clisp.org>
128271         * lib/progname.h: New file, from GNU gettext.
128272         * lib/progname.c: New file, from GNU gettext.
128273         * lib/progreloc.c: New file, from GNU gettext.
128275 2003-08-19  Jim Meyering  <jim@meyering.net>
128277         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
128278         http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html
128280 2003-08-19  Bruno Haible  <bruno@clisp.org>
128282         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
128283         more.
128285 2003-08-19  Bruno Haible  <bruno@clisp.org>
128287         * lib/xstrdup.c: Assume <string.h> exists.
128289 2003-08-18  Paul Eggert  <eggert@twinsun.com>
128291         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
128292         in makefile rules.
128294 2003-08-18  Jim Meyering  <jim@meyering.net>
128296         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
128297         * m4/lib-ld.m4: Likewise.
128299 2003-08-18  Jim Meyering  <jim@meyering.net>
128301         * lib/setenv.h: Indent nested cpp directive.
128302         * lib/vasnprintf.c: Remove trailing blanks.
128304 2003-08-17  Simon Josefsson  <jas@extundo.com>
128306         * modules/xstrndup: New file.
128307         * MODULES.html.sh (func_all_modules): Add xstrndup.
128309 2003-08-17  Simon Josefsson  <jas@extundo.com>
128311         * modules/argp: Fix autoconf macro name. Add more dependencies.
128313 2003-08-17  Simon Josefsson  <jas@extundo.com>
128315         * m4/xstrndup.m4: New file.
128317 2003-08-17  Simon Josefsson  <jas@extundo.com>
128319         * m4/argp.m4: New file.
128321 2003-08-17  Simon Josefsson  <jas@extundo.com>
128322             Bruno Haible  <bruno@clisp.org>
128324         * lib/xstrndup.h: New file.
128325         * lib/xstrndup.c: New file.
128327 2003-08-17  Bruno Haible  <bruno@clisp.org>
128329         * modules/strndup (Files, Include): Add lib/strndup.h.
128331 2003-08-17  Bruno Haible  <bruno@clisp.org>
128333         * modules/euidaccess (Files): Add lib/euidaccess.h.
128335 2003-08-17  Bruno Haible  <bruno@clisp.org>
128337         * lib/strndup.h: New file.
128339 2003-08-17  Bruno Haible  <bruno@clisp.org>
128341         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
128342         like AC_GNU_SOURCE.
128343         * modules/extensions (configure.ac): Comment out the invocation of
128344         gl_USE_SYSTEM_EXTENSIONS.
128346 2003-08-16  Paul Eggert  <eggert@twinsun.com>
128348         Merges from coreutils, etc.
128349         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
128350         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
128351         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
128352         fixing a typo.
128353         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
128354         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
128356 2003-08-16  Paul Eggert  <eggert@twinsun.com>
128358         Document merge from coreutils.
128359         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
128360         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
128361         * modules/utime: Add m4/utimes-null.m4.
128363 2003-08-16  Paul Eggert  <eggert@twinsun.com>
128365         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
128366         space, undoing this 2003-08-12 change:
128367         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
128369 2003-08-16  Paul Eggert  <eggert@twinsun.com>
128371         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
128372         strtoul.c from libc, undoing this 2003-08-12 change:
128373         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
128375 2003-08-16  Jim Meyering  <jim@meyering.net>
128377         Merges from coreutils.
128378         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
128379         prefix.  Adjust cache variables similarly.  Create 500 rather than
128380         just 300 files, to exercise bug on Darwin6.5, too.
128381         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
128382         $missing_dir.
128383         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
128384         AM_SYS_POSIX_TERMIOS.
128385         Reported by mkc@mathdogs.com.
128386         Also change use of $am_cv_sys_posix_termios
128387         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
128388         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
128389         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
128390         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
128391         in /proc/mounts until it finds one with matching device number.  This
128392         is unnecessary when the FILE argument *is* a mount point.  No stat call
128393         is necessary in that case.  So, disable the statvfs-testing code on
128394         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
128395         as RedHat bug# 84846.
128396         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
128397         to 1MB, so as not to render systems with no stack size limit (e.g.,
128398         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
128399         Include <unistd.h>.  On some systems,
128400         it is required for the definition of _SC_PAGESIZE.
128402 2003-08-16  Jim Meyering  <jim@meyering.net>
128404         Merge from coreutils.
128405         * lib/xstrtoimax.c: #else #if -> #elif.
128406         * lib/xstrtoumax.c: Likewise.
128408 2003-08-16  Jim Meyering  <jim@meyering.net>
128410         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
128411         * m4/utimes.m4: Removed.
128412         * m4/utimes-null.m4: Renamed from utimes.m4.
128414         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
128415         to 1MB, so as not to render systems with no stack size limit (e.g.,
128416         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
128417         Include <unistd.h>.  On some systems,
128418         it is required for the definition of _SC_PAGESIZE.
128420 2003-08-16  Jim Meyering  <jim@meyering.net>
128421         and Paul Eggert  <eggert@cs.ucla.edu>
128423         Merges from coreutils, etc.
128425         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
128426         using the latest version from cvs.  This avoids problems with #line
128427         directives using a vendor (Sun) compiler.
128428         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
128429         Don't set GETGROUPS_LIB here; now it's
128430         done via getgroups.m4's wrapper function.
128431         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
128432         rather than just in sh-util/configure.in, so that the
128433         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
128434         same.
128435         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
128436         AC_FUNC_GETLOADAVG where to find getloadavg.c.
128437         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
128438         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
128439         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
128440         Remove code that is now done by the newly-required macros.
128441         Append $(EXEEXT) to DF_PROG.
128442         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
128443         Do not invoke or require the following here,
128444         since prereq.m4 or some gnulib .m4 now does this for us:
128445         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
128446         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
128447         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
128448         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
128449         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
128450         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
128451         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
128452         AC_FUNC_OBSTACK.
128453         Do not replace the following functions, as this is now the job
128454         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
128455         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
128456         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
128457         atexit getpass, strdup, getpagesize.
128458         Replace 'raise'.
128459         Do not check for the following functions, as this is now the job
128460         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
128461         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
128462         setregid.
128463         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
128464         Check for sys/sysctl.h.
128465         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
128466         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
128467         of checking for ssize_t ourselves.
128469         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
128470         Require every macro that gnulib/modules/* suggests for us.
128471         (jm_PREREQ_ADDEXT): New macro.
128472         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
128473         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
128475         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
128476         (gl_PHYSMEM): Use it.
128477         Also check for `table' function.
128478         Check for new headers and functions.
128479         Add check for sys/sysmp.h.
128480         With suggestions from Kaveh Ghazi.
128481         Ignore headers that are present but cannot be compiled.  This
128482         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
128483         C 5.4.
128485 2003-08-15  Paul Eggert  <eggert@twinsun.com>
128487         Document merge from coreutils.
128488         * modules/userspec: Depend on posixver.
128489         * modules/strftime: Depend on tzset.
128491 2003-08-15  Paul Eggert  <eggert@twinsun.com>
128493         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
128494         rather than tab, after '#' in shell-script copyright notices.
128495         Suggested by Bruno Haible.
128497 2003-08-15  Paul Eggert  <eggert@twinsun.com>
128499         * config/srclist-update: Use three spaces, rather than tab, after '#'
128500         in shell-script copyright notices.  Suggested by Bruno Haible.
128501         Remove unnecessary parenthesization in regular expression.
128503 2003-08-15  Jim Meyering  <jim@meyering.net>
128505         Merge from coreutils.
128506         * lib/xgethostname.c: Include <stdlib.h>.
128507         (xghostname): Don't exit for anything other than memory-related
128508         failure; just return NULL.
128509         * lib/userspec.c: Include "posixver.h".
128510         (parse_user_spec): Accept `.' as a separator only
128511         in pre-POSIX-200112 mode.
128512         * lib/strtoimax.c: Use #elif rather than #else #if.
128513         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
128514         Remove function, now that we can rely on a working tzset function.
128515         [!_LIBC]: Ensure that the required autoconf test has been run.
128516         [!defined _NL_CURRENT && HAVE_STRFTIME]:
128517         Use underlying_strftime for %r.
128518         * lib/sha.c: Merge in some clean-up and optimization changes from
128519         glibc.
128520         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
128521         Ensure that it is a multiple of 64.
128522         Rearrange loop exit tests so as to avoid performing an
128523         additional fread after encountering an error or EOF.
128524         * lib/realloc.c: Update copyright date.
128526 2003-08-15  Jim Meyering  <jim@meyering.net>
128527         and Paul Eggert  <eggert@twinsun.com>
128529         Merge from coreutils.
128530         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
128531         member but strut utmpx does not.  Needed for AIX 4.3.3.
128532         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
128534 2003-08-15  Jim Meyering  <jim@meyering.net>
128535         and Paul Eggert  <eggert@cs.ucla.edu>
128537         Merges from coreutils, etc.
128538         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
128539         Require gl_FUNC_TZSET_CLOBBER.
128540         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
128541         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
128542         members.
128544 2003-08-14  Paul Eggert  <eggert@twinsun.com>
128546         Help the merge from coreutils.
128547         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
128548         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
128549         * m4/tzset.m4: Use it too.
128551 2003-08-14  Paul Eggert  <eggert@twinsun.com>
128553         * modules/tzset: New file.
128555 2003-08-14  Jim Meyering  <jim@meyering.net>
128557         Merges from coreutils.
128558         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
128559         variable names, rather than @FNMATCH_H@.
128560         * modules/alloca: Likewise for $(ALLOCA_H).
128562         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
128563         the three copies of the literal target, `fnmatch.h'.
128564         * modules/alloca (alloca.h): Likewise.
128566 2003-08-14  Jim Meyering  <jim@meyering.net>
128568         Merge from coreutils.
128569         * m4/tzset.m4: New file.
128570         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
128571         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
128572         otherwise, AIX 5.1 systems would end up using the latter.
128573         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
128574         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
128575         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
128576         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
128578 2003-08-14  Jim Meyering  <jim@meyering.net>
128580         Merge from coreutils.
128581         * lib/obstack.h: Whitespace changes.
128582         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
128583         and xcalloc return values.
128584         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
128585         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
128586         hang on OSF/1 5.1 for DIR on both local and remote file systems.
128587         Reported by (and fix confirmed by) Nelson H. F. Beebe.
128588         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
128589         error from mntctl.
128590         Use mntctl's return value to drive the entry-processing loop, since
128591         we can't rely on the value of the vmt_length member in the last
128592         entry.  On some systems doing so could result in exhausting
128593         virtual memory.  Based in part on a patch from Mike Jetzer.
128595 2003-08-14  Jim Meyering  <jim@meyering.net>
128596         and Paul Eggert  <eggert@twinsun.com>
128598         Merges from coreutils, plus other fixes.
128599         * lib/physmem.c: Merge in portability changes from gcc/libiberty
128600         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
128601         for credits and details.  Thanks to Kaveh Ghazi for helping
128602         to keep these files in sync.
128603         (ARRAY_SIZE): Define it.
128604         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
128605         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
128606         (memcasecmp): Don't assume size_t fits in unsigned int.
128607         Remove casts and duplicate code.
128608         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
128609         (memcpy): Remove definition.
128610         Merge in some clean-up and optimization changes from glibc.
128611         [BLOCKSIZE]: Move definition to top of file.
128612         Ensure that it is a multiple of 64.
128613         Rearrange loop exit tests so as to avoid performing an
128614         additional fread after encountering an error or EOF.
128615         * lib/md5.h (md5_uintptr): Define.
128616         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
128617         return to the initial working directory.  Preserve errno
128618         for caller.
128619         * lib/idcache.c: Include "xalloc.h".
128620         (xmalloc, xrealloc): Remove decls.
128621         (getuser): Remove casts no longer required in C89.
128622         * lib/human.c: Include stdio.h, for sprintf.
128623         * lib/group-member.c: Include "xalloc.h".
128624         (xmalloc, xrealloc): Remove decls.
128625         (get_group_info): Remove casts no longer required in C89.
128626         * lib/getusershell.c (readname): Remove casts no longer required in
128627         C89.
128628         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
128629         * lib/getline.c: Whitespace fix, from coreutils.
128631 2003-08-13  Paul Eggert  <eggert@twinsun.com>
128633         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
128634         Check for isascii.
128636         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
128637         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
128638         Undo previous (whitespace-only) change.
128640 2003-08-13  Paul Eggert  <eggert@twinsun.com>
128642         * lib/exclude.c: Include <ctype.h>
128643         (IN_CTYPE_DOMAIN): New macro.
128644         (is_space): New fn.
128645         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
128646         and empty lines.
128648         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
128649         Undo previous (whitespace-only) change.
128651 2003-08-13  Paul Eggert  <eggert@twinsun.com>
128653         * config/srclist-update: Change update back to the old behavior,
128654         leaving whitespace alone.  Use one 'sed' command rather than a
128655         pipeline.
128656         (fixlicense): Now a variable, not a function.
128657         (remove_trailing_blanks): Remove.
128658         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
128659         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
128660         Undo previous (whitespace-only) change.
128662 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128664         Merge from coreutils.
128665         * modules/euidaccess: Add lib_SOURCES, include for new
128666         file euidaccess.h
128668 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128670         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
128671         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
128672         Normalize leading white space and remove trailing white space.
128674         Merge from coreutils
128675         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
128677         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
128678         0.12.1.  These files are now being upgraded automatically by
128679         ../config/srclist-update.
128681 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128683         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
128684         Normalize leading white space and remove trailing white space.
128685         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
128686         notice, as per ../config/srclist-update.
128688         Merge from coreutils.
128689         * lib/euidaccess.h: New file.
128690         * lib/euidaccess.c: Include it.
128691         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
128692         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
128693         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
128695 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128697         * config/srclist-update: Add copyright notice.
128698         (remove_id_lines, remove_trailing_blanks): New constants.
128699         (fixfile): Use them to normalize spacing a bit in copied files.
128700         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
128701         Normalize leading white space and remove trailing white space.
128703         * config/texinfo.tex: Sync with texinfo.
128705         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
128706         strtoul.c from libc, to merge coreutils whitespace changes.
128708         * config/srclist.txt: Get the following m4 files from gettext:
128709         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
128710         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
128711         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
128712         wint_t.m4.
128714 2003-08-12  Karl Berry  <karl@gnu.org>
128716         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
128717         been made.
128719 2003-08-11  Paul Eggert  <eggert@twinsun.com>
128721         * modules/gnu-source, m4/gnu-source.m4:
128722         Remove; we're assuming Autoconf 2.54 or later now.
128723         Suggested by Bruno Haible.
128724         * MODULES.html.sh (func_all_modules): Remove gnu-source.
128726 2003-08-11  Bruno Haible  <bruno@clisp.org>
128728         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
128730 2003-08-11  Bruno Haible  <bruno@clisp.org>
128732         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
128733         (vasnprintf): Use it instead of wcslen.
128735 2003-08-11  Bruno Haible  <bruno@clisp.org>
128737         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
128738         value to ensure that _Bool promotes to int. Use #define for _Bool when
128739         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
128741 2003-08-10  Karl Berry  <karl@gnu.org>
128743         * lib/regex.h: update from libc (whitespace fix).
128745 2003-08-09  Paul Eggert  <eggert@twinsun.com>
128747         Merge some files from coreutils.  These changes were
128748         originally made by Jim Meyering.
128749         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
128750         many older Unixes require this.
128751         * lib/alloca.c (alloca): Remove cast to argument of free;
128752         no longer needed in C89.
128753         * lib/alloca_.h, regex.h: Fix white space to match
128754         what GNU indent does.
128756 2003-08-09  Paul Eggert  <eggert@twinsun.com>
128758         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
128759         apparently Emacs's Unicode mode got confused before my 2003-08-05
128760         checkin.
128762 2003-08-08  Paul Eggert  <eggert@twinsun.com>
128764         * m4/extensions.m4: New file.
128765         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
128766         Require gl_USE_SYSTEM_EXTENSIONS.
128767         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
128768         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
128770 2003-08-08  Paul Eggert  <eggert@twinsun.com>
128772         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
128773         * modules/extensions, modules/gnu-source: New files.
128774         * modules/timespec, modules/unlocked-io: Depend on extensions.
128776 2003-08-07  Paul Eggert  <eggert@twinsun.com>
128778         * modules/restrict: New file.
128779         * MODULES.html.sh (func_all_modules): Add restrict.
128780         * modules/regex: Depend on restrict.
128782 2003-08-07  Paul Eggert  <eggert@twinsun.com>
128784         * m4/restrict.m4: New file.
128785         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
128787 2003-08-07  Bruno Haible  <bruno@clisp.org>
128789         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
128790         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
128792 2003-08-07  Bruno Haible  <bruno@clisp.org>
128794         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
128795         makes the module 'getndelim2' compatible with the module 'getline'.
128797 2003-08-05  Paul Eggert  <eggert@twinsun.com>
128799         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
128800         byte with "\201" to avoid glitches when editing that source file
128801         with multi-gnome-terminal.
128803 2003-08-05  Paul Eggert  <eggert@twinsun.com>
128805         * lib/bumpalloc.h: Remove.
128807 2003-08-05  Paul Eggert  <eggert@twinsun.com>
128809         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
128810         * modules/bumpalloc: Remove.
128812 2003-08-04  Paul Eggert  <eggert@twinsun.com>
128814         * lib/getloadavg.c: Change copyright notice and spacing to conform to
128815         GNU coding style.
128817         Merge from coreutils.
128818         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
128819         1. From glibc.
128820         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
128821         from Karl Berry, implemented by Jim Meyering.
128822         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
128823         from Dmitry V. Levin.
128824         Remove anachronistic cast of xrealloc.
128825         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
128826         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
128827         type. Otherwise, it wouldn't compile with at least /bin/cc on
128828         ymp-cray-unicos9.0.2.X.
128829         Combine two mostly-identical uses of alloca into one.
128830         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
128832 2003-08-04  Dave Love  <d.love@dl.ac.uk>
128834         [From Emacs.]
128836         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
128837         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
128838         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
128839         obsolete NLIST_NAME_UNION.
128840         [__GNU__]: Undef BSD and FSCALE.
128841         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
128843 2003-08-03  Paul Eggert  <eggert@twinsun.com>
128845         * lib/stdbool_.h (_Bool): Make it signed char, instead of
128846         an enum type, so that it's guaranteed to promote to int.  See:
128847         <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>
128849 2003-08-03  Karl Berry  <karl@gnu.org>
128851         * config/depcomp: update from automake.
128853 2003-07-31  Paul Eggert  <eggert@twinsun.com>
128855         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
128856         (strerror): Don't assume that a printable int fits in 14 bytes.
128858 2003-07-31  Bruno Haible  <bruno@clisp.org>
128860         * modules/getpass-gnu: New file.
128861         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
128863 2003-07-31  Bruno Haible  <bruno@clisp.org>
128865         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
128867 2003-07-24  Karl Berry  <karl@gnu.org>
128869         * config/missing: update from automake.
128871 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
128872             Bruno Haible  <bruno@clisp.org>
128874         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
128875         * lib/getline.c (getline, getdelim): Likewise.
128876         Remove _GNU_SOURCE define; now it's defined in config.h through
128877         m4/getline.m4.
128879 2003-07-23  Karl Berry  <karl@gnu.org>
128881         * config/config.sub: update from prep.
128883 2003-07-22  Paul Eggert  <eggert@twinsun.com>
128885         * modules/xalloc (Depends-on): Add exitfail.
128886         * modules/xmemcoll: Likewise.
128888 2003-07-22  Paul Eggert  <eggert@twinsun.com>
128890         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
128891         over-parenthesization in macros.
128893         Sync with coreutils.
128895         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
128896         required by C99.
128898         Use `exit_failure' for xalloc and xmemcoll instead of their own
128899         private exit-failure variables.
128900         * lib/xalloc.h (xalloc_exit_failure): Remove.
128901         * lib/xmalloc.c: Likewise.  Include exitfail.h.
128902         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
128903         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
128904         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
128905         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
128907 2003-07-20  Jim Meyering  <jim@meyering.net>
128909         * modules/closeout (Depends-on): Add exitfail.
128910         Suggestion from Bruno Haible.
128912 2003-07-19  Karl Berry  <karl@gnu.org>
128914         * config/config.sub: update from prep.
128916 2003-07-18  Paul Eggert  <eggert@twinsun.com>
128918         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
128919         Remove.
128920         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
128921         to test that it can stand by itself.  Include "exitfail.h".
128922         Clients should set exit_failure instead.
128923         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
128925 2003-07-18  Bruno Haible  <bruno@clisp.org>
128927         * modules/getndelim2: New file.
128928         * modules/getline: Share files with module getndelim2.
128929         * modules/getnline: Depend on getndelim2 instead of sharing files with
128930         it. Add getnline.c to lib_SOURCES.
128931         * MODULES.html.sh (func_all_modules): Add getndelim2.
128933 2003-07-18  Bruno Haible  <bruno@clisp.org>
128935         * m4/getndelim2.m4: New file.
128936         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
128937         invoke gl_PREREQ_GETNDELIM2.
128938         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
128939         gl_PREREQ_GETNDELIM2.
128940         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
128941         gl_GETNDELIM2.
128943 2003-07-18  Bruno Haible  <bruno@clisp.org>
128945         * lib/getndelim2.h: New file.
128946         * lib/getndelim2.c: Make into a module of its own. Include config.h,
128947         getndelim2.h.
128948         (getndelim2): Make non-static. Change return type to ssize_t.
128949         * lib/getline.h: Change argument names.
128950         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
128951         * lib/getnline.c: Include getndelim2.h.
128953 2003-07-18  Andreas Schwab  <schwab@suse.de>
128955         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
128957 2003-07-17  Karl Berry  <karl@gnu.org>
128959         * config/config.sub: update from prep.
128961 2003-07-17  Bruno Haible  <bruno@clisp.org>
128963         * modules/getnline: New file.
128964         * modules/getline: Add lib/getndelim2.c to source file list.
128965         * MODULES.html.sh (func_all_modules): Add getnline.
128967 2003-07-17  Bruno Haible  <bruno@clisp.org>
128969         * m4/getnline.m4: New file.
128971 2003-07-17  Bruno Haible  <bruno@clisp.org>
128973         * m4/Makefile.am.in: Remove file.
128974         * m4/Makefile.am: Remove file.
128975         * m4/Makefile.in: Remove file.
128977 2003-07-17  Bruno Haible  <bruno@clisp.org>
128979         * lib/getnline.h: New file.
128980         * lib/getnline.c: New file.
128981         * lib/getndelim2.c: New file, extracted from getline.c.
128982         (getndelim2): Renamed from getdelim2, with added nmax argument.
128983         * lib/getline.c: Include getndelim2.c.
128984         (getdelim2): Moved out to getndelim2.c.
128985         (getline, getdelim): Update.
128987 2003-07-17  Bruno Haible  <bruno@clisp.org>
128989         * lib/Makefile.am: Remove file.
128990         * lib/Makefile.in: Remove file.
128992 2003-07-17  Bruno Haible  <bruno@clisp.org>
128994         * configure.in: Remove file.
128995         * Makefile.in: Remove file.
128997 2003-07-17  Bruno Haible  <bruno@clisp.org>
128999         * MODULES.html.sh: Put the </BODY> right before </HTML>.
129001 2003-07-16  Karl Berry  <karl@gnu.org>
129003         * config/srclist-update: was running fixlicense twice, which caused
129004                 texinfo.tex to be nullified for some reason.  Simplify,
129005                 $gplsrc is no longer needed as far as I can see?
129007 2003-07-16  Jim Meyering  <jim@meyering.net>
129009         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
129011 2003-07-15  Paul Eggert  <eggert@twinsun.com>
129013         * config/srclist.txt: Get the following files from gettext-runtime/intl
129014         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
129015         ref-del.sin.  From Bruno Haible.
129016         * config/srclist-update (fixfile): Change grep pattern again, since the
129017         previous fix didn't work (there was another trailing $).  Use
129018         '[$]' to escape the $s.
129020 2003-07-15  Karl Berry  <karl@gnu.org>
129022         * lib/vasnprintf.c: update from gettext.
129024 2003-07-15  Karl Berry  <karl@gnu.org>
129026         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
129027         gets expanded when surrounded by '$'.
129029 2003-07-15  Jim Meyering  <jim@meyering.net>
129031         * modules/save-cwd: Don't depend on error.  From Derek Price.
129033 2003-07-15  Jim Meyering  <jim@meyering.net>
129035         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
129037 2003-07-14  Simon Josefsson  <jas@extundo.com>
129039         * modules/mempcpy: New file.
129040         * MODULES.html.sh (func_all_modules): Add mempcpy.
129042 2003-07-14  Simon Josefsson  <jas@extundo.com>
129044         * m4/mempcpy.m4: New file.
129046 2003-07-14  Simon Josefsson  <jas@extundo.com>
129048         * lib/mempcpy.h: New file.
129049         * lib/mempcpy.c: New file.
129051 2003-07-14  Paul Eggert  <eggert@twinsun.com>
129053         * modules/getdate, modules/posixtm: Depend on mktime.
129055 2003-07-14  Paul Eggert  <eggert@twinsun.com>
129057         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
129058         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
129059         unicodeio.c, unicodeio.h, unlocked-io.h:
129060         Switch from LGPL to GPL.
129062 2003-07-14  Paul Eggert  <eggert@twinsun.com>
129064         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
129065         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
129066         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
129067         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
129068         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
129069         updated automatically by ../config/srclist-update.  This changes
129070         their license from LPGL to GPL.
129072 2003-07-14  Paul Eggert  <eggert@twinsun.com>
129074         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
129075         assumed to refer to the root of the most recent stable gettext version.
129076         * config/srclistvars.sh: Add defaults for eggert.
129077         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
129078         Match "This program" as well as "The program".  This is needed
129079         for gettext.
129081 2003-07-14  Jim Meyering  <jim@meyering.net>
129083         Don't emit diagnostics.  Let callers do that.
129084         * lib/save-cwd.c: Don't include "error.h".
129085         (save_cwd): Don't call error.  Ensure that errno is valid
129086         when returning nonzero.
129088         * lib/save-cwd.h (restore_cwd): Update prototype.
129089         * lib/save-cwd.c (restore_cwd): Remove two parameters.
129090         Simplify.  Don't call error upon failure.  Let callers do that.
129091         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
129092         when auditing is enabled.  But don't bother updating the #if.
129094 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
129096         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
129097         it breaks C++ compilation.
129098         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
129100 2003-07-10  Simon Josefsson  <jas@extundo.com>
129102         * modules/strchrnul (Makefile.am): Add strchrnul.h.
129104 2003-07-10  Jim Meyering  <jim@meyering.net>
129106         * m4/clock_time.m4: Remove trailing blank.
129107         * m4/intmax_t.m4: Likewise.
129109 2003-07-10  Jim Meyering  <jim@meyering.net>
129111         * lib/vasnprintf.c: Remove trailing blanks.
129112         Make cpp indentation consistent.
129114 2003-07-09  Paul Eggert  <eggert@twinsun.com>
129116         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
129117         posixver.c, strftime.c, strnlen.c, strverscmp.c:
129118         Switch from LGPL to GPL.
129120 2003-07-09  Paul Eggert  <eggert@twinsun.com>
129122         * config/srclist.txt: Sort sublists.  Add
129123         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
129124         that differ from gnulib for one reason or another; we'd like this list
129125         to be smaller but for now let's document what we have.
129127 2003-07-08  Paul Eggert  <eggert@twinsun.com>
129129         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
129130         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
129131         and sweeter "eval x=$x".
129132         * config/srclist.txt: Get lib/argp* from glibc.
129134 2003-07-07  Paul Eggert  <eggert@twinsun.com>
129136         * lib/mktime.c: Fix some boundary cases and remove need for floating
129137         point.
129139         Issue a compile-time diagnostic if time_t is floating point, or if
129140         two's complement arithmetic is not in effect, or if arithmetic
129141         right shift does not propagate the sign.  These assumptions were
129142         all in the original code but they weren't checked.
129144         (TIME_T_MIDPOINT, verify): New macros.
129145         (__isleap): Remove; it has integer overflow problems.
129146         (leapyear): New function, without those problems.
129147         (ydhms_tm_diff): Remove; splitting into two parts.
129148         (ydhms_diff): New function, containing the arithmetic part of
129149         the old ydhms_tm_diff function.  Issue a compile-time
129150         diagnostic if we are not using C99 integer division.
129151         Avoid casts when possible.
129152         (guess_time_tm): New function, containing the checking part of
129153         the old ydhms_tm_diff function.  Return the new value, rather than
129154         the difference between it and the old.  Accept a new argument T
129155         so that *T specifies the old value.  Check for overflow in the result.
129157         (__mktime_internal): Use a time_t offset, not a long int offset.
129158         This undoes the 2003-06-04 change, which is no longer needed now
129159         that we have better overflow checking.
129160         (localtime_offset): Likewise.
129162         (__mktime_internal): Avoid harmful overflow on hosts where time_t
129163         and long are 64-bit but int is only 32-bit.
129164         (ydhms_diff): Use long int to store year1 and yday1.
129165         Issue a compile-time diagnostic if long int is not wide enough.
129167         (__mktime_internal): Use long int to store adjusted year and yday.
129168         Use plain C rather than preprocessor commands, if that doesn't
129169         affect efficiency.
129170         Check for overflow (and try to repair) after each probe
129171         rather than checking only at the very end.  This avoids some bugs
129172         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
129173         does not equal GMT offset at maximum time).
129174         Use integer to check for overflow rather than floating point; this
129175         is more portable to non-IEEE hosts, and is a tad faster.
129176         When we detect that we are oscillating between two values,
129177         don't check whether tm_isdst has the requested value, since
129178         we already know the answer.  When tm_isdst has the wrong value,
129179         use a different heuristic to find the right one, based on the
129180         extreme values actually observed in practice in tz2003a,
129181         rather than the (overly optimistic) "previous 3 calendar quarters".
129183         (not_equal_tm, print_tm, check_result): Use "const T" rather than
129184         "T const" to accommodate glibc style.
129185         (check_result): Use less-confusing report format.  "long" -> "long int.
129186         (main): Likewise.
129187         Don't loop if the iteration overflows time_t.
129188         Allow a negative step in the iteration.
129190 2003-07-06  Karl Berry  <karl@gnu.org>
129192         * config/depcomp: update from automake.
129193         * config/config.sub: update from prep.
129195 2003-07-03  Karl Berry  <karl@gnu.org>
129197         * config/config.guess: update from prep.
129199 2003-07-01  Paul Eggert  <eggert@twinsun.com>
129201         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
129202         xreadlink.c now includes it unconditionally.
129204 2003-07-01  Paul Eggert  <eggert@twinsun.com>
129206         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
129207         having it depend on HAVE_SYS_TYPES_H.
129209 2003-07-01  Bruno Haible  <bruno@clisp.org>
129211         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
129212         <sys/types.h> should be sufficient.
129213         Reported by Paul Eggert.
129215 2003-06-26  Karl Berry  <karl@gnu.org>
129217         * config/depcomp: update from automake.
129219 2003-06-26  Bruno Haible  <bruno@clisp.org>
129221         * modules/human: Depend on module stdbool.
129223 2003-06-25  Bruno Haible  <bruno@clisp.org>
129225         * modules/readlink: New file.
129226         * modules/xreadlink: Depend on it.
129227         * MODULES.html.sh (func_all_modules): Add readlink.
129229 2003-06-25  Bruno Haible  <bruno@clisp.org>
129231         * m4/readlink.m4: New file.
129233 2003-06-25  Bruno Haible  <bruno@clisp.org>
129235         * lib/readlink.c: New file.
129237 2003-06-22  Karl Berry  <karl@gnu.org>
129239         * config/srclist.txt: update mkinstalldirs from automake.
129240         * config/mkinstalldirs: update.
129242 2003-06-22  Bruno Haible  <bruno@clisp.org>
129244         Portability to mingw32.
129245         * m4/ssize_t.m4: New file, from GNU gettext.
129246         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
129247         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
129249 2003-06-22  Bruno Haible  <bruno@clisp.org>
129251         * modules/safe-read: Add m4/ssize_t.m4.
129252         * modules/xreadlink: Add m4/ssize_t.m4.
129254 2003-06-20  Bruno Haible  <bruno@clisp.org>
129256         Assume C89, so PARAMS isn't needed.
129257         * lib/unicodeio.h (PARAMS): Remove.
129258         * lib/unicodeio.c: Don't use PARAMS.
129260 2003-06-18  Karl Berry  <karl@gnu.org>
129262         * config/config.{guess,sub}: update from prep.
129264 2003-06-18  Jim Meyering  <jim@meyering.net>
129266         Merge changes from coreutils.
129267         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
129268         Remove explicit declarations of xmalloc and realloc.
129269         Include xalloc.h.
129270         (read_utmp): Remove anachronistic cast of xmalloc.
129272 2003-06-17  Paul Eggert  <eggert@twinsun.com>
129274         Assume C89, so PARAMS isn't needed.
129275         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
129276         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
129277         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
129278         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
129279         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
129280         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
129281         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
129282         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
129283         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
129284         lib/xstrtod.h, lib/xstrtol.h: Likewise.
129285         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
129286         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
129287         no longer needed. Anyway, config.h should always be included before any
129288         other file.
129290 2003-06-11  Simon Josefsson  <jas@extundo.com>
129292         * modules/sysexits: New file.
129293         * MODULES.html.sh (func_all_modules): Add sysexits.
129295 2003-06-11  Simon Josefsson  <jas@extundo.com>
129297         * lib/sysexit_.h: New file.
129299 2003-06-11  Derek Price  <derek@ximbiot.com>
129301         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
129302         necessary.
129304 2003-06-11  Bruno Haible  <bruno@clisp.org>
129306         * m4/sysexits.m4: New file.
129308 2003-06-10  Simon Josefsson  <jas@extundo.com>
129310         * lib/argp.h: New file, from glibc.
129311         * lib/argp-ba.c: New file, from glibc.
129312         * lib/argp-eexst.c: New file, from glibc.
129313         * lib/argp-fmtstream.c: New file, from glibc.
129314         * lib/argp-fmtstream.h: New file, from glibc.
129315         * lib/argp-fs-xinl.c: New file, from glibc.
129316         * lib/argp-help.c: New file, from glibc.
129317         * lib/argp-namefrob.h: New file, from glibc.
129318         * lib/argp-parse.c: New file, from glibc.
129319         * lib/argp-pv.c: New file, from glibc.
129320         * lib/argp-pvh.c: New file, from glibc.
129321         * lib/argp-xinl.c: New file, from glibc.
129323 2003-06-10  Simon Josefsson  <jas@extundo.com>
129325         * modules/strchrnul: New file.
129327 2003-06-10  Simon Josefsson  <jas@extundo.com>
129329         * modules/argp: New file.
129331 2003-06-10  Simon Josefsson  <jas@extundo.com>
129333         * m4/strchrnul.m4: New file.
129335 2003-06-10  Simon Josefsson  <jas@extundo.com>
129337         * lib/strchrnul.h: New file.
129338         * lib/strchrnul.c: New file.
129340 2003-06-10  Bruno Haible  <bruno@clisp.org>
129342         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
129344 2003-06-07  Karl Berry  <karl@gnu.org>
129346         * config/config.{guess,sub}: update from prep.
129348 2003-06-07  Jim Meyering  <jim@meyering.net>
129350         * modules/strtod: Use $(...) notation, not @...@ for
129351         AC_REPLACE'd variables.
129352         * modules/localcharset: Likewise.
129354 2003-06-07  Jim Meyering  <jim@meyering.net>
129356         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
129357         in place of my name in the copyright comment.
129358         Remove definition and uses of __P.
129360         From coreutils.
129361         * lib/stat.c: Don't declare xmalloc explicitly.
129362         Instead, include "xalloc.h".
129363         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
129364         xrealloc, and xcalloc return values.
129365         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
129366         Improve comment.
129367         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
129369 2003-06-07  Bruno Haible  <bruno@clisp.org>
129371         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
129372         avoid AC_CONFIG_LINKS.
129373         * modules/fnmatch (Makefile.am): Use explicit creation rule for
129374         fnmatch.h, to avoid AC_CONFIG_LINKS.
129375         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
129377 2003-06-07  Bruno Haible  <bruno@clisp.org>
129379         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
129380         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
129381         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
129382         directory.
129383         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
129384         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
129385         directory.
129387 2003-06-06  Jim Meyering  <jim@meyering.net>
129389         Merge from coreutils.
129390         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
129391         Consolidate declarations and initializations of *_base* locals.
129393         Merge from coreutils.
129394         This avoids a core dump on systems without GNU putenv,
129395         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
129396         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
129397         (unsetenv): New static function, from GNU libc.
129398         (rpl_putenv): Use it.
129400         * lib/modechange.c: Remove trailing blanks.
129402         Merge from coreutils.
129403         * lib/fsusage.c: Remove declaration of statfs.
129404         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
129406         * lib/posixtm.c: Include <stdbool.h> unconditionally.
129408 2003-06-06  Jim Meyering  <jim@meyering.net>
129410         * lib/stdbool_.h: Renamed from stdbool.h.in.
129412 2003-06-06  Jim Meyering  <jim@meyering.net>
129413             Bruno Haible  <bruno@clisp.org>
129415         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
129416         Adjust Makefile.am snippet not to redirect directly to target.
129417         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
129419 2003-06-05  Paul Eggert  <eggert@twinsun.com>
129421         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
129422         mismatch, look in future quarters as well as past.  This fixes a
129423         bug when processing fall-backwards gaps immediately after a long
129424         period of daylight-saving time.
129426         * lib/mktime.c: Assume freestanding C89 or better.
129427         (HAVE_LIMITS_H): Remove.  Assume it's 1.
129428         (__P): Remove; not used.
129429         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
129430         (mktime, not_equal_tm, print_tm, check_result,
129431         main): Use prototypes.  Use const * where appropriate.
129432         (main): Fix typo in testing code that uncovered by above changes.
129433         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
129435 2003-06-04  Paul Eggert  <eggert@twinsun.com>
129437         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
129438         locale.h, localeconv.  This merges changes from coreutils.
129440         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
129441         It can be removed after the next Autoconf is released.
129442         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
129443         needed.
129445 2003-06-04  Paul Eggert  <eggert@twinsun.com>
129447         * lib/mktime.c: Fix Debian bug 177940
129448         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
129449         (localtime_offset): Now long int, not time_t, because we want it
129450         to be guaranteed to be signed.  All uses changed.
129451         (__mktime_internal): If overflow would occur when adding offset,
129452         don't add it.
129454         Merge 'human' changes from coreutils.  Rewrite to support
129455         locale-specific notations like thousands separators.
129456         * lib/human.c: Simplify authorship notice.
129457         Include human.h immediately after config.h.
129458         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
129459         <limits.h>: Do not include, since human.h does.
129460         (SIZE_MAX, UINTMAX_MAX): New macros.
129461         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
129462         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
129463         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
129464         (power_letter): Renamed from suffixes.
129465         (generate_suffix_backwards): Remove.
129466         (adjust_value): Now takes int style (because of human.h changes)
129467         and long double value (for greater precision on some platforms).
129468         (group_number): New function.
129469         (human_readable): Use it.  Use integer options, not enum.
129470         Put the options before the sizes in the arg list.
129471         Support all the new options.
129472         The old human_readable function has been removed;
129473         use inttostr.h instead.
129474         (human_readable, default_block_size, humblock):
129475         Use uintmax_t, not int, for block sizes.
129476         (human_readable_inexact, block_size_types): Remove.
129477         (block_size_opts): New constant.
129478         (human_options): Renamed from human_block_size, with new signature
129479         that allows block sizes up to UINTMAX_MAX.  All callers changed.
129480         * lib/human.h: Add copyright and authorship notice.
129481         Include <limits.h> and <stdbool.h> unconditionally.
129482         (PARAMS): Remove.  All uses removed.
129483         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
129484         (enum human_inexact_style): Remove tag; now a nameless enum.
129485         (human_floor, human_ceiling, human_round_to_even): Now have
129486         values 2, 0, 1 rather than -1, 1, 0.
129487         (human_group_digits, human_suppress_point_zero, human_autoscale,
129488         human_base_1024, human_SI, human_B): New constants.
129489         (human_readable_inexact, human_block_size): Remove.
129490         (human_readable): Size args are now uintmax_t, not int.
129491         (human_options): New decl.
129493         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
129494         unnecessary now that we assume C89 or better.  This change
129495         imported from coreutils.
129497         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
129498         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
129499         in the 2003-05-30 sync from glibc.
129501         .h files should stand alone, but we shouldn't include <sys/types.h>
129502         if we can get away with just <stddef.h>.
129504         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
129505         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
129506         rather than <sys/types.h>, as we merely need size_t.
129507         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
129508         to get size_t.
129509         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
129510         Include <stdio.h>, to get FILE.
129511         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
129512         memcasecmp.h has included <stddef.h> and all we need is size_t.
129513         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
129514         our interface, instead of including <sys/types.h>
129516 2003-06-04  Paul Eggert  <eggert@twinsun.com>
129518         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
129519         now, as glibc mktime is buggy on non-glibc systems.
129521 2003-06-03  Karl Berry  <karl@gnu.org>
129523         * config/config.sub: update from prep.
129525 2003-06-02  Paul Eggert  <eggert@twinsun.com>
129527         [from coreutils]
129528         Fix some minor time-related bugs with POSIX time arguments.
129529         Some valid time stamps were being rejected (notably -1, and
129530         time stamps before 1900 on 64-bit hosts).  And some invalid
129531         time stamps were being accepted, e.g. September 31.
129533         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
129534         that we can return (time_t) -1 successfully.
129535         * lib/posixtm.c: Likewise.
129536         [HAVE_STDBOOL_H]: Include <stdbool.h>.
129537         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
129538         (t): Remove static var.
129539         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
129540         of static var.  All uses changed.
129541         (year): Do not reject years before 1900; they can occur with
129542         64-bit time_t.
129543         (posix_time_parse): Do not check for out-of-range components;
129544         that is now the caller's responsibility, since our checks were
129545         only approximations.
129546         (posixtime): Use mktime to check for out-of-range components,
129547         since it knows them exactly.
129548         If mktime returns (time_t) -1, check whether an error actually occurred
129549         by invoking localtime on -1.
129550         (main) [TEST_POSIXTIME]: Check for input data errors, and report
129551         posixtime failures better.
129552         Improve the test data (in comments only).
129554 2003-06-02  Karl Berry  <karl@gnu.org>
129556         * config/mkinstalldirs (version): new variable.
129557         (--version): new option.
129558         (usage): improve message.
129560 2003-05-30  Karl Berry  <karl@gnu.org>
129562         * lib/mktime.c: update from libc.
129564 2003-05-30  Bruno Haible  <bruno@clisp.org>
129566         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
129567         * config/config.rpath: Upgrade to gettext-0.12.1.
129569 2003-05-30  Bruno Haible  <bruno@clisp.org>
129571         * m4/gettext.m4: Upgrade to gettext-0.12.1.
129572         * m4/nls.m4: New file, from gettext-0.12.1.
129573         * m4/po.m4: New file, from gettext-0.12.1.
129574         * m4/progtest.m4: Upgrade to gettext-0.12.1.
129576 2003-05-30  Bruno Haible  <bruno@clisp.org>
129578         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
129579         * lib/localcharset.h: Likewise.
129580         * lib/localcharset.c: Likewise.
129582 2003-05-29  Karl Berry  <karl@gnu.org>
129584         * config/config.rpath: update from gettext.
129586 2003-05-28  Paul Eggert  <eggert@twinsun.com>
129588         Assume the headers required for C89 freestanding compilers.
129589         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
129590         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
129591         * m4/human.m4 (gl_HUMAN): Likewise.
129592         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
129593         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
129594         * m4/userspec.m4 (gl_USERSPEC): Likewise.
129595         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
129596         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
129597         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
129599 2003-05-28  Paul Eggert  <eggert@twinsun.com>
129601         Assume the headers required for C89 freestanding compilers.
129602         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
129603         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
129604         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
129605         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
129606         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
129607         define, since <limits.h> is guaranteed to do that.
129608         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
129609         * lib/exclude.c: Include <stdbool.h> unconditionally.
129610         * lib/tempname.c: Include <stddef.h> unconditionally.
129611         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
129612         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
129613         <stddef.h> does that.
129614         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
129615         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
129616         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
129617         needed.
129618         * lib/xstrtol.c: Likewise.
129619         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
129620         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
129622         * lib/addext.c (addext): Use assignment rather than cast, to avoid
129623         warnings on some platforms.
129625         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
129626         arbitrarily.
129628 2003-05-26  Jim Meyering  <jim@meyering.net>
129630         Merge in a change from coreutils:
129631         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
129632         that is guaranteed to be `no'.  Use `no_such_member' to indicate
129633         that condition, rather than `-1' which is slightly misleading.
129634         Change the name of the cache variable to have the gl_ prefix.
129635         Prompted by a patch from Richard Dawe for DJGPP.
129637 2003-05-24  Karl Berry  <karl@gnu.org>
129639         * config/config.guess: update from prep.
129641 2003-05-22  Karl Berry  <karl@gnu.org>
129643         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
129645 2003-05-20  Karl Berry  <karl@gnu.org>
129647         * config/config.guess: update from prep.
129649 2003-05-18  Karl Berry  <karl@gnu.org>
129651         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
129652         might actually be set by the user.
129654         * config/depcomp, install-sh, mdate-sh: update from automake.
129656 2003-05-17  Bruno Haible  <bruno@clisp.org>
129658         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
129659         invalid expansion for AC_EGREP_CPP.
129660         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
129661         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
129662         Suggested by Akim Demaille <akim@epita.fr> in
129663         http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html
129665 2003-05-12  Jim Meyering  <jim@meyering.net>
129667         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
129668         the space-padded-by-default conversion specifiers, %e, %k, %l.
129670 2003-05-12  Bruno Haible  <bruno@clisp.org>
129672         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
129673         the string is longer than 4 KB.
129675 2003-05-11  Karl Berry  <karl@gnu.org>
129677         * config/config.{guess,sub}: update from prep.
129679 2003-05-09  Bruno Haible  <bruno@clisp.org>
129681         * modules/error: Add m4/strerror_r.m4 to file list.
129683 2003-05-03  Bruno Haible  <bruno@clisp.org>
129685         Upgrade to Unicode-4.0.
129686         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
129687         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
129688         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
129689         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
129690         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
129691         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
129692         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
129693         Change width of U+E0100..U+E01EF from 1 to 0.
129695 2003-04-25  Jim Meyering  <jim@meyering.net>
129697         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
129698         of type size_t, not int.
129700 2003-04-25  Bruno Haible  <bruno@clisp.org>
129702         * lib/copy-file.c: Include <stddef.h>, for size_t.
129704 2003-04-21  Paul Eggert  <eggert@twinsun.com>
129706         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
129707         code which expansion is under static control.  Patch imported from
129708         Akim Demaille's patch to Bison; see
129709         <http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.
129711 2003-04-14  Bruno Haible  <bruno@clisp.org>
129713         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
129715 2003-04-11  Jim Meyering  <jim@meyering.net>
129717         Merge changes from Coreutils.
129719         2003-03-22  Jim Meyering  <jim@meyering.net>
129721         * lib/strftime.c (widen): Cast alloca return value to proper type.
129723         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
129725         From GNU libc.
129726         * lib/strftime.c (my_strftime): Handle very large width
129727         specifications for numeric values correctly.  Improve checks for
129728         overflow.
129730         2003-01-19  Jim Meyering  <jim@meyering.net>
129732         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
129733         definitions.
129734         (nl_get_alt_digit) [! defined my_strftime]: Define.
129735         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
129736         _nl_get_alt_digit and _nl_get_walt_digit.
129738         * lib/strftime.c (my_strftime): Merge in locale-related changes from
129739         libc. These changes have no effect outside of _LIBC.
129741 2003-04-10  Bruno Haible  <bruno@clisp.org>
129743         * modules/findprog: New file.
129744         * MODULES.html.sh (func_all_modules): Add it.
129746 2003-04-10  Bruno Haible  <bruno@clisp.org>
129748         * m4/findprog.m4: New file.
129749         * m4/eaccess.m4: New file.
129751 2003-04-10  Bruno Haible  <bruno@clisp.org>
129753         * lib/findprog.h: New file, from GNU gettext.
129754         * lib/findprog.c: New file, from GNU gettext.
129756 2003-04-05  Jim Meyering  <jim@meyering.net>
129758         Merge changes from Coreutils.
129760         * lib/exclude.h (PARAMS): Remove definition and uses.
129761         * lib/exclude.c: Remove uses of `PARAMS'.
129763         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
129764         Add test-cases for DOS filenames. Declare program_name.
129765         (main): Set up program_name.  Patch by Rich Dawe.
129767         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
129768         error from mntctl.
129769         Use mntctl's return value to drive the entry-processing loop, since
129770         we can't rely on the value of the vmt_length member in the last
129771         entry.  On some systems doing so could result in exhausting
129772         virtual memory.  Based in part on a patch from Mike Jetzer.
129774 2003-04-04  Bruno Haible  <bruno@clisp.org>
129776         * modules/linebreak: New file.
129777         * MODULES.html.sh (func_all_modules): Add it.
129779 2003-04-04  Bruno Haible  <bruno@clisp.org>
129781         * m4/linebreak.m4: New file.
129783 2003-04-04  Bruno Haible  <bruno@clisp.org>
129785         * lib/linebreak.h: New file, from GNU gettext.
129786         * lib/linebreak.c: New file, from GNU gettext with slight
129787         modifications.
129788         * lib/lbrkprop.h: New file, from GNU gettext.
129790 2003-04-03  Bruno Haible  <bruno@clisp.org>
129792         * modules/utf8-ucs4: New file.
129793         * modules/utf16-ucs4: New file.
129794         * modules/ucs4-utf8: New file.
129795         * modules/ucs4-utf16: New file.
129796         * MODULES.html.sh (func_all_modules): Add them.
129798 2003-04-03  Bruno Haible  <bruno@clisp.org>
129800         * m4/utf-ucs4.m4: New file.
129801         * m4/ucs4-utf.m4: New file.
129803 2003-04-03  Bruno Haible  <bruno@clisp.org>
129805         * lib/utf8-ucs4.h: New file, from GNU gettext.
129806         * lib/utf16-ucs4.h: New file, from GNU gettext.
129807         * lib/ucs4-utf8.h: New file, from GNU gettext.
129808         * lib/ucs4-utf16.h: New file, from GNU gettext.
129810 2003-04-02  Bruno Haible  <bruno@clisp.org>
129812         * modules/binary-io: New file.
129813         * MODULES.html.sh (func_all_modules): Add it.
129815 2003-04-02  Bruno Haible  <bruno@clisp.org>
129817         * lib/binary-io.h: New file, from GNU gettext.
129819 2003-04-01  Bruno Haible  <bruno@clisp.org>
129821         * modules/pathname: New file.
129822         * MODULES.html.sh (func_all_modules): Add it.
129824 2003-04-01  Bruno Haible  <bruno@clisp.org>
129826         * lib/pathname.h: New file, from GNU gettext.
129827         * lib/concatpath.c: New file, from GNU gettext.
129829 2003-03-30  Bruno Haible  <bruno@clisp.org>
129831         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
129833 2003-03-30  Bruno Haible  <bruno@clisp.org>
129835         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
129836         function chown() doesn't exist.
129838 2003-03-28  Bruno Haible  <bruno@clisp.org>
129840         * modules/copy-file: New file.
129841         * MODULES.html.sh (func_all_modules): Add it.
129843 2003-03-28  Bruno Haible  <bruno@clisp.org>
129845         * m4/copy-file.m4: New file.
129847 2003-03-28  Bruno Haible  <bruno@clisp.org>
129849         * lib/copy-file.h: New file, from GNU gettext.
129850         * lib/copy-file.c: New file, from GNU gettext.
129852 2003-03-18  Jim Meyering  <jim@meyering.net>
129854         * lib/quote.c (quote_n): Fix typo in comment.
129856 2003-03-18  Bruno Haible  <bruno@clisp.org>
129858         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
129859         checking.
129860         * m4/onceonly_2_57.m4: Likewise.
129862 2003-03-17  Bruno Haible  <bruno@clisp.org>
129864         * m4/onceonly.m4: Require autoconf 2.54 or newer.
129865         (m4_quote): Remove macro.
129866         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
129868 2003-03-14  Jim Meyering  <jim@meyering.net>
129870         Merge changes from Coreutils.
129871         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
129872         to be const, in order to avoid warnings.
129873         (obstack_room): Likewise.
129874         (obstack_empty_p): Likewise.
129876 2003-03-14  Bruno Haible  <bruno@clisp.org>
129878         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
129879         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
129881 2003-03-13  Paul Eggert  <eggert@twinsun.com>
129883         Merge changes from Bison.
129884         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
129885         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
129886         when compiling Bison 1.875's `bitset bset = obstack_alloc
129887         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
129888         * lib/hash.c: Include <stdbool.h> unconditionally.
129890 2003-03-13  Paul Eggert  <eggert@twinsun.com>
129892         * m4/onceonly.m4 (m4_quote): New macro.
129893         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
129894         Quote AC_FOREACH variable-expansions properly.
129896 2003-03-13  Paul Eggert  <eggert@twinsun.com>
129898         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
129900 2003-03-09  Paul Eggert  <eggert@twinsun.com>
129902         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
129903         Reported by Bruce Becker; see:
129904         http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html
129906 2003-03-03  Paul Eggert  <eggert@twinsun.com>
129907             Bruno Haible  <bruno@clisp.org>
129909         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
129910         Reported by John Hughes, see
129911         http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html
129913 2003-02-20  Bruno Haible  <bruno@clisp.org>
129915         * MODULES.html.sh (func_all_modules): Add poll.
129917 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
129919         * modules/poll: New file.
129921 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
129923         * lib/poll_.h: New file.
129924         * lib/poll.c: New file.
129926 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
129928         * m4/poll.m4: New file.
129930 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
129932         * modules/mathl: New file.
129934 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
129936         * lib/mathl.h: New file.
129937         * lib/acosl.c: New file.
129938         * lib/asinl.c: New file.
129939         * lib/atanl.c: New file.
129940         * lib/ceill.c: New file.
129941         * lib/cosl.c: New file.
129942         * lib/expl.c: New file.
129943         * lib/floorl.c: New file.
129944         * lib/frexpl.c: New file.
129945         * lib/ldexpl.c: New file.
129946         * lib/logl.c: New file.
129947         * lib/sincosl.c: New file.
129948         * lib/sinl.c: New file.
129949         * lib/sqrtl.c: New file.
129950         * lib/tanl.c: New file.
129951         * lib/trigl.c: New file.
129952         * lib/trigl.h: New file.
129954 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
129956         * m4/mathl.m4: New file.
129958 2003-02-18  Bruno Haible  <bruno@clisp.org>
129960         * MODULES.html.sh (func_all_modules): Add mathl.
129962 2003-02-17  Bruno Haible  <bruno@clisp.org>
129964         * modules/mkdtemp: New module.
129965         * MODULES.html.sh (func_all_modules): Add it.
129967 2003-02-17  Bruno Haible  <bruno@clisp.org>
129969         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
129971 2003-02-17  Bruno Haible  <bruno@clisp.org>
129973         * lib/mkdtemp.h: New file, from GNU gettext.
129974         * lib/mkdtemp.c: New file, from GNU gettext.
129976 2003-02-02  Jim Meyering  <jim@meyering.net>
129978         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
129979         e.g. glibc-2.2.93.
129981 2003-01-31  Bruno Haible  <bruno@clisp.org>
129983         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
129984         'rpl_rename'.
129985         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
129986         'rpl_strnlen'.
129987         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
129988         'rpl_strtod'.
129989         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
129990         'rpl_utime'.
129992 2003-01-31  Bruno Haible  <bruno@clisp.org>
129994         * lib/rename.c: #undef rename before defining rpl_rename.
129995         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
129997 2003-01-30  Bruno Haible  <bruno@clisp.org>
129999         * modules/vasnprintf, modules/vasprintf: New modules.
130000         * MODULES.html.sh (func_all_modules): Add them.
130002 2003-01-30  Bruno Haible  <bruno@clisp.org>
130004         * m4/signed.m4: New file, from GNU gettext.
130005         * m4/longdouble.m4: New file, from GNU gettext.
130006         * m4/wchar_t.m4: New file, from GNU gettext.
130007         * m4/wint_t.m4: New file, from GNU gettext.
130008         * m4/vasnprintf.m4: New file.
130009         * m4/vasprintf.m4: New file.
130011 2003-01-30  Bruno Haible  <bruno@clisp.org>
130013         * lib/printf-args.h: New file, from GNU gettext.
130014         * lib/printf-args.c: New file, from GNU gettext.
130015         * lib/printf-parse.h: New file, from GNU gettext.
130016         * lib/printf-parse.c: New file, from GNU gettext.
130017         * lib/vasnprintf.h: New file, from GNU gettext.
130018         * lib/vasnprintf.c: New file, from GNU gettext.
130019         * lib/asnprintf.c: New file, from GNU gettext.
130020         * lib/vasprintf.h: New file, from GNU gettext with modifications.
130021         * lib/vasprintf.c: New file, from GNU gettext.
130022         * lib/asprintf.c: New file, from GNU gettext.
130024 2003-01-29  Bruno Haible  <bruno@clisp.org>
130026         * modules/stpncpy: New module.
130027         * MODULES.html.sh (func_all_modules): Add it.
130029 2003-01-29  Bruno Haible  <bruno@clisp.org>
130031         * m4/stpncpy.m4: New file.
130033 2003-01-29  Bruno Haible  <bruno@clisp.org>
130035         * lib/stpncpy.h: New file, from GNU gettext with modifications.
130036         * lib/stpncpy.c: New file, from GNU gettext with modifications.
130038 2003-01-28  Bruno Haible  <bruno@clisp.org>
130040         * modules/c-ctype: New module.
130041         * MODULES.html.sh (func_all_modules): Add it.
130043 2003-01-28  Bruno Haible  <bruno@clisp.org>
130045         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
130046         Paul Eggert.
130047         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
130048         Paul Eggert.
130050 2003-01-27  Bruno Haible  <bruno@clisp.org>
130052         * modules/xsetenv: New module.
130053         * MODULES.html.sh (func_all_modules): Add it.
130055 2003-01-27  Bruno Haible  <bruno@clisp.org>
130057         * lib/xsetenv.h: New file, from GNU gettext.
130058         * lib/xsetenv.c: New file, from GNU gettext.
130060 2003-01-23  Jim Meyering  <jim@meyering.net>
130062         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
130063         from working on systems without dirfd (at least Irix and OSF1/Tru64).
130065 2003-01-23  Bruno Haible  <bruno@clisp.org>
130067         * modules/minmax: New module.
130068         * MODULES.html.sh (func_all_modules): Add it.
130070 2003-01-23  Bruno Haible  <bruno@clisp.org>
130072         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
130073         Eggert.
130075 2003-01-22  Bruno Haible  <bruno@clisp.org>
130077         * modules/exit: New module.
130078         * MODULES.html.sh (func_all_modules): Add it.
130080 2003-01-22  Bruno Haible  <bruno@clisp.org>
130082         * lib/exit.h: New file, from GNU gettext.
130084 2003-01-19  Bruno Haible  <bruno@clisp.org>
130086         * gnulib-tool: Recognize option --extract-maintainer.
130087         (func_get_maintainer): New function.
130088         * modules/*: Add Maintainer entry.
130090 2003-01-16  Jim Meyering  <jim@meyering.net>
130092         * m4/regex.m4: The `regex' struct is both input and output.
130093         Initialize it before each use.  Patch by Tim Waugh.
130095 2003-01-16  Bruno Haible  <bruno@clisp.org>
130097         * MODULES.html.sh: Add a table of contents. Add the module name as
130098         leftmost column. Add hyperlinks.
130100 2003-01-15  Bruno Haible  <bruno@clisp.org>
130102         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
130104 2003-01-15  Bruno Haible  <bruno@clisp.org>
130106         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
130107         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
130108         suffix.
130110 2003-01-15  Bruno Haible  <bruno@clisp.org>
130112         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
130114 2003-01-15  Bruno Haible  <bruno@clisp.org>
130116         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
130117         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
130119 2003-01-14  Jim Meyering  <jim@meyering.net>
130121         * lib/same.c (same_name): Tweak a comment.
130123 2003-01-14  Bruno Haible  <bruno@clisp.org>
130125         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
130126         when a string comparison is sufficient.
130128 2003-01-14  Bruno Haible  <bruno@clisp.org>
130130         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
130131         'unsigned int'.
130133 2003-01-14  Bruno Haible  <bruno@clisp.org>
130135         * lib/hash-pjw.c: Add comment about low quality of this function.
130137 2003-01-13  Bruno Haible  <bruno@clisp.org>
130139         * modules/stpcpy: Distribute lib/stpcpy.h.
130140         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
130142 2003-01-13  Bruno Haible  <bruno@clisp.org>
130144         * modules/*: Add a description.
130145         * modules/strpbrk: Fix Makefile.am snippet.
130146         * modules/strtoimax: Fix dependencies.
130147         * modules/strtoumax: Likewise.
130149 2003-01-13  Bruno Haible  <bruno@clisp.org>
130151         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
130152         * modules/alloca (Makefile.am): All object files depend on alloca.h.
130153         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
130155 2003-01-13  Bruno Haible  <bruno@clisp.org>
130157         * gnulib-tool (func_create_testdir): Store config/* files in the main
130158         directory.
130159         * config.rpath: Move to ...
130160         * config/config.rpath: ... here.
130161         * modules/gettext: Contains config/config.rpath, not config.rpath.
130162         * modules/iconv: Likewise.
130164 2003-01-12  Paul Eggert  <eggert@twinsun.com>
130166         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
130167         to avoid collisions with libcurses and libreadline.
130169         * m4/getstr.m4: Remove.
130170         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
130172 2003-01-12  Paul Eggert  <eggert@twinsun.com>
130174         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
130175         to avoid collisions with libcurses and libreadline.
130177         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
130178         * lib/getstr.h, getstr.c: Remove.
130179         * lib/getline.c: Include "getline.h", to check interface.
130180         Move body of old getstr.c here: this defines MIN_CHUNK and
130181         declares getdelim2, which is renamed from getstr.
130182         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
130184         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
130185         All uses changed.
130186         * lib/linebuffer.h: Likewise.
130187         (readline): Remove backward-compatibility macro.
130189 2003-01-12  Paul Eggert  <eggert@twinsun.com>
130191         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
130192         to avoid collisions with libcurses and libreadline.
130193         * getstr: Remove.
130194         * MODULES.html.sh: Remove getstr.
130195         * modules/getline: Depend on unlocked-io, not getstr.
130197 2003-01-12  Jim Meyering  <jim@meyering.net>
130199         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
130201 2003-01-10  Bruno Haible  <bruno@clisp.org>
130203         * modules/alloca: Change Makefile.am requirements. Simplify Include
130204         requirements. Add lib/alloca_.h to file list.
130206 2003-01-10  Bruno Haible  <bruno@clisp.org>
130208         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
130210 2003-01-10  Bruno Haible  <bruno@clisp.org>
130212         * lib/alloca_.h: New file.
130213         * lib/getdate.y: Unconditionally include alloca.h.
130214         * lib/makepath.c: Likewise.
130215         * lib/setenv.c: Likewise.
130216         * lib/userspec.c: Likewise.
130218 2003-01-09  Karl Berry  <karl@gnu.org>
130220         * MODULES.html.sh: include `dirname $0` in PATH, to find
130221         gnulib-tool.
130223 2003-01-09  Bruno Haible  <bruno@clisp.org>
130225         * modules/stdbool: Change configure.ac, Makefile.am requirements.
130226         Simplify Include requirements. Add lib/stdbool.h.in to file list.
130228 2003-01-09  Bruno Haible  <bruno@clisp.org>
130230         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
130232 2003-01-09  Bruno Haible  <bruno@clisp.org>
130234         * lib/stdbool.h.in: New file.
130236 2003-01-09  Bruno Haible  <bruno@clisp.org>
130238         * gnulib-tool (func_all_modules): Ignore files ending in ~.
130239         * MODULES.html.sh: Likewise.
130241 2003-01-08  Jim Meyering  <jim@meyering.net>
130243         * lib/full-write.c: Undefine and define-away `const' after inclusion
130244         of errno.h, not before.  Suggestion from Bruno Haible.
130246 2003-01-08  Bruno Haible  <bruno@clisp.org>
130248         * modules/full-read: Depend on full-write.
130250 2003-01-08  Bruno Haible  <bruno@clisp.org>
130252         * lib/safe-read.c: Include specification header first, to ensure its
130253         selfcontainedness.
130254         * lib/full-write.c: Likewise.
130256 2003-01-07  Jim Meyering  <jim@meyering.net>
130258         * lib/full-write.c: Rework so that it may serve to define full_read,
130259         too.
130260         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
130262 2003-01-07  Bruno Haible  <bruno@clisp.org>
130264         * lib/strtoimax.c: Include <stdint.h> as an alternative to
130265         <inttypes.h>.
130266         * lib/xstrtol.h: Likewise.
130267         * lib/xstrtoimax.c: Likewise.
130268         * lib/xstrtoumax.c: Likewise.
130269         * lib/human.h: Likewise.
130271         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
130272         on systems that have <inttypes.h> but not <stdint.h>.
130274 2003-01-07  Bruno Haible  <bruno@clisp.org>
130276         * MODULES.html.sh: Add copyright notice.
130277         (missed_files): Omit CVS directory entries.
130278         (func_module): Make it work with sed-3.02.
130279         * MODULES.txt: Remove file.
130281 2003-01-06  Jim Meyering  <jim@meyering.net>
130283         * lib/version-etc.c: Update year in translatable copyright string.
130285 2003-01-03  Karl Berry  <karl@gnu.org>
130287         * config/config.{guess,sub}: update from prep.
130289 2003-01-02  Karl Berry  <karl@gnu.org>
130291         * doc/COPYING.DOC: belatedly updated to 1.2.
130293 2003-01-01  Karl Berry  <karl@gnu.org>
130295         * gnulib-tool (func_verify_module): report module name $module in
130296         error message, not $1.
130297         * gnulib-tool (create-testdir): don't complain if destdir couldn't
130298         be created, only if it doesn't exist.
130299         * gnulib-tool (last_checkin_date): don't expand the $Date here.
130301 2002-12-31  Paul Eggert  <eggert@twinsun.com>
130303         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
130305 2002-12-31  Paul Eggert  <eggert@twinsun.com>
130307         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
130308         memcmp if strcoll doesn't work.
130310 2002-12-31  Bruno Haible  <bruno@clisp.org>
130312         * lib/utime.c (utime_null): No need to call ftruncate if the file was
130313         nonempty.
130315 2002-12-31  Bruno Haible  <bruno@clisp.org>
130317         * lib/memcoll.c (STRCOLL): New macro.
130318         (memcoll): Use it.
130320 2002-12-31  Bruno Haible  <bruno@clisp.org>
130322         * lib/localcharset.h: New file.
130323         * lib/localcharset.c: Include it.
130324         * lib/unicodeio.c: Likewise.
130326 2002-12-31  Bruno Haible  <bruno@clisp.org>
130328         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
130329         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
130331 2002-12-31  Bruno Haible  <bruno@clisp.org>
130333         * lib/getline.h: Include <stddef.h>, for size_t.
130335         * lib/unicodeio.h: Include <stddef.h>, for size_t.
130336         * lib/unicodeio.c: Don't include <stddef.h>.
130338 2002-12-31  Bruno Haible  <bruno@clisp.org>
130340         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
130341         HAVE_TM_ZONE.
130343 2002-12-24  Karl Berry  <karl@gnu.org>
130345         * config/config.guess: update from prep.
130347 2002-12-24  Bruno Haible  <bruno@clisp.org>
130349         General infrasructure.
130350         * m4/README: Rewritten.
130351         * m4/onceonly.m4: New file.
130352         * m4/onceonly_2_57.m4: New file.
130354         Module atexit.
130355         * m4/atexit.m4: New file.
130357         Module strtod.
130358         * m4/strtod.m4: New file.
130360         Module strtol.
130361         * m4/strtol.m4: New file.
130363         Module strtoul.
130364         * m4/strtoul.m4: New file.
130366         Module memchr.
130367         * m4/memchr.m4: New file.
130369         Module memcmp.
130370         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
130371         (jm_FUNC_MEMCMP): Invoke it.
130373         Module memcpy.
130374         * m4/memcpy.m4: New file.
130376         Module memmove.
130377         * m4/memmove.m4: New file.
130379         Module memset.
130380         * m4/memset.m4: New file.
130382         Module strcspn.
130383         * m4/strcspn.m4: New file.
130385         Module strpbrk.
130386         * m4/strpbrk.m4: New file.
130388         Module strstr.
130389         * m4/strstr.m4: New file.
130391         Module strerror.
130392         * m4/strerror.m4: New file.
130394         Module mktime.
130395         * m4/mktime.m4: Renamed from jm-mktime.m4.
130396         (gl_PREREQ_MKTIME): New macro.
130397         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
130399         Module malloc.
130400         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
130401         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
130402         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
130404         Module realloc.
130405         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
130406         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
130407         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
130409         Module strftime.
130410         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
130411         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
130412         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
130413         gl_TM_GMTOFF.
130414         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
130416         Module xalloc.
130417         * m4/xalloc.m4: New file.
130419         Module alloca.
130420         * m4/alloca.m4: New file.
130422         Module putenv.
130423         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
130424         (jm_FUNC_PUTENV): Invoke it.
130426         Module setenv.
130427         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
130428         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
130429         when invoked twice.
130430         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
130431         gt_FUNC_SETENV.
130433         Module memrchr.
130434         * m4/memrchr.m4: New file.
130436         Module stpcpy.
130437         * m4/stpcpy.m4: New file.
130439         Module strcase.
130440         * m4/strcase.m4: New file.
130442         Module strdup.
130443         * m4/strdup.m4: New file.
130445         Module strnlen.
130446         * m4/strnlen.m4: New file.
130448         Module strndup.
130449         * m4/strndup.m4: New file.
130451         Module xstrtod.
130452         * m4/xstrtod.m4: New file.
130454         Module xstrtol.
130455         * m4/xstrtol.m4: New file.
130457         Module getdate.
130458         * m4/getdate.m4: New file.
130460         Module unlocked-io.
130461         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
130462         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
130463         * m4/jm-glibc-io.m4n: Remove file.
130465         Module long-options.
130466         * m4/long-options.m4: New file.
130468         Module md5.
130469         * m4/md5.m4: New file.
130471         Module sha.
130472         * m4/sha.m4: New file.
130474         Module getstr.
130475         * m4/getstr.m4: New file.
130477         Module getline.
130478         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
130479         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
130480         <sys/types.h>, for size_t. Use the function name gnu_getline, not
130481         simply getline. Infoke gl_PREREQ_GETLINE.
130483         Module obstack.
130484         * m4/obstack.m4: New file.
130486         Module hash.
130487         * m4/hash.m4: New file.
130489         Module readtokens.
130490         * m4/readtokens.m4: New file.
130492         Module strverscmp.
130493         * m4/strverscmp.m4: New file.
130495         Module stdbool.
130496         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
130497         OSF/1.
130499         Module strtoll.
130500         * m4/strtoll.m4: New file.
130502         Module strtoull.
130503         * m4/strtoull.m4: New file.
130505         Module strtoimax.
130506         * m4/strtoimax.m4: New file.
130508         Module strtoumax.
130509         * m4/strtoumax.m4: New file.
130511         Module xstrtoimax.
130512         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
130513         jm_AC_PREREQ_XSTRTOIMAX.
130514         Moved the strtol prerequisites to strtol.m4.
130515         Moved the strtoll prerequisites to strtoll.m4.
130516         Moved the strtoimax prerequisites to strtoimax.m4.
130518         Module xstrtoumax.
130519         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
130520         jm_AC_PREREQ_XSTRTOUMAX.
130521         Moved the strtoul prerequisites to strtoul.m4.
130522         Moved the strtoull prerequisites to strtoull.m4.
130523         Moved the strtoumax prerequisites to strtoumax.m4.
130525         Module chown.
130526         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
130527         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
130529         Module dup2.
130530         * m4/dup2.m4: New file.
130532         Module ftruncate.
130533         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
130534         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
130536         Module getgroups.
130537         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
130538         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
130540         Module gettimeofday.
130541         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
130542         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
130543         gl_PREREQ_GETTIMEOFDAY.
130545         Module mkdir.
130546         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
130547         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
130549         Module mkstemp.
130550         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
130551         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
130552         jm_AC_TYPE_UINTMAX_T.
130553         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
130555         Module stat.
130556         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
130557         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
130559         Module lstat.
130560         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
130561         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
130563         Module timespec.
130564         * m4/timespec.m4 (gl_TIMESPEC): New macro.
130565         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
130566         * m4/st_mtim.m4: Indentation.
130568         Module nanosleep.
130569         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
130570         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
130571         gl_PREREQ_NANOSLEEP.
130573         Module regex.
130574         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
130575         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
130576         (gl_REGEX): New macro.
130578         Module rename.
130579         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
130580         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
130582         Module rmdir.
130583         * m4/rmdir.m4: New file.
130585         Module utime.
130586         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
130587         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
130588         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
130590         Module dirname.
130591         * m4/dirname.m4: New file.
130593         Module getopt.
130594         * m4/getopt.m4: New file.
130596         Module unistd-safer.
130597         * m4/unistd-safer.m4: New file.
130599         Module fnmatch.
130600         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
130601         declaration.
130602         (gl_PREREQ_FNMATCH_EXTRA): New macro.
130603         (gl_FUNC_FNMATCH_POSIX): New macro.
130604         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
130605         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
130606         simply fnmatch.
130608         Module exclude.
130609         * m4/exclude.m4: New file.
130611         Module human.
130612         * m4/human.m4: New file.
130614         Module acl.
130615         * m4/acl.m4: Nop.
130617         Module backupfile.
130618         * m4/backupfile.m4: New file.
130619         * m4/d-ino.m4: Indentation.
130621         Module fsusage.
130622         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
130623         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
130624         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
130626         Module dirfd.
130627         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
130628         requirements.
130630         Module euidaccess.
130631         * m4/euidaccess.m4: New file.
130633         Module file-type.
130634         * m4/file-type.m4: New file.
130636         Module fileblocks.
130637         * m4/fileblocks.m4: New file.
130639         Module filemode.
130640         * m4/filemode.m4: New file.
130642         Module isdir.
130643         * m4/isdir.m4: New file.
130645         Module lchown.
130646         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
130647         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
130649         Module makepath.
130650         * m4/makepath.m4: New file.
130652         Module modechange.
130653         * m4/modechange.m4: New file.
130655         Module mountlist.
130656         * m4/mountlist.m4: New file.
130657         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
130658         Indentation.
130660         Module path-concat.
130661         * m4/path-concat.m4: New file.
130663         Module pathmax.
130664         * m4/pathmax.m4: New file.
130666         Module same.
130667         * m4/same.m4: New file.
130669         Module save-cwd.
130670         * m4/save-cwd.m4: New file.
130672         Module savedir.
130673         * m4/savedir.m4: New file.
130675         Module xgetcwd.
130676         * m4/xgetcwd.m4: New file.
130677         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
130679         Module xreadlink.
130680         * m4/xreadlink.m4: New file.
130682         Module safe-read.
130683         * m4/safe-read.m4: New file.
130685         Module safe-write.
130686         * m4/safe-write.m4: New file.
130688         Module closeout.
130689         * m4/closeout.m4: New file.
130691         Module stdio-safer.
130692         * m4/stdio-safer.m4: New file.
130694         Module getpass.
130695         * m4/getpass.m4: New file.
130697         Module getugroups.
130698         * m4/getugroups.m4: New file.
130700         Module group-member.
130701         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
130702         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
130704         Module idcache.
130705         * m4/idcache.m4: New file.
130707         Module userspec.
130708         * m4/userspec.m4: New file.
130710         Module gettime.
130711         * m4/clock_time.m4: New file.
130712         * m4/gettime.m4: New file.
130714         Module settime.
130715         * m4/settime.m4: New file.
130717         Module posixtm.
130718         * m4/posixtm.m4: New file.
130720         Module gethostname.
130721         * m4/gethostname.m4: New file.
130723         Module canon-host.
130724         * m4/canon-host.m4: New file.
130726         Module gettext.
130727         * m4/codeset.m4: New file, from gettext-0.11.5.
130728         * m4/gettext.m4: New file, from gettext-0.11.5.
130729         * m4/glibc21.m4: New file, from gettext-0.11.5.
130730         * m4/iconv.m4: New file, from gettext-0.11.5.
130731         * m4/intdiv0.m4: New file, from gettext-0.11.5.
130732         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
130733         * m4/inttypes.m4: New file, from gettext-0.11.5.
130734         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
130735         * m4/isc-posix.m4: New file, from gettext-0.11.5.
130736         * m4/lcmessage.m4: New file, from gettext-0.11.5.
130737         * m4/lib-ld.m4: New file, from gettext-0.11.5.
130738         * m4/lib-link.m4: New file, from gettext-0.11.5.
130739         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
130740         * m4/progtest.m4: New file, from gettext-0.11.5.
130741         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
130742         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
130743         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
130745         Module localcharset.
130746         * m4/localcharset.m4: New file.
130748         Module hard-locale.
130749         * m4/hard-locale.m4: New file.
130751         Module mbswidth.
130752         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
130753         onceonly macros.
130754         * m4/mbrtowc.m4: Add comment.
130756         Module memcasecmp.
130757         * m4/memcasecmp.m4: New file.
130759         Module memcoll.
130760         * m4/memcoll.m4: New file.
130762         Module unicodeio.
130763         * m4/unicodeio.m4: New file.
130765         Module rpmatch.
130766         * m4/rpmatch.m4: New file.
130768         Module yesno.
130769         * m4/yesno.m4: New file.
130771         Module exitfail.
130772         * m4/exitfail.m4: New file.
130774         Module c-stack.
130775         * m4/c-stack.m4 (gl_C_STACK): New macro.
130776         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
130778         Module error.
130779         * m4/error.m4 (gl_ERROR): New macro.
130780         (jm_PREREQ_ERROR): Use onceonly macros.
130782         Module fatal.
130783         * m4/fatal.m4: New file.
130785         Module getloadavg.
130786         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
130787         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
130789         Module getpagesize.
130790         * m4/getpagesize.m4: New file.
130792         Module getusershell.
130793         * m4/getusershell.m4: New file.
130795         Module physmem.
130796         * m4/physmem.m4: New file.
130798         Module posixver.
130799         * m4/posixver.m4: New file.
130801         Module quotearg.
130802         * m4/quotearg.m4: New file.
130804         Module quote.
130805         * m4/quote.m4: New file.
130807         Module readutmp.
130808         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
130810         Module sig2str.
130811         * m4/sig2str.m4: New file.
130813         Other.
130814         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
130815         ulonglong.m4.
130816         * m4/intmax_t.m4: New file.
130817         * m4/d-type.m4: Indentation.
130818         * m4/jm-macros.m4: Update.
130819         * m4/prereq.m4 (jm_PREREQ): Update.
130820         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
130821         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
130822         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
130823         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
130824         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
130825         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
130826         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
130827         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
130828         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
130829         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
130830         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
130831         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
130832         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
130833         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
130834         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
130835         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
130836         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
130837         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
130838         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
130840 2002-12-24  Bruno Haible  <bruno@clisp.org>
130842         * MODULES.txt: Update according to m4/ changes.
130844         Module gettext.
130845         * config.rpath: New file, from gettext-0.11.5.
130847         * modules/*: New module descriptions.
130848         * gnulib-tool: New file.
130849         * MODULES.html.sh: New file.
130851 2002-12-21  Karl Berry  <karl@gnu.org>
130853         * doc/fdl.texi: update to version 1.2.
130855 2002-12-19  Karl Berry  <karl@gnu.org>
130857         * config/config.guess: update from prep.
130859 2002-12-18  Bruno Haible  <bruno@clisp.org>
130861         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
130862         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
130864 2002-12-17  Bruno Haible  <bruno@clisp.org>
130866         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
130867         stdlib.h, string.h.
130869 2002-12-17  Bruno Haible  <bruno@clisp.org>
130871         * lib/canon-host.c (strdup): Remove unused declaration.
130873         * lib/fsusage.c: Include full_read.h.
130874         (get_fs_usage): Use full_read instead of safe_read.
130876         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
130878 2002-12-12  Karl Berry  <karl@gnu.org>
130880         * config/config.guess: update from prep.
130882 2002-12-11  Bruno Haible  <bruno@clisp.org>
130884         * m4/setenv.m4: New file, from gettext-0.11.5.
130886 2002-12-11  Bruno Haible  <bruno@clisp.org>
130888         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
130889         not unsetenv().
130890         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
130891         modifications:
130893         2002-12-11  Bruno Haible  <bruno@clisp.org>
130895                 * setenv.c (alloca): Fall back to malloc.
130896                 (freea): New macro.
130897                 (setenv): Use freea() to free memory allocated with alloca().
130899         2002-11-13  Bruno Haible  <bruno@clisp.org>
130901                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
130902                 function declarations.
130903                 * unsetenv.c (unsetenv): Likewise.
130905         2002-03-04  Bruno Haible  <bruno@clisp.org>
130907                 Portability to AIX 4.3.3.
130908                 * unsetenv.c: New file, extracted from setenv.c.
130909                 * setenv.c: Move the unsetenv() function to unsetenv.c.
130911         2001-12-20  Bruno Haible  <bruno@clisp.org>
130913                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
130914                 use malloc instead. For SunOS 4.
130916         2001-12-11  Bruno Haible  <bruno@clisp.org>
130918                 * setenv.c: Declare alloca.
130919                 (compar_fn_t): New typedef.
130920                 (KNOWN_VALUE, STORE_VALUE): Use it.
130922         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
130923         setenv.h.
130925 2002-12-10  Paul Eggert  <eggert@twinsun.com>
130927         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
130928         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
130929         Choose values that are less likely to collide with system fnmatch
130930         options.
130931         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
130932         defined (e.g., a pure POSIX system).
130933         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
130934         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
130936 2002-12-06  Paul Eggert  <eggert@twinsun.com>
130938         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
130939         a pain in practice to deal with generated m4 files.  This change
130940         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
130942         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
130943         and jm-glibc-io.m4, as they are no longer a special case.
130944         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
130945         kludge and the auto-generation stuff.  Check only whether the
130946         functions are declared, not whether they exist, since older hosts
130947         that don't declare the functions can't use the optimization anyway.
130949 2002-12-06  Jim Meyering  <jim@meyering.net>
130951         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
130953         Merge in changes from libc's misc/error.c, in preparation
130954         for the merge of gnulib's changes back into libc.
130956         * lib/error.c (_): Define only if not already defined.
130957         Move definition to follow all #include directives.
130958         Include unlocked-io.h only if !_LIBC.
130959         [_LIBC]: Include <libio/libioP.h>.
130960         [USE_IN_LIBIO]: Include <libio/iolibio.h>
130961         (fflush): Tweak definition to use INTUSE.
130962         (putc): Define.
130964 2002-12-05  Paul Eggert  <eggert@twinsun.com>
130966         * lib/alloca.c [defined emacs]: Include "lisp.h".
130967         (xalloc_die) [defined emacs]: New macro.
130968         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
130969         [! defined emacs]: Include <xalloc.h>.
130970         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
130971         (pointer): Typedef to POINTER_TYPE *.
130972         (malloc): Remove decl; we now always use xmalloc.
130973         (alloca): Use old-style definition, since Emacs needs this.
130974         Check for arithmetic overflow when computing combined size.
130976 2002-12-04  Paul Eggert  <eggert@twinsun.com>
130978         Do not generate unlocked-io.h automatically, since it's easier to
130979         maintain it by hand.
130981         * lib/unlocked-io.h: New file, from GNU diffutils,
130982         but with proper copyright notice and attribution.
130983         * lib/gen-uio: Remove.
130984         * lib/Makefile.am: Add copyright notice.
130985         (libfetish_a_SOURCES): Add unlocked-io.h.
130986         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
130987         (DISTCLEANFILES, io_functions): Remove macros.
130988         (EXTRA_DIST): Remove gen_uio.
130989         (unlocked-io.h): Remove rule.
130991 2002-12-04  Jim Meyering  <jim@meyering.net>
130993         Reflect the fact that stat.c and lstat.c are no longer generated.
130994         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
130995         (DISTCLEANFILES): Likewise.
130996         (EXTRA_DIST): Likewise.
130997         (all_local): Don't depend on stat.c or lstat.c.
130998         (stat.c, lstat.c): Remove rules.
130999         (EXTRA_DIST): Remove xstat.in.
131001         * lib/xstat.in: Remove file.  Contents moved into stat.c.
131002         * lib/stat.c: New file.  Contents mostly from xstat.in.
131003         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
131004         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
131006         * lib/safe-read.c: Rework so that it may serve to define safe_write,
131007         too.
131008         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
131010 2002-12-03  Jim Meyering  <jim@meyering.net>
131012         * lib/safe-read.c, safe-write.c: Change variable names and comments,
131013         but not semantics, to minimize the differences between these two files.
131014         (safe_read): Change comment to mention SAFE_READ_ERROR.
131016         * lib/safe-read.c (IS_EINTR): Define.
131017         (safe_read): Use IS_EINTR in place of in-function cpp directives.
131019 2002-12-02  Jim Meyering  <jim@meyering.net>
131021         * lib/safe-read.c (EINTR): Define.
131022         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
131023         (INT_MAX): Provide fallback.
131024         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
131026         * lib/safe-read.h (SAFE_READ_ERROR): Define.
131028 2002-12-02  Bruno Haible  <bruno@clisp.org>
131030         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
131031         Define, taken from safe-read.c.
131032         (INT_MAX): Provide fallback.
131033         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
131034         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
131036         * lib/safe-read.c (EINTR): Remove definition.
131037         (safe_read): Don't use EINTR if it is absent.
131039 2002-12-01  Jim Meyering  <jim@meyering.net>
131041         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
131042         zero.
131043         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
131045 2002-11-27  Paul Eggert  <eggert@twinsun.com>
131047         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
131048         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
131049         with `if (! (value < limit)) abort ();', for readability.
131051 2002-11-26  Karl Berry  <karl@gnu.org>
131053         * lib/strdup.c: copy from libc again, with jim's ok.
131054         * lib/.cppi-disable: re-add strdup.c
131056 2002-11-25  Karl Berry  <karl@gnu.org>
131058         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
131059         instead of "strtol.c".
131061 2002-11-25  Karl Berry  <karl@gnu.org>
131063         * config/install-sh: update from automake for variable quoting, $0 in
131064         error msgs, etc.
131066         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
131067         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
131068         entry.
131070 2002-11-25  Jim Meyering  <jim@meyering.net>
131072         * lib/mktime.c: Sync from libc, now that it has the latest fix.
131074 2002-11-24  Karl Berry  <karl@gnu.org>
131076         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
131077         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
131079 2002-11-24  Jim Meyering  <jim@meyering.net>
131081         Update from coreutils:
131083         * lib/mktime.c: Merge in changes from libc.
131085         Avoid a link-time failure on some Linux systems.
131086         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
131087         (otherwise).
131088         (__mon_yday): Declare with the STATIC attribute.
131089         (__mktime_internal): Likewise.
131090         Based on a report from Greg Schafer.
131092 2002-11-23  Jim Meyering  <jim@meyering.net>
131094         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
131095         Use `unsigned', not `int', as type of index.
131097         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
131099         * lib/fsusage.c: Remove unneeded parentheses around operands of
131100         `defined'.
131102 2002-11-22  Paul Eggert  <eggert@twinsun.com>
131104         * lib/quotearg.h: Allow multiple inclusion by surrounding with
131105         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
131106         so that we can be included first.
131107         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
131108         * lib/quotearg.c: Include quotearg.h immediately after config.h.
131109         No need to include stddef.h or sys/types.h any more.
131110         Surround local include files with "", not "<>".
131111         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
131112         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
131113         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
131114         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
131115         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
131116         (ISPRINT): Remove; no longer needed now that we assume C89.
131118         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
131119         Preserve errno.
131121         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
131122         quotearg_char): Use SIZE_MAX rather than
131123         (size_t) -1 when we are talking about "infinity".
131125         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
131127 2002-11-22  Paul Eggert  <eggert@twinsun.com>
131129         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
131130         hint that one should use `if (! x) abort ();' rather than `assert
131131         (x);', and anyway it's one less thing to worry about configuring.
131132         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
131133         hash_rehash, hash_insert): Use abort rather than assert.
131135 2002-11-22  Bruno Haible  <bruno@clisp.org>
131137         * lib/safe-read.h: Assume C89. Add comments.
131138         (safe_read): Change return type to size_t.
131139         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
131140         byte counts > SSIZE_MAX correctly.
131141         * lib/safe-write.h: New file.
131142         * lib/safe-write.c: New file.
131143         * lib/full-read.h: New file.
131144         * lib/full-read.c: New file.
131145         * lib/full-write.h: Assume C89. Add comments.
131146         * lib/full-write.c: Include safe-write.h.
131147         (full_write): Rewritten to use safe_write.
131148         Suggested by Jim Meyering and Paul Eggert.
131150 2002-11-21  Jim Meyering  <jim@meyering.net>
131152         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
131154         Merge in changes from the coreutils.
131156         2002-09-25  Paul Eggert  <eggert@twinsun.com>
131157         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
131158         <stdint.h>.
131159         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
131160         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
131161         int.  Work more efficiently if X is the same width as uintmax_t.
131162         Do not compare X to -1, to avoid bogus compiler warning.
131163         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
131164         Don't assume that f_frsize and f_bsize are the same type.
131166         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
131167         warning on FreeBSD.
131169         * lib/makepath.c (make_path): Restore umask *before* creating the final
131170         component.
131171         (make_path): Minor reformatting.
131173         * lib/xmalloc.c: Adjust to work with new autoconf macros,
131174         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
131175         HAVE_MALLOC/HAVE_REALLOC.
131177         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
131178         dummy ones.  At least on GNU/Linux systems, `auto' means something
131179         else.
131180         From Michael Stone.
131182 2002-11-21  Bruno Haible  <bruno@clisp.org>
131184         Remove case insensitive option matching.
131185         * lib/argmatch.h (argcasematch): Remove declaration.
131186         (ARGCASEMATCH): Remove macro.
131187         (__xargmatch_internal): Remove case_sensitive argument.
131188         (XARGMATCH): Update.
131189         (XARGCASEMATCH): Remove macro.
131190         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
131191         case_sensitive argument.
131192         (argcasematch): Remove function.
131193         (__xargmatch_internal): Remove case_sensitive argument.
131194         (main): Use XARGMATCH instead of XARGCASEMATCH.
131196         * lib/xmalloc.c: Change compile-time error message. Add comment about
131197         required autoconf version.
131199 2002-11-20  Paul Eggert  <eggert@twinsun.com>
131201         Merge argmatch cleanups from Bison.  Assume C89.
131203         * lib/argmatch.c: Include config.h here, not in argmatch.h.
131204         Include stdlib.h, for EXIT_FAILURE.
131205         Always include <string.h>, since we assume C89.
131206         (EXIT_FAILURE): Remove pre-C89 bug workaround.
131207         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
131208         Include <stddef.h> instead, since it's all we need for size_t.
131209         (PARAMS): Remove.  All uses removed.
131210         (ARRAY_CARDINALITY): Do not bother to #undef.
131211         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
131212         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
131213         Remove unnecessary parentheses.
131214         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
131215         Insert necessary parentheses.
131216         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
131217         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
131219 2002-11-19  Bruno Haible  <bruno@clisp.org>
131221         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
131222         * lib/mbswidth.h: Include <stddef.h>, for size_t.
131224         * lib/mbswidth.h (PARAMS): Remove macro.
131225         (mbswidth, mbsnwidth): Use ANSI C function declarations.
131226         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
131228         * lib/gcd.h (PARAMS): Remove macro.
131229         (gcd): Use ANSI C function declarations.
131230         * lib/gcd.c (gcd): Likewise.
131232 2002-11-15  Bruno Haible  <bruno@clisp.org>
131234         * lib/strcspn.c: Include <stddef.h>.
131235         (strcspn): Use ANSI C function declaration. Change return type to
131236         size_t. Use NULL.
131237         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
131238         (strpbrk): Use NULL.
131239         * lib/strpbrk.h (PARAMS): Remove macro.
131240         (strpbrk): Use ANSI C function declaration.
131241         * lib/strstr.c: Don't include <sys/types.h>.
131242         * lib/strstr.h (PARAMS): Remove macro.
131243         (strstr): Use ANSI C function declarations.
131245 2002-11-14  Karl Berry  <karl@gnu.org>
131247         * config/mkinstalldirs: `do' on separate line, instead of
131248         `for var; do'.
131250 2002-11-06  Bruno Haible  <bruno@clisp.org>
131252         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
131253         * lib/gcd.c (gcd): Likewise.
131255 2002-11-05  Bruno Haible  <bruno@clisp.org>
131257         * lib/gcd.h: New file, from gettext-0.11.5.
131258         * lib/gcd.c: New file, from gettext-0.11.5.
131260 2002-11-05  Bruno Haible  <bruno@clisp.org>
131262         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
131263         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
131264         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
131265         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
131267         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
131268         <libintl.h>.
131269         * lib/makepath.c: Include gettext.h instead of <locale.h> and
131270         <libintl.h>.
131272         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
131273         * lib/human.c: Include gettext.h instead of <libintl.h>.
131274         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
131275         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
131276         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
131277         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
131278         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
131279         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
131280         (textdomain): Remove definition.
131281         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
131283         * lib/long-options.c: Remove include of <libintl.h> and definition of
131284         _.
131285         * lib/same.c: Remove include of <libintl.h> and definition of _.
131287 2002-11-04  Owen Taylor  <otaylor@redhat.com>
131289         * lib/config.charset: A few additions for Solaris.
131291 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
131293         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
131294         * lib/localcharset.c (locale_charset): Declare as extern "C".
131296 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
131298         * lib/config.charset: msdos in uk_UA uses CP1125.
131300 2002-11-04  Bruno Haible  <bruno@clisp.org>
131302         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
131303         * lib/strcase.h: New file, from GNU gettext-0.11.5.
131304         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
131305         * lib/strstr.h: New file, from GNU gettext-0.11.5.
131306         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
131308 2002-11-04  Bruno Haible  <bruno@clisp.org>
131310         * lib/localcharset.c (locale_charset): Don't return an empty string.
131312 2002-11-04  Bruno Haible  <bruno@clisp.org>
131314         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
131315         aliases.
131317 2002-11-04  Bruno Haible  <bruno@clisp.org>
131319         * lib/config.charset: Update for newest glibc. Add canonical names
131320         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
131322 2002-11-04  Bruno Haible  <bruno@clisp.org>
131324         * lib/config.charset: Add support for NetBSD.
131326 2002-11-04  Bruno Haible  <bruno@clisp.org>
131328         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
131330 2002-11-01  Bruno Haible  <bruno@clisp.org>
131332         * configure.in: Add AC_CONFIG_AUX_DIR call.
131333         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
131334         test/Makefile.
131335         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
131337 2002-09-28  Karl Berry  <karl@gnu.org>
131339         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
131340         installed automake until the next release, since changes have been
131341         made.
131343 2002-09-25  Karl Berry  <karl@gnu.org>
131345         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
131346         * lib/getopt*: copy from libc/posix.
131347         * lib/gettext.h: copy from gettext.
131348         * lib/.cppi-disable: add strdup.c, gettext.h.
131350 2002-09-25  Karl Berry  <karl@gnu.org>
131352         * config/srclist.txt: enable gettext.h check.
131353         * config/config.{guess,sub}: update from prep.
131354         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
131355                 from automake 1.6.3.
131356         See srclist*.
131358 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
131360         * regex.c (PATFETCH): Remove the translating fetch.
131361         (PATFETCH_RAW): Rename to PATFETCH.
131362         (set_image_of_range): New fun.
131363         (SET_RANGE_TABLE_WORK_AREA): Use it.
131364         (regex_compile): Don't translate the pattern chars so eagerly.
131365         Only do it when inserting an `exactn' bytecode or when handling
131366         a char-range.
131367         (mutually_exclusive_p): Avoid empty statement.
131369 2002-07-06  Jim Meyering  <meyering@lucent.com>
131371         * m4/README: Don't mention Makefile.am.in.
131372         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
131374 2002-07-01  Jim Meyering  <meyering@lucent.com>
131376         * lib/c-stack.c: Include sys/time.h.
131377         From Volker Borchert.
131379 2002-06-26  Paul Eggert  <eggert@twinsun.com>
131381         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
131383 2002-06-26  Paul Eggert  <eggert@twinsun.com>
131385         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
131386         New macro.  Use it uniformly instead of
131387         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
131388         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
131389         reported by Vin Shelton.
131391 2002-06-22  Paul Eggert  <eggert@twinsun.com>
131393         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
131394         Do not assume SA_SIGINFO behavior.
131395         Bug reported by Jim Meyering on NetBSD 1.5.2.
131397 2002-06-22  Jim Meyering  <meyering@lucent.com>
131399         * m4/c-stack.m4: New file, from diffutils-2.8.2.
131400         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
131402         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
131403         now that configure.ac uses AC_GNU_SOURCE.
131404         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
131405         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
131407         Update to latest tools.  Suggestions from Paul Eggert.
131408         * m4/stdbool.m4: New file, from diffutils-2.8.2.
131409         * m4/gnu-source.m4: Update from diffutils-2.8.2.
131410         * m4/fnmatch.m4: Likewise.
131411         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
131412         to AC_HEADER_STDBOOL
131414 2002-06-22  Jim Meyering  <meyering@lucent.com>
131416         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
131417         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
131419 2002-06-22  Jim Meyering  <meyering@lucent.com>
131421         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
131423         * lib/exitfail.c, exitfail.h: Likewise.
131424         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
131426         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
131427         of fnmatch.h.
131428         (EXTRA_DIST): Add fnmatch_loop.c.
131429         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
131431         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
131432         * lib/fnmatch.c: Update from diffutils-2.8.2.
131433         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
131434         * lib/fnmatch.h: Remove file.
131436 2002-06-21  Jim Meyering  <meyering@lucent.com>
131438         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
131439         * m4/mbrtowc.m4: Likewise.
131441         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
131442         * m4/mbswidth.m4: Reflect name change:
131443         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
131444         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
131446         * m4/lib-link.m4: Update from gettext-0.11.2.
131447         * m4/gettext.m4: Likewise.
131449         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
131450         From Alfred M. Szmidt.
131452 2002-06-18  Paul Eggert  <eggert@twinsun.com>
131454         * lib/file-type.h: Report an error if neither S_ISREG nor
131455         S_IFREG is defined, instead of using a test specific to glibc
131456         2.2.  This should be safe, since POSIX requires S_ISREG and
131457         Unix Version 7 had S_IFREG.  We don't need to check for
131458         <sys/types.h> since we don't use any symbols that it defines.
131460 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
131462         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
131463         $@-t, so that each temporary file name is unique and valid in the first
131464         8 characters, for operation under DOS.
131466 2002-06-15  Paul Eggert  <eggert@twinsun.com>
131468         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
131470 2002-06-15  Jim Meyering  <meyering@lucent.com>
131472         Work even with DJGPP 2.03, which lacks support for symlinks.
131473         From Richard Dawe.
131474         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
131475         is defined.
131476         * lib/lchown.c (S_ISLNK): Likewise.
131478 2002-06-15  Jim Meyering  <meyering@lucent.com>
131480         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
131481         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
131482         have been included before this file.
131484 2002-06-14  Jim Meyering  <meyering@lucent.com>
131486         * lib/file-type.h: Use the version from diffutils-2.8.2.
131487         * lib/file-type.c: Likewise.
131489 2002-06-07  Jim Meyering  <meyering@lucent.com>
131491         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
131492         They're needed at least for NetBSD 1.5.2.
131493         ($statxfs_includes): Include those same headers.
131494         ($statxfs_includes): Include sys/vfs.h if available.
131495         ($statxfs_includes): Likewise for sys/statvfs.h.
131496         Check for the following members in both structs statfs and statvfs:
131497         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
131499 2002-06-01  Jim Meyering  <meyering@lucent.com>
131501         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
131502         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
131504 2002-05-28  Jim Meyering  <meyering@lucent.com>
131506         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
131507         Reported by Volker Borchert.
131509 2002-05-27  Jim Meyering  <meyering@lucent.com>
131511         Fix a problem seen only on nonconforming systems whereby ls.c's
131512         use of localtime, and then of gettimeofday would cause trouble:
131513         the localtime call used to initialize rpl_gettimeofday's save
131514         mechanism would clobber ls's current local time information so
131515         that in any long listing the first file would always be listed
131516         with date 1970-01-01.  Analysis by Volker Borchert.
131518         * lib/gettimeofday.c (localtime): Undefine.
131519         (rpl_localtime): New function.
131521 2002-05-27  Jim Meyering  <meyering@lucent.com>
131523         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
131524         localtime.
131526         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
131527         use the replacement function; it wouldn't resolve at link time.
131528         Reported by Volker Borchert.
131530 2002-05-22  Jim Meyering  <meyering@lucent.com>
131532         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
131533         file-type.h.
131534         * lib/file-type.h: New file.
131535         * lib/file-type.c (file_type): New file/function.  Extracted from
131536         diffutils.
131538 2002-04-30  Jim Meyering  <meyering@lucent.com>
131540         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
131542 2002-04-29  Paul Eggert  <eggert@twinsun.com>
131544         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
131546 2002-04-29  Paul Eggert  <eggert@twinsun.com>
131548         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
131549         Do not check for alloca.h (no longer used) or stdbool.h (was never
131550         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
131552 2002-04-29  Paul Eggert  <eggert@twinsun.com>
131554         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
131556 2002-04-29  Jim Meyering  <meyering@lucent.com>
131558         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
131559         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
131560         Use AC_FUNC_STRNLEN here instead.
131562         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
131563         With autoconf-2.53a, it's part of AC_PROG_CC.
131565 2002-04-28  Paul Eggert  <eggert@twinsun.com>
131567         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
131568         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
131570 2002-04-28  Paul Eggert  <eggert@twinsun.com>
131572         * lib/sig2str.h, lib/sig2str.c: New files.
131573         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
131575 2002-04-28  Paul Eggert  <eggert@twinsun.com>
131577         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
131578         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
131579         of 127, since 64 is the largest conceivable number for ancient
131580         nonstandard hosts.
131581         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
131583 2002-04-28  Jim Meyering  <meyering@lucent.com>
131585         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
131587 2002-04-24  Jim Meyering  <meyering@lucent.com>
131589         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
131590         (jm_PREREQ): Use it.
131592         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
131593         mach/mach.h fcntl.h.
131594         Check for this function: setlocale.
131596 2002-04-24  Jim Meyering  <meyering@lucent.com>
131598         * lib/gettext.h: New file, from Gettext.
131599         * lib/Makefile.am (INCLUDES): Remove -I../intl.
131600         (libfetish_a_SOURCES): Add gettext.h.
131602 2002-04-16  Jim Meyering  <meyering@lucent.com>
131604         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
131605         ut_pid, ut_id, ut_exit.
131607 2002-04-16  Jim Meyering  <meyering@lucent.com>
131609         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
131610         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
131611         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
131613 2002-04-12  Jim Meyering  <meyering@lucent.com>
131615         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
131616         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
131617         existence of the getmntinfo function.  Needed for Darwin 5.3.
131619         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
131620         This is necessary at least on Darwin 5.3.
131622         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
131623         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
131624         strnlen.o in the library, and that makes some versions of ranlib
131625         object.
131627 2002-04-12  Jim Meyering  <meyering@lucent.com>
131629         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
131631 2002-04-09  Jim Meyering  <meyering@lucent.com>
131633         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
131634         to be more precise.  Rather than saying we're checking whether the
131635         function `works', say what we're testing.
131636         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
131637         Reported by Bruno Haible.
131639 2002-03-10  Jim Meyering  <meyering@lucent.com>
131641         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
131642         Suggestion from Santiago Vila.
131644 2002-03-08  Jim Meyering  <meyering@lucent.com>
131646         * lib/rename.c: Mention that this wrapper is needed also on
131647         mips-dec-ultrix4.4 systems.
131649 2002-03-02  Jim Meyering  <meyering@lucent.com>
131651         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
131652         not HAVE_CLOCK_SETTIME.
131654 2002-02-27  Paul Eggert  <eggert@twinsun.com>
131656         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
131657         Check for clock_settime.
131659 2002-02-27  Paul Eggert  <eggert@twinsun.com>
131661         * lib/nanosleep.h: Rename to....
131662         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
131664         * lib/gettime.c: New file.
131665         * lib/settime.c: New file.
131666         * lib/stime.c: Remove.
131668         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
131669         timespec.h.  Remove nanosleep.h.
131671 2002-02-25  Paul Eggert  <eggert@twinsun.com>
131673         * m4/acl.m4: New file.
131674         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
131675         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
131677 2002-02-25  Paul Eggert  <eggert@twinsun.com>
131679         * lib/acl.c, lib/acl.h: New files.
131680         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
131682 2002-02-24  Jim Meyering  <meyering@lucent.com>
131684         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
131685         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
131686         cause trouble.  Reported by Nelson Beebe.
131688 2002-02-23  Paul Eggert  <eggert@twinsun.com>
131690         * lib/path-concat.c (xpath_concat): Reorder code to pacify
131691         compilers that don't know that xalloc_die never returns.
131693 2002-02-20  Jim Meyering  <meyering@lucent.com>
131695         * lib/getdate.c: Regenerate using bison-1.33.
131697 2002-02-17  Jim Meyering  <meyering@lucent.com>
131699         * config/config.guess (main): Don't use `head -1'; it's no longer
131700         portable. Use `sed 1q' instead.
131702 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
131704         * m4/codeset.m4: Upgrade to gettext-0.11.
131705         * m4/gettext.m4: Upgrade to gettext-0.11.
131706         * m4/glibc21.m4: Upgrade to gettext-0.11.
131707         * m4/iconv.m4: Upgrade to gettext-0.11.
131708         * m4/isc-posix.m4: Upgrade to gettext-0.11.
131709         * m4/lcmessage.m4: Upgrade to gettext-0.11.
131710         * m4/lib-ld.m4: New file, from gettext-0.11.
131711         * m4/lib-link.m4: New file, from gettext-0.11.
131712         * m4/lib-prefix.m4: New file, from gettext-0.11.
131713         * m4/progtest.m4: Upgrade to gettext-0.11.
131715 2002-02-15  Paul Eggert  <eggert@twinsun.com>
131717         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
131718         (jm_PREREQ): Use it.
131720 2002-02-15  Paul Eggert  <eggert@twinsun.com>
131722         * lib/posixver.c, lib/posixver.h: New files.
131723         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
131725 2002-02-02  Paul Eggert  <eggert@twinsun.com>
131726             Bruno Haible  <bruno@clisp.org>
131728         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
131729         (fwrite_success_callback): New declaration.
131730         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
131731         print_unicode_char. Call failure callback instead of error.
131732         (fwrite_success_callback): New function.
131733         (exit_failure_callback): New function.
131734         (fallback_failure_callback): New function.
131735         (print_unicode_char): Call unicode_to_mb.
131737 2002-01-26  Jim Meyering  <meyering@lucent.com>
131739         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
131740         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
131742 2002-01-26  Jim Meyering  <meyering@lucent.com>
131744         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
131746 2002-01-22  Paul Eggert  <eggert@twinsun.com>
131748         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
131750 2002-01-22  Jim Meyering  <meyering@lucent.com>
131752         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
131753         Otherwise, some versions of automake would omit the rule that makes
131754         Makefile from Makefile.in.
131756 2002-01-21  Paul Eggert  <eggert@twinsun.com>
131758         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
131759         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
131760         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
131761         (memcoll): Set errno to zero if there is no error.
131763         * lib/quotearg.c (quotearg_buffer_restyled):
131764         Fix bug with quoting buffers containing NUL when backslashing escapes.
131765         This bug was exposed by the other changes in this patch.
131766         (quotearg_n_options): New arg ARGSIZE.
131767         All callers changed.
131768         (quoting_options_from_style): New function.
131769         (quotearg_n_style): Use it.
131770         (quotearg_n_style_mem): New function.
131772         * lib/quotearg.h (quotearg_n_style_mem): New function.
131774 2002-01-19  Jim Meyering  <meyering@lucent.com>
131776         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
131777         Remove useless quotes: DF_PROG="df".
131778         * m4/strnlen.m4: New file.
131780 2002-01-16  Paul Eggert  <eggert@twinsun.com>
131782         * lib/backupfile.c (ISDIGIT): Comment fix.
131783         * lib/getdate.y (ISDIGIT): Likewise.
131784         * lib/posixtm.c (ISDIGIT, year): Likewise.
131785         * lib/strverscmp.c (ISDIGIT): Likewise.
131786         * lib/userspec.c (ISDIGIT): Likewise.
131788 2002-01-16  Jim Meyering  <meyering@lucent.com>
131790         * lib/getdate.y: Add three semicolons, each just before a closing
131791         brace. Bison (as of version 1.31) no longer papers over that mistake.
131793 2002-01-05  Jim Meyering  <meyering@lucent.com>
131795         * lib/version-etc.c (version_etc_copyright): Update copyright year.
131797 2001-12-19  Paul Eggert  <eggert@twinsun.com>
131799         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
131800         not silently exit merely because the output buffer happens to
131801         have nothing pending.
131803 2001-12-18  Paul Eggert  <eggert@twinsun.com>
131805         See the big note in ../ChangeLog.
131806         * lib/human.c (suffixes): Prefer K to k for 1024.
131807         (generate_suffix_backwards): New function.
131808         (human_readable_inexact): Use it.
131809         * lib/xstrtol.c (__xstrtol): If there is no number but there
131810         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
131811         Accept 'K' as well as 'k'.
131813 2001-12-15  Jim Meyering  <meyering@lucent.com>
131815         * lib/regex.h (__restrict_arr): Update from libc.
131817         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
131818         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
131819         (STREQ): Define.
131821 2001-12-14  Jim Meyering  <meyering@lucent.com>
131823         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
131824         Suggestion from Bruno Haible.
131826 2001-12-10  Jim Meyering  <meyering@lucent.com>
131828         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
131829         xrealloc, Instead, include "xalloc.h".
131830         (initbuffer): Don't cast xmalloc return value to char*.
131831         (readline): Reword comment.
131832         Don't cast xrealloc return value to char*
131833         Return NULL, not 0.
131835 2001-12-09  Jim Meyering  <meyering@lucent.com>
131837         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
131838         about `signed and unsigned type in conditional expression'.
131839         * lib/posixtm.c (posix_time_parse): Likewise.
131841         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
131843         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
131844         to avoid a pedantic warning.
131846         * lib/getstr.c: Don't include assert.h.
131847         (getstr): Remove warning-evoking assertions.
131848         Return -1 if offset parameter is out of bounds.
131849         Change the type of a local from int to size_t.
131851         * lib/strftime.c (my_strftime_localtime_r): Include this function
131852         definition in the `#if ! HAVE_TM_GMTOFF' block.
131854         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
131855         Include xalloc.h instead.
131857 2001-12-02  Jim Meyering  <meyering@lucent.com>
131859         * lib/tempname.c: Don't declare getenv, thus reverting the change of
131860         2001-11-18.  It's no longer necessary, now that stdlib.h is always
131861         included.
131863         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
131864         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
131866 2001-11-30  Akim Demaille  <akim@epita.fr>
131868         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
131869         before being defined.
131871 2001-11-27  Paul Eggert  <eggert@twinsun.com>
131873         * lib/quotearg.h (quotearg_n, quotearg_n_style):
131874         First arg is int, not unsigned.
131875         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
131876         (SIZE_MAX, UINT_MAX): New macros.
131877         (quotearg_n_options): Abort if N is negative.
131878         Avoid overflow check on hosts where size_t is 64 bits and int
131879         is 32 bits, as overflow is impossible there.
131880         Fix off-by-one typo that caused unnecessary reallocation.
131882 2001-11-27  Jim Meyering  <meyering@lucent.com>
131884         * lib/tempname.c: Merge with version from libc.
131885         * lib/regex.c: Likewise.
131887         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
131888         systems for which STDC_HEADERS is 0, it was not included, resulting in
131889         a warning about an integer-to-pointer conversion problem with getenv.
131890         Reported by Volker Borchert.
131892 2001-11-26  Jim Meyering  <meyering@lucent.com>
131894         * lib/gtod.h: Remove file.
131895         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
131896         * lib/gettimeofday.c: Don't include gtod.h.
131897         (GTOD_init): Remove function.
131898         (rpl_gettimeofday): Do its job here instead, rather than aborting.
131899         Suggestion from Volker Borchert.
131901 2001-11-23  Jim Meyering  <meyering@lucent.com>
131903         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
131904         it.
131905         * lib/hash.c (struct hash_table): Define it here instead.
131907 2001-11-22  Jim Meyering  <meyering@lucent.com>
131909         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
131911 2001-11-20  Jim Meyering  <meyering@lucent.com>
131913         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
131914         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
131916 2001-11-19  Jim Meyering  <meyering@lucent.com>
131918         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
131919         directory.  Use "conftestXXXXXX" as the template.
131920         Suggestion from Paul Eggert.
131922         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
131923         immediately, so the test doesn't mistakenly hit the max-open-files
131924         limit.
131926 2001-11-18  Paul Eggert  <eggert@twinsun.com>
131928         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
131929         (TEMPORARIES): New macro.
131930         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
131931         removes an artificial limitation (e.g. HP-UX 10.20, where
131932         TMP_MAX is 17576).
131934 2001-11-18  Jim Meyering  <meyering@lucent.com>
131936         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
131938 2001-11-18  Jim Meyering  <meyering@lucent.com>
131940         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
131941         on SunOS 4.
131943         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
131944         files will be created before anything else.
131946 2001-11-17  Paul Eggert  <eggert@twinsun.com>
131948         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
131949         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
131951 2001-11-17  Jim Meyering  <meyering@lucent.com>
131953         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
131954         Prompted by a report from Bob Proulx.
131956         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
131957         Instead, require UTILS_FUNC_MKSTEMP.
131959 2001-11-17  Jim Meyering  <meyering@lucent.com>
131961         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
131962         Now, that's done as part of AC_FUNC_STRTOD.
131964 2001-11-17  Jim Meyering  <meyering@lucent.com>
131966         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
131967         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
131968         rather than group writable.  Patch by Juan F. Codagnone.
131970         * lib/readtokens.c: Remove explicit declarations of xmalloc and
131971         xrealloc, Instead, include "xalloc.h".
131973         * lib/mountlist.c: Include unlocked-io.h after all system headers.
131974         Remove explicit declarations of xmalloc, xrealloc,
131975         and xstrdup.  Instead, include "xalloc.h".
131977         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
131978         unlocked-io.h.
131979         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
131980         Likewise.
131981         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
131983         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
131984         Reported by Padraig Brady.
131986         * lib/mkstemp.c: #undef mkstemp.
131987         Include config.h.
131988         (rpl_mkstemp): Rename from mkstemp.
131989         Protoize.
131991 2001-11-16  Jim Meyering  <meyering@lucent.com>
131993         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
131994         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
131995         determine the amount of total physical memory, use pstat_getstatic.
131996         HPUX-11 doesn't define _SC_PHYS_PAGES.
131997         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
131998         If sysconf couldn't be used to determine the amount of available
131999         physical memory, use both pstat_getstatic and pstat_getdynamic.
132000         Based on a patch from Bob Proulx.
132002 2001-11-10  Jim Meyering  <meyering@lucent.com>
132004         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
132005         (jm_PREREQ): Use it.
132007 2001-11-09  Jim Meyering  <meyering@lucent.com>
132009         * m4/jm-macros.m4: Require autoconf-2.52f.
132010         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
132011         Use these AC_-prefixed names, not the AM_-prefixed ones.
132013         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
132015 2001-11-05  Jim Meyering  <meyering@lucent.com>
132017         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
132019 2001-11-04  Jim Meyering  <meyering@lucent.com>
132021         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
132022         $DEFS.
132024 2001-11-03  Jim Meyering  <meyering@lucent.com>
132026         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
132027         of AC_DEFUN.
132029         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
132030         know the name of the variable in the macro definition.
132032 2001-11-03  Jim Meyering  <meyering@lucent.com>
132034         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
132035         in argmatch_to_argument call.
132037         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
132038         argument.
132040         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
132041         e.g., a fault due to an attempt to free a NULL pointer.
132043 2001-11-01  Jim Meyering  <meyering@lucent.com>
132045         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
132046         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
132048 2001-11-01  Jim Meyering  <meyering@lucent.com>
132050         * lib/dirfd.c, lib/dirfd.h: New files.
132051         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
132053         * lib/hash.c (hash_print) [TESTING]: Clean up.
132055 2001-10-22  Paul Eggert  <eggert@twinsun.com>
132057         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
132058         to avoid a warning if -Wall.
132060 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
132062         * README: New file
132063         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
132064         (per RMS's instructions, this is now the canonical source)
132065         * lgpl/, gpl/: New directories.
132067 2001-10-21  Paul Eggert  <eggert@twinsun.com>
132069         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
132071 2001-10-21  Jim Meyering  <meyering@lucent.com>
132073         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
132074         this code would end up calling gettext even in packages built
132075         with --disable-nls.
132076         * lib/getopt.c (_): Likewise.
132077         * lib/regex.c (_): Likewise.
132079 2001-10-20  Paul Eggert  <eggert@twinsun.com>
132081         * m4/error.m4 (jm_PREREQ_ERROR):
132082         Do not invoke AC_CHECK_FUNCS with strerror_r, as
132083         AC_FUNC_STRERROR_R does that.
132084         Check for strerror declaration.
132086         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
132087         are supposed to have them these days.
132088         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
132089         Merge changes from latest Autoconf CVS.
132090         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
132091         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
132092         POSIX decided to standardize on the int flavor of strerror_r.
132094 2001-10-20  Paul Eggert  <eggert@twinsun.com>
132096         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
132097         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
132098         Use strerror_r that is only a macro, even if it is not a function.
132099         (strerror): Check for HAVE_DECL_STRERROR before declaring.
132100         (private_strerror): Use prototypes, not old-style function definition.
132101         (print_errno_message): New function.
132102         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
132103         char*-flavored one.
132104         (error_tail, error, error_at_line): Use it.
132106 2001-10-11  Jim Meyering  <meyering@lucent.com>
132108         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
132109         and quote_n (1, ... to avoid clobbering a buffer.
132111 2001-10-05  Jim Meyering  <meyering@lucent.com>
132113         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
132114         hash-pjw.h.
132115         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
132116         * lib/hash-pjw.h: New file.
132118 2001-09-30  Jim Meyering  <meyering@lucent.com>
132120         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
132121         `struct fsstat' has the `f_fstypename' member.
132122         Use that to define FS_TYPE, which is now used to make
132123         the getfsstat link test tighter.
132125 2001-09-30  Jim Meyering  <meyering@lucent.com>
132127         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
132128         Include <sys/ucred.h>, for Apple Darwin.
132129         Include sys/mount.h and sys/fs_types.h only if available.
132130         (FS_TYPE): Define.
132131         (read_filesystem_list): Use FS_TYPE.
132133 2001-09-29  Paul Eggert  <eggert@twinsun.com>
132135         * lib/exclude.c (excluded_filename): 0 -> false, since it's
132136         a boolean context.
132138 2001-09-29  Jim Meyering  <meyering@lucent.com>
132140         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
132141         [one-argument getmntent function]): Include stdio.h before mntent.h.
132142         SunOS 4.1.x needs it for the declaration of `FILE'.
132143         Patch by Volker Borchert.
132145         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
132146         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
132147         sys/fs_types.h, and make the link-test for getfsstat guard #include
132148         directives with appropriate #if HAVE_*_H tests so that we can
132149         detect getfsstat on Apple Darwin1.3.7 systems.
132150         Reported by Nelson Beebe.
132151         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
132153 2001-09-28  Paul Eggert  <eggert@twinsun.com>
132155         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
132156         #defines strtoimax.  Also treat the other strto* functions
132157         like strtoimax.
132159         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
132160         Check for strtoul and strtoumax,
132161         as those declarations are made even in the signed case.
132162         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
132163         Likewise, for strtol and strtoimax.
132165 2001-09-28  Paul Eggert  <eggert@twinsun.com>
132167         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
132168         #defines strtoimax.  Also treat the other strto* functions
132169         like strtoimax.
132171         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
132172         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
132173         (strtoimax, strtoumax): Do not declare if already defined as a macro.
132175 2001-09-26  Jim Meyering  <meyering@lucent.com>
132177         Most macros in unlocked-io.h had the wrong number of arguments.
132178         * lib/gen-uio: New script.
132179         (USE_UNLOCKED_IO): Define to 1 if not already defined.
132180         * lib/unlocked-io.hin: Remove file.
132181         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
132182         rather than trying to embed it here.
132183         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
132184         Reported by Padraig Brady.
132186 2001-09-25  Volker Borchert  <bt@teknon.de>
132188         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
132189         `result'.
132191 2001-09-24  Jim Meyering  <meyering@lucent.com>
132193         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
132195 2001-09-23  Jim Meyering  <meyering@lucent.com>
132197         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
132198         instead of the mere test for existence of mntent.h.  The latter
132199         would get a false-positive on AIX 3.4 systems.
132200         In the outer getmntent if-block, don't die if neither of the getmntent
132201         tests succeeds.  Instead, just fall through and continue with the
132202         remaining tests.
132204 2001-09-23  Jim Meyering  <meyering@lucent.com>
132206         * lib/mountlist.c: Remove useless parentheses in #if directives.
132207         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
132208         the deprecated MOUNTED symbol is no longer defined in mntent.h.
132210 2001-09-22  Jim Meyering  <meyering@lucent.com>
132212         * m4/gettext.m4: New file.  From gettext.
132213         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
132214         * m4/progtest.m4: Likewise
132215         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
132216         * m4/glibc21.m4: Likewise.
132218         * m4/libintl.m4: Remove.  No longer used.
132220 2001-09-22  Jim Meyering  <meyering@lucent.com>
132222         * lib/localcharset.c: Update from latest gettext.
132223         * lib/config.charset: Likewise.
132225 2001-09-20  Jim Meyering  <meyering@lucent.com>
132227         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
132228         strtoimax.
132229         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
132230         strtoumax.
132232 2001-09-20  Jim Meyering  <meyering@lucent.com>
132234         * lib/xstrtol.c (strtoimax): Guard declaration with
132235         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
132236         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
132237         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
132238         (strtoumax): Likewise, for completeness (it wasn't necessary).
132240 2001-09-17  Paul Eggert  <eggert@twinsun.com>
132242         * lib/strtoimax.c (HAVE_LONG_LONG):
132243         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
132244         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
132245         to work around bug in IBM C compiler.
132247 2001-09-17  Jim Meyering  <meyering@lucent.com>
132249         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
132250         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
132251         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
132252         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
132253         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
132254         whenever the right hand side need not be expanded by the shell.
132256 2001-09-16  Paul Eggert  <eggert@twinsun.com>
132258         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
132259         library.  It's not correct, as some older glibcs are buggy.
132260         fnmatch wasn't fixed until glibc 2.2.
132262         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
132263         special shell magic here.
132265 2001-09-16  Jim Meyering  <meyering@lucent.com>
132267         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
132268         * m4/jm-macros.m4: Require it.
132270 2001-09-16  Jim Meyering  <meyering@lucent.com>
132272         * lib/mkdir.c: New file.
132274 2001-09-15  Jim Meyering  <meyering@lucent.com>
132276         * m4/jm-macros.m4: Check for help2man.
132278 2001-09-11  Jim Meyering  <meyering@lucent.com>
132280         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
132281         The body, by Paul Eggert, was moved here from configure.in.
132282         * m4/jm-macros.m4: Require UTILS_HOST_OS.
132284 2001-09-04  Paul Eggert  <eggert@twinsun.com>
132286         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
132287         (jm_PREREQ): Use it.
132289 2001-09-04  Paul Eggert  <eggert@twinsun.com>
132291         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
132292         Use ssize_t, not int, to store result of readlink.
132293         Check for ssize_t overflow as well as size_t overflow,
132294         as POSIX says the result of readlink is implementation-defined
132295         when ssize_t overflows.
132296         Remove unnecessary cast to char*.
132297         Use free+malloc instead of realloc, as the storage doesn't need
132298         to be preserved and it's clearer and can be more efficient that way.
132299         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
132300         * lib/xreadlink.h (xreadlink): Update prototype.
132302 2001-09-04  Paul Eggert  <eggert@twinsun.com>
132304         * lib/xgetcwd.c: Revert some of the previous change; intead,
132305         fix the HAVE_GETCWD_NULL code to behave more like the
132306         !HAVE_GETCWD_NULL code used to.
132308         Include "xalloc.h".
132309         (xgetcwd): Do not return NULL when memory is exhausted; instead,
132310         invoke xalloc_die.
132312 2001-09-03  Paul Eggert  <eggert@twinsun.com>
132314         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
132315         sys/param.h, as pathmax.h includes them.
132317 2001-09-03  Paul Eggert  <eggert@twinsun.com>
132319         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
132320         (jm_PREREQ_XGETCWD): New macro.
132322         * m4/getcwd.m4: New file.
132324 2001-09-03  Paul Eggert  <eggert@twinsun.com>
132326         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
132327         like the HAVE_GETCWD_NULL code.
132328         Include pathmax.h if not HAVE_GETCWD.
132329         Do not include xalloc.h.
132330         (INITIAL_BUFFER_SIZE): New symbol.
132331         Do not use xmalloc / xrealloc, since the caller is responsible for
132332         handling errors.  Preserve errno around `free' during failure.
132333         Do not overrun buffer when using getwd.
132335 2001-09-03  Paul Eggert  <eggert@twinsun.com>
132337         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
132338         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
132339         getcwd (NULL, 0).
132341 2001-09-03  Paul Eggert  <eggert@twinsun.com>
132343         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
132344         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
132345         spotted by Jim Meyering.
132347 2001-09-03  Jim Meyering  <meyering@lucent.com>
132349         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
132350         failure.
132352 2001-09-02  Jim Meyering  <meyering@lucent.com>
132354         * lib/error.c: Update from GNU libc.
132356 2001-09-01  Jim Meyering  <meyering@lucent.com>
132358         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
132359         Used by df.
132361 2001-09-01  Jim Meyering  <meyering@lucent.com>
132363         * lib/xreadlink.c: New file.
132364         * lib/xreadlink.h: New file.
132365         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
132366         xreadlink.h.
132368         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
132369         doesn't conflict with sparc Solaris 7's definition in
132370         /usr/include/sys/int_types.h.
132372         * lib/exclude.c: Use `""', not `<>' to #include non-system header
132373         files.
132374         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
132375         and strncasecmp as r-values.  Unixware didn't have declarations.
132377 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132379         * lib/xstrtol.h: Add copyright notice.
132380         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
132381         LONGINT_INVALID_SUFFIX_CHAR.
132383 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132385         * lib/xstrtol.c (strtoimax): New decl.
132387 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132389         * lib/xgetcwd.c: Don't include pathmax.h.
132390         Include stdlib.h and unistd.h if available.
132391         Include xalloc.h.
132392         (xmalloc, xstrdup, free): Remove decls.
132393         (xgetcwd): Don't assume sizes fit in unsigned.
132394         Check for overflow when computing sizes.
132395         Simplify reallocation code.
132397 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132399         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
132400         a directory's st_size can have an arbitrary value, so the old
132401         usage could waste an arbitrary amount of memory.  All uses
132402         changed.
132403         * lib/savedir.h: Update prototype.
132405 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132407         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
132409         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
132410         old strtoimax.c.
132412         Also, make the following further changes to make this file's
132413         configuration more similar to that of strtol.c:
132414         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
132415         (strtoumax, uintmax_t, strtoull, strtol): Remove.
132416         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
132417         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
132418         changed to signed values.
132420         And make the following changes as well:
132421         Fix copyright notice, as 1999 was missing.
132422         (verify): New macro.
132423         (strtoimax): Check sizes at compile-time, not run-time.
132424         Prefer strtol to strtoll if both work.
132425         (main): Remove; it was not that useful and was a pain to maintain.
132427         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
132429 2001-08-31  Jim Meyering  <meyering@lucent.com>
132431         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
132432         Use an initial, malloc'd, buffer of length 128 rather than
132433         a statically allocated one of length 1024.
132435 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132437         Simplify code, partly by assuming autoconf 2.52 semantics.
132439         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
132441         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
132442         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
132443         All uses removed.
132444         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
132445         Move AC_REQUIRE to next-to-top level, to avoid confusion.
132446         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
132447         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
132448         jm_AC_HEADER_INTTYPES_H.
132449         * m4/jm-macros.m4 (jm_MACROS): Likewise.
132451         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
132453         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
132454         Quote first arg of AC_DEFUN.
132455         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
132456         since they are needed to parse the include file even if we need
132457         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
132458         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
132459         but with opposite signedness.
132461 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132463         Merge 'exclude' changes from tar 1.13.22.
132464         This fixes one or two unlikely storage allocation overflow bugs,
132465         but doesn't change user-visible behavior otherwise.
132467 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132469         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
132470         (jm_PREREQ_EXCLUDE): New macro.
132472 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132474         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
132475         tm to be declared.
132477 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132479         * lib/hash.c: Remove '2001' from copyright notice.
132481 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132483         * lib/full-write.h: New file.
132484         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
132485         * lib/full-write.c: Correct credits, as cccp.c no longer
132486         exists and anyway it was so heavily changed from the old cccp
132487         code as to be unrecognizable.  Include full-write.h.
132488         (full_write): Return size_t, with short writes meaning failure.
132489         All callers changed.  This fixes a bug with large buffers
132490         on 64-bit hosts.
132491         * lib/utime.c: Include full-write.h.
132493 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132495         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
132496         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
132497         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
132498         Include if available.
132499         (<xalloc.h>): Include
132500         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
132501         (verify): New macro.  Use it to verify that EXCLUDE macros do not
132502         collide with FNM macros.
132503         (struct patopts): New struct.
132504         (struct exclude): Use it, as exclude patterns now come with options.
132505         (new_exclude): Support above changes.
132506         (new_exclude, add_exclude_file):
132507         Initial size must now be a power of two to simplify overflow checking.
132508         (free_exclude, fnmatch_no_wildcards): New function.
132509         (excluded_filename): No longer requires options arg, as the options
132510         are determined by add_exclude.  Now returns bool, not int.
132511         (excluded_filename, add_exclude):
132512         Add support for the fancy new exclusion options.
132513         (add_exclude, add_exclude_file): Now takes int options arg.
132514         Check for arithmetic overflow when computing sizes.
132515         (add_exclude_file): xrealloc might modify errno, so don't
132516         realloc until after errno might be used.
132518         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
132519         New macros.
132520         (free_exclude): New decl.
132521         (add_exclude, add_exclude_file): Now takes int options arg.
132522         (excluded_filename): No longer requires options arg, as the options
132523         are determined by add_exclude.  Now returns bool, not int.
132525 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132527         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
132529 2001-08-27  Jim Meyering  <meyering@lucent.com>
132531         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
132533         * lib/version-etc.c (N_): Remove definition.
132534         Revert most of last change.
132535         Instead, simply don't mark the `Copyright...' string for translation.
132536         Based on advice from Paul Eggert.
132538         * lib/strtoxmax.c: Tweak comment.
132540 2001-08-26  Jim Meyering  <meyering@lucent.com>
132542         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
132544         * m4/xstrtoimax.m4: New file.
132545         * m4/xstrtoumax.m4: Add comments explaining why we
132546         AC_REPLACE_FUNCS(strtol).
132548 2001-08-26  Jim Meyering  <meyering@lucent.com>
132550         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
132551         of copyright with `%s' so translators don't get an untranslated
132552         message in 2002.
132553         (COPYRIGHT_YEAR): Define.
132554         (version_etc): Use fprintf rather than fputs.
132555         Suggestion from Ulrich Drepper.
132557         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
132559         * lib/strtoll.c: New file, from GNU libc.
132560         * lib/xstrtoimax.c: New file.
132562         * lib/xstrtol.h: Add xstrtoimax.
132563         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
132564         * lib/strtoimax.c: New file.  Likewise, but first define
132565         STRTOUXMAX_SIGNED.
132567         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
132568         ...
132569         * lib/strtoxmax.c: ... then renamed to this.
132571 2001-08-18  Paul Eggert  <eggert@twinsun.com>
132573         * m4/inttypes.m4: Add AC_PREREQ(2.13).
132574         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
132575         (jm_AC_TYPE_INTMAX_T): New macro.
132576         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
132578         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
132580         * m4/longlong.m4: Renamed from ulonglong.m4.
132581         * m4/inttypes.m4: Renamed from inttypes_h.m4.
132582         * m4/uintmax_t.m4: Removed.
132584 2001-08-13  Paul Eggert  <eggert@twinsun.com>
132586         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
132587         Port to Solaris 8, where 'sed' requires a space after the 'r'
132588         command, and where sh dislikes "$/".  Clean up the spacing a bit.
132589         Redirect output to $tmp just once.
132591 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
132593         * lib/addext.c (<errno.h>): Include.
132594         (errno): Declare if not defined.
132595         (addext): Work correctly when pathconf returns -1 and leaves
132596         errno alone because there is no limit.  Also, work even if
132597         pathconf returns a value greater than SIZE_MAX.
132599 2001-08-12  Jim Meyering  <meyering@lucent.com>
132601         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
132602         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
132603         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
132604         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
132605         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
132606         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
132607         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
132608         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
132609         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
132610         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
132611         utime.m4, utimes.m4, xstrtoumax.m4:
132612         Quote the first argument in each use of AC_DEFUN.
132614 2001-08-12  Jim Meyering  <meyering@lucent.com>
132616         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
132617         Simply `return getcwd (NULL, 0);'.
132618         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
132619         Use 1300 as initial value for length, not PATH_MAX.
132621         * lib/pathmax.h: Clean up cpp syntax.
132623 2001-08-12  Jim Meyering  <meyering@lucent.com>
132625         * lib/gettimeofday.c: New file.
132626         * lib/gtod.h: New file.
132627         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
132629 2001-08-05  Jim Meyering  <meyering@lucent.com>
132631         * m4/jm-macros.m4: Require autoconf-2.52.
132633 2001-08-04  Jim Meyering  <meyering@lucent.com>
132635         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
132636         stmt, to get in sync with glibc.
132638 2001-08-03  Paul Eggert  <eggert@twinsun.com>
132640         The following changes are from gettext 0.10.39 as maintained by
132641         Bruno Haible.
132643         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
132644         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
132645         with inverted sense.  All uses changed.
132647         * lib/mbswidth.c: Don't include <limits.h>.
132648         Include <stdlib.h> and <string.h> unconditionally.
132649         (iswcntrl, mbsinit, ISCNTRL): New macros.
132650         (mbsnwidth): Use K&R style function declarations.
132651         Don't bother checking for MB_LEN_MAX == 1, since the compiler
132652         can optimize it when MB_CUR_MAX == 1.
132653         The width of control characters is zero, not 1.
132655 2001-08-03  Paul Eggert  <eggert@twinsun.com>
132657         The following changes are from gettext 0.10.39 as maintained by
132658         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
132660         * m4/codeset.m4: Upgrade to serial AM1.
132661         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
132662         all uses changed.  Quote first arg of AC_DEFUN.
132663         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
132665         * m4/iconv.m4: Upgrade to serial AM2.
132666         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
132667         Add --with-libconv-prefix.
132668         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
132669         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
132670         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
132671         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
132672         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
132674         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
132675         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
132676         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
132677         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
132678         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
132679         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
132680         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
132681         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
132682         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
132684         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
132685         string.h any more.
132687         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
132688         not the default value.
132690         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
132691         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
132692         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
132693         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
132694         Also check for iswcntrl, used for wcwidth fallback.
132695         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
132696         to Autoconf 2.13.
132698 2001-08-03  Jim Meyering  <meyering@lucent.com>
132700         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
132701         as it was in the original.  Reported by Paul Eggert.
132703 2001-07-16  Jim Meyering  <meyering@lucent.com>
132705         * m4/gettimeofday.m4: New file.
132706         Prompted by a report from Bernhard Baehr.
132708 2001-07-15  Jim Meyering  <meyering@lucent.com>
132710         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
132711         stuff. Now it's in ../Makefile.cfg.
132713 2001-07-15  Jim Meyering  <meyering@lucent.com>
132715         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
132716         (BUILT_SOURCES): Add unlocked-io.h.
132717         (io_functions): Define.
132718         (unlocked-io.h): New rule.
132719         (DISTCLEANFILES): Add unlocked-io.h.
132720         (all-local): Depend on unlocked-io.h, to ensure it is created.
132722         * lib/unlocked-io.hin: New file
132724         * lib/regex.c: Update from glibc.
132726 2001-07-05  Jim Meyering  <meyering@lucent.com>
132728         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
132729         recommendation.
132730         (libfetish_a_SOURCES): Put all .h files here instead.
132731         Remove a thus-exposed (better checks in automake) duplicate and
132732         two unnecessary .h files.
132734 2001-07-04  Jim Meyering  <meyering@lucent.com>
132736         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
132737         that generates jm-glibc-io.m4 so that it doesn't trigger any make
132738         distcheck failure.
132740 2001-07-02  Jim Meyering  <meyering@lucent.com>
132742         The following changes were prompted by suggestions from Bruno Haible.
132744         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
132745         is now generated.
132746         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
132747         definition of EXTRA_DIST.
132748         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
132749         ensure that the generated file is created/updated whenever the list
132750         of $(unlocked_functions) is changed.
132751         (jm-glibc-io.m4): New rule.
132752         (unlocked-io.h): New rule -- currently unused.
132754 2001-06-24  Jim Meyering  <meyering@lucent.com>
132756         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
132757         unmatched right bracket, rather than kludging it with an extra,
132758         falsely-matching quote in a comment.  Patch by Akim Demaille.
132760 2001-06-11  Jim Meyering  <meyering@lucent.com>
132762         * lib/regex.c: Update from GNU libc.
132764 2001-05-27  Jim Meyering  <meyering@lucent.com>
132766         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
132767         Check for ut_type in struct utmp.
132769 2001-05-27  Jim Meyering  <meyering@lucent.com>
132771         * lib/readutmp.h (UT_TYPE): Define.
132773 2001-05-24  Jim Meyering  <meyering@lucent.com>
132775         * lib/argmatch.c: Include "quote.h".
132776         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
132777         quote function.  Reported by Göran Uddeborg.
132779 2001-05-22  Jim Meyering  <meyering@lucent.com>
132781         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
132782         now that we use the package-supplied version unconditionally.
132783         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
132785 2001-05-21  Jim Meyering  <meyering@lucent.com>
132787         * m4/regex.m4: Change a couple backticks to single quotes to avoid
132788         shell syntax errors.
132790 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
132792         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
132794 2001-05-20  Paul Eggert  <eggert@twinsun.com>
132796         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
132797         Don't bother to check library strftime, since
132798         we'll be using our own my_strftime function anyway.
132799         Define my_strftime instead of strftime.
132801 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
132803         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
132804         which is not yet declared.
132806 2001-05-15  Jim Meyering  <meyering@lucent.com>
132808         * m4/regex.m4: Use proper quoting so brackets appear in the test
132809         program.
132810         Reported by, and with help from, Bruno Haible.
132812 2001-05-13  Jim Meyering  <meyering@lucent.com>
132814         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
132815         undefined.
132817 2001-05-11  Paul Eggert  <eggert@twinsun.com>
132819         dirname code cleanup.  base_name now behaves more compatibly
132820         with POSIX basename when given file names that have trailing
132821         slashes, and similarly for dir_name.  Add new primitives
132822         base_len and dir_len.  Put the directory-name-related decls
132823         into dirname.h.
132825         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
132826         * lib/backupfile.c (base_name): Likewise.
132827         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
132828         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
132829         * lib/makepath.c (strip_trailing_slashes): Likewise.
132830         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
132831         ISSLASH): Likewise.
132832         * lib/rename.c (strip_trailing_slashes): Likewise.
132833         * lib/same.c (base_name): Likewise.
132834         * lib/stripslash.c (ISSLASH): Likewise.
132836         * lib/addext.c: Include <dirname.h> after size_t is defined.
132837         * lib/backupfile.c: Likewise.
132839         * lib/addext.c (addext): Use base_len to trim redundant
132840         trailing slashes instead of doing it ourselves.
132841         But do not trim the last slash if it is not redundant.
132843         * lib/backupfile.c (find_backup_file_name,
132844         max_backup_version): Use base_len instead of rolling it ourselves.
132845         Handle the case of "" and (on DOS) "C:" correctly.
132847         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
132848         needed. Include <string.h>, <dirname.h>.
132849         (base_name): Allow file names ending in slashes, other than names
132850         that are all slashes.  In this case, return the basename followed
132851         by the slashes.  This is more general, and can be used in places
132852         where the original base_name purposely had an assertion failure.
132853         (base_len): New function.
132855         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
132856         Do not include <assert.h>; no longer needed.
132857         Include xalloc.h.
132858         (memrchr): Remove decl.
132859         (dir_name_r): Remove.
132860         (dir_len): Renamed from dirlen.  All callers changed.
132861         Rewrite in terms of base_name, for simplicity and consistency.
132862         (dir_name): Never return NULL.  All callers changed.
132863         Do not include <stdlib.h> in test program; no longer needed.
132864         return 0; is fine for test program.
132866         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
132867         New macros.
132868         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
132870         * lib/path-concat.c (path_concat): Use base_len to compute
132871         base length, not strlen; this means we cannot rely on memcpy
132872         to null-terminate.
132874         * lib/same.c (STREQ): Remove.
132875         (same_name): Handle the case where the basename ends in trailing '/'.
132877         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
132878         a slash was stripped.  Do not strip the last slash after a
132879         file system prefix.
132881 2001-05-11  Paul Eggert  <eggert@twinsun.com>
132883         * lib/Makefile.am (libfetish_a_SOURCES):
132884         Add strftime.c, since we now compile it on all hosts.
132886         * lib/strftime.c (my_strftime):
132887         Define to nstrftime if emacs, but only if my_strftime is not defined.
132888         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
132889         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
132890         Add one more extra argument: a nanoseconds value.
132891         All uses changed.
132892         (ns): New macro.
132893         (my_strftime function): Add %N format.
132894         (emacs_strftimeu): Renamed from emacs_strftime,
132895         with extra ut argument.
132897 2001-05-09  Paul Eggert  <eggert@twinsun.com>
132899         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
132901 2001-04-21  Jim Meyering  <meyering@lucent.com>
132903         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
132904         doesn't interfere.
132906 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
132908         * m4/ftruncate.m4: Check for chsize.
132909         Link with ftruncate.o unconditionally if ftruncate is missing.
132910         This was required when cross-compiling to i586-mingw32msvc.
132912 2001-04-08  Jim Meyering  <meyering@lucent.com>
132914         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
132915         recomputed; that's necessary when the offset spans a DST transition.
132916         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
132918 2001-04-02  Jim Meyering  <meyering@lucent.com>
132920         * lib/regex.h, regex.c: Update from GNU libc.
132922 2001-03-24  Jim Meyering  <meyering@lucent.com>
132924         * m4/jm-macros.m4: Require autoconf-2.49d.
132926 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
132928         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
132930 2001-03-19  Paul Eggert  <eggert@twinsun.com>
132932         * lib/version-etc.c (version_etc_copyright): Update to 2001.
132934 2001-03-17  Jim Meyering  <meyering@lucent.com>
132936         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
132937         now that the version in autoconf is equivalent.
132938         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
132940         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
132941         Suggestion from Akim Demaille.
132943         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
132944         (jm_PREREQ_TEMPNAME): New function.
132946 2001-03-16  Paul Eggert  <eggert@twinsun.com>
132948         * lib/tempname.c (uint64_t): Define to uintmax_t if
132949         not defined, and if UINT64_MAX is not defined.
132950         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
132951         Reported by John David Anglin.
132953 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
132955         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
132956         resolve alias if codeset is empty.
132957         * lib/config.charset (BeOS): Use wildcard syntax.
132959 2001-03-13  Jim Meyering  <meyering@lucent.com>
132961         * lib/path-concat.c (path_concat)
132962         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
132963         concatenating e.g., `C:' and `foo'.
132964         From Bruno Haible.
132966 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
132968         * lib/localcharset.c (locale_charset): Don't use
132969         setlocale(LC_CTYPE,NULL). Don't return NULL.
132970         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
132972 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
132974         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
132975         support for DOS/DJGPP.
132977 2001-03-01  Paul Eggert  <eggert@twinsun.com>
132979         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
132980         lacks mkstemp.  Compile our own tempname.c if we compile our own
132981         mkstemp.c, as mkstemp relies on tempname.
132983 2001-03-01  Jim Meyering  <meyering@lucent.com>
132985         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
132986         AH_VERBATIM really does output its argument verbatim.
132988 2001-02-28  Paul Eggert  <eggert@twinsun.com>
132990         * lib/Makefile.am (libfetish_a_SOURCES):
132991         Add dup-safer.c, fopen-safer.c.
132992         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
132994         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
132995         * lib/unistd-safer.h: New files.
132997 2001-02-25  Paul Eggert  <eggert@twinsun.com>
132999         The mkstemp replacement is taken from glibc 2.2.2, with some
133000         portability fixes for use outside glibc, as follows:
133002         * lib/tempname.c (struct_stat64): New macro.
133003         (direxists, __gen_tempname): Use it.
133004         This avoids a portability problem with Solaris 8.
133006         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
133007         (<stddef.h>, <stdint.h>, <string.h>):
133008         Include only if STDC_HEADERS || _LIBC.
133009         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
133010         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
133011         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
133012         (__set_errno): Define this macro if <errno.h> doesn't.
133013         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
133014         Define these macros if <stdio.h> doesn't.
133015         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
133016         Define these macros if <sys/stat.h>
133017         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
133018         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
133019         __xstat64): Define if not _LIBC.
133020         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
133021         (__gen_tempname): Invoke gettimeofday only if
133022         HAVE_GETTIMEOFDAY || _LIBC;
133023         otherwise, fall back on plain "time".
133024         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
133026         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
133028         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
133030 2001-02-18  Paul Eggert  <eggert@twinsun.com>
133032         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
133034 2001-02-17  Paul Eggert  <eggert@twinsun.com>
133036         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
133037         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
133038         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
133039         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
133041 2001-02-17  Paul Eggert  <eggert@twinsun.com>
133043         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
133044         Remove workaround macros for hosts that have mbrtowc but not
133045         mbstate_t, as we now insist on proper declarations for both
133046         before using mbrtowc.
133048 2001-02-17  Jim Meyering  <meyering@lucent.com>
133050         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
133051         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
133052         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
133053         UnixWare 7.1.1.
133055         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
133056         rather than AC_CACHE_VAL.
133058 2001-02-17  Jim Meyering  <meyering@lucent.com>
133060         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
133061         around included file name.
133063         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
133065         * lib/strftime.c: Update from GNU libc (the only changes were to
133066         comments).
133068 2001-02-17  Jim Meyering  <meyering@lucent.com>
133070         * lib/regex.c: Update from libc.
133072 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
133074         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
133075         clash.
133077 2001-02-16  Paul Eggert  <eggert@twinsun.com>
133079         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
133080         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
133081         Reported by Mark Hounschell via Paul Eggert.
133083 2001-02-07  Jim Meyering  <meyering@lucent.com>
133085         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
133087 2001-02-05  Jim Meyering  <meyering@lucent.com>
133089         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
133090         it includes the patch required for `large file' support with at least
133091         HP-UX's 10.20 /bin/cc.
133093 2001-02-03  Jim Meyering  <meyering@lucent.com>
133095         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
133096         AS_IF, now that it works once again (mysteriously).
133097         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
133099 2001-01-30  Jim Meyering  <meyering@lucent.com>
133101         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
133102         * m4/chown.m4: Rename conftestchown to conftest.chown.
133103         * m4/rename.m4: s/conftestdir/conftest.d1/ and
133104         s/conftestdir2/conftest.d2/.
133105         * m4/utimes.m4: s/conftestdata/conftest.data/
133106         Inspired by Pavel Roskin's change in autoconf.
133108 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
133110         * lib/config.charset: Update for FreeBSD 4.2.
133112 2001-01-27  Jim Meyering  <meyering@lucent.com>
133114         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
133115         a use of AS_IF.
133116         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
133118 2001-01-26  Jim Meyering  <meyering@lucent.com>
133120         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
133121         quotearg.c includes it.
133123 2001-01-26  Jim Meyering  <meyering@lucent.com>
133125         * lib/quotearg.c: Include stddef.h.
133126         * lib/quote.c: Include stddef.h.
133127         Reported by Axel Kittenberger.
133129         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
133130         line in double quotes so that it evokes a better diagnostic.
133131         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
133132         Reported by Axel Kittenberger.
133134 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
133136         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
133137         as if it was a `charset'.
133139 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
133141         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
133142         has const.
133144 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
133146         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
133147         to avoid a warning.  Add back 'const' to inptr.
133149 2001-01-20  Jim Meyering  <meyering@lucent.com>
133151         Be sure that headers are checked before used in code compiled
133152         for the type checks.
133153         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
133154         In place of that, invoke jm_CHECK_ALL_TYPES.
133155         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
133156         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
133157         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
133158         The check for ssize_t was mistakenly run before the test for unistd.h.
133160         The configure-time check for stdbool.h was missing.
133161         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
133162         (jm_PREREQ_HASH): New function.
133164 2001-01-17  Jim Meyering  <meyering@lucent.com>
133166         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
133167         for autoconf-2.49c.
133168         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
133170 2001-01-16  Jim Meyering  <meyering@lucent.com>
133172         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
133173         From Bruno Haible.
133175 2001-01-14  Jim Meyering  <meyering@lucent.com>
133177         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
133178         foo and bar.  Create conftestdir/ in the script, not in the C code.
133179         Remove directories in the script, not in the C code.
133180         Remove conftestdir{,2} before trying to create the directory.
133181         Make the entire configure script fail if the mkdir fails.
133183 2001-01-14  Jim Meyering  <meyering@lucent.com>
133185         * lib/rename.c: New file.  From Volker Borchert.
133186         Include stdlib.h, string.h or strings.h, and xalloc.h.
133187         Use strip_trailing_slashes rather than open-coding it.
133189 2001-01-03  Paul Eggert  <eggert@twinsun.com>
133191         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
133193 2001-01-03  Jim Meyering  <meyering@lucent.com>
133195         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
133196         of local `inptr' to avoid warning with some system declarations of
133197         iconv.
133199 2001-01-02  Volker Borchert  <bt@teknon.de>
133201         * m4/rename.m4: New file.
133202         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
133204 2001-01-01  Jim Meyering  <meyering@lucent.com>
133206         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
133207         even on systems with utmpx.h.  It's necessary for the declaration of
133208         utmp's ut_user member.  Reported by Andreas Jaeger.
133210         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
133211         available. They are required for the declarations of getgrgid and
133212         getpwuid resp.
133213         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
133214         Reported by Andreas Jaeger.
133216 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
133218         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
133219         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
133220         so `make install' also works in VPATH builds.
133222 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
133224         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
133225         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
133226         can be used in subdirectories.
133228 2000-12-29  Paul Eggert  <eggert@twinsun.com>
133230         * lib/modechange.c: Do not assume that mode_t uses the
133231         traditional octal encoding.  E.g. "chmod 1 FOO" should set
133232         the other-execute bit of FOO even if S_IXOTH != 1.
133234         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
133235         WOTH, XOTH, ALLM): New macros.
133236         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
133237          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
133238         Use them.
133239         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
133240         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
133241         (mode_compile):
133242         No need to use uintmax_t; unsigned long is long enough.
133243         Don't bother to get suffix since we don't use it.
133245 2000-12-26  Jim Meyering  <meyering@lucent.com>
133247         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
133248         better with autoheader.
133250 2000-12-24  Jim Meyering  <meyering@lucent.com>
133252         * lib/hash.c (is_prime): Return explicit boolean values.
133253         (hash_get_first): Return NULL to appease Irix5.6's 89.
133254         Reported by Nelson Beebe.
133256 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
133258         * lib/localcharset.c (locale_charset): Add support for Win32.
133260 2000-12-18  Paul Eggert  <eggert@twinsun.com>
133262         * lib/physmem.h, lib/physmem.c: New files.
133264         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
133265         (noinst_HEADERS): Add physmem.h.
133267         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
133268         't' for compatibility with Solaris 8 sort.
133270 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
133272         * lib/config.charset: Add support for BeOS.
133274 2000-12-17  Jim Meyering  <meyering@lucent.com>
133276         * m4/dos.m4 (jm_AC_DOS): New file and macro.
133277         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
133279 2000-12-16  Jim Meyering  <meyering@lucent.com>
133281         This bug had a serious impact on chown: `chown N:M FILE' (for integer
133282         N and M) would have treated it like `chown N:N FILE'.
133284         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
133286 2000-12-16  Jim Meyering  <meyering@lucent.com>
133288         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
133289         SHELLS_FILE to a file name that's useful on djgpp systems.
133290         Include stdlib.h.
133291         (ADDITIONAL_DEFAULT_SHELLS): Define.
133292         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
133293         Based mostly on a patch from Prashant TR.
133295 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
133297         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
133298         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
133299         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
133301 2000-12-08  Andreas Schwab  <schwab@suse.de>
133303         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
133304         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
133306 2000-12-07  Jim Meyering  <meyering@lucent.com>
133308         * lib/stripslash.c (ISSLASH): Define.
133309         (strip_trailing_slashes): Use ISSLASH rather than comparing against
133310         `/'.
133311         From Prashant TR.
133313         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
133314         (dir_name_r): Declare this function as static.
133315         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
133316         manifest itself on a name containing a mix of slashes and
133317         backslashes.
133318         Make this function work with names starting with a DOS-style
133319         drive letter and colon prefix.
133320         (dir_name): Append `.' if necessary.
133321         Based mostly on patches from Prashant TR and Eli Zaretskii.
133323         * lib/dirname.h (dir_name_r): Remove prototype.
133325 2000-12-06  Paul Eggert  <eggert@twinsun.com>
133327         * m4/off_t-format.m4: Remove this file.
133328         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
133330 2000-12-06  Jim Meyering  <meyering@lucent.com>
133332         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
133333         replacement strtoull, we may well need the replacement strtoul, too.
133334         Check for declarations of strtoul and strtoull.
133335         Check for strtol.  Mainly as a cue to cause automake to include
133336         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
133337         Check for limits.h -- strtol.c needs it.
133339 2000-12-05  Jim Meyering  <meyering@lucent.com>
133341         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
133343 2000-12-04  Jim Meyering  <meyering@lucent.com>
133345         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
133346         Also include memory.h, stdlib.h, unistd.h if appropriate.
133347         Reported by Andreas Jaeger (conflicting declaration of malloc).
133349 2000-12-02  Jim Meyering  <meyering@lucent.com>
133351         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
133352         * m4/jm-macros.m4 (jm_MACROS): require it.
133354 2000-12-02  Jim Meyering  <meyering@lucent.com>
133356         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
133358 2000-12-01  Paul Eggert  <eggert@twinsun.com>
133360         * lib/memrchr.c: Include <config.h> before any system include file.
133362 2000-11-30  Jim Meyering  <meyering@lucent.com>
133364         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
133366 2000-11-30  Jim Meyering  <meyering@lucent.com>
133368         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
133370 2000-11-29  Paul Eggert  <eggert@twinsun.com>
133372         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
133374 2000-11-26  Jim Meyering  <meyering@lucent.com>
133376         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
133378 2000-11-22  Paul Eggert  <eggert@twinsun.com>
133380         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
133381         size of (size_t) -1; it's not portable.
133383 2000-11-17  Jim Meyering  <meyering@lucent.com>
133385         * lib/strstr.c: Update from GNU libc.
133387 2000-11-17  Akim Demaille  <akim@epita.fr>
133389         * lib/obstack.h: Formatting changes.
133390         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
133391         prevent type checking.
133392         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
133393         cast the value to (void *): assigning a `foo *' to a `void *'
133394         variable is valid.
133395         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
133397 2000-11-16  Jim Meyering  <meyering@lucent.com>
133399         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
133401 2000-11-11  Jim Meyering  <meyering@lucent.com>
133403         * lib/error.c: Add a couple #includes, merging from GNU libc version.
133405 2000-11-10  Jim Meyering  <meyering@lucent.com>
133407         * lib/obstack.h: Update from GNU libc.
133408         * lib/obstack.c: Likewise.
133410 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
133412         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
133414 2000-11-06  Paul Eggert  <eggert@twinsun.com>
133416         * lib/getusershell.c (setusershell): Use rewind rather than
133417         fseek/fseeko, to avoid configuration hassles with fseeko.
133418         Don't bother opening SHELLS_FILE if shellstream is NULL;
133419         it's not necessary.
133421 2000-11-05  Jim Meyering  <meyering@lucent.com>
133423         * lib/makepath.h (make_dir): Declare.
133424         * lib/makepath.c (make_dir): Remove `static' attribute.
133425         Tweak a comment.
133427 2000-11-04  Jim Meyering  <meyering@lucent.com>
133429         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
133431 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
133433         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
133434         last one in a bucket, advance to the next bucket.
133436 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
133438         * lib/fnmatch.c: Do not comment out all the code if we are using
133439         the GNU C library, because in some cases we are replacing buggy
133440         code in the GNU C library itself.
133442 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
133444         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
133445         (regex_compile): Catch bogus \(\1\).
133447 2000-10-30  Paul Eggert  <eggert@twinsun.com>
133449         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
133450         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
133451         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
133453 2000-10-30  Paul Eggert  <eggert@twinsun.com>
133455         * lib/error.h, getline.h, modechange.h:
133456         Remove "2000" from Copyright line, as the file hasn't been
133457         changed this year other than in the copyright notice.
133459         * lib/xalloc.h: Add "2000" to Copyright line, as this file
133460         was changed this year.
133462 2000-10-29  Jim Meyering  <meyering@lucent.com>
133464         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
133465         renaming.
133466         * m4/ls-mntd-fs.m4: Likewise
133468 2000-10-29  Jim Meyering  <meyering@lucent.com>
133470         * lib/xstat.in: Fix grammar in comment.
133472 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
133474         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
133475         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
133476         doesn't define __restrict_arr.
133478 2000-10-28  Jim Meyering  <meyering@lucent.com>
133480         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
133481         (jm_PREREQ_MEMCHR): New function.
133483 2000-10-28  Jim Meyering  <meyering@lucent.com>
133485         * lib/memchr.c: Update from libc.
133486         Adjust for portability:
133487         [HAVE_STDLIB_H]: Include stdlib.h.
133488         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
133489         Undef __memchr, too.
133490         [!weak_alias]: Define __memchr to memchr.
133492         * lib/regex.c: Update from libc.
133493         * lib/regex.h: Likewise.
133494         * lib/getopt1.c: Likewise.
133495         * lib/memcmp.c: Likewise.
133497         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
133498         Avoid using fseek, when possible -- it's broken by design.
133499         Patch by Ulrich Drepper.
133501 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
133503         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
133504         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
133505         Giving in to popular pressure to shut up the compiler with casts.
133507 2000-10-26  Jim Meyering  <meyering@lucent.com>
133509         * lib/strftime.c: Update from libc.
133511 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
133513         * regex.c: More `unsigned char' -> `re_char' changes.
133514         Also change several `int' into `re_wchar_t'.
133515         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
133516         (PUSH_FAILURE_POINTER): Don't cast any more.
133517         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
133518         We want GCC to complain, since this piece of code makes
133519         re_match non-reentrant, which *should* be fixed.
133520         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
133521         (EXTEND_BUFFER): Use RETALLOC.
133522         (SET_LIST_BIT): Don't cast.
133523         (re_wchar_t): New type.
133524         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
133525         that those two functions will always properly return.
133526         (IMMEDIATE_QUIT_CHECK): Cast to void.
133527         (analyse_first): Use recursion rather than an explicit stack.
133528         (re_compile_fastmap): Can't fail anymore.
133529         (re_search_2): Don't check re_compile_fastmap for failure.
133530         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
133531         Now also sets the new value (passed in a new argument).
133532         (re_match_2_internal): Use it.
133533         Also, use a new var `reg' of type size_t when looping through regs
133534         rather than reuse the inappropriate `mcnt'.
133536 2000-10-25  Jim Meyering  <meyering@lucent.com>
133538         * lib/obstack.c: Update from libc.
133540 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
133542         * regex.c (regex_compile): Change the way of handling a range from
133543         a char less than 256 to a char not less than 256.
133545 2000-10-24  Andrew Innes  <andrewi@gnu.org>
133547         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
133548         NT-Emacs only.
133549         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
133550         so that re_search functions only quit when callers expect them to.
133552 2000-10-23  Jim Meyering  <meyering@lucent.com>
133554         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
133555         wrong.  That set_locale call must not have any side effects.
133556         From Paul Eggert.
133558 2000-10-22  Jim Meyering  <meyering@lucent.com>
133560         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
133561         [CYCLIC]: Remove now-unused definition.
133563         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
133564         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
133565         Suggestion from Ulrich Drepper.
133567 2000-10-21  Jim Meyering  <meyering@lucent.com>
133569         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
133570         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
133571         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
133573 2000-10-21  Jim Meyering  <meyering@lucent.com>
133575         * lib/dirname.c (memrchr): Declare if necessary.
133576         (dir_name): Remove the restriction that there be no
133577         trailing slashes.  Now, this code skips past them, effectively
133578         ignoring them.
133579         [TEST_DIRNAME] (main): New unit tests.
133581         * lib/memrchr.c: New file from GNU libc.
133582         Undef __memrchr, too.
133583         [!weak_alias]: Define __memrchr to memrchr.
133584         Guard weak_alias use with `#ifdef weak_alias'.
133586 2000-10-21  Jim Meyering  <meyering@lucent.com>
133588         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
133589         (dir_name): Use dir_name_r.
133590         * lib/dirname.h (dir_name_r): Declare it.
133592 2000-10-17  Jim Meyering  <meyering@lucent.com>
133594         * lib/quote.h (PARAMS): Define and use.
133595         Reported by Akim Demaille.
133597         * lib/getopt.c: Update from libc.
133599 2000-10-16  Jim Meyering  <meyering@lucent.com>
133601         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
133602         setlocale.
133603         From Jan Fedak.
133605 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
133607         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
133609 2000-09-25  Jim Meyering  <meyering@lucent.com>
133611         * lib/md5.h (rol): Define (from GnuPG).
133613         * lib/sha.c: Give credit (GnuPG) where due.
133614         (M): Use rol rather than open-coding it.
133615         Add a FIXME comment.
133617 2000-09-21  Jim Meyering  <meyering@lucent.com>
133619         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
133620         Reported by Michael Stone.
133622 2000-09-20  Jim Meyering  <meyering@lucent.com>
133624         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
133625         (noinst_HEADERS): Add sha.h.
133626         Based on code from Scott G. Miller and from GnuPG.
133628 2000-09-18  Jim Meyering  <meyering@lucent.com>
133630         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
133631         LIBS. Otherwise, everyone ends up linking with -lelf for some
133632         configurations.
133633         Reported by Mike Stone.
133635 2000-09-15  Jim Meyering  <meyering@lucent.com>
133637         * lib/regex.c: Update from libc.
133639 2000-09-10  Jim Meyering  <meyering@lucent.com>
133641         * lib/getopt.c (_getopt_internal): Update from glibc.
133643 2000-09-09  Jim Meyering  <meyering@lucent.com>
133645         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
133646         think it should be used as a general replacement for isascii.
133647         * lib/fnmatch.c: Likewise.
133648         * lib/mbswidth.c: Likewise
133649         * lib/regex.c: Likewise.
133651         Don't use atoi.
133652         * lib/userspec.c: Include sys/param.h and limits.h.
133653         Include xstrtol.h.
133654         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
133655         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
133656         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
133657         UID, GID.  Check range.
133659 2000-09-06  Jim Meyering  <meyering@lucent.com>
133661         * lib/getopt.c (_getopt_internal): Update from glibc.
133663 2000-08-30  Jim Meyering  <meyering@lucent.com>
133665         * lib/strftime.c: Merge in changes from GNU libc.
133667 2000-08-26  Jim Meyering  <meyering@lucent.com>
133669         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
133670         * m4/fpending.m4: New file.
133672 2000-08-26  Jim Meyering  <meyering@lucent.com>
133674         * lib/closeout.c: Include "__fpending.h".
133675         (close_stdout_status): Return right away if there's nothing to flush.
133677         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
133678         * lib/__fpending.c: New file.
133679         * lib/__fpending.h: New file.
133681 2000-08-20  Jim Meyering  <meyering@lucent.com>
133683         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
133684         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
133685         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
133687 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
133689         Improve fileutils installation on systems where running
133690         programs (like install) can't be unlinked.
133691         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
133692         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
133694 2000-08-07  Paul Eggert  <eggert@twinsun.com>
133696         Standardize on "memory exhausted" instead of "Memory exhausted"
133697         or "virtual memory exhausted".
133698         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
133699         "virtual memory exhausted".
133700         * lib/same.c (same_name): Invoke xalloc_die instead of printing
133701         our own message.
133702         * lib/userspec.c (parse_user_spec): Likewise.
133703         * lib/bumpalloc.h: comment fix
133704         * lib/same.c, userspec.c: Include xalloc.h.
133706         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
133707         not char *const and pointing to a constant array.
133708         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
133709         (xrealloc): Comment fix.
133711         * lib/userspec.c (parse_user_spec):
133712         Don't translate a message until just before returning,
133713         to avoid unnecessary translation.
133715 2000-08-07  Jim Meyering  <meyering@lucent.com>
133717         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
133718         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
133719         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
133720         getgroups.c, gethostname.c, getopt.h, group-member.c,
133721         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
133722         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
133723         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
133724         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
133725         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
133726         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
133727         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
133728         yesno.c: Back out Copyright date changes for each file with no change
133729         this year.  This eases coordination with other programs using the same
133730         source code modules.  From Paul Eggert.
133732 2000-08-06  Paul Eggert  <eggert@twinsun.com>
133734         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
133735         not char, for compatibility with glibc 2.1.3 strftime.c.
133737 2000-08-03  Greg McGary  <greg@mcgary.org>
133739         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
133740         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
133741         (EXTEND_BUFFER): Use them.
133743 2000-08-01  Jim Meyering  <meyering@lucent.com>
133745         * lib/dirname.c (ISSLASH): Define.
133746         (BACKSLASH_IS_PATH_SEPARATOR): Define.
133747         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
133748         both `\' and `/' may be use as path separators.
133749         Based on a patch from Prashant TR.
133751 2000-07-31  Paul Eggert  <eggert@twinsun.com>
133753         * lib/quotearg.c (quotearg_n_options): Don't make the initial
133754         slot vector a constant, since it might get modified.
133756 2000-07-31  Jim Meyering  <meyering@lucent.com>
133758         * lib/xmalloc.c: Use `virtual memory exhausted', not
133759         `Memory exhausted'.
133760         * lib/obstack.c (print_and_abort): Likewise.
133762 2000-07-30  Paul Eggert  <eggert@twinsun.com>
133764         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
133765         buffer, so that the caller can always quote one small
133766         component of a "memory exhausted" message in slot 0.
133767         From a suggestion by Jim Meyering.
133769 2000-07-30  Jim Meyering  <meyering@lucent.com>
133771         * lib/makepath.c (make_path): Quote the other instance, too.
133773         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
133774         (STATIC_BUF_SIZE): Define.
133775         (quotearg_n_options): Use only statically allocated storage when
133776         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
133777         than STATIC_BUF_SIZE.
133779 2000-07-29  Jim Meyering  <meyering@lucent.com>
133781         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
133782         * lib/dirname.c (dir_name): Likewise.
133784         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
133785         `/'.
133787         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
133788         (dir_name): Assert that there are no trailing slashes.
133790 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
133792         * lib/mbswidth.h (mbswidth): Add a flags argument.
133793         (mbswidth): New declaration.
133794         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
133795         * lib/mbswidth.c (mbswidth): Add a flags argument.
133796         (mbsnwidth): New function.
133798 2000-07-24  Jim Meyering  <meyering@lucent.com>
133800         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
133802 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133804         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
133806 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133808         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
133809         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
133810         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
133811         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
133812         invoke multibyte primitives.
133814 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133816         * lib/quotearg.c:
133817         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
133818         so that mbstate_t is always defined.
133820         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
133821         be 1 in at least one GCC installation, and this configuration
133822         error is likely to be common.  Ignoring MB_LEN_MAX hurts
133823         performance on hosts that have mbrtowc but have only unibyte
133824         locales, but I assume these hosts are rare.
133826 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133828         * lib/mbswidth.c (_XOPEN_SOURCE):
133829         Don't define; this causes problems on Solaris 7.
133830         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
133832 2000-07-23  Jim Meyering  <meyering@lucent.com>
133834         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
133835         too: getgrgid, getpwuid, getuid.
133837 2000-07-23  Jim Meyering  <meyering@lucent.com>
133839         * lib/basename.c (base_name): Add an assertion.
133841 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
133843         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
133844         shadow its mbsinit function.
133846 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
133848         * lib/mbswidth.h: New file.
133849         * lib/mbswidth.c: New file.
133850         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
133851         (noinst_HEADERS): Add mbswidth.h.
133853 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
133855         * lib/config.charset: Add support for FreeBSD. Improve support for
133856         HP-UX and IRIX 6.
133858 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
133860         * m4/mbswidth.m4: New file.
133861         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
133863 2000-07-15  Jim Meyering  <meyering@lucent.com>
133865         * lib/makepath.c: Include quote.h.
133866         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
133867         corresponding argument in a `quote (...)' call.
133868         Give better diagnostics.
133870         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
133871         (noinst_HEADERS): Add quote.h.
133873         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
133874         from tar's src/misc.c.
133875         * lib/quote.h: New file.  Prototypes for same.
133877 2000-07-14  Paul Eggert  <eggert@twinsun.com>
133879         From a suggestion by Bruno Haible.
133880         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
133881         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
133882         to decide whether to define the BeOS workaround macro;
133883         this adjusts to the change to AC_MBSTATE_T.
133885 2000-07-14  Jim Meyering  <meyering@lucent.com>
133887         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
133888         jm_AC_TYPE_UINTMAX_T.
133890 2000-07-13  Paul Eggert  <eggert@twinsun.com>
133892         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
133894         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
133895         quotearg_buffer_restyled): Add support for
133896         clocale_quoting_style.  Undo previous change to
133897         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
133898         and "{RIGHT QUOTATION MARK}" msgids.
133900 2000-07-10  Paul Eggert  <eggert@twinsun.com>
133902         From a suggestion by Bruno Haible.
133903         * m4/mbstate_t.m4 (AC_MBSTATE_T):
133904         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
133905         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
133906         and mbstate_t, to a single-part test that simply defines mbstate_t.
133907         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
133908         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
133910 2000-07-10  Jim Meyering  <meyering@lucent.com>
133912         * m4/strerror_r.m4: Mirror the correction made in autoconf.
133914         * m4/gnu-source.m4: Output to confdefs.h directly.
133915         Suggestion from Akim Demaille.
133917 2000-07-09  Paul Eggert  <eggert@twinsun.com>
133919         The old behavior of quoting `like this' doesn't look good with
133920         newer, ISO-style fonts.  See:
133921         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
133923         Instead, quote "like this" by default.  Let the translator
133924         tailor the locale-specific quoting behavior by providing
133925         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
133927         * lib/quotearg.c (N_): New macro.
133928         (gettext_default): New function.
133929         (quotearg_buffer_restyled): Use
133930         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
133931         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
133933 2000-07-09  Jim Meyering  <meyering@lucent.com>
133935         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
133936         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
133938         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
133939         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
133941 2000-07-09  Jim Meyering  <meyering@lucent.com>
133943         * lib/Most files: Update copyright dates to include 2000.
133945 2000-07-08  Jim Meyering  <meyering@lucent.com>
133947         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
133948         if not defined.
133949         (xgethostname): Remove now-unnecessary #ifdef.
133950         Move declaration of `err' into loop where it's used.
133952 2000-07-05  Paul Eggert  <eggert@twinsun.com>
133953         and Bruno Haible  <haible@clisp.cons.org>
133955         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
133956         only if the test for an object-type mbstate_t fails.  This
133957         prevents us from mistakenly reporting that mbstate_t is a
133958         system object type after we "#define mbstate_t int" to work
133959         around its lack.
133961 2000-07-05  Paul Eggert  <eggert@twinsun.com>
133962         and Bruno Haible  <haible@clisp.cons.org>
133964         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
133966 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
133968         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
133969         to strerror_r.
133970         Include <ctype.h> for use of isalpha.
133972 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
133974         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
133975         by allocating a larger buffer. Test the gethostname return value for
133976         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
133977         returns an error and ENAMETOOLONG isn't defined.
133979 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
133981         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
133982         dimension.
133984 2000-07-04  Jim Meyering  <meyering@lucent.com>
133986         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
133987         of the deprecated AC_CHECKING.
133989 2000-07-04  Jim Meyering  <meyering@lucent.com>
133991         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
133992         Reported by Bruno Haible.
133994 2000-07-04  Jim Meyering  <meyering@lucent.com>
133996         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
133997         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
133998         lacks mbrtowc.
134000 2000-07-03  Paul Eggert  <eggert@twinsun.com>
134002         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
134003         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
134005 2000-07-03  Paul Eggert  <eggert@twinsun.com>
134006         and Bruno Haible  <haible@clisp.cons.org>
134008         * lib/quotearg.c (mbrtowc):
134009         Assign to *pwc, and return 1 only if result is nonzero.
134010         (iswprint): Use ISPRINT when substituting our own mbrtowc.
134012 2000-07-03  Jim Meyering  <meyering@lucent.com>
134014         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
134016 2000-07-03  Jim Meyering  <meyering@lucent.com>
134018         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
134019         This is necessary to get a definition of e.g., UTMP_FILE on
134020         HP-UX 10.20.
134021         From Bob Proulx.
134023 2000-07-02  Jim Meyering  <meyering@lucent.com>
134025         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
134027         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
134028         AC_LIBOBJ(function_name).
134029         * m4/chown.m4: Likewise.
134030         * m4/fnmatch.m4: Likewise.
134031         * m4/ftruncate.m4: Likewise.
134032         * m4/getgroups.m4: Likewise.
134033         * m4/getline.m4: Likewise.
134034         * m4/group-member.m4: Likewise.
134035         * m4/jm-macros.m4: Likewise.
134036         * m4/lstat.m4: Likewise.
134037         * m4/malloc.m4: Likewise.
134038         * m4/memcmp.m4: Likewise.
134039         * m4/nanosleep.m4: Likewise.
134040         * m4/putenv.m4: Likewise.
134041         * m4/realloc.m4: Likewise.
134042         * m4/regex.m4: Likewise.
134043         * m4/stat.m4: Likewise.
134044         * m4/strftime.m4: Likewise.
134046 2000-07-02  Jim Meyering  <meyering@lucent.com>
134048         * lib/quotearg.c (mbstate_t): Don't define here.
134050 2000-07-02  Jim Meyering  <meyering@lucent.com>
134052         * lib/nanosleep.c (SIGCONT): Define if not already defined.
134054 2000-07-01  Jim Meyering  <meyering@lucent.com>
134056         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
134058 2000-07-01  Jim Meyering  <meyering@lucent.com>
134060         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
134061         problem.
134063 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
134065         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
134066         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
134068 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
134070         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
134071         per change in ../m4/ls-mntd-fs.m4.
134072         (read_filesystem_list): Ignore symbolic links.
134074 2000-06-29  Jim Meyering  <meyering@lucent.com>
134076         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
134077         for declaration of strcmp.
134079         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
134081         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
134082         Avoid warning by casting result to `char *' to remove `const'.
134084 2000-06-28  Jim Meyering  <meyering@lucent.com>
134086         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
134087         included by quotearg.c, for which we perform this test.  From
134088         Bruno Haible.
134090 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
134092         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
134093         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
134094         <utmpx.h> exists, put readutmp.o into LIBOBJS.
134096 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
134098         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
134100 2000-06-26  Paul Eggert  <eggert@twinsun.com>
134102         savedir now sets errno on failure and invokes xmalloc to get memory.
134103         Fix a couple of other minor bugs while we're at it.
134105         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
134106         (NAMLEN): Remove macro.
134107         (malloc, realloc): Remove decls.
134108         (stpcpy): Likewise.
134109         ("xalloc.h"): Include.
134110         (NAME_SIZE_DEFAULT): New macro.
134111         (savedir): Use xmalloc / xrealloc to allocate memory.
134112         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
134113         Skip "" directory entries.
134114         Use strlen to calculate directory entry length, since the old method
134115         is rarely used these days and isn't worth supporting.
134116         Don't use a pointer after freeing it.
134117         Check for integer overflow when calculating allocation size.
134118         Use memcpy to copy entries, instead of stpcpy.
134119         Set errno properly when returning NULL.
134120         Check for readdir error.
134122 2000-06-26  Jim Meyering  <meyering@lucent.com>
134124         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
134126 2000-06-25  Jim Meyering  <meyering@lucent.com>
134128         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
134129         Linux header bug when _XOPEN_SOURCE is defined to 500.
134131 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
134133         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
134134         deficiency.
134136 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
134138         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
134139         Include xalloc.h.
134140         Don't include <stdlib.h>.  Don't declare malloc, realloc.
134142 2000-06-24  Jim Meyering  <meyering@lucent.com>
134144         * m4/strerror_r.m4: Revive this file -- to try out an experimental
134145         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
134146         for which strerror does return char*, but which lacks a conveniently
134147         accessible declaration of the function.  If the compile-test says
134148         strerror_r doesn't work, then resort to a `run'-test that works on
134149         BeOS and segfaults on DEC Unix.
134151 2000-06-24  Jim Meyering  <meyering@lucent.com>
134153         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
134155 2000-06-23  Paul Eggert  <eggert@twinsun.com>
134157         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
134158         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
134160 2000-06-23  Paul Eggert  <eggert@twinsun.com>
134162         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
134163         (mbrtowc, mbstate_t): Define substitutes if
134164         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
134165         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
134166         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
134168 2000-06-23  Jim Meyering  <meyering@lucent.com>
134170         * m4/afs.m4: Add missing AC_MSG_RESULT.
134171         Reported by Bruno Haible.
134173         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
134174         Suggestion from Bruno Haible.
134176 2000-06-23  Jim Meyering  <meyering@lucent.com>
134178         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
134180 2000-06-21  Jim Meyering  <meyering@lucent.com>
134182         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
134184 2000-06-21  Jim Meyering  <meyering@lucent.com>
134186         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
134187         (noinst_HEADERS): Add getstr.h.
134189         * lib/getline.c (getstr): Move into a separate file.
134190         * lib/getstr.c (getstr): New file, extracted from getline.c, with
134191         the following changes: new parameter, delim2; both delim[12]
134192         parameters have type `int', not `char'.  The latter would lose
134193         with 8-bit delimiters.
134194         * lib/getstr.h: New file.
134196 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
134198         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
134199         than 1024, return a memory chunk of least possible size, instead
134200         of size PATH_MAX + 2. In the loop, increment the size proportionally.
134201         Use free/xmalloc instead of xrealloc to avoid copying for very long
134202         paths.
134204 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
134206         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
134207         the empty string.
134209 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
134211         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
134212         address, not strdup.  Include <stdlib.h> and don't declare free().
134214 2000-06-19  Jim Meyering  <meyering@lucent.com>
134216         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
134218 2000-06-18  Jim Meyering  <meyering@lucent.com>
134220         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
134222         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
134223         `checking whether...' message to be consistent with that of the
134224         lstat test.
134226 2000-06-18  Jim Meyering  <meyering@lucent.com>
134228         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
134229         Besides, these days every porting target provides a mkdir function.
134231         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
134232         needed. (this snippet comes from src/system.h).
134234 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
134236         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
134238 2000-06-15  Paul Eggert  <eggert@twinsun.com>
134240         * lib/human.c (adjust_value): New function.
134241         (human_readable_inexact): Apply rounding style even when
134242         printing approximate values.
134244 2000-06-14  Paul Eggert  <eggert@twinsun.com>
134246         * lib/human.c (human_readable_inexact): Allow an input block
134247         size that is not a multiple of the output block size, and vice versa.
134248         Reported by Piergiorgio Sartor.
134250 2000-06-14  Paul Eggert  <eggert@twinsun.com>
134252         * lib/getdate.y (get_date): Apply relative times after time
134253         zone indicator, not before.  Reported by Todd A. Jacobs.
134255 2000-06-13  Jim Meyering  <meyering@lucent.com>
134257         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
134259         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
134261 2000-06-12  Paul Eggert  <eggert@twinsun.com>
134263         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
134265 2000-06-12  Jim Meyering  <meyering@lucent.com>
134267         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
134268         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
134269         optional argument.
134270         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
134271         the optional argument, `lib'.
134273 2000-06-08  Jim Meyering  <meyering@lucent.com>
134275         * m4/largefile.m4: Remove file (now that it's part of autoconf).
134277 2000-06-04  Paul Eggert  <eggert@twinsun.com>
134279         Rewrite largefile configuration so that we don't need to run
134280         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
134281         AC_CANONICAL_HOST in configure.in -- jmm]
134283         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
134284         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
134285         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
134286         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
134287         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
134288         All uses changed.
134289         Instead of inspecting the output of getconf, try to compile the
134290         test program without and with the macro definition.
134291         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
134292         for getconf.  Instead, check for the needed flags by compiling
134293         test programs.
134295 2000-06-04  Paul Eggert  <eggert@twinsun.com>
134297         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
134299 2000-06-04  Jim Meyering  <meyering@lucent.com>
134301         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
134302         SunOS 4.1.4 for which gid_t is an unsigned type.
134304 2000-06-03  Jim Meyering  <meyering@lucent.com>
134306         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
134307         now that autoconf requires that.
134309         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
134310         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
134311         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
134313 2000-06-03  Jim Meyering  <meyering@lucent.com>
134315         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
134317 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
134319         * m4/glibc21.m4: New file.
134320         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
134322 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
134324         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
134325         newer, don't install charset.alias.
134326         * lib/config.charset: Change the Linux/glibc rules so they become empty
134327         on glibc-2.1 or newer.
134329 2000-06-02  Jim Meyering  <meyering@lucent.com>
134331         * lib/mountlist.c: Back out last change.  Instead, do this...
134332         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
134333         me_dummy member using the same `ignore'-testing code.
134334         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
134335         fs_type strings.
134336         From Mark D. Roth.
134338 2000-05-29  Jim Meyering  <meyering@lucent.com>
134340         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
134341         mounts with the `ignore' attribute.  Based on a patch from
134342         Mark D. Roth.
134344 2000-05-28  Jim Meyering  <meyering@lucent.com>
134346         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
134347         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
134348         * m4/stat.m4: Likewise.
134349         * m4/lstat.m4: Likewise.
134350         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
134352         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
134353         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
134355 2000-05-26  Jim Meyering  <meyering@lucent.com>
134357         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
134359 2000-05-24  Jim Meyering  <meyering@lucent.com>
134361         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
134362         autoconf requires that.
134363         * m4/lib-check.m4: Likewise.
134364         * m4/jm-macros.m4: Likewise.
134365         * m4/strftime.m4: Likewise.
134367         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
134368         AC_CHECK_DECLS, now that autoconf requires that.
134370 2000-05-22  Jim Meyering  <meyering@lucent.com>
134372         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
134373         * m4/lstat.m4: Likewise.
134375 2000-05-22  Jim Meyering  <meyering@lucent.com>
134377         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
134379 2000-05-20  Jim Meyering  <meyering@lucent.com>
134381         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
134382         (jm_PREREQ): Use it.
134384 2000-05-18  Jim Meyering  <meyering@lucent.com>
134386         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
134387         back, too, since it may have been modified by allocate_entry.
134388         (hash_delete): Rewrite to use neither the assignment operator
134389         nor the comma operator in an if-expression.
134391 2000-05-15  Paul Eggert  <eggert@twinsun.com>
134393         * lib/closeout.c:
134394         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
134395         Remove; no longer needed.
134396         "quotearg.h": Add include.
134397         (file_name): Do not bother to explicitly initialize to NULL; it's less
134398         efficient on some hosts.
134399         (close_stdout_status): Remove test as to whether stdout was already
134400         closed; it breaks for the case "echo x | sort >&-".
134401         Quote file name colons.
134402         Do not assume that _("write error") lacks format strings.
134404 2000-05-15  Jim Meyering  <meyering@lucent.com>
134406         * lib/version-etc.c (version_etc_copyright): Update the copyright
134407         string used in all --version output.
134409 2000-05-14  Jim Meyering  <meyering@lucent.com>
134411         * lib/closeout.c (close_stdout_set_file_name): New function.
134412         (close_stdout_status): Use new file-scoped global.
134413         Return right away if fstat says the stdout file descriptor is invalid.
134414         * lib/closeout.h (close_stdout_set_file_name): Declare.
134416 2000-05-10  Jim Meyering  <meyering@lucent.com>
134418         * lib/closeout.c [default_exit_status]: New file-scoped variable.
134419         (close_stdout_set_status): New function.
134420         * lib/closeout.h (close_stdout_set_status): Declare.
134422 2000-05-09  Jim Meyering  <meyering@lucent.com>
134424         * m4/gettext.m4: Rename this...
134425         * m4/libintl.m4: ...to this.
134427 2000-05-08  Jim Meyering  <meyering@lucent.com>
134429         * lib/long-options.c: Don't include closeout.h.
134430         (parse_long_options): Don't call close_stdout for --version.
134432 2000-05-06  Paul Eggert  <eggert@twinsun.com>
134434         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
134435         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
134436         2.1.3 bug.  This avoids a clash when files like regex.c define
134437         _GNU_SOURCE.
134439 2000-05-06  Jim Meyering  <meyering@lucent.com>
134441         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
134442         (AC_REPLACE_FUNCS): Add strnlen.
134444         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
134445         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
134447         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
134448         AC_SEARCH_LIBS call for nanosleep.
134449         (LIB_NANOSLEEP): Set and AC_SUBST.
134451 2000-05-06  Jim Meyering  <meyering@lucent.com>
134453         * lib/strnlen.c: Undefine __strnlen and strnlen.
134454         [!weak_alias]: Define __strnlen to strnlen.
134456         * lib/atexit.c: New file, from libiberty.
134458 2000-05-06  Jim Meyering  <meyering@lucent.com>
134460         * lib/closeout.c (close_stdout_status): Also check for errors on the
134461         stderr stream.
134463 2000-05-05  Jim Meyering  <meyering@lucent.com>
134465         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
134466         AC_SEARCH_LIBS call for clock_gettime.
134467         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
134469         * m4/search-libs.m4: Update from autoconf.
134471         su doesn't work on Solaris 2.6.
134472         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
134473         <shadow.h>.  Reported by Dragos Harabor.
134475 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
134477         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
134478         memcpy instead of xmalloc, xrealloc, path_concat.
134479         (locale_charset): Treat empty environment variables as absent.
134480         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
134482 2000-05-04  Jim Meyering  <meyering@lucent.com>
134484         * lib/getopt.c: Update from glibc.
134485         * lib/obstack.c: Likewise.
134486         * lib/obstack.h: Likewise.
134487         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
134488         file
134490         * lib/regex.h: Likewise.
134491         * lib/strndup.c: Likewise.
134492         * lib/strnlen.c: New file, from glibc.
134494 2000-05-03  Jim Meyering  <meyering@lucent.com>
134496         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
134498 2000-05-02  Paul Eggert  <eggert@twinsun.com>
134500         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
134501         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
134502         compile-time test, rather than inspecting host and OS, to
134503         decide whether to define _LARGEFILE_SOURCE.
134505 2000-05-01  Jim Meyering  <meyering@lucent.com>
134507         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
134509         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
134510         Based on a patch from Bruno Haible.
134512 2000-05-01  Jim Meyering  <meyering@lucent.com>
134514         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
134516 2000-04-29  Jim Meyering  <meyering@lucent.com>
134518         * lib/path-concat.c: Declare strdup only if it's not defined.
134519         * lib/canon-host.c: Likewise.
134521 2000-04-28  Jim Meyering  <meyering@lucent.com>
134523         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
134524         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
134525         is included first, then limits.h is included by locale.h by libintl.h.
134526         From John David Anglin.
134528 2000-04-25  Jim Meyering  <meyering@lucent.com>
134530         * lib/makepath.c (S_IRWXUGO): Define.
134531         (make_path): Always perform explicit chmod if MODE specifies any
134532         of the `special' permission bits.  Prompted by a bug report against
134533         install from Mate Wierdl and Joost van Baal.
134535 2000-04-18  Jim Meyering  <meyering@lucent.com>
134537         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
134538         (jm_PREREQ): Use it.
134540 2000-04-18  Jim Meyering  <meyering@lucent.com>
134542         * lib/README: New file.
134544         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
134545         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
134547 2000-04-17  Jim Meyering  <meyering@lucent.com>
134549         Get it right :-)
134550         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
134551         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
134552         Suggestion from Akim Demaille.
134554 2000-04-17  Jim Meyering  <meyering@lucent.com>
134556         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
134557         the definition of it to rpl_strftime also defined-away the system's
134558         declaration.
134560 2000-04-15  Jim Meyering  <meyering@lucent.com>
134562         Use `C' to denote so-called `contiguous' files, the same way
134563         that tar does.
134564         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
134565         (ftypelet): Use S_ISCTG.
134566         From Michael Deutschmann.
134568 2000-04-14  Jim Meyering  <meyering@lucent.com>
134570         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
134571         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
134572         clobbered.
134574 2000-04-14  Jim Meyering  <meyering@lucent.com>
134576         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
134578 2000-04-13  Jim Meyering  <meyering@lucent.com>
134580         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
134581         AH_VERBATIM to insert required #ifndef into config.h.in.
134582         Suggestion from Akim Demaille.
134584 2000-04-12  Jim Meyering  <meyering@lucent.com>
134586         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
134587         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
134588         Christian Krackowizer.
134590         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
134591         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
134592         (AC_SYS_LARGEFILE): Require.
134593         (AM_C_PROTOTYPES): Require.
134595 2000-04-08  Jim Meyering  <meyering@lucent.com>
134597         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
134598         names don't conflict.  Reported by Eli Zaretskii.
134600 2000-04-07  Jim Meyering  <meyering@lucent.com>
134602         * lib/putenv.c: Move inclusion of errno.h so it follows that of
134603         sys/types.h, to work around system header problems on AIX 3.2.5.
134604         From Bruno Haible.
134606 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
134608         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
134609         bug.  Deal with the different error behavior of Irix iconv.
134611 2000-04-05  Paul Eggert  <eggert@twinsun.com>
134613         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
134614         IRIX if the installer said otherwise.
134616 2000-04-05  Jim Meyering  <meyering@lucent.com>
134618         Portability tweaks required for ultrix4.3.
134619         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
134620         (jm_CHECK_DECLS): Add getutent to the list of functions.
134621         (_jm_DECL_HEADERS): Add utmpx.h.
134622         From John David Anglin.
134624         * m4/strftime.m4: Back out the 2000-04-02 change.
134625         Instead of that change, simply undefine putenv in the test program.
134627 2000-04-05  Jim Meyering  <meyering@lucent.com>
134629         Portability tweaks required for ultrix4.3.
134630         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
134631         getutent.
134632         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
134633         * lib/canon-host.c: Declare strdup.
134634         * lib/path-concat.c: Likewise.
134635         From John David Anglin.
134637 2000-04-04  Jim Meyering  <meyering@lucent.com>
134639         Be more DOS 8.3-friendly.
134640         * lib/ref-add.sin: Renamed from ref-add.sed.in.
134641         * lib/ref-del.sin: Renamed from ref-del.sed.in.
134642         * lib/Makefile.am: Reflect renaming.
134643         Reported by Eli Zaretskii.
134645         Use a temporary file name that won't clash with `charset.alias'
134646         in the DOS 8.3 name space.
134647         * lib/Makefile.am (charset_tmp): Define.
134648         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
134649         (uninstall-local): Likewise.
134650         Reported by Eli Zaretskii.
134652 2000-04-03  Jim Meyering  <meyering@lucent.com>
134654         * m4/gettext.m4: Fix typo in comment.
134656         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
134657         textutils/configure.in).  Suggestion from Paul Eggert.
134658         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
134660 2000-04-02  Paul Eggert  <eggert@twinsun.com>
134662         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
134663         variable in the shell rather than using putenv, which isn't
134664         portable.  This avoids the configure-time inter-test dependency
134665         on the potentially-renamed putenv function.
134667 2000-03-30  Paul Eggert  <eggert@twinsun.com>
134669         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
134670         before checking struct stat.st_blksize, so that
134671         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
134673 2000-03-29  Paul Eggert  <eggert@twinsun.com>
134675         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
134676         since strftime.c uses HAVE_STRFTIME to decide whether to use
134677         the underlying strftime.
134679 2000-03-29  Paul Eggert  <eggert@twinsun.com>
134681         * lib/time/strftime.c (my_strftime): Make sure we call the system
134682         strftime, not ourselves, when invoking the underlying strftime.
134684 2000-03-24  Jim Meyering  <meyering@lucent.com>
134686         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
134687         (charset_alias): Define.
134688         (install-exec-local): Factor out common code.
134689         (uninstall-local): Split lines longer than 80.
134690         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
134691         (SUFFIXES): Define.
134692         (.sed.in.sed): New rule.  Don't redirect directly to $@.
134693         (CLEANFILES): Add ref-add.sed and ref-del.sed.
134695 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
134697         * lib/config.charset: Output a line containing "Packages using this
134698         file".
134699         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
134700         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
134701         ref-del.sed): New rules.
134703 2000-03-17  Jim Meyering  <meyering@lucent.com>
134705         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
134706         Otherwise, include <strings.h>
134708 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
134710         * lib/unicodeio.c (utf8_wctomb): New function.
134711         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
134712         format instead of in UCS-4 with platform dependent endianness.
134714 2000-03-10  Jim Meyering  <meyering@lucent.com>
134716         * m4/lib-check.m4: Look for getspnam in -lgen, too.
134717         From Marco Franzen.
134719 2000-03-07  Paul Eggert  <eggert@twinsun.com>
134721         * lib/savedir.c (savedir): Work even if directory size is
134722         negative; this can happen with some screwy NFS configurations.
134724 2000-03-06  Jim Meyering  <meyering@lucent.com>
134726         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
134727         if it's NULL (because we ran out of memory).  From Bruno Haible.
134729 2000-03-05  Jim Meyering  <meyering@lucent.com>
134731         * lib/localcharset.c ("path-concat.h"): Include.
134732         (get_charset_aliases): Use path_concat instead of ANSI string
134733         concatenation.
134735         * lib/unicodeio.h (PARAMS): Define.
134736         Use it to guard prototype.
134738 2000-03-04  Jim Meyering  <meyering@lucent.com>
134740         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
134741         for lib/localcharset.c.
134743 2000-03-04  Jim Meyering  <meyering@lucent.com>
134745         * lib/Makefile.am (install-exec-local): Create $(libdir) before
134746         installing into it.
134747         (uninstall-local): Uncomment this rule so `make distcheck' works
134748         once again.
134750         * lib/unicodeio.c (<errno.h>): Include it.
134751         (errno): Declare if not defined.
134753         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
134755         * lib/config.charset: New version, incorporating remarks from a linux
134756         i18n mailing list.  From Bruno Haible.
134758 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
134760         * m4/codeset.m4: New file.
134761         * m4/iconv.m4: New file.
134762         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
134764 2000-03-03  Jim Meyering  <meyering@lucent.com>
134766         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
134768 2000-03-02  Jim Meyering  <meyering@lucent.com>
134770         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
134771         the messages come out on separate lines.
134773         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
134774         rather than jm_CHECK_DECLARATIONS.
134775         * m4/decl.m4: Remove now-unused file.
134777         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
134778         geteuid.
134780 2000-03-02  Jim Meyering  <meyering@lucent.com>
134782         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
134784 2000-03-01  Jim Meyering  <meyering@lucent.com>
134786         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
134787         * lib/unicodeio.c: Likewise.
134789 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
134791         * lib/config.charset: New file.
134792         * lib/localcharset.c: New file.
134793         * lib/unicodeio.h, lib/unicodeio.c: New files.
134794         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
134795         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
134796         (noinst_HEADERS): Add unicodeio.h.
134797         (all-local, install-exec-local, charset.alias): New targets.
134799 2000-02-28  Paul Eggert  <eggert@twinsun.com>
134801         * lib/quotearg.c (ALERT_CHAR): New macro.
134802         (quotearg_buffer_restyled): Use it.
134804 2000-02-27  Jim Meyering  <meyering@lucent.com>
134806         * m4/check-decl.m4: Add getenv to the list.
134808 2000-02-27  Jim Meyering  <meyering@lucent.com>
134810         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
134811         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
134813         * lib/backupfile.c: Guard inclusion of stdlib.h with
134814         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
134815         Declare malloc if needed.
134817         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
134818         `#ifndef HAVE_DECL..'
134819         now that autoconf always defines the HAVE_DECL_ symbols.
134820         * lib/human.c: Likewise.
134821         * lib/same.c: Likewise.
134822         * lib/strtoumax.c: Likewise.
134824         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
134825         declaration check was not run.
134826         * lib/hash.c: Likewise.
134827         * lib/human.c: Likewise.
134828         * lib/same.c: Likewise.
134829         * lib/strtoumax.c: Likewise.
134831         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
134832         `.', then first look up the entire `.'-containing string as a login
134833         name.
134835 2000-02-23  Jim Meyering  <meyering@lucent.com>
134837         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
134838         in place of my hack.
134840 2000-02-18  Paul Eggert  <eggert@twinsun.com>
134842         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
134843         (textint): New typedef.
134844         (parser_control): Member year changed from int to textint.
134845         All uses changed.
134846         (YYSTYPE): Removed; replaced by %union with int and textint members.
134847         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
134848         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
134849         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
134850         (tSNUMBER, tUNUMBER): Now of type <textintval>.
134851         (date, number, to_year): Use width of number in digits, not its value,
134852         to determine whether it's a 2-digit year, or a 2-digit time.
134853         (yylex): Store number of digits of numeric tokens.
134854         Reported by John Kendall.
134856         (parser_control): Changed from struct parser_control to typedef (for
134857         consistency).  All uses changed.
134859         (tID): Removed; not used.
134860         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
134862 2000-02-14  Paul Eggert  <eggert@twinsun.com>
134864         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
134865         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
134867 2000-02-12  Jim Meyering  <meyering@lucent.com>
134869         * lib/userspec.c (ISDIGIT): Define it.
134870         (isdigit): Remove definition.
134871         (is_number): Use ISDIGIT, not isdigit.
134872         <libintl.h>: Include.
134873         (_ and N_): Define.
134874         (parse_user_spec): Mark translatable strings.
134876 2000-02-10  Jim Meyering  <meyering@lucent.com>
134878         With these changes, nanosleep.[ch] are finally enough like the other
134879         lib/* replacement files to compile on a few more losing systems.
134881         * lib/nanosleep.h: Don't include config.h.
134882         Remove prototype from declaration of nanosleep.
134883         (PARAMS): Remove now-unneeded definition.
134884         * lib/nanosleep.c: #undef nanosleep.
134885         (rpl_nanosleep): Rename from nanosleep.
134887 2000-02-10  Jim Meyering  <meyering@lucent.com>
134889         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
134890         gnu_nanosleep to rpl_nanosleep.
134892 2000-02-09  Jim Meyering  <meyering@lucent.com>
134894         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
134895         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
134897 2000-02-08  Akim Demaille  <akim@epita.fr>
134899         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
134900         `[' and `]' and remove uses of `changequote'.
134901         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
134902         (AC_SYS_LARGEFILE): Likewise.
134903         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
134904         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
134905         of changequote.
134906         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
134907         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
134908         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
134909         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
134911 2000-02-05  Jim Meyering  <meyering@lucent.com>
134913         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
134914         Remove explicit use of AC_HEADER_TIME.  It is required by
134915         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
134916         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
134917         in autoconf whereby the expansion of the latter ended up preceding
134918         the expansion of its prerequisite, AC_HEADER_TIME.
134919         Reported by Volker Borchert.
134921 2000-02-03  Jim Meyering  <meyering@lucent.com>
134923         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
134925 2000-02-03  Jim Meyering  <meyering@lucent.com>
134927         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
134928         rather than with `#if HAVE_UTMPNAME'.
134930 2000-02-02  Jim Meyering  <meyering@lucent.com>
134932         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
134933         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
134934         Reported by Eli Zaretskii.
134936 2000-02-01  Jim Meyering  <meyering@lucent.com>
134938         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
134940 2000-01-31  Jim Meyering  <meyering@lucent.com>
134942         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
134943         functions.  Add the time.h and sys/time.h headers along with the
134944         AC_REQUIRE'ment of AC_HEADER_TIME.
134946 2000-01-31  Jim Meyering  <meyering@lucent.com>
134948         * lib/nanosleep.h (nanosleep): Guard declaration with
134949         `#if ! HAVE_DECL_NANOSLEEP'.
134950         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
134951         the declaration in that vendor's sys/timers.h.
134952         Reported by Christian Krackowizer.
134954         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
134955         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
134956         (ISPRINT): Likewise.
134957         Reported by Tom Tromey.
134959 2000-01-30  Jim Meyering  <meyering@lucent.com>
134961         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
134963         * m4/prereq.m4 (utmp_includes): Define.
134964         Check for ut_user and ut_name members in both struct utmpx
134965         and struct utmp.
134967 2000-01-30  Jim Meyering  <meyering@lucent.com>
134969         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
134970         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
134971         header files where only utmpx.ut_user is declared.
134973         * lib/readutmp.h (UT_USER): Define.
134975 2000-01-29  Jim Meyering  <meyering@lucent.com>
134977         * m4/lib-check.m4: New file containing library-related checks from
134978         fileutils and sh-utils (textutils had none).
134980 2000-01-28  Jim Meyering  <meyering@lucent.com>
134982         * m4/perl.m4: Change format of warning message to look more like that
134983         from the missing script.  Suggestion from François Pinard.
134985 2000-01-25  Jim Meyering  <meyering@lucent.com>
134987         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
134988         well as time.h in the compile check.
134989         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
134990         Fix typo in cross-compiling case: s/yes/no/.
134992 2000-01-23  Jim Meyering  <meyering@lucent.com>
134994         * m4/jm-macros.m4: Move df-related tests here from
134995         fileutils/configure.in
134997         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
134998         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
135000         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
135001         s/space/ac_fsusage_space/.
135002         (jm_FILE_SYSTEM_USAGE): Take two parameters.
135004         * m4/ftruncate.m4: New file (derived from part of
135005         fileutils/configure.in).
135006         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
135007         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
135009         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
135010         AC_SUBST these here, rather than just in sh-util/configure.in, so
135011         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
135012         all the same.
135013         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
135014         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
135015         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
135016         (AC_SUBST(POW_LIBM)): Likewise.
135017         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
135019 2000-01-23  Jim Meyering  <meyering@lucent.com>
135021         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
135022         obstack.c.
135024 2000-01-22  Jim Meyering  <meyering@lucent.com>
135026         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
135028         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
135030         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
135031         configure.in
135032         (AC_CHECK_HEADERS): Likewise for sh-utils.
135033         (AC_CHECK_HEADERS): Likewise for textutils.
135034         Merge the three lists of headers.
135036         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
135037         from fileutils' configure.in.
135039         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
135040         code. Moved tests into their own function (_jm_DECL_HEADERS) in
135041         check-decl.m4.
135043         * m4/check-decl.m4: Use #if rather than #ifdef.
135044         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
135045         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
135046         (_jm_DECL_HEADERS): Define new function.
135047         (jm_CHECK_DECLARATIONS): Require it.
135049 2000-01-22  Jim Meyering  <meyering@lucent.com>
135051         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
135052         [! HAVE_DECL_STRTOULL]: Declare strtoull.
135053         Required for some AIX systems.  Reported by Christian Krackowizer.
135054         [TESTING] (main): New function.
135056         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
135057         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
135058         letters.
135060         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
135061         iswprint.
135063         * lib/strverscmp.c (ISDIGIT): Define.
135064         (strverscmp): Use ISDIGIT, not isdigit.
135066 2000-01-19  Jim Meyering  <meyering@lucent.com>
135068         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
135069         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
135070         defines `struct timespec' in <sys/time.h>
135072         * m4/c-bs-a.m4: Remove uses of changequote altogether.
135073         Thanks to Akim for explaining.
135075 2000-01-17  Paul Eggert  <eggert@twinsun.com>
135077         * lib/nanosleep.c (nanosleep):
135078         Don't use SA_INTERRUPT to decide whether to call sigaction, as
135079         POSIX.1 doesn't require SA_INTERRUPT and some systems
135080         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
135081         it's been part of POSIX.1 since day 1 (in 1988).
135083 2000-01-17  Jim Meyering  <meyering@lucent.com>
135085         * lib/interlock: Remove unused file.  Reported by François Pinard.
135087 2000-01-16  Paul Eggert  <eggert@twinsun.com>
135089         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
135090         alert, backslash, formfeed, and vertical tab unnecessarily in
135091         shell quoting style.
135093 2000-01-16  Jim Meyering  <meyering@lucent.com>
135095         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
135096         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
135097         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
135098         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
135100 2000-01-16  Jim Meyering  <meyering@lucent.com>
135102         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
135103         because the latter didn't work.
135105 2000-01-15  Jim Meyering  <meyering@lucent.com>
135107         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
135108         (AC_REPLACE_FUNCS): Add memcpy and memset.
135109         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
135110         Add strpbrk.
135111         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
135113 2000-01-12  Jim Meyering  <meyering@lucent.com>
135115         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
135116         (jm_PREREQ): Use it.
135117         (jm_PREREQ_READUTMP): New macro.
135118         (jm_PREREQ): Use it.
135120 2000-01-11  Paul Eggert  <eggert@twinsun.com>
135122         Quote multibyte characters correctly.
135123         * m4/c-bs-a.m4: New file.
135124         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
135125         (jm_PREREQ): Use it.
135127 2000-01-11  Paul Eggert  <eggert@twinsun.com>
135129         * m4/uintmax_t.m4: Port to autoconf 2.13.
135131 2000-01-08  Jim Meyering  <meyering@ascend.com>
135133         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
135134         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
135136 2000-01-04  Jim Meyering  <meyering@ascend.com>
135138         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
135139         jm_STRUCT_DIRENT_D_TYPE.
135140         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
135141         jm_STRUCT_DIRENT_D_INO.
135142         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
135143         jm_STRUCT_UTIMBUF.
135144         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
135145         renamings.
135146         * m4/utime.m4: Likewise.
135148         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
135149         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
135151 2000-01-03  Paul Eggert  <eggert@twinsun.com>
135153         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
135154         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
135156 2000-01-02  Jim Meyering  <meyering@ascend.com>
135158         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
135159         remember if this is necessary.
135161 1999-12-26  Jim Meyering  <meyering@ascend.com>
135163         * m4/jm-macros.m4: Use it here.
135164         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
135166 1999-12-23  Jim Meyering  <meyering@ascend.com>
135168         * m4/jm-macros.m4: Check for clock_gettime (moved from
135169         fileutils/configure.in)
135170         Check for gettimeofday.
135172 1999-12-20  Jim Meyering  <meyering@ascend.com>
135174         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
135175         autoconf-2.14a-1999-12-20.
135177 1999-12-19  Jim Meyering  <meyering@ascend.com>
135179         * m4/lstat-slash.m4: New file.
135180         * m4/jm-macros.m4: Use the new macro:
135181         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
135183 1999-12-07  Jim Meyering  <meyering@ascend.com>
135185         * m4/perl.m4: Require that File::Compare be available, too.
135186         Too many systems seem to lack it.
135188         * m4/strftime.m4: Add checks for most of the cpp macros tested in
135189         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
135191 1999-11-18  Paul Eggert  <eggert@twinsun.com>
135193         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
135194         problem with the QNX 4.25 shell, which doesn't propagate exit
135195         status of failed commands inside shell assignments.
135197 1999-11-17  Jim Meyering  <meyering@ascend.com>
135199         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
135201 1999-11-07  Jim Meyering  <meyering@ascend.com>
135203         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
135205 1999-11-06  Jim Meyering  <meyering@ascend.com>
135207         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
135208         * m4/jm-macros.m4 (jm_MACROS): Use it here.
135210 1999-11-05  Jim Meyering  <meyering@ascend.com>
135212         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
135213         configure.in of textutils, fileutils, and sh-utils into this one
135214         (shared between those packages) file.
135215         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
135216         AC_STRUCT_ST_BLKSIZE.
135218 1999-11-03  Jim Meyering  <meyering@ascend.com>
135220         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
135221         of AC_CHECK_TYPE checks includes unistd.h.
135222         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
135223         Suggestion from Akim Demaille.
135225 1999-10-30  Jim Meyering  <meyering@ascend.com>
135227         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
135228         m4-quoted string.
135229         * m4/ls-mntd-fs.m4: Likewise.
135230         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
135231         * m4/jm-winsz1.m4: Likewise.
135233         * m4/const.m4: Remove file, since the fix made it into the experimental
135234         version of autoconf.
135235         * m4/mktime.m4: Likewise.
135237         * m4/check-type.m4: Remove file, now that the latest version of
135238         AC_CHECK_TYPE takes a third arg to specify additional #includes.
135240         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
135241         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
135242         AC_CHECK_TYPE.
135244 1999-10-04  Jim Meyering  <meyering@ascend.com>
135246         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
135248 1999-09-22  Paul Eggert  <eggert@twinsun.com>
135250         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
135251         2.95.1 bug with HP-UX 10.20.
135253 1999-09-17  Jim Meyering  <meyering@ascend.com>
135255         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
135256         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
135257         due to missing strdup (against sh-utils-2.0).
135259 1999-08-29  Jim Meyering  <meyering@ascend.com>
135261         * m4/jm-macros.m4: Require jm_BISON.
135262         * m4/bison.m4: New file.
135264 1999-08-17  Paul Eggert  <eggert@twinsun.com>
135266         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
135267         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
135269 1999-08-05  Jim Meyering  <meyering@ascend.com>
135271         * m4/getline.m4: Rename test file from conftestdata to conftest.data
135272         to avoid conflicts with `conftest' on 8+3 filesystems.
135273         Suggestion from Eli Zaretskii.
135275 1999-08-04  Jim Meyering  <meyering@ascend.com>
135277         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
135278         fileutils and sh-utils (textutils's getline test was inadequate).
135279         (AM_FUNC_GETLINE): Run this test.
135280         (AC_CHECK_FUNCS): Check for getdelim.
135281         Reported by Bob Proulx.
135283 1999-08-02  Jim Meyering  <meyering@ascend.com>
135285         * m4/jm-macros.m4: Add a comment.
135287 1999-08-01  Paul Eggert  <eggert@twinsun.com>
135289         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
135290         <inttypes.h> defines strtoumax as a macro (and not as a
135291         function).
135293 1999-08-01  Paul Eggert  <eggert@twinsun.com>
135295         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
135296         that we can shift, multiply and divide unsigned long long
135297         values; Ultrix cc can't do it.
135299 1999-08-01  Paul Eggert  <eggert@twinsun.com>
135301         * m4/mktime.m4: New file, which is a preview of what should appear
135302         in the next public autoconf release.
135304 1999-08-01  Paul Eggert  <eggert@twinsun.com>
135306         * m4/lfs.m4: Remove this file.
135307         * m4/largefile.m4: New file.  It contains the old contents of
135308         lfs.m4, except that all names with prefix AC_LFS have been
135309         changed to use the prefix AC_SYS_LARGEFILE instead, to be
135310         compatible with future autoconf versions.  Also, some minor m4
135311         quoting problems have been fixed.
135313 1999-08-01  Paul Eggert  <eggert@twinsun.com>
135315         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
135316         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
135317         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
135318         and simplify the shell code.
135320 1999-08-01  Jim Meyering  <meyering@ascend.com>
135322         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
135323         m4.
135325 1999-07-20  Jim Meyering  <meyering@ascend.com>
135327         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
135329 1999-07-15  Jim Meyering  <meyering@ascend.com>
135331         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
135333 1999-05-22  Jim Meyering  <meyering@ascend.com>
135335         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
135337 1999-05-20  Jim Meyering  <meyering@ascend.com>
135339         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
135340         Add a colon after each `then' in case $4 is empty.
135342 1999-05-16  Jim Meyering  <meyering@ascend.com>
135344         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
135346 1999-05-10  Jim Meyering  <meyering@ascend.com>
135348         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
135350         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
135351         AC_FUNC_MKTIME.
135353 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
135355         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
135357 1999-05-04  Paul Eggert  <eggert@twinsun.com>
135359         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
135360         not CPPFLAGS, so that linking works correctly in IRIX.
135362 1999-04-30  Paul Eggert  <eggert@twinsun.com>
135364         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
135366 1999-04-20  Paul Eggert  <eggert@twinsun.com>
135368         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
135369         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
135370         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
135371         jm_AC_TYPE_UNSIGNED_LONG_LONG.
135372         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
135374         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
135376 1999-04-20  Jim Meyering  <meyering@ascend.com>
135378         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
135379         AC_REPLACE xstroull if necessary.  From Paul Eggert.
135380         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
135382 1999-04-18  Jim Meyering  <meyering@ascend.com>
135384         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
135385         * m4/jm-macros.m4: Use it.
135387 1999-04-06  Jim Meyering  <meyering@ascend.com>
135389         * m4/strftime.m4: Remove test for %f.
135391 1999-03-29  Jim Meyering  <meyering@ascend.com>
135393         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
135394         superset of the AC_TYPE_* checks in the textutils, fileutils,
135395         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
135396         AC_TYPE_PID_T.
135398 1999-03-28  Jim Meyering  <meyering@ascend.com>
135400         * m4/jm-macros.m4: Define GNU_PACKAGE here.
135401         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
135402         replaced e.g., in the *.sh files of the sh-utils.
135404 1999-03-20  Jim Meyering  <meyering@ascend.com>
135406         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
135407         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
135408         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
135410 1999-03-19  Jim Meyering  <meyering@ascend.com>
135412         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
135414 1999-03-12  Jim Meyering  <meyering@ascend.com>
135416         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
135418 1999-03-07  Jim Meyering  <meyering@ascend.com>
135420         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
135421         declared.
135423 1999-02-17  Jim Meyering  <meyering@ascend.com>
135425         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
135426         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
135428 1999-02-07  Jim Meyering  <meyering@ascend.com>
135430         * m4/group-member.m4: New file -- extracted from sh-utils'
135431         configure.in.
135433         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
135434         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
135436 1999-02-06  Jim Meyering  <meyering@ascend.com>
135438         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
135439         * m4/fnmatch.m4: Likewise.
135440         * m4/getgroups.m4: Likewise.
135441         * m4/lstat.m4: Likewise.
135442         * m4/malloc.m4: Likewise.
135443         * m4/putenv.m4: Likewise.
135444         * m4/realloc.m4: Likewise.
135445         * m4/regex.m4: Likewise.
135446         * m4/stat.m4: Likewise.
135447         * m4/strftime.m4: Likewise.
135448         Suggestion from Alain Magloire.
135450         * m4/chown.m4: Use `.$ac_objext', not `.o'.
135451         * m4/fnmatch.m4: Likewise.
135452         * m4/getgroups.m4: Likewise.
135453         * m4/getline.m4: Likewise.
135454         * m4/lstat.m4: Likewise.
135455         * m4/malloc.m4: Likewise.
135456         * m4/memcmp.m4: Likewise.
135457         * m4/putenv.m4: Likewise.
135458         * m4/realloc.m4: Likewise.
135459         * m4/regex.m4: Likewise.
135460         * m4/stat.m4: Likewise.
135461         * m4/strftime.m4: Likewise.
135462         Suggestion from Alain Magloire.
135464         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
135465         an argument.
135467         * m4/regex.m4: Add a run-time Test for proper operation of
135468         re_compile_pattern.
135470 1999-01-31  Jim Meyering  <meyering@ascend.com>
135472         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
135474 1999-01-30  Jim Meyering  <meyering@ascend.com>
135476         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
135478         * m4/jm-mktime.m4: Make this a wrapper around the official
135479         AM_FUNC_MKTIME rather than my private copy, now that the official one
135480         is up to date.
135481         * m4/mktime.m4: Remove file.
135483         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
135484         * m4/uptime.m4: Likewise.
135485         * m4/uintmax_t.m4: Likewise.
135487 1999-01-28  Jim Meyering  <meyering@ascend.com>
135489         * m4/jm-macros.m4: Use jm_AFS.
135490         * m4/afs.m4: New file (from fileutils' configure.in).
135492         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
135493         * m4/chown.m4: Likewise.
135494         * m4/d-ino.m4: Likewise.
135495         * m4/d-type.m4: Likewise.
135496         * m4/fnmatch.m4: Likewise.
135497         * m4/getgroups.m4: Likewise.
135498         * m4/gettext.m4: Likewise.
135499         * m4/jm-mktime.m4: Likewise.
135500         * m4/jm-winsz2.m4: Likewise.
135501         * m4/lcmessage.m4: Likewise.
135502         * m4/ls-mntd-fs.m4: Likewise.
135503         * m4/malloc.m4: Likewise.
135504         * m4/memcmp.m4: Likewise.
135505         * m4/putenv.m4: Likewise.
135506         * m4/realloc.m4: Likewise.
135507         * m4/st_mtim.m4: Likewise.
135508         * m4/strftime.m4: Likewise.
135510 1999-01-16  Jim Meyering  <meyering@ascend.com>
135512         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
135513         (ARGMATCH_DIE_DECL): Define.
135515 1999-01-12  Jim Meyering  <meyering@ascend.com>
135517         * m4/Makefile.am.in: Rewrite to avoid using fmt.
135518         Reported by Lars Hecking.
135520 1999-01-10  Jim Meyering  <meyering@ascend.com>
135522         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
135523         gross kludge.
135524         * m4/inttypes_h.m4: Likewise.
135525         * m4/lstat.m4: Likewise.
135526         * m4/malloc.m4: Likewise.
135527         * m4/readdir.m4: Likewise.
135528         * m4/realloc.m4: Likewise.
135529         * m4/st_dm_mode.m4: Likewise.
135530         * m4/stat.m4: Likewise.
135531         * m4/utimbuf.m4: Likewise.
135532         * m4/utimes.m4: Likewise.
135534         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
135535         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
135536         comments in config.h.in are meaningful.
135538         * m4/jm-macros.m4: Require autoconf-2.13 here.
135540         * m4/regex.m4: By default, don't use the included regex.c on systems
135541         with glibc 2.  Suggestion from Uli Drepper.
135543 1999-01-02  Jim Meyering  <meyering@ascend.com>
135545         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
135547 1998-12-18  Jim Meyering  <meyering@ascend.com>
135549         * m4/Makefile.am.in (Makefile.am): Simplify rule.
135550         Based on a suggestion from Lars Hecking.
135552 1998-11-16  Paul Eggert  <eggert@twinsun.com>
135554         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
135556 1998-11-16  Jim Meyering  <meyering@ascend.com>
135558         * m4/lfs.m4: Double-quote the `uname...` expression.
135560 1998-11-14  Jim Meyering  <meyering@ascend.com>
135562         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
135563         * m4/stat.m4: Likewise.
135565 1998-11-03  Jim Meyering  <meyering@ascend.com>
135567         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
135568         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
135570 1998-10-18  Jim Meyering  <meyering@ascend.com>
135572         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
135574 1998-10-17  Jim Meyering  <meyering@ascend.com>
135576         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
135577         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
135578         calls for those previously hard-coded headers.  Instead, take a new
135579         parameter.
135580         (jm_CHECK_DECLARATIONS): Reflect interface change.
135581         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
135582         (jm_CHECK_DECL_LOCALTIME_R): New macro.
135584         * m4/mktime.m4: Test for spring-forward gap before long-running test.
135586 1998-10-14  Jim Meyering  <meyering@ascend.com>
135588         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
135589         instead of "TZ=America/Vancouver".  From Paul Eggert.
135591 1998-10-11  Jim Meyering  <meyering@ascend.com>
135593         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
135594         This adds a test for a recently added compatibility fix for mktime.c.
135595         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
135597 1998-09-27  Jim Meyering  <meyering@ascend.com>
135599         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
135601         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
135602         ../configure.in, including a change from Gordon Matzigkeit to allow
135603         cross-compiling for the Hurd.
135605         * m4/glibc.m4: New file/macro to test for the GNU C Library
135606         versions 1 and 2.  From Gordon Matzigkeit.
135607         Indent.
135609 1998-09-21  Jim Meyering  <meyering@ascend.com>
135611         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
135613 1998-08-18  Paul Eggert  <eggert@twinsun.com>
135615         Port nanosecond-resolution times to UnixWare 2.1.2 and
135616         pedantic Solaris 2.6.
135618         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
135619         AC_STRUCT_ST_MTIM.
135620         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
135621         Generate name of ns member, instead of just 1 or undef.
135622         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
135624 1998-08-15  Jim Meyering  <meyering@ascend.com>
135626         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
135627         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
135628         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
135629         instead of jm_TYPE_SSIZE_T.
135631 1998-08-12  Jim Meyering  <meyering@ascend.com>
135633         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
135635 1998-08-02  Jim Meyering  <meyering@ascend.com>
135637         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
135638         in acconfig.h manually.
135640 1998-07-31  Paul Eggert  <eggert@twinsun.com>
135642         * m4/st_mtim.m4: New file.
135644 1998-07-28  Jim Meyering  <meyering@ascend.com>
135646         * m4/utimes.m4: Undef stat.
135648 1998-07-25  Jim Meyering  <meyering@ascend.com>
135650         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
135651         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
135653 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
135655         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
135656         uid and gid actually remain unchanged.
135658 1998-07-07  Jim Meyering  <meyering@ascend.com>
135660         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
135662 1998-07-04  Jim Meyering  <meyering@ascend.com>
135664         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
135665         to prove that this macro can be used in packages without regex.c.
135667 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
135669         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
135670         is to be used.
135672 1998-07-03  Jim Meyering  <meyering@ascend.com>
135674         * m4/gettext.m4: Add -lintl if it's found to be necessary.
135676         * m4/gettext.m4: New file -- from gettext-0.10.35.
135677         * m4/lcmessage.m4: Likewise.
135678         * m4/progtest.m4: Likewise.
135680         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
135681         * m4/jm-macros.m4: Require the new macro.
135683 1998-06-29  Jim Meyering  <meyering@ascend.com>
135685         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
135686         for the definition of NGROUPS (used in a system header included
135687         by sys/mount.h).
135689 1998-06-28  Jim Meyering  <meyering@ascend.com>
135691         * m4/ls-mntd-fs.m4: New file.
135692         * m4/fstypename.m4: New file.
135694         * m4/jm-macros.m4: Require the new macro.
135695         * m4/jm-glibc-io.m4: New file.
135697 1998-05-19  Jim Meyering  <meyering@ascend.com>
135699         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
135700         * m4/lchown.m4: New file.
135702         * m4/Makefile.am.in: New file.
135703         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
135705 1998-05-14  Jim Meyering  <meyering@ascend.com>
135707         * m4/Makefile.am (EXTRA_DIST): Add them.
135708         * m4/jm-macros.m4: New file.
135709         * m4/utimbuf.m4: New file.
135711 1998-05-12  Jim Meyering  <meyering@ascend.com>
135713         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
135715 1998-05-11  Jim Meyering  <meyering@ascend.com>
135717         * m4/isc-posix.m4: New file.
135719 1998-05-10  Jim Meyering  <meyering@ascend.com>
135721         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
135723 1998-05-09  Jim Meyering  <meyering@ascend.com>
135725         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
135726         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
135727         with automake.
135729         * m4/ssize_t.m4: New file.
135730         * m4/mktime.m4: Remove file -- the new automake has this now.
135732 1998-04-26  Jim Meyering  <meyering@ascend.com>
135734         * m4/assert.m4: New file.
135735         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
135737 1998-04-05  Jim Meyering  <meyering@ascend.com>
135739         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
135740         (jm_PREREQ): Use it here.
135742 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
135744         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
135745         in acconfig.h.
135747 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
135749         * m4/prereq.m4: New file.
135750         * m4/error.m4: New file.
135751         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
135753 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
135755         * m4/getline.m4: Don't set am_cv_func_working_getline before the
135756         cache-check for the same variable -- that defeated the purpose of
135757         the test; the test program was never run.  This was a problem only
135758         on systems with losing getline functions -- HP-UX 10.20 is one.
135759         Reported by Bjorn Helgaas.
135761 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
135763         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
135765 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
135767         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
135769         * m4/const.m4: New file.  Use an initializer in this declaration
135770         typedef int charset[2]; const charset x;
135771         Reported by Bob Glickstein.
135773 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
135775         * m4/chown.m4: Fix reversed types on -1 args to chown.
135776         From Kaveh Ghazi.
135778 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
135780         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
135781         Add lseek and memchr.
135783         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
135784         T.E.Dickey <dickey@clark.net> said that some older preprocessors
135785         have a 20-character limit on names.
135787 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
135789         * m4/inttypes_h.m4: New file.
135790         * m4/uintmax_t.m4: New file.
135791         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
135794         -----
135796         Local Variables:
135797         coding: utf-8
135798         End:
135800         Copyright (C) 1997-2021 Free Software Foundation, Inc.
135802         Copying and distribution of this file, with or without
135803         modification, are permitted provided the copyright notice
135804         and this notice are preserved.